/* ARASİS tasarım altyapısı — sade, lacivert ana renk, mobil öncelikli */
:root {
  --navy: #1e3a5f; --navy-dark: #15294a; --navy-light: #e8eef6;
  --bg: #f4f6f9; --surface: #ffffff; --border: #dde3ea; --text: #1f2937; --muted: #6b7280;
  --ok: #15803d; --ok-bg: #dcfce7; --warn: #b45309; --warn-bg: #fef3c7; --err: #b91c1c; --err-bg: #fee2e2;
  --info: #1d4ed8; --info-bg: #dbeafe; --purple: #6d28d9; --purple-bg: #ede9fe;
  --radius: 10px; --shadow: 0 1px 3px rgba(16,24,40,.08), 0 1px 2px rgba(16,24,40,.04);
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 16px; line-height: 1.5; color: var(--text); background: var(--bg); }
a { color: var(--navy); }
h1 { font-size: 1.6rem; margin: 0 0 .25rem; } h2 { font-size: 1.25rem; margin: 1.5rem 0 .75rem; } h3 { font-size: 1.05rem; margin: 1rem 0 .5rem; }
p { margin: 0 0 .75rem; }
.muted { color: var(--muted); } .small { font-size: .875rem; } .strong { font-weight: 600; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.page { padding-top: 20px; padding-bottom: 90px; min-height: 70vh; }
.inline { display: inline; }

/* üst çubuk */
.topbar { background: #fff; color: var(--text); border-bottom: 1px solid var(--border); box-shadow: var(--shadow); }
.topbar-inner { display: flex; align-items: center; gap: 16px; min-height: 64px; flex-wrap: wrap; }
.brand { display: flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; }
.brand-img { width: 44px; height: 44px; object-fit: contain; }
.brand-text { font-size: 1.05rem; line-height: 1.15; letter-spacing: .04em; }
.brand-text strong { font-weight: 800; display: block; }
.brand-sub { display: block; font-size: .78rem; letter-spacing: 0; color: var(--muted); }
.brand-mark { width: 34px; height: 34px; border-radius: 8px; background: var(--navy); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: 1.1rem; }
.login-logo { width: 100%; max-width: 320px; height: auto; margin: 0 auto 8px; display: block; }
.nav { display: flex; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.nav a { color: var(--navy); text-decoration: none; padding: 8px 12px; border-radius: 8px; font-size: .95rem; font-weight: 500; }
.nav a:hover { background: var(--bg); }
.nav a.active { background: var(--navy); color: #fff; }
.user-box { display: flex; align-items: center; gap: 8px; font-size: .9rem; }
.user-name { opacity: .9; }
.bottom-nav { display: none; }
.footer { text-align: center; color: var(--muted); font-size: .8rem; padding: 24px 16px 100px; }

/* kartlar */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); margin-bottom: 16px; }
.card-title { font-weight: 600; margin: 0 0 8px; font-size: 1.05rem; }
.grid { display: grid; gap: 16px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); } .grid-3 { grid-template-columns: repeat(3, 1fr); } .grid-4 { grid-template-columns: repeat(4, 1fr); }
.stat { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; }
.stat .label { color: var(--muted); font-size: .85rem; } .stat .value { font-size: 1.6rem; font-weight: 700; color: var(--navy); }
.progress { height: 10px; background: #e5e7eb; border-radius: 999px; overflow: hidden; }
.progress > span { display: block; height: 100%; background: var(--navy); border-radius: 999px; transition: width .3s; }

/* düğmeler */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border-radius: 8px; border: 1px solid transparent; font-size: 1rem; font-weight: 600; cursor: pointer; text-decoration: none; min-height: 46px; background: var(--navy); color: #fff; }
.btn:hover { background: var(--navy-dark); }
.btn-secondary { background: var(--surface); color: var(--navy); border-color: var(--navy); } .btn-secondary:hover { background: var(--navy-light); }
.btn-ghost { background: transparent; color: var(--navy); border-color: var(--border); min-height: 36px; padding: 6px 12px; font-size: .9rem; } .btn-ghost:hover { background: var(--bg); }
.btn-danger { background: var(--err); } .btn-danger:hover { background: #991b1b; }
.btn-ok { background: var(--ok); } .btn-ok:hover { background: #166534; }
.btn-sm { padding: 6px 12px; min-height: 36px; font-size: .9rem; }
.btn-block { width: 100%; }
.btn[disabled], .btn.disabled { opacity: .5; pointer-events: none; }
.actions { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 16px 0; }
.actions .btn { min-height: 60px; font-size: 1.05rem; }

/* formlar */
label { display: block; font-weight: 600; margin-bottom: 6px; }
.field { margin-bottom: 16px; }
.hint { color: var(--muted); font-size: .85rem; margin-top: 4px; }
input[type=text], input[type=email], input[type=url], input[type=password], input[type=date], input[type=time], input[type=number], input[type=file], select, textarea {
  width: 100%; padding: 11px 12px; border: 1px solid #c9d2dd; border-radius: 8px; font-size: 1rem; font-family: inherit; background: #fff; color: var(--text); min-height: 46px; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--navy); outline-offset: 1px; border-color: var(--navy); }
.row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.row > * { flex: 1 1 160px; }
.validation-summary-errors, .field-validation-error { color: var(--err); font-size: .9rem; }
.validation-summary-errors ul { margin: 0; padding-left: 18px; }
.check { display: flex; align-items: center; gap: 10px; font-weight: 500; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; cursor: pointer; }
.check input { width: 20px; height: 20px; margin: 0; }
.check.on { border-color: var(--navy); background: var(--navy-light); }

/* uyarılar ve rozetler */
.alert { padding: 12px 14px; border-radius: 8px; margin-bottom: 16px; border: 1px solid transparent; }
.alert-ok { background: var(--ok-bg); color: var(--ok); border-color: #bbf7d0; }
.alert-err { background: var(--err-bg); color: var(--err); border-color: #fecaca; }
.alert-warn { background: var(--warn-bg); color: var(--warn); border-color: #fde68a; }
.alert-info { background: var(--info-bg); color: var(--info); border-color: #bfdbfe; }
.announcement { display: flex; gap: 12px; align-items: flex-start; color: #78350f; background: #fffbeb; border-color: #f6d87a; border-left: 4px solid var(--warn); }
.announcement-ico { flex: 0 0 auto; color: var(--warn); margin-top: 1px; }
.announcement strong { display: block; color: var(--warn); margin-bottom: 2px; }
.announcement div div { white-space: pre-line; }
.badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: .8rem; font-weight: 600; white-space: nowrap; }
.badge-ok { background: var(--ok-bg); color: var(--ok); } .badge-warn { background: var(--warn-bg); color: var(--warn); }
.badge-err { background: var(--err-bg); color: var(--err); } .badge-info { background: var(--info-bg); color: var(--info); }
.badge-purple { background: var(--purple-bg); color: var(--purple); } .badge-muted { background: #e5e7eb; color: #4b5563; }
.badge-navy { background: var(--navy-light); color: var(--navy); }

/* tablolar */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; background: var(--surface); font-size: .95rem; }
th, td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
th { background: #f8fafc; color: var(--muted); font-weight: 600; font-size: .85rem; text-transform: uppercase; letter-spacing: .02em; }
tr:hover td { background: #fafbfc; }

/* oturum kartı */
.sim-card { display: grid; grid-template-columns: 110px 1fr auto; gap: 14px; align-items: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px; margin-bottom: 12px; box-shadow: var(--shadow); }
.sim-date { text-align: center; background: var(--navy-light); border-radius: 8px; padding: 8px 6px; color: var(--navy); }
.sim-date .d { font-size: 1.5rem; font-weight: 700; line-height: 1.1; } .sim-date .m { font-size: .8rem; font-weight: 600; } .sim-date .t { font-size: .95rem; margin-top: 4px; }
.sim-roles { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.role-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 8px; background: #f1f5f9; font-size: .85rem; }
.role-chip.empty { border: 1px dashed #94a3b8; background: #fff; color: var(--muted); }
.role-chip.mine { background: var(--navy); color: #fff; }
.role-chip b { font-weight: 600; }

/* takvim ızgarası */
.cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.cal .dow { text-align: center; font-size: .75rem; color: var(--muted); padding: 4px 0; font-weight: 600; }
.cal .day { border: 1px solid var(--border); border-radius: 8px; min-height: 58px; padding: 6px; background: #fff; font-size: .85rem; position: relative; cursor: pointer; text-decoration: none; color: var(--text); display: block; }
.cal .day.off { background: #f1f3f6; color: #a1a1aa; cursor: default; }
.cal .day.today { outline: 2px solid var(--navy); }
.cal .day.sel { background: var(--navy-light); border-color: var(--navy); }
.cal .day .n { font-weight: 600; } .cal .day .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 3px; }
.cal .day .cnt { font-size: .75rem; color: var(--navy); margin-top: 2px; }
.cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 8px; }
.slot { padding: 10px 6px; border: 1px solid #c9d2dd; border-radius: 8px; text-align: center; cursor: pointer; background: #fff; font-weight: 600; font-size: .95rem; user-select: none; }
.slot.on { background: var(--navy); color: #fff; border-color: var(--navy); }
.slot.dis { opacity: .4; cursor: default; }
.empty { text-align: center; color: var(--muted); padding: 28px 12px; border: 1px dashed var(--border); border-radius: var(--radius); background: #fff; }
.toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.toolbar form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.toolbar input, .toolbar select { min-height: 40px; padding: 6px 10px; width: auto; }
.kv { display: grid; grid-template-columns: 140px 1fr; gap: 6px 12px; font-size: .95rem; } .kv dt { color: var(--muted); } .kv dd { margin: 0; }
.login-box { max-width: 440px; margin: 40px auto; }
.login-box .brand-mark { width: 56px; height: 56px; font-size: 1.8rem; margin: 0 auto 12px; }
details > summary { cursor: pointer; font-weight: 600; }
.legend { display: flex; gap: 12px; flex-wrap: wrap; font-size: .85rem; color: var(--muted); }

@media (max-width: 760px) {
  .brand-text { font-size: .95rem; } .brand-sub { font-size: .7rem; } .brand-img { width: 38px; height: 38px; }
  .nav { display: none; }
  .user-box { margin-left: auto; }
  .user-name { display: none; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr 1fr; }
  .sim-card { grid-template-columns: 80px 1fr; }
  .sim-card > .sim-actions { grid-column: 1 / -1; }
  .kv { grid-template-columns: 1fr; }
  .bottom-nav { display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; bottom: 0; left: 0; right: 0; background: #fff; border-top: 1px solid var(--border); z-index: 10; }
  .bottom-nav a { text-align: center; padding: 8px 4px 10px; font-size: .72rem; color: var(--muted); text-decoration: none; }
  .bottom-nav a .ico { display: block; font-size: 1.2rem; line-height: 1.2; }
  .bottom-nav a.active { color: var(--navy); font-weight: 600; }
  .footer { padding-bottom: 80px; }
}
@media (max-width: 420px) { .grid-3, .grid-4 { grid-template-columns: 1fr; } .stat .value { font-size: 1.3rem; } }

/* yönetici */
a.stat-link { display: block; text-decoration: none; color: inherit; }
a.stat-link:hover { border-color: var(--navy); }
.attn { margin: 0; padding-left: 18px; } .attn li { margin-bottom: 6px; }
.form-inline { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; }
.form-inline .field { margin-bottom: 0; flex: 1 1 150px; }
.form-inline .btn { flex: 0 0 auto; }
.cal .day .ev { display: block; font-size: .72rem; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal .day .ev .miss { color: var(--warn); font-weight: 600; }
.pager { display: flex; gap: 8px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
.role-row { display: grid; grid-template-columns: 110px 1fr; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border); }
.role-row:last-child { border-bottom: 0; }
.role-row form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.role-row select { flex: 1 1 200px; width: auto; }
td.nowrap, th.nowrap { white-space: nowrap; }
@media (max-width: 760px) {
  .role-row { grid-template-columns: 1fr; }
  .cal .day .ev { display: none; }
}
@media (max-width: 760px) {
  .nav.nav-admin { display: flex; flex-wrap: nowrap; overflow-x: auto; width: 100%; order: 3; margin: 0 -4px 6px; -webkit-overflow-scrolling: touch; }
  .nav.nav-admin a { white-space: nowrap; padding: 6px 10px; font-size: .88rem; }
}
.linkbtn { background: none; border: 0; color: var(--err); cursor: pointer; font-size: .95rem; padding: 0 2px; line-height: 1; }
.linkbtn:hover { color: #7f1d1d; }
.dot-l { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 4px; vertical-align: middle; }
.cal .day .cal-count-m { display: none; }
@media (max-width: 760px) { .cal .day .cal-count-m { display: block; } }
/* katılımcı ekranları */
.sim-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.sim-actions { display: grid; gap: 8px; min-width: 190px; }
.join-form { margin: 0; }
.role-chip.rec { border-color: var(--navy); color: var(--navy); }
.stat .value small { font-size: .95rem; color: var(--muted); font-weight: 600; }
.done-msg { font-weight: 600; color: var(--ok); }
.section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 1.5rem 0 .75rem; }
.section-head h2 { margin: 0; }
.cal-head h2 { margin: 0; font-size: 1.1rem; }
.cal .day.has { border-color: var(--navy); }
.cal .day.blank { border: 0; background: transparent; cursor: default; }
.cal .day .dot.d-ok { background: var(--ok); } .cal .day .dot.d-warn { background: var(--warn); } .cal .day .dot.d-info { background: var(--info); }
.cal .day .dot.d-purple { background: var(--purple); } .cal .day .dot.d-muted { background: #9ca3af; } .cal .day .dot.d-navy { background: var(--navy); }
.slot input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.slot { position: relative; }
.slot:has(input:checked) { background: var(--navy); color: #fff; border-color: var(--navy); }
.slot:has(input:focus-visible) { outline: 2px solid var(--navy); outline-offset: 2px; }
.slot.dis { pointer-events: none; }
.window-label { font-size: .85rem; color: var(--muted); font-weight: 600; margin: 12px 0 6px; }
.avail-day { display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 10px 0; border-bottom: 1px solid var(--border); }
.avail-day:last-child { border-bottom: 0; }
.avail-ranges { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.avail-ranges form { display: inline-flex; }
.range-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 4px 4px 10px; border-radius: 8px; background: var(--navy-light); color: var(--navy); font-weight: 600; font-size: .9rem; }
.range-chip button { border: 0; background: transparent; color: var(--err); font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 4px 8px; min-height: 32px; }
.sticky-save { position: sticky; bottom: 70px; background: var(--surface); padding: 10px 0; display: flex; gap: 10px; flex-wrap: wrap; }
.role-options { display: grid; gap: 8px; }
.role-options .check.dis { opacity: .55; cursor: default; }
.role-options .check .badge { margin-left: auto; }
.list-plain { list-style: none; padding: 0; margin: 0; }
@media (max-width: 760px) {
  .sim-actions { min-width: 0; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
  .cal .day { min-height: 46px; padding: 4px; font-size: .8rem; }
  .cal { gap: 3px; }
  .slots { grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); }
}
@media (min-width: 761px) { .sticky-save { bottom: 0; } }

/* Giriş: kişisel veriler bilgi notu */
.kvkk { margin-top: 12px; font-size: .9rem; }
.kvkk summary { cursor: pointer; font-weight: 600; color: var(--navy, #1e3a5f); }
.kvkk p { margin: 8px 0 0; color: #444; }
/* Ayarlar: form bölüm başlıkları */
.form-section { margin: 1.25rem 0 .5rem; padding-top: .75rem; border-top: 1px solid var(--border); color: var(--navy); }
/* Toplu doğrulama */
.verify-row { padding-top: 12px; }
.verify-pick { border-color: var(--navy-light); }
.verify-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-top: 10px; }
.verify-person { border: 1px solid var(--border); border-radius: 8px; padding: 8px 10px; margin: 0; }
.verify-person legend { font-weight: 600; padding: 0 4px; }
.radio-inline { display: inline-flex; align-items: center; gap: 6px; margin-right: 14px; padding: 6px 0; cursor: pointer; }
.radio-inline input { width: 18px; height: 18px; margin: 0; }
/* Yönetici menüsü orta genişlikte tek satıra sığsın */
@media (min-width: 761px) and (max-width: 1240px) { .nav.nav-admin a { padding: 8px 8px; font-size: .88rem; } .brand-sub { display: none; } }

/* Metin görünümlü küçük düğme (ör. TC "göster") */
.linkish { background: none; border: 0; padding: 0 4px; color: var(--navy); text-decoration: underline; cursor: pointer; font: inherit; }

/* Yönetici: oturum planı tablosu */
.plan-table th.num, .plan-table td.num { text-align: center; }
.plan-table tfoot th { border-top: 2px solid var(--border); }
.plan-n { font-size: 1.15rem; font-weight: 700; color: var(--navy); }
.plan-cell summary { cursor: pointer; list-style: none; }
.plan-cell summary::-webkit-details-marker { display: none; }
.plan-cell summary .plan-n { text-decoration: underline dotted; }
.plan-remove { display: flex; flex-direction: column; gap: 6px; align-items: center; margin-top: 6px; }
.plan-remove input { width: 70px; }

/* Giriş: şifre alanı ve göster/gizle düğmesi */
.pw-wrap { display: flex; align-items: center; gap: 8px; }
.pw-wrap input { flex: 1 1 auto; min-width: 0; }
.login-alt summary { cursor: pointer; color: var(--navy); font-weight: 600; }

/* ---------- Giriş ekranı (iki panel) ---------- */
.page-chromeless { padding: 0; }
.login { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, 5fr) minmax(360px, 6fr); background: var(--bg); }
.login-side { background: linear-gradient(160deg, #16304f 0%, var(--navy) 55%, #27507f 100%); color: #e8eef6; display: flex; align-items: center; justify-content: center; padding: 48px 32px; }
.login-side-inner { max-width: 420px; width: 100%; }
.login-plate { background: #fff; border-radius: 14px; padding: 18px 22px; display: inline-block; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.login-plate img { display: block; width: 240px; height: auto; }
.login-brand { display: block; margin: 0 0 8px; }
.login-brand img { display: block; height: 118px; width: auto; margin-left: -2px; filter: drop-shadow(0 4px 14px rgba(0,0,0,.35)); }
.login-side h1 { color: #fff; font-size: 1.6rem; margin: 22px 0 6px; letter-spacing: .01em; }
.login-lead { color: #c9d6e6; margin: 0 0 26px; font-size: 1rem; }
.login-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.login-steps li { display: flex; gap: 12px; align-items: flex-start; }
.login-steps li > span { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); display: grid; place-items: center; font-weight: 700; font-size: .9rem; color: #fff; }
.login-steps strong { display: block; color: #fff; font-size: .98rem; }
.login-steps small { display: block; color: #b7c6d9; font-size: .85rem; line-height: 1.4; margin-top: 2px; }
/* Giriş: rehber kartı */
.login-guide { display: flex; align-items: center; gap: 14px; margin-top: 26px; padding: 14px 16px; border-radius: 12px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); color: #fff; text-decoration: none; transition: background .15s, border-color .15s; }
.login-guide:hover { background: rgba(255,255,255,.17); border-color: rgba(255,255,255,.55); }
.login-guide-ico { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 10px; background: #fff; color: var(--navy); display: grid; place-items: center; }
.login-guide-text { flex: 1 1 auto; min-width: 0; }
.login-guide-text strong { display: block; font-size: .98rem; }
.login-guide-text small { display: block; color: #c9d6e6; font-size: .82rem; line-height: 1.35; margin-top: 2px; }
.login-guide-arrow { font-weight: 700; font-size: 1.1rem; opacity: .85; }
.login-side-link { display: inline-block; margin-top: 26px; color: #fff; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 2px; }
.login-side-link:hover { border-bottom-color: #fff; }
.login-side-links { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 26px; } .login-side-links .login-side-link { margin-top: 0; }
.login-main { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 20px; }
.login-card { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 8px 28px rgba(16,24,40,.08); padding: 32px 30px 24px; width: 100%; max-width: 440px; }
.login-card h2 { margin: 0 0 4px; font-size: 1.45rem; }
.login-card > .muted { margin-bottom: 20px; }
.login-form .field { margin-bottom: 18px; }
.btn-lg { min-height: 52px; font-size: 1.05rem; }
.pw-wrap { position: relative; }
.pw-wrap input { padding-right: 48px; letter-spacing: .12em; }
.pw-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; background: transparent; color: var(--muted); border-radius: 8px; cursor: pointer; display: grid; place-items: center; }
.pw-toggle:hover { background: var(--bg); color: var(--navy); }
.pw-toggle svg[hidden] { display: none; }
.login-alt { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 14px; }
.login-alt summary { font-size: .92rem; font-weight: 500; color: var(--navy); }
.login-alt-body { margin-top: 12px; }
.login-foot { font-size: .82rem; color: var(--muted); margin: 18px 0 0; }
.login-kvkk { width: 100%; max-width: 440px; margin-top: 14px; font-size: .85rem; }
.login-kvkk summary { font-weight: 500; }
.login-copy { font-size: .78rem; color: var(--muted); text-align: center; margin: 22px 0 0; max-width: 440px; }
@media (max-width: 900px) {
  .login { grid-template-columns: 1fr; min-height: auto; }
  .login-side { padding: 28px 20px 24px; }
  .login-side-inner { max-width: 440px; }
  .login-plate { padding: 12px 16px; } .login-plate img { width: 180px; } .login-brand img { height: 76px; }
  .login-side h1 { font-size: 1.3rem; margin-top: 16px; }
  .login-lead { margin-bottom: 14px; font-size: .95rem; }
  .login-steps { display: none; }
  .login-guide { margin: 0 0 14px; padding: 12px 14px; }
  .login-guide-text small { display: none; }
  .login-side-link { margin-top: 0; font-size: .9rem; }
  .login-main { padding: 20px 16px 32px; }
  .login-card { padding: 24px 20px 20px; }
}

/* Ana sayfa: rehber şeridi */
.guide-banner { display: flex; align-items: center; gap: 16px; padding: 14px 18px; margin: 4px 0 16px; border-radius: var(--radius); background: var(--navy-light); border: 1px solid #c7d6ea; color: var(--text); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.guide-banner:hover { border-color: var(--navy); box-shadow: var(--shadow); }
.guide-banner-ico { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 10px; background: var(--navy); color: #fff; display: grid; place-items: center; }
.guide-banner-text { flex: 1 1 320px; min-width: 0; }
.guide-banner-text strong { display: block; font-size: 1rem; color: var(--navy); }
.guide-banner-text > span { display: block; font-size: .9rem; color: var(--muted); margin-top: 2px; }
.guide-banner-cta { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border-radius: 8px; background: var(--navy); color: #fff; font-weight: 600; white-space: nowrap; line-height: 1.2; }
@media (max-width: 639px) {
  .guide-banner { flex-wrap: wrap; gap: 12px; }
  .guide-banner-text { flex-basis: calc(100% - 58px); }
  .guide-banner-cta { flex: 1 1 100%; }
}

/* Ana sayfa: oturum saatleri ızgarası (gün × saat) */
.slot-grid-card { padding: 8px 12px 12px; }
.slot-grid { border-collapse: separate; border-spacing: 0; }
.slot-grid th, .slot-grid td { border-bottom: 0; padding: 8px 6px; background: transparent; text-align: center; }
.slot-grid thead th { color: var(--muted); font-size: .85rem; text-transform: none; letter-spacing: 0; font-weight: 600; padding-bottom: 4px; }
.slot-grid thead th:first-child, .slot-grid tbody th { text-align: left; }
.slot-grid tbody th { font-weight: 600; white-space: nowrap; padding-left: 8px; min-width: 120px; }
.slot-grid tbody th { text-transform: none; letter-spacing: 0; }
.slot-grid tbody th .g-day { display: block; font-size: 1rem; color: var(--navy); }
.slot-grid tbody th .g-dow { display: block; font-size: .8rem; color: var(--muted); font-weight: 500; }
.slot-grid tr:hover td { background: transparent; }
.g-cell { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 104px; height: 100%; box-sizing: border-box; min-width: 120px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--border); background: #fff; text-decoration: none; color: var(--text); transition: box-shadow .15s, transform .15s; }
.g-cell:hover { box-shadow: 0 4px 14px rgba(16,24,40,.12); transform: translateY(-1px); }
.g-status { font-weight: 600; font-size: .95rem; }
.g-count { font-size: .75rem; color: var(--muted); }
.g-arrow { font-size: .8rem; color: var(--navy); font-weight: 600; }
.g-cell.open { border-color: #bbf7d0; background: #f0fdf4; } .g-cell.open .g-status { color: var(--ok); }
.g-cell.partial { border-color: #fde68a; background: #fffbeb; } .g-cell.partial .g-status { color: var(--warn); }
.g-cell.mine { border-color: var(--navy); background: var(--navy); color: #fff; } .g-cell.mine .g-status, .g-cell.mine .g-arrow, .g-cell.mine .g-count { color: #fff; }
.g-cell.full { background: #f1f5f9; color: var(--muted); pointer-events: none; } .g-cell.full .g-status { color: var(--muted); font-weight: 500; }
.g-empty { color: #cbd5e1; }
.g-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 12px 8px 2px; font-size: .82rem; color: var(--muted); }
.g-legend .dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: middle; border: 1px solid transparent; }
.g-legend .dot.open { background: #dcfce7; border-color: #86efac; } .g-legend .dot.partial { background: #fef3c7; border-color: #fcd34d; } .g-legend .dot.mine { background: var(--navy); } .g-legend .dot.full { background: #e2e8f0; }
@media (max-width: 600px) {
  .slot-grid-card { padding: 6px 6px 10px; }
  .slot-grid th, .slot-grid td { padding: 5px 3px; }
  .slot-grid tbody th { min-width: 64px; padding-left: 2px; } .slot-grid tbody th .g-day { font-size: .85rem; } .slot-grid tbody th .g-dow { font-size: .7rem; }
  .g-cell { min-width: 70px; min-height: 52px; padding: 5px 4px; border-radius: 8px; } .g-status { font-size: .8rem; } .g-count { font-size: .68rem; } .g-arrow { display: none; }
  .g-legend { gap: 4px 12px; font-size: .76rem; padding-left: 4px; }
}

/* ---------- Oturum detayı ---------- */
.sd-hero { display: grid; grid-template-columns: 92px 1fr auto; gap: 18px; align-items: center; }
.sd-date { text-align: center; background: var(--navy); color: #fff; border-radius: 12px; padding: 12px 6px; }
.sd-date .d { font-size: 2rem; font-weight: 700; line-height: 1; } .sd-date .m { font-size: .85rem; font-weight: 600; margin-top: 4px; } .sd-date .w { font-size: .75rem; opacity: .85; }
.sd-title { color: var(--muted); font-size: .9rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.sd-time { font-size: 2rem; font-weight: 700; color: var(--navy); line-height: 1.15; margin: 2px 0 8px; }
.sd-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.sd-side { align-self: start; }
.role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.role-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); min-height: 118px; }
.role-card.vacant { border-style: dashed; background: #fbfcfd; box-shadow: none; }
.role-card.me { border-color: var(--navy); box-shadow: 0 0 0 2px var(--navy-light); }
.role-name { font-size: .8rem; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 10px; }
.role-person { display: flex; align-items: center; gap: 10px; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--navy-light); color: var(--navy); font-weight: 700; display: grid; place-items: center; font-size: .95rem; flex: 0 0 38px; }
.role-card.me .avatar { background: var(--navy); color: #fff; }
.avatar.empty { background: #eef2f6; color: #9aa6b2; border: 1px dashed #cbd5e1; }
.person-name { font-weight: 600; line-height: 1.25; }
.role-join { margin-top: 12px; }
.sd-next { background: #f8fafc; }
.sd-steps { margin: 0; padding-left: 20px; } .sd-steps li { margin-bottom: 6px; }
.sd-leave { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.sd-leave .hint { margin: 0; flex: 1 1 320px; }
.btn-outline-danger { background: #fff; color: var(--err); border-color: #fca5a5; } .btn-outline-danger:hover { background: var(--err-bg); }
@media (max-width: 640px) {
  .sd-hero { grid-template-columns: 76px 1fr; } .sd-side { grid-column: 1 / -1; }
  .sd-date .d { font-size: 1.6rem; } .sd-time { font-size: 1.6rem; }
  .role-grid { grid-template-columns: 1fr; } .role-card { min-height: 0; }
}

/* Aynı saatteki oturumlar listesi */
.slot-list-link { font-size: .88rem; font-weight: 600; color: var(--navy); text-decoration: none; border-bottom: 1px solid transparent; }
.slot-list-link:hover { border-bottom-color: var(--navy); }
.sess-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.sess-card { display: block; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); text-decoration: none; color: var(--text); }
.sess-card:hover { border-color: var(--navy); }
.sess-card.mine { border-color: var(--navy); box-shadow: 0 0 0 2px var(--navy-light); }
.sess-card.full { background: #f8fafc; }
.sess-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; }
.sess-no { font-weight: 700; color: var(--navy); }
.sess-roles { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sess-roles li { display: flex; justify-content: space-between; gap: 10px; font-size: .92rem; border-bottom: 1px solid var(--border); padding-bottom: 6px; }
.sess-roles li:last-child { border-bottom: 0; }
.sess-roles .r { color: var(--muted); flex: 0 0 auto; } .sess-roles .n { font-weight: 600; text-align: right; }
.sess-roles li.vacant .n { color: var(--muted); font-weight: 500; font-style: italic; }
.sess-foot { margin-top: 10px; font-size: .85rem; font-weight: 600; color: var(--navy); }

/* Görev göstergeleri: tamamlanan + planlanan */
.stat-sub { font-size: .8rem; color: var(--muted); margin-top: 4px; }
.progress-2 { display: flex; }
.progress-2 > span { display: block; height: 100%; border-radius: 0; transition: width .3s; }
.progress-2 > span.done { background: var(--navy); border-radius: 999px 0 0 999px; }
.progress-2 > span.planned { background: repeating-linear-gradient(45deg, #93a8c4 0 6px, #c3d0e0 6px 12px); }
.legend .dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }
.legend .dot.done { background: var(--navy); } .legend .dot.planned { background: repeating-linear-gradient(45deg, #93a8c4 0 3px, #c3d0e0 3px 6px); }

/* Oturum Seç satırları */
.slot-time-box .t { font-size: 1.5rem; font-weight: 700; margin-top: 0; line-height: 1.1; }
.slot-time-box .m { font-size: .78rem; font-weight: 600; margin-top: 4px; opacity: .85; }
.slot-body { display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.role-pill.mine { background: var(--navy); color: #fff; }
.btn-plain { background: transparent; color: var(--navy); border-color: transparent; font-weight: 600; }
.btn-plain:hover { background: var(--navy-light); }
.slot-roles { display: flex; gap: 6px; flex-wrap: wrap; }
.role-pill { font-size: .8rem; font-weight: 600; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.role-pill.ok { background: var(--ok-bg); color: var(--ok); }
.role-pill.no { background: #e5e7eb; color: #6b7280; }
.role-pill.mine { background: var(--navy); color: #fff; }

/* Görev ilerleme: bölümlü çubuk */
.task-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.task-title { font-weight: 700; font-size: 1.05rem; color: var(--navy); }
.task-sub { color: var(--muted); font-size: .9rem; margin-top: 2px; }
.task-pct { text-align: right; flex: 0 0 auto; }
.task-pct .n { display: block; font-size: 1.9rem; font-weight: 800; color: var(--navy); line-height: 1; } .task-pct .n small { font-size: 1rem; font-weight: 700; }
.task-pct .l { display: block; font-size: .75rem; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.task-track { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; }
.seg-bar { height: 14px; border-radius: 999px; background: #e5e9ef; position: relative; overflow: hidden; }
.seg.done .seg-bar { background: linear-gradient(90deg, #1e3a5f, #2c5a8c); box-shadow: inset 0 1px 0 rgba(255,255,255,.25); }
.seg.planned .seg-bar { background: repeating-linear-gradient(45deg, #2a9d8f 0 8px, #5fbfb3 8px 16px); }
.seg.open .seg-bar { background: #e5e9ef; border: 1px dashed #c3ccd7; }
.seg-icon { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: .7rem; color: #fff; font-weight: 700; line-height: 1; }
.seg-label { margin-top: 8px; font-weight: 600; font-size: .9rem; }
.seg-state { font-size: .78rem; color: var(--muted); }
.seg.done .seg-state { color: var(--navy); font-weight: 600; }
.seg.planned .seg-state { color: #1f7a6f; font-weight: 600; }
.task-stats { padding-top: 14px; border-top: 1px solid var(--border); }
@media (max-width: 520px) { .task-head { flex-direction: column; } .task-pct { text-align: left; } .task-pct .n { display: inline; margin-right: 6px; } .task-pct .l { display: inline; } .seg-label { font-size: .8rem; } .seg-state { font-size: .72rem; } }

/* Nasıl çalışır sayfası */
.help-toc ol { margin: 8px 0 0; padding-left: 20px; columns: 2; column-gap: 24px; }
.help-toc li { margin-bottom: 4px; break-inside: avoid; }
.help-toc a { text-decoration: none; } .help-toc a:hover { text-decoration: underline; }
.help-steps { padding-left: 22px; margin: 0; }
.help-steps li { margin-bottom: 12px; line-height: 1.55; }
.help-steps li strong { display: block; margin-bottom: 2px; }
.card h2 { scroll-margin-top: 80px; }
code { background: var(--navy-light); padding: 1px 6px; border-radius: 4px; font-size: .95em; }
@media (max-width: 600px) { .help-toc ol { columns: 1; } }
.sd-join-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sd-join-actions .join-form { flex: 1 1 200px; max-width: 280px; }
.sd-join-actions .btn { width: 100%; }

/* Ayrılma sayacı */
.sd-leave { align-items: flex-start; }
.leave-info { flex: 1 1 320px; display: grid; gap: 8px; }
.leave-info .hint { margin: 0; }
.leave-timer { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 12px; border-radius: 10px; background: var(--navy-light); color: var(--navy); font-size: .88rem; font-variant-numeric: tabular-nums; width: fit-content; max-width: 100%; }
.leave-timer strong { font-weight: 700; }
.leave-timer .leave-until { color: var(--muted); font-size: .8rem; }
.leave-timer.soon { background: var(--warn-bg); color: var(--warn); }
/* Ayrılma bölümü ortalanmış */
.sd-leave { flex-direction: column; align-items: center; text-align: center; gap: 10px; }
.sd-leave .btn { min-width: 220px; }
.leave-info { justify-items: center; flex: 0 0 auto; max-width: 640px; }
.leave-info .hint { text-align: center; }
.role-pill.warn { background: var(--warn-bg); color: var(--warn); }

/* WhatsApp mesajı (yönetici) */
.wa-status { display: block; }
.wa-sets .check { margin-bottom: 6px; }
.wa-sets .row > .btn { flex: 0 0 auto; }
.wa-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--border); }
.wa-preview { white-space: pre-wrap; word-break: break-word; background: #e8f5e3; border: 1px solid #cfe8c6; border-radius: 10px; padding: 10px 12px; font-size: 14px; line-height: 1.45; min-height: 60px; }
.wa-ok { color: var(--ok); font-weight: 600; }
.wa-err { color: var(--err, #b91c1c); }
#wa-mesaj { width: 100%; font: inherit; }

/* Sesli Destek Hattı düğmesi (sağ alt, sabit) */
.support-fab { position: fixed; right: 18px; bottom: 18px; z-index: 20; display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; border-radius: 999px; background: var(--navy); color: #fff; font-weight: 600; font-size: .92rem; text-decoration: none; box-shadow: 0 6px 18px rgba(21,41,74,.28); border: 1px solid rgba(255,255,255,.18); }
.support-fab:hover { background: var(--navy-dark); color: #fff; }
.support-fab svg { flex: none; }
@media (max-width: 767px) {
  /* Bu uygulamada alt menü yok: düğme köşede, alt bilgi metni (padding-bottom 80px) üstünde kalır */
  .support-fab { bottom: 16px; right: 12px; padding: 10px 14px; }
}
.login-side-support { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; margin-left: 0; color: #e8eef6; font-size: .92rem; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: 2px; }
.login-side-support:hover { color: #fff; }
@media (max-width: 767px) { .login-side-support { display: flex; } }

/* Teşvik notları: yarım kalmış oturumlar (önce bunlar dolsun) */
.slot-nudges { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.slot-nudge { display: flex; gap: 8px; align-items: flex-start; font-size: .85rem; font-weight: 500; color: var(--warn); background: var(--warn-bg); border: 1px solid #fde68a; border-radius: 8px; padding: 6px 10px; line-height: 1.35; }
.slot-nudge .ico { flex: none; font-size: .9rem; line-height: 1.35; }
.g-nudge { font-size: .72rem; font-weight: 700; color: var(--warn); }

/* Oturum Seç satırı: sağ sütun sabit genişlik (düğme altı açıklama satırı sütunu genişletmesin), üstten hizalı */
.slot-row { grid-template-columns: 110px minmax(0, 1fr) 280px; align-items: start; }
.slot-row .slot-time-box { align-self: center; }
.slot-row .sim-actions { min-width: 0; align-content: start; }
.slot-row .join-form .hint { font-size: .8rem; line-height: 1.35; margin-top: 4px; }
@media (max-width: 767px) {
  .slot-row { grid-template-columns: 80px minmax(0, 1fr); }
  .slot-row .sim-actions { grid-column: 1 / -1; grid-template-columns: 1fr; }
}
/* Telefonda destek düğmesi yalnız simge: düğmelerin üstüne binmesin */
@media (max-width: 767px) {
  .support-fab { width: 48px; height: 48px; padding: 0; justify-content: center; border-radius: 50%; }
  .support-fab span { display: none; }
  .support-fab svg { width: 22px; height: 22px; }
}
/* Telefonda saat kutusu yatay başlık olur; gövde ve düğmeler tam genişlik */
@media (max-width: 767px) {
  .slot-row { grid-template-columns: 1fr; gap: 10px; }
  .slot-row .slot-time-box { display: flex; align-items: baseline; gap: 10px; justify-content: flex-start; padding: 8px 12px; align-self: stretch; }
  .slot-row .slot-time-box .t { font-size: 1.35rem; }
  .slot-row .slot-time-box .m { margin-top: 0; }
}

/* =====================================================================
   Yönetim kabuğu: sol menü + içerik alanı (masaüstü), üst çubuk + açılır menü (telefon)
   ===================================================================== */
:root { --side-w: 236px; --side-bg: #15294a; --side-bg-2: #1b3358; --side-text: #cfd9e8; --side-muted: #8da2bf; --side-active: #ffffff; }
body.is-admin { background: #f3f5f9; }
.admin-nav-toggle { position: absolute; opacity: 0; pointer-events: none; }
.admin-shell { display: grid; grid-template-columns: var(--side-w) minmax(0, 1fr); min-height: 100vh; }
.admin-side { background: linear-gradient(180deg, var(--side-bg) 0%, var(--side-bg-2) 100%); color: var(--side-text); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.admin-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px 18px 14px; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.08); }
.admin-brand img { width: 158px; height: auto; display: block; margin-left: -2px; filter: drop-shadow(0 3px 10px rgba(0,0,0,.35)); }
.admin-brand small { display: block; font-size: .72rem; color: var(--side-muted); letter-spacing: .02em; }
.admin-nav { padding: 10px 12px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.admin-nav-group { display: flex; flex-direction: column; gap: 2px; }
.admin-nav-label { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--side-muted); padding: 6px 10px 4px; }
.admin-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; color: var(--side-text); text-decoration: none; font-size: .92rem; font-weight: 500; line-height: 1.2; }
.admin-nav a i { font-style: normal; width: 20px; text-align: center; opacity: .75; font-size: .95rem; }
.admin-nav a:hover { background: rgba(255,255,255,.07); color: #fff; }
.admin-nav a.active { background: rgba(255,255,255,.14); color: var(--side-active); font-weight: 600; box-shadow: inset 3px 0 0 #7fb3ff; }
.admin-user { padding: 14px 18px 16px; border-top: 1px solid rgba(255,255,255,.08); font-size: .85rem; }
.admin-user-name { color: #fff; font-weight: 600; margin-bottom: 4px; }
.admin-user-row { display: flex; gap: 14px; }
.admin-user-link { color: var(--side-muted); text-decoration: none; font-size: .82rem; } .admin-user-link:hover { color: #fff; }
.admin-user-link.as-btn { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-size: .82rem; }
.admin-main { min-width: 0; display: flex; flex-direction: column; }
.admin-top { display: none; }
.admin-content { padding: 28px 32px 48px; max-width: 1280px; width: 100%; }
.admin-scrim { display: none; }

/* Sayfa başlığı düzeni: h1 + açıklama + sağda işlem düğmeleri */
.admin-content > h1, .admin-content .cal-head > h1 { font-size: 1.5rem; margin: 0 0 4px; letter-spacing: -.01em; }
.admin-content > h1 + p.muted, .admin-content .cal-head + p.muted { margin: 0 0 20px; max-width: 72ch; }
.admin-content > h1:not(:has(+ p.muted)) { margin-bottom: 18px; }
.admin-content .cal-head { margin-bottom: 18px; gap: 12px; flex-wrap: wrap; }
.admin-content .cal-head:has(+ p.muted) { margin-bottom: 4px; }
.admin-content > p.small:first-child { margin-bottom: 6px; }
.admin-content > p.small:first-child a { color: var(--muted); text-decoration: none; font-weight: 500; }
.admin-content > p.small:first-child a:hover { color: var(--navy); }
.action-row { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 14px; }

/* Kartlar ve tablolar: daha sakin, tutarlı yüzeyler */
.is-admin .card { border-radius: 12px; box-shadow: 0 1px 2px rgba(16,24,40,.05); }
.is-admin .stat { border-radius: 12px; padding: 16px 18px; box-shadow: 0 1px 2px rgba(16,24,40,.05); }
.is-admin .stat .label { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.is-admin .stat .value { font-size: 1.75rem; line-height: 1.15; margin-top: 4px; }
.is-admin table { border-radius: 12px; overflow: hidden; border: 1px solid var(--border); }
.is-admin th { font-size: .72rem; letter-spacing: .08em; background: #f8fafc; }
.is-admin td { font-size: .92rem; }
.is-admin tr:last-child td { border-bottom: 0; }
.is-admin .table-wrap { border-radius: 12px; }
.is-admin .toolbar { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; margin-bottom: 16px; }
.is-admin .toolbar input, .is-admin .toolbar select { min-height: 38px; }
.is-admin h2 { font-size: 1.1rem; margin: 0 0 12px; }
.is-admin .form-section { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin: 22px 0 10px; }

/* Katılımcı görünümü şeridi */
.imp-bar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 12px; padding: 10px 16px; background: #7c2d12; color: #fff; font-size: .9rem; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.imp-ico { font-size: 1.1rem; }
.imp-text { flex: 1; line-height: 1.35; }
.imp-btn { background: #fff; color: #7c2d12; border-color: #fff; min-height: 34px; padding: 6px 12px; font-size: .85rem; white-space: nowrap; }
.imp-btn:hover { background: #ffedd5; }
@media (max-width: 767px) { .imp-bar { flex-wrap: wrap; } .imp-text { flex-basis: 100%; } }

/* Telefon/tablet: menü açılır panel */
@media (max-width: 960px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-side { position: fixed; left: 0; top: 0; bottom: 0; width: min(84vw, 300px); height: 100vh; z-index: 50; transform: translateX(-100%); transition: transform .2s ease, box-shadow .2s ease; box-shadow: none; }
  .admin-nav-toggle:checked ~ .admin-shell .admin-side { transform: translateX(0); box-shadow: 0 0 40px rgba(0,0,0,.35); } /* kapalıyken gölge sol kenara sızmasın */
  .admin-scrim { display: block; position: fixed; inset: 0; background: rgba(15,23,42,.45); z-index: 40; opacity: 0; pointer-events: none; transition: opacity .2s; }
  .admin-nav-toggle:checked ~ .admin-shell .admin-scrim { opacity: 1; pointer-events: auto; }
  .admin-top { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 14px; background: #fff; border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 20; }
  .admin-burger { display: flex; flex-direction: column; justify-content: center; gap: 4px; width: 36px; height: 36px; flex: none; border-radius: 8px; cursor: pointer; }
  .admin-burger span { display: block; height: 2px; background: var(--navy); border-radius: 2px; margin: 0 7px; }
  .admin-top-brand { display: flex; align-items: center; gap: 8px; color: var(--navy); font-weight: 700; text-decoration: none; font-size: .95rem; white-space: nowrap; flex: none; }
  .admin-top-brand img { width: 28px; height: 28px; }
  .admin-top-title { margin-left: auto; color: var(--muted); font-size: .85rem; max-width: 45%; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .admin-content { padding: 18px 16px 40px; }
  .admin-content > h1, .admin-content .cal-head > h1 { font-size: 1.3rem; }
}

/* Yönetici paneli: yarım kalan oturumlar tablosu */
.role-table th.num, .role-table td.num { text-align: right; white-space: nowrap; }
.role-table td.when { white-space: nowrap; }
.when-link { display: flex; align-items: baseline; gap: 8px; text-decoration: none; color: var(--text); }
.when-link:hover .when-time { text-decoration: underline; }
.when-time { font-weight: 700; font-size: 1.05rem; color: var(--navy); }
.when-day { font-size: .85rem; color: var(--muted); }
.when-rel { display: block; font-size: .75rem; color: var(--warn); font-weight: 600; margin-top: 2px; }
.rchip { display: inline-block; padding: 4px 10px; border-radius: 6px; background: var(--navy-light); color: var(--navy); font-weight: 600; font-size: .85rem; white-space: nowrap; }
.rchip.empty { background: transparent; border: 1px dashed #cbd5e1; color: var(--muted); font-weight: 500; }
.rc-sel { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: var(--warn-bg); color: var(--warn); font-size: .72rem; font-weight: 700; vertical-align: 1px; }
.rc-sel.full { background: var(--ok-bg); color: var(--ok); } .rc-sel.done { background: var(--ok); color: #fff; }

/* Katılımcı listesi: planlanan oturum rozetleri (rol + gün/saat; ✓ = üçlüsü dolu, kesinleşmiş) */
.planned-cell { min-width: 200px; }
.pchip { display: inline-flex; align-items: center; gap: 5px; margin: 2px 4px 2px 0; padding: 3px 9px; border-radius: 6px; font-size: .78rem; text-decoration: none; white-space: nowrap; border: 1px solid transparent; }
.pchip b { font-weight: 700; }
.pchip.med { background: var(--navy); color: #fff; }
.pchip.party { background: var(--navy-light); color: var(--navy); border-color: #d6dfec; }
.pchip:hover { filter: brightness(1.08); }

/* İşlem akışı (yönetici paneli ve işlem kayıtları) */
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 26px 0 10px; }
.section-head h2 { margin: 0; }
.feed-card { padding: 6px 18px 10px; }
.feed-day { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: 700; padding: 14px 0 6px; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
.feed-row { display: grid; grid-template-columns: 46px 14px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 9px 0; border-bottom: 1px solid #f1f4f8; }
.feed-row:last-child { border-bottom: 0; }
.feed-time { font-variant-numeric: tabular-nums; color: var(--muted); font-size: .85rem; padding-top: 2px; }
.feed-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; background: #cbd5e1; }
.feed-dot.oturum { background: var(--navy); } .feed-dot.giris { background: #94a3b8; } .feed-dot.yonetici { background: var(--purple); }
.feed-dot.iletisim { background: var(--ok); } .feed-dot.portal { background: var(--info); } .feed-dot.sistem { background: var(--warn); }
.feed-body { min-width: 0; }
.feed-line { display: flex; flex-wrap: wrap; gap: 0 6px; align-items: baseline; font-size: .92rem; }
.feed-actor { font-weight: 700; color: var(--text); }
.feed-action { color: var(--navy); text-decoration: none; border-bottom: 1px dotted #93a4c4; } .feed-action:hover { border-bottom-style: solid; }
.feed-action.plain { color: var(--text); border: 0; }
.feed-details { font-size: .82rem; color: var(--muted); margin-top: 2px; overflow-wrap: anywhere; }
.feed-cat { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--muted); padding-top: 4px; white-space: nowrap; }
@media (max-width: 767px) { .feed-row { grid-template-columns: 42px 12px minmax(0, 1fr); } .feed-cat { display: none; } }

/* Yönetici paneli: sayı kartları (iki satır × dört kart, eşit yükseklik) */
.kpi-section { margin: 18px 0 6px; }
.kpi-title { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); font-weight: 700; margin: 0 0 8px 2px; display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.kpi-title-link { text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--navy); text-decoration: none; font-size: .82rem; } .kpi-title-link:hover { text-decoration: underline; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.kpi { display: flex; flex-direction: column; gap: 2px; min-height: 112px; padding: 14px 16px; background: #fff; border: 1px solid var(--border); border-radius: 12px; text-decoration: none; color: var(--text); box-shadow: 0 1px 2px rgba(16,24,40,.05); transition: box-shadow .15s, transform .15s; }
.kpi:hover { box-shadow: 0 6px 18px rgba(16,24,40,.10); transform: translateY(-1px); }
.kpi-label { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 600; line-height: 1.25; }
.kpi-value { font-size: 1.9rem; font-weight: 700; color: var(--navy); line-height: 1.1; margin-top: 6px; font-variant-numeric: tabular-nums; }
.kpi-value small { font-size: 1rem; color: var(--muted); font-weight: 600; margin-left: 2px; }
.kpi-value.ok { color: var(--ok); } .kpi-value.warn { color: var(--warn); } .kpi-value.err { color: var(--err); }
.kpi-sub { font-size: .78rem; color: var(--muted); margin-top: auto; padding-top: 6px; line-height: 1.3; }
@media (max-width: 1100px) { .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .kpi-grid { grid-template-columns: 1fr; } .kpi { min-height: 0; } }

/* ===== Toplu mesaj ekranları (WhatsApp / E-posta): 3 adımlı düzen ===== */
.composer { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 18px; align-items: start; }
.composer-col { min-width: 0; }
.step-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.step-head .card-title { margin: 0 0 2px; }
.step-no { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; font-size: .9rem; display: grid; place-items: center; }
.picker-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: 700; margin: 2px 0 8px; }
.chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.chip-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px 7px 10px; border-radius: 999px; border: 1px solid #cfd8e6; background: #fff; color: var(--navy); font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; }
.chip-btn:hover { background: var(--navy-light); border-color: var(--navy); }
.chip-btn:disabled { opacity: .45; cursor: default; background: #fff; border-color: var(--border); }
.chip-plus { font-weight: 800; color: var(--ok); }
.chip-count { background: var(--navy-light); color: var(--navy); border-radius: 999px; padding: 1px 8px; font-size: .78rem; font-weight: 700; }
.picker-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.picker .field { margin-bottom: 10px; }
.search-row { display: flex; gap: 8px; } .search-row input { flex: 1; min-width: 0; } .search-row .btn { flex: none; }
.hit-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.hit-list li:last-child { border-bottom: 0; }
.selected-card { margin-top: 16px; }
.selected-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.selected-head .btn { margin-left: auto; }
.count-pill { display: inline-block; min-width: 24px; text-align: center; background: var(--navy); color: #fff; border-radius: 999px; padding: 1px 8px; font-size: .8rem; margin-left: 4px; vertical-align: middle; }
.sel-chips { display: flex; flex-wrap: wrap; gap: 6px; max-height: 340px; overflow-y: auto; padding: 2px; }
.sel-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 6px 5px 10px; border-radius: 999px; background: var(--navy-light); color: var(--navy); font-size: .85rem; font-weight: 500; }
.sel-chip em { font-style: normal; font-size: .72rem; color: var(--warn); }
.sel-chip.dim { background: #f1f5f9; color: var(--muted); }
.sel-chip button { width: 20px; height: 20px; border-radius: 50%; border: 0; background: rgba(21,41,74,.1); color: inherit; font-size: 1rem; line-height: 1; cursor: pointer; padding: 0; }
.sel-chip button:hover { background: var(--err); color: #fff; }
.ta-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; font-size: .82rem; color: var(--muted); }
.ta-tools { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ph { font: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; padding: 2px 8px; border-radius: 6px; border: 1px solid #cfd8e6; background: #fff; color: var(--navy); cursor: pointer; }
.ph:hover { background: var(--navy-light); }
.ta-count { font-variant-numeric: tabular-nums; }
.wa-bubble-wrap { background: #e5ddd5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='20' cy='20' r='1' fill='%23d6cfc7'/%3E%3C/svg%3E"); border-radius: 12px; padding: 14px; }
.wa-bubble { position: relative; max-width: 92%; background: #dcf8c6; border-radius: 10px; border-top-left-radius: 2px; padding: 8px 12px; font-size: 14px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; box-shadow: 0 1px 1px rgba(0,0,0,.08); min-height: 40px; color: #111; }
.send-card { margin-top: 16px; }
.send-row { display: flex; gap: 10px; flex-wrap: wrap; } .send-row .btn-ok { flex: 1 1 240px; } .send-row .btn-secondary { flex: 0 0 auto; }
.send-note { margin: 8px 0 0; }
.conn-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--border); background: #fff; margin-bottom: 16px; font-size: .9rem; }
.conn-dot { width: 10px; height: 10px; border-radius: 50%; background: #9ca3af; flex: none; }
.conn-bar.ok .conn-dot { background: var(--ok); box-shadow: 0 0 0 3px var(--ok-bg); } .conn-bar.err .conn-dot { background: var(--err); } .conn-bar.warn .conn-dot { background: var(--warn); }
.conn-link { color: var(--navy); font-weight: 600; text-decoration: none; } .conn-link:hover { text-decoration: underline; }
.conn-note { flex-basis: 100%; color: var(--muted); font-size: .85rem; }
@media (max-width: 960px) { .composer { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .picker-grid { grid-template-columns: 1fr; } }

/* Onay kutusu (data-confirm): ortalanmış küçük pencere */
.confirm-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(15,23,42,.45); display: flex; align-items: center; justify-content: center; padding: 16px; animation: fade-in .12s ease-out; }
.confirm-box { width: 100%; max-width: 420px; background: #fff; border-radius: 14px; box-shadow: 0 24px 60px rgba(16,24,40,.3); padding: 20px 22px 18px; animation: pop-in .14s ease-out; }
.confirm-title { font-weight: 700; font-size: 1.05rem; margin-bottom: 6px; }
.confirm-msg { color: var(--muted); line-height: 1.5; margin-bottom: 16px; }
.confirm-row { display: flex; gap: 10px; justify-content: flex-end; }
.confirm-row .btn { min-width: 110px; }
body.has-modal { overflow: hidden; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pop-in { from { transform: translateY(8px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 480px) { .confirm-row { flex-direction: column-reverse; } .confirm-row .btn { width: 100%; } }

/* ===== Yönetici: oturum sayfası ===== */
.sess-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.sess-title { margin: 0 0 6px !important; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.sess-time { font-weight: 600; color: var(--navy); font-size: 1.15rem; background: var(--navy-light); padding: 2px 10px; border-radius: 8px; }
.sess-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .9rem; }
.sess-rel { color: var(--warn); font-weight: 600; font-size: .85rem; }
.sess-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.sess-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr); gap: 18px; align-items: start; }
.sess-main, .sess-side { min-width: 0; }
.card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.occupancy { display: flex; align-items: center; gap: 10px; }
.occ-bar { display: inline-block; width: 120px; height: 8px; border-radius: 999px; background: #e5e9f0; overflow: hidden; }
.occ-bar i { display: block; height: 100%; background: var(--ok); border-radius: 999px; }
.role-empty-label { color: var(--muted); font-size: .9rem; }
.assign-form { display: flex; gap: 6px; } .assign-form select { flex: 1; min-width: 0; min-height: 36px; padding: 4px 8px; font-size: .9rem; } .assign-form .btn { flex: none; }
.suggest { margin-top: auto; }
.suggest-label { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; margin-bottom: 4px; }
.suggest-chip { font: inherit; font-size: .8rem; padding: 3px 8px; margin: 2px 4px 2px 0; border-radius: 999px; border: 1px solid #cfd8e6; background: #fff; color: var(--navy); cursor: pointer; }
.suggest-chip:hover { background: var(--navy-light); border-color: var(--navy); }
.verify-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.verify-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; flex-wrap: wrap; }
.verify-who { display: flex; align-items: center; gap: 10px; }
.attctl { display: inline-flex; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.attctl label { position: relative; cursor: pointer; }
.attctl input { position: absolute; opacity: 0; inset: 0; }
.attctl span { display: block; padding: 7px 14px; font-size: .88rem; font-weight: 600; color: var(--muted); background: #fff; }
.attctl label + label span { border-left: 1px solid var(--border); }
.attctl input:checked + span { background: var(--navy); color: #fff; }
.attctl label:last-child input:checked + span { background: var(--err); }
.attctl input:focus-visible + span { outline: 2px solid var(--navy); outline-offset: -2px; }
.side-kv { grid-template-columns: 96px 1fr; font-size: .9rem; }
details.panel { padding: 0; overflow: hidden; }
details.panel > summary { list-style: none; cursor: pointer; padding: 14px 18px; display: flex; flex-direction: column; gap: 2px; }
details.panel > summary::-webkit-details-marker { display: none; }
details.panel > summary::after { content: "›"; position: absolute; right: 18px; top: 14px; font-size: 1.3rem; color: var(--muted); transition: transform .15s; }
details.panel { position: relative; }
details.panel[open] > summary::after { transform: rotate(90deg); }
details.panel > form { padding: 0 18px 18px; }
details.panel.danger { border-color: #fecaca; } details.panel.danger .card-title { color: var(--err); }
@media (max-width: 960px) { .sess-layout { grid-template-columns: 1fr; } }

/* Oturum sayfası: rol satırları */
.srole-list { display: flex; flex-direction: column; }
.srole { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--border); }
.srole:first-child { border-top: 0; padding-top: 4px; }
.srole-role { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; }
.srole-who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.srole-who-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.srole-who-text a { font-weight: 700; color: var(--text); text-decoration: none; } .srole-who-text a:hover { color: var(--navy); text-decoration: underline; }
.srole-tags { display: flex; gap: 6px; }
.srole-act { display: flex; justify-content: flex-end; }
.srole-assign { grid-column: 2 / -1; display: flex; flex-direction: column; gap: 6px; }
.srole.is-empty .srole-who { grid-column: 2 / -1; }
.av { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; display: grid; place-items: center; font-size: .82rem; }
.av.sm { width: 30px; height: 30px; font-size: .74rem; }
.av.empty { background: #fff; color: #94a3b8; border: 1px dashed #cbd5e1; }
.assign-form { display: flex; gap: 6px; max-width: 460px; } .assign-form select { flex: 1; min-width: 0; min-height: 36px; padding: 4px 8px; font-size: .9rem; } .assign-form .btn { flex: none; }
.suggest { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.suggest-label { font-size: .78rem; color: var(--muted); margin-right: 4px; }
@media (max-width: 640px) { .srole { grid-template-columns: 1fr; gap: 8px; } .srole-act { justify-content: flex-start; } }

/* ===== Oturumlar listesi: durum sekmeleri, gün grupları, satırlar ===== */
.seg-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0 12px; }
.seg-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--border); background: #fff; color: var(--text); text-decoration: none; font-size: .88rem; font-weight: 500; }
.seg-tabs a span { background: #eef2f7; color: var(--muted); border-radius: 999px; padding: 0 7px; font-size: .76rem; font-weight: 700; }
.seg-tabs a:hover { border-color: var(--navy); }
.seg-tabs a.active { background: var(--navy); color: #fff; border-color: var(--navy); } .seg-tabs a.active span { background: rgba(255,255,255,.2); color: #fff; }
.filter-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: .88rem; margin-bottom: 18px; }
.filter-bar label { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; color: var(--muted); }
.filter-bar input[type=date] { min-height: 34px; padding: 4px 8px; width: auto; font-size: .88rem; }
.check-inline input { width: 16px; height: 16px; margin: 0; }
.sess-day { margin-bottom: 22px; }
details.sess-day > summary { list-style: none; cursor: pointer; }
details.sess-day > summary::-webkit-details-marker { display: none; }
.sess-day-caret { display: inline-block; width: 14px; color: var(--muted); font-size: .9rem; transition: transform .15s; }
details.sess-day[open] > summary .sess-day-caret { transform: rotate(90deg); }
details.sess-day > summary > div:first-of-type { flex: 1; }
details.sess-day.past:not([open]) { margin-bottom: 10px; }
details.sess-day.past:not([open]) > summary { background: #f6f8fb; border: 1px solid var(--border); border-radius: 12px; padding: 10px 14px; margin-bottom: 0; }
details.sess-day.past > summary .sess-day-title { color: var(--muted); }
details.sess-day.past > summary .sess-day-rel { color: var(--muted); }
.sess-day-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; padding: 0 2px; }
.sess-day-title { font-weight: 700; font-size: 1.02rem; }
.sess-day-rel { font-size: .8rem; color: var(--warn); font-weight: 600; margin-left: 6px; }
.sess-day-sum { display: flex; gap: 12px; font-size: .82rem; color: var(--muted); }
.sess-day-sum .ok { color: var(--ok); font-weight: 600; } .sess-day-sum .warn { color: var(--warn); font-weight: 600; }
.srows { padding: 0; overflow: hidden; }
.srow { display: grid; grid-template-columns: 90px repeat(3, minmax(0, 1fr)) 140px 120px 64px 24px; gap: 10px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--border); color: var(--text); text-decoration: none; min-height: 48px; }
.srow:hover { background: #f8fafc; }
.srow-head { border-top: 0; background: #f8fafc; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; min-height: 36px; padding-top: 8px; padding-bottom: 8px; }
.srow-head:hover { background: #f8fafc; }
.srow-time { font-weight: 700; color: var(--navy); white-space: nowrap; font-variant-numeric: tabular-nums; }
.srow-go { color: #94a3b8; text-align: right; font-size: 1.1rem; }
.rc { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 4px 9px; border-radius: 6px; background: var(--navy-light); color: var(--navy); font-size: .84rem; font-weight: 600; vertical-align: middle; }
.rc.empty { background: transparent; border: 1px dashed #cbd5e1; color: #94a3b8; font-weight: 500; }
.rc.no { background: var(--err-bg); color: var(--err); text-decoration: line-through; }
details.srow-empty > summary { list-style: none; cursor: pointer; grid-template-columns: 110px minmax(0, 1fr) 150px 24px; color: var(--muted); }
details.srow-empty > summary::-webkit-details-marker { display: none; }
.srow-empty-text { font-size: .88rem; }
.srow-empty-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px 14px 12px 134px; border-top: 1px dashed var(--border); background: #fbfcfe; }
.srow-empty-list a { font-size: .8rem; padding: 3px 9px; border: 1px dashed #cbd5e1; border-radius: 999px; color: var(--muted); text-decoration: none; }
.srow-empty-list a:hover { border-color: var(--navy); color: var(--navy); }
@media (max-width: 860px) {
  .srow, details.srow-empty > summary { grid-template-columns: 90px minmax(0, 1fr) 24px; }
  .srow-head { display: none; }
  .srow > span:nth-child(2), .srow > span:nth-child(3), .srow > span:nth-child(4) { grid-column: 2; }
  .srow > span:nth-child(5) { grid-column: 2; }
  .srow-empty-list { padding-left: 14px; }
}
/* Gün×saat tablosu: tüm hücreler aynı yükseklikte (teşvik satırı olsun olmasın) */
.slot-grid td { height: 1px; vertical-align: top; }
.slot-grid td > .g-cell { min-height: 104px; }
.g-nudge { min-height: 1.1em; }
/* Gün×saat tablosu: saat sütunları eşit genişlikte; uzun etiket sütunu genişletmez, satır kırar */
.slot-grid { table-layout: fixed; width: 100%; }
.slot-grid th:first-child, .slot-grid td:first-child { width: 120px; }
.slot-grid .g-cell { min-width: 0; width: 100%; }
.slot-grid .g-status { white-space: normal; text-align: center; line-height: 1.25; }
@media (max-width: 767px) { .slot-grid { table-layout: auto; } }

/* Oturum Seç: üstte iki adımlı plan özeti */
.plan-box { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.plan-step { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.plan-step.now { border-color: var(--navy); box-shadow: 0 0 0 2px var(--navy-light); }
.plan-step.done { background: #f6fbf7; border-color: #bbf7d0; }
.plan-no { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; font-size: .85rem; display: grid; place-items: center; }
.plan-step.done .plan-no { background: var(--ok); }
.plan-title { font-weight: 700; }
.plan-sub { font-size: .88rem; color: var(--muted); margin-top: 2px; line-height: 1.4; }
.plan-sub.warn { color: var(--warn); font-weight: 500; }
@media (max-width: 640px) { .plan-box { grid-template-columns: 1fr; } }

/* Oturum Seç: kapalı saatler sakin, açık saatler öne çıkar */
.slot-row.is-closed { background: #f8fafc; opacity: .8; }
.slot-row.is-closed .role-pill { filter: saturate(.4); }
.closed-note { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 64px; padding: 10px 12px; border: 1px dashed #cbd5e1; border-radius: 10px; color: var(--muted); font-size: .9rem; font-weight: 600; text-align: center; cursor: help; }
.closed-note small { font-weight: 500; font-size: .8rem; }
.closed-ico { font-size: 1.1rem; line-height: 1; }
.alt-roles { font-size: .78rem; color: var(--muted); text-align: center; margin-top: 2px; cursor: help; }

/* Nasıl Çalışır: alt başlıklar, kural listesi, örnek kutusu */
.h-sub { font-size: 1rem; margin: 18px 0 8px; color: var(--navy); }
.rule-list { padding-left: 0; list-style: none; counter-reset: rule; margin: 0 0 12px; }
.rule-list li { position: relative; padding: 8px 0 8px 40px; counter-increment: rule; border-top: 1px solid var(--border); line-height: 1.5; }
.rule-list li:first-child { border-top: 0; }
.rule-list li::before { content: counter(rule); position: absolute; left: 0; top: 9px; width: 26px; height: 26px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; font-size: .85rem; display: grid; place-items: center; }
.example-box { background: var(--navy-light); border-left: 4px solid var(--navy); border-radius: 8px; padding: 10px 14px; margin: 8px 0 14px; }
.example-box p { margin: 0; }
.example-title { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--navy); font-weight: 700; margin-bottom: 4px; }

/* Eğitim portalına geçiş düğmesi */
.btn-portal { background: #0f766e; border-color: #0f766e; }
.btn-portal:hover { background: #115e59; }
.portal-ico { font-weight: 800; }
.portal-hint { margin-top: 8px; }
.sd-steps .portal-form { display: inline-block; margin-top: 6px; } .sd-steps .portal-form .btn { min-height: 38px; padding: 6px 12px; font-size: .9rem; }

/* Oturum sayfası: eğitim portalına geçiş kartı */
.portal-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: 12px; margin: 0 0 16px; border: 1px solid var(--border); }
.portal-card.open { background: #ecfdf5; border-color: #a7f3d0; }
.portal-card.locked { background: #f8fafc; color: var(--muted); }
.portal-card-text { flex: 1 1 320px; }
.portal-card-title { font-weight: 700; margin-bottom: 2px; color: var(--text); }
.portal-card.locked .portal-card-title { color: var(--muted); }
.portal-card .portal-form .btn { white-space: nowrap; }

/* Muafiyet: satır içi açılır form */
.inline-details { display: inline-block; position: relative; }
.inline-details > summary { list-style: none; display: inline-flex; }
.inline-details > summary::-webkit-details-marker { display: none; }
.exempt-form { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; display: flex; gap: 6px; padding: 10px; background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 10px 30px rgba(16,24,40,.15); min-width: 320px; }
.exempt-form input { flex: 1; min-height: 36px; }

/* E-posta kayıtları */
.kpi-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.kpi-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .kpi-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .kpi-grid-3 { grid-template-columns: 1fr; } }
@media (max-width: 1100px) { .kpi-grid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mail-row { display: grid; grid-template-columns: 46px 130px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 9px 0; border-bottom: 1px solid #f1f4f8; }
.mail-row:last-child { border-bottom: 0; }
.mail-kind { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 700; padding-top: 3px; }
.mail-to a { font-weight: 700; color: var(--text); text-decoration: none; } .mail-to a:hover { color: var(--navy); }
.mail-subject { font-size: .9rem; }
.mail-detail { font-size: .78rem; color: var(--muted); margin-top: 2px; overflow-wrap: anywhere; }
.mail-detail.err { color: var(--err); }
.mail-status { white-space: nowrap; }
@media (max-width: 767px) { .mail-row { grid-template-columns: 42px minmax(0, 1fr) auto; } .mail-kind { display: none; } }

/* ===== Katılımcı İletişim (destek ekibi) ===== */
.ct-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-top: 18px; }
.ct-due { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ct-due li { padding: 10px 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 4px 12px; align-items: start; }
.ct-due li > .ct-due-main, .ct-due li > .small { grid-column: 1; }
.ct-due li:first-child { border-top: 0; }
.ct-due-main { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ct-due-act { grid-column: 2; grid-row: 1 / span 2; display: flex; gap: 6px; align-items: center; align-self: center; }
.ct-late { color: var(--err); font-weight: 600; }
.ct-recent { list-style: none; margin: 0; padding: 0; }
.ct-recent li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-top: 1px solid var(--border); font-size: .92rem; }
.ct-recent li:first-child { border-top: 0; }
.ct-recent-when { color: var(--muted); font-size: .85rem; font-variant-numeric: tabular-nums; padding-top: 2px; }
.ct-table td { vertical-align: top; }
.ct-situ .badge { margin: 1px 4px 1px 0; }
.ct-tel { color: var(--navy); text-decoration: none; font-weight: 600; white-space: nowrap; } .ct-tel:hover { text-decoration: underline; }
.ct-row.pri-riskli td:first-child, .ct-row.pri-iptal td:first-child, .ct-row.pri-tekkalan td:first-child { box-shadow: inset 4px 0 0 var(--err); }
.ct-row.pri-secmemis td:first-child, .ct-row.pri-eksik td:first-child, .ct-row.pri-yarim td:first-child, .ct-row.pri-takip td:first-child { box-shadow: inset 4px 0 0 var(--warn); }
.pchip.alone { outline: 2px solid var(--err); outline-offset: -1px; }
.pchip.expired { background: var(--err-bg); color: var(--err); border-color: #fecaca; }
.pchip small { font-weight: 400; opacity: .85; }
.ct-back { margin: 0 0 10px; }
/* Kimlik kartı: sıkı, tek nefeste okunan başlık */
.ct-profile { padding: 14px 18px 12px; }
.ct-profile-top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.ct-avatar { width: 44px; height: 44px; border-radius: 12px; background: var(--navy); color: #fff; font-weight: 800; font-size: 1rem; display: grid; place-items: center; letter-spacing: .02em; }
.ct-id { min-width: 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ct-id h1 { margin: 0; font-size: 1.25rem; line-height: 1.2; }
.ct-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.ct-badges .badge { font-size: .74rem; padding: 2px 8px; }
.ct-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end; }
.ct-actions .btn { min-height: 34px; padding: 5px 12px; font-size: .86rem; border-radius: 8px; }
.ct-actions-sep { width: 1px; height: 22px; background: var(--border); margin: 0 2px; }
.ct-call { background: var(--ok); border-color: var(--ok); } .ct-call:hover { filter: brightness(1.05); }
.ct-info { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 10px 0 0; padding: 10px 0 0 56px; border-top: 1px solid var(--border); }
.ct-info > div { min-width: 0; }
.ct-info > div.editing { flex-basis: 100%; }
.ct-info dt { font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; display: flex; align-items: center; gap: 6px; }
.ct-info dd { margin: 1px 0 0; font-size: .93rem; font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.ct-mini { border: 0; background: var(--navy-light); color: var(--navy); font-size: .66rem; font-weight: 700; text-transform: none; letter-spacing: 0; cursor: pointer; padding: 0 6px; border-radius: 999px; line-height: 1.5; }
.ct-mini:hover { background: #d6dfec; }
.ct-email-edit { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 4px; }
.ct-email-edit[hidden], .ct-pane[hidden], .ct-optout-form[hidden] { display: none; }
.ct-email-edit input { width: auto; flex: 0 1 320px; min-height: 34px; padding: 4px 10px; font-size: .9rem; }
.ct-email-edit .btn-sm { min-height: 34px; padding: 4px 12px; }
.ct-email-edit .hint { flex-basis: 100%; margin: 0; font-size: .78rem; }
.ct-optout { flex-basis: 100%; margin-top: 2px; padding: 6px 10px; border-radius: 8px; background: var(--err-bg); color: var(--err); font-size: .85rem; font-weight: 600; }
.ct-optout .ct-link-btn { color: var(--err); }
.ct-link-btn { border: 0; background: none; color: var(--navy); font-size: .85rem; text-decoration: underline dotted; cursor: pointer; padding: 0 2px; }
.ct-danger { color: var(--err); border-color: #fca5a5; } .ct-danger:hover { background: var(--err-bg); }
.ct-danger-solid { background: var(--err); border-color: var(--err); }
.ct-optout-form { border-color: #fca5a5; margin-bottom: 16px; }
/* Özet şeridi */
.ct-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.ct-tile { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; min-height: 74px; }
.ct-tile-l { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; }
.ct-tile-v { font-size: 1.08rem; font-weight: 700; color: var(--navy); }
.ct-tile-v.ok { color: var(--ok); } .ct-tile-v.warn { color: var(--warn); } .ct-tile-v.err { color: var(--err); } .ct-tile-v.muted { color: var(--muted); font-weight: 600; }
.ct-tile-s { font-size: .8rem; color: var(--muted); }
/* İki sütun */
.ct-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.ct-col { min-width: 0; }
.ct-brief { background: #fffbeb; border-color: #f6d87a; }
.ct-brief .card-title { color: #92400e; }
.ct-brief ul { margin: 0; padding-left: 18px; } .ct-brief li { margin: 4px 0; color: #78350f; }
/* Görüşme metni */
.ct-script-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.ct-script-body { display: flex; flex-direction: column; gap: 12px; }
.ct-script-step { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; }
.ct-script-no { width: 24px; height: 24px; border-radius: 50%; background: var(--navy); color: #fff; font-size: .8rem; font-weight: 700; display: grid; place-items: center; margin-top: 2px; }
.ct-script-l { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; margin-bottom: 2px; }
.ct-script-step p { margin: 0 0 8px; line-height: 1.55; } .ct-script-step p:last-child { margin-bottom: 0; }
.ct-script-step ul { margin: 0; padding-left: 18px; } .ct-script-step li { margin: 3px 0; line-height: 1.5; }
.ct-script-more { margin-top: 12px; border-top: 1px solid var(--border); padding-top: 10px; }
.ct-script-more summary { cursor: pointer; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.ct-donts { margin: 8px 0 0; padding-left: 18px; } .ct-donts li { margin: 4px 0; color: #7f1d1d; line-height: 1.5; }
.ct-faq { margin: 8px 0 0; } .ct-faq dt { font-weight: 700; margin-top: 8px; } .ct-faq dd { margin: 2px 0 0; color: var(--text); line-height: 1.5; }
/* Oturumlar */
.ct-sessions { list-style: none; margin: 0; padding: 0; }
.ct-sessions li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--border); }
.ct-sessions li:first-child { border-top: 0; padding-top: 2px; }
.ct-sess-date { text-align: center; border-radius: 10px; padding: 6px 4px; background: var(--navy-light); color: var(--navy); line-height: 1.1; }
.ct-sess-date b { display: block; font-size: 1.25rem; }
.ct-sess-date span { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.ct-sess-date em { display: block; font-style: normal; font-weight: 700; font-size: .85rem; margin-top: 2px; }
.ct-sessions li.alone .ct-sess-date { background: var(--err-bg); color: var(--err); }
.ct-sessions li.ok .ct-sess-date { background: var(--ok-bg); color: var(--ok); }
.ct-sessions li.expired .ct-sess-date { background: #f1f5f9; color: var(--muted); text-decoration: line-through; }
.ct-sess-top { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 2px; }
/* Önerilecek saatler */
.ct-sug-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px; align-items: start; padding: 8px 0; border-top: 1px solid var(--border); }
.ct-sug-row:first-of-type { border-top: 0; }
.ct-sug-role { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; }
.ct-sug-slots { display: flex; flex-wrap: wrap; gap: 6px; }
.ct-slot { display: inline-flex; flex-direction: column; padding: 5px 10px; border-radius: 8px; background: #fff; border: 1px solid var(--border); font-weight: 600; font-size: .88rem; line-height: 1.2; }
.ct-slot small { font-weight: 400; color: var(--muted); font-size: .72rem; }
/* Temas kaydı formu */
.ct-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.ct-seg label { position: relative; }
.ct-seg input { position: absolute; opacity: 0; width: 0; height: 0; }
.ct-seg span { display: inline-block; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--border); background: #fff; font-weight: 600; font-size: .9rem; cursor: pointer; }
.ct-seg input:checked + span { background: var(--navy); color: #fff; border-color: var(--navy); }
.ct-seg input:focus-visible + span { outline: 2px solid var(--navy); outline-offset: 2px; }
.ct-form-foot { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.ct-follow { flex: 1 1 200px; margin: 0; }
.ct-form-foot .btn { min-height: 46px; }
/* Temas geçmişi */
.ct-log { list-style: none; margin: 0; padding: 0; }
.ct-log li { display: grid; grid-template-columns: 12px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-top: 1px solid var(--border); }
.ct-log li:first-child { border-top: 0; }
.ct-log-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 7px; background: #cbd5e1; }
.ct-log-dot.badge-ok { background: var(--ok); } .ct-log-dot.badge-warn { background: var(--warn); } .ct-log-dot.badge-err { background: var(--err); } .ct-log-dot.badge-navy { background: var(--navy); } .ct-log-dot.badge-info { background: var(--info); }
.ct-log-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ct-log-note { margin-top: 4px; white-space: pre-line; }
.ct-log-follow { margin-top: 4px; font-size: .85rem; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--navy); font-weight: 600; }
.ct-log-follow.done { color: var(--muted); font-weight: 400; } .ct-log-follow.late { color: var(--err); }
/* Mesaj gönder */
.ct-msg { margin-top: 4px; }
.ct-msg-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.ct-tabs { display: inline-flex; background: #eef2f7; border-radius: 10px; padding: 3px; gap: 2px; }
.ct-tabs button { border: 0; background: transparent; padding: 8px 16px; border-radius: 8px; font-weight: 600; color: var(--muted); cursor: pointer; font-size: .92rem; }
.ct-tabs button.active { background: #fff; color: var(--navy); box-shadow: var(--shadow); }
.ct-pane-head { margin-bottom: 8px; } .ct-pane-head .badge { white-space: normal; line-height: 1.3; }
.ct-pane-grid { display: grid; grid-template-columns: 1fr; gap: 0 16px; }
.ct-pane-grid .ct-span { grid-column: 1 / -1; }
.ct-msg-act { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
@media (max-width: 900px) { .ct-two, .ct-grid, .ct-pane-grid, .ct-sug-row { grid-template-columns: 1fr; } .ct-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ct-profile-top { grid-template-columns: auto minmax(0, 1fr); } .ct-actions { grid-column: 1 / -1; justify-content: flex-start; } .ct-info { padding-left: 0; flex-direction: column; gap: 8px; } }

/* ===== Webhook'lar ===== */
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .86em; }
.wh-table td { vertical-align: top; }
.wh-ok { color: var(--ok); font-weight: 700; } .wh-fail { color: var(--err); font-weight: 700; }
.wh-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wh-events { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: #fafbfd; }
.wh-all { grid-column: 1 / -1; padding-bottom: 8px; border-bottom: 1px dashed var(--border); }
.wh-group { display: flex; flex-direction: column; gap: 4px; }
.wh-group-l { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; margin-bottom: 2px; }
.wh-events label.check { font-weight: 500; font-size: .92rem; }
.wh-events code { font-size: .74rem; color: var(--muted); background: #eef2f7; padding: 1px 6px; border-radius: 6px; margin-left: 4px; }
.wh-docs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.wh-docs > div { min-width: 0; }
.wh-docs h3 { margin: 10px 0 6px; font-size: 1rem; }
.wh-docs ul { padding-left: 18px; margin: 0 0 8px; } .wh-docs li { margin: 3px 0; }
.wh-code { background: #0f172a; color: #e2e8f0; border-radius: 10px; padding: 12px 14px; font-size: .78rem; line-height: 1.5; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; margin: 6px 0 12px; }
.wh-secret { font-size: 1rem; word-break: break-all; background: #f1f5f9; padding: 8px 10px; border-radius: 8px; margin: 0 0 10px; }
.wh-deliveries { display: flex; flex-direction: column; }
.wh-del { border-top: 1px solid var(--border); }
.wh-del:first-child { border-top: 0; }
.wh-del summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; align-items: center; padding: 10px 0; }
.wh-del summary::-webkit-details-marker { display: none; }
.wh-del-ev { min-width: 0; } .wh-del-ev code { font-size: .74rem; color: var(--muted); }
.wh-del-meta { grid-column: 2; }
.wh-del-body { padding: 0 0 12px 0; display: flex; flex-direction: column; gap: 6px; }
@media (max-width: 900px) { .wh-form .row, .wh-events, .wh-docs { grid-template-columns: 1fr; } }

/* ===== Yönetici girişi: doğrulama kodu adımı ===== */
.login-single { grid-template-columns: 1fr; background: linear-gradient(160deg, #16304f 0%, var(--navy) 55%, #27507f 100%); min-height: 100vh; }
.login-single .login-main { display: flex; align-items: center; justify-content: center; padding: 40px 16px; }
.login-single .login-card { max-width: 440px; width: 100%; }
.login-plate-small { background: #fff; border-radius: 12px; padding: 8px 12px; display: inline-block; margin-bottom: 14px; }
.login-plate-small img { display: block; width: 150px; height: auto; }
.code-input { font-size: 1.6rem; letter-spacing: .5em; text-align: center; font-variant-numeric: tabular-nums; font-weight: 700; }
.login-single label.check { margin: 6px 0 14px; font-size: .92rem; }

/* ===== Destek performansı ===== */
.pf-me { border-top: 4px solid var(--navy); }
.pf-me-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center; }
.pf-score { width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; align-content: center; background: var(--navy-light); color: var(--navy); border: 4px solid var(--navy); }
.pf-score.ok { background: var(--ok-bg); color: var(--ok); border-color: var(--ok); } .pf-score.warn { background: var(--warn-bg); color: var(--warn); border-color: var(--warn); } .pf-score.err { background: var(--err-bg); color: var(--err); border-color: var(--err); }
.pf-score-n { font-size: 2rem; font-weight: 800; line-height: 1; } .pf-score-l { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.pf-me-text h2 { margin: 0 0 4px; font-size: 1.3rem; } .pf-me-text p { margin: 0 0 6px; }
.pf-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.pf-badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; background: linear-gradient(135deg, #fff7d6, #ffe9a8); border: 1px solid #f2d27a; color: #7a5200; font-weight: 700; font-size: .82rem; }
.pf-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.pf-kpi { background: #fafbfd; border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.pf-kpi .l { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; }
.pf-kpi .v { font-size: 1.5rem; font-weight: 800; color: var(--navy); line-height: 1.1; } .pf-kpi .v small { font-size: .85rem; color: var(--muted); margin-left: 3px; }
.pf-kpi .v.ok { color: var(--ok); } .pf-kpi .v.warn { color: var(--warn); }
.pf-kpi .s { font-size: .78rem; color: var(--muted); }
.pf-chart { display: flex; align-items: flex-end; gap: 6px; height: 120px; padding: 8px 4px 0; border-bottom: 1px solid var(--border); margin-bottom: 6px; }
.pf-bar { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 0; }
.pf-bar-fill { width: 100%; max-width: 34px; background: #c7d6ea; border-radius: 6px 6px 0 0; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; min-height: 2px; }
.pf-bar-conv { background: var(--navy); width: 100%; }
.pf-bar-l { font-size: .68rem; color: var(--muted); margin-top: 4px; }
.pf-table td { vertical-align: middle; }
.pf-row-me { background: #f3f7ff; } .pf-row-me td:first-child { box-shadow: inset 3px 0 0 var(--navy); }
.pf-pill { display: inline-block; min-width: 44px; text-align: center; padding: 3px 10px; border-radius: 999px; font-weight: 800; background: var(--navy-light); color: var(--navy); }
.pf-pill.ok { background: var(--ok-bg); color: var(--ok); } .pf-pill.warn { background: var(--warn-bg); color: var(--warn); } .pf-pill.err { background: var(--err-bg); color: var(--err); }
.pf-how { margin-top: 12px; } .pf-how summary { cursor: pointer; font-weight: 600; } .pf-how ul { margin: 8px 0 0; padding-left: 18px; }
@media (max-width: 900px) { .pf-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pf-me-head { grid-template-columns: 1fr; } .pf-chart { height: 90px; } }

.pf-view{flex-wrap:wrap}
.pf-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; }
.pf-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pf-lider { position: relative; } .pf-lider summary { list-style: none; cursor: pointer; } .pf-lider summary::-webkit-details-marker { display: none; }
.pf-lider-form { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: min(360px, 90vw); background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 12px; box-shadow: 0 10px 30px rgba(15,23,42,.12); display: flex; flex-direction: column; gap: 8px; }
.pf-lider-form textarea { width: 100%; }
.pf-alert { background: var(--err-bg); color: var(--err); border: 1px solid #f3c2c2; border-radius: 10px; padding: 10px 14px; margin-bottom: 14px; font-size: .92rem; } .pf-alert a { color: inherit; font-weight: 700; }
.pf-level { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; background: var(--navy-light); color: var(--navy); border: 1px solid #c7d6ea; font-weight: 700; font-size: .82rem; }
.pf-chip { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; background: #f1f3f7; color: var(--muted); font-weight: 700; font-size: .78rem; border: 1px solid var(--border); text-decoration: none; }
.pf-chip.up { background: var(--ok-bg); color: var(--ok); border-color: #bfe3c9; } .pf-chip.down { background: var(--err-bg); color: var(--err); border-color: #f3c2c2; } .pf-chip.hot { background: #fff1e6; color: #b4480b; border-color: #f6c9a8; }
.pf-targets { margin: 16px 0 4px; padding: 12px 14px; border: 1px dashed #c7d6ea; border-radius: 12px; background: #f8fafd; }
.pf-target-title { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; margin-bottom: 8px; }
.pf-target-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pf-target-l { display: flex; justify-content: space-between; font-size: .85rem; margin-bottom: 4px; } .pf-target-l b { color: var(--navy); }
.progress > span.ok { background: var(--ok); }
.pf-insights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.pf-insight { background: #fafbfd; border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; font-size: .9rem; }
.pf-insight-t { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; margin-bottom: 6px; }
.pf-delta-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.pf-chan { width: 100%; border-collapse: collapse; font-size: .82rem; } .pf-chan th { text-align: left; font-weight: 600; color: var(--muted); padding: 2px 4px; } .pf-chan td { padding: 2px 4px; border-top: 1px solid var(--border); }
@media (max-width: 900px) { .pf-insights { grid-template-columns: 1fr 1fr; } .pf-target-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .pf-insights { grid-template-columns: 1fr; } }
.pf-today { border-top: 4px solid var(--navy); margin-bottom: 16px; }
.pf-today-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.login-brand-small img { height: 72px; }

/* ---------- simülasyon değerlendirmesi ---------- */
.ev-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: start; margin-bottom: 12px; }
.ev-head-text { display: flex; flex-direction: column; gap: 6px; }
.ev-verdict { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ev-summary { margin: 2px 0 0; font-size: .95rem; line-height: 1.55; }
.ev-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.ev-report { margin-top: 8px; } .ev-report summary { cursor: pointer; font-weight: 600; color: var(--navy); }
.ev-body { margin-top: 8px; font-size: .92rem; line-height: 1.55; }
.ev-body h3 { font-size: 1.05rem; margin: 14px 0 6px; } .ev-body h4 { font-size: .95rem; margin: 14px 0 6px; color: var(--navy); }
.ev-body ul { margin: 6px 0; padding-left: 20px; } .ev-body li { margin: 4px 0; } .ev-body hr { border: 0; border-top: 1px solid var(--border); margin: 12px 0; }
.ev-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.ev-table th { text-align: left; background: #f3f6fa; padding: 6px 8px; border-bottom: 1px solid var(--border); font-weight: 700; }
.ev-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); vertical-align: top; }
.ev-table td.ev-ok { color: var(--ok); font-weight: 700; } .ev-table td.ev-mid { color: #b4700b; font-weight: 700; } .ev-table td.ev-no { color: var(--err); font-weight: 700; }
.ev-ts { display: inline-block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8em; background: #eef2f8; color: var(--navy); padding: 0 5px; border-radius: 6px; }
.ev-form-panel { margin-top: 14px; border-top: 1px solid var(--border); padding-top: 10px; } .ev-form-panel summary { cursor: pointer; font-weight: 600; }
.ev-form-panel textarea { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; }
.ev-line { display: flex; gap: 12px; align-items: center; text-decoration: none; color: inherit; padding: 10px 14px; margin-bottom: 8px; }
.pf-pill.err { background: var(--err-bg); color: var(--err); }
@media (max-width: 700px) { .ev-head { grid-template-columns: 1fr; } }

/* değerlendirme: rapor + yapışkan video */
.ev-card { margin-bottom: 18px; }
.ev-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 40%); gap: 20px; align-items: stretch; margin-top: 10px; }
.ev-layout.no-video { grid-template-columns: 1fr; }
.ev-left { min-width: 0; } .ev-video { min-width: 0; align-self: stretch; }
.ev-intro { margin: 10px 0 0; } .ev-intro summary { cursor: pointer; font-weight: 600; color: var(--navy); } .ev-intro .ev-body h3 { display: none; }
.ev-video-sticky { position: sticky; top: 12px; background: #0f172a; border-radius: 14px; padding: 10px; color: #cbd5e1; }
.ev-video-sticky video { width: 100%; max-height: 70vh; border-radius: 10px; background: #000; display: block; }
.ev-video-bar { display: flex; justify-content: space-between; gap: 8px; padding: 8px 4px 2px; } .ev-video-bar .muted { color: #94a3b8; }
.ev-video-sticky .hint { color: #94a3b8; margin: 4px 4px 0; }
.ev-rec-tabs { margin: 0 0 8px; } .ev-rec-tabs button { background: transparent; border: 1px solid #334155; color: #cbd5e1; padding: 5px 12px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .85rem; margin-right: 6px; }
.ev-rec-tabs button.active { background: #fff; color: var(--navy); border-color: #fff; }
button.ev-ts { border: 1px solid #c7d6ea; cursor: pointer; font: inherit; line-height: 1.3; } button.ev-ts:hover { background: var(--navy); color: #fff; } button.ev-ts.active { background: var(--navy); color: #fff; }
.ev-video-sticky button.ev-ts { background: #1e293b; color: #cbd5e1; border-color: #334155; cursor: default; }
@media (max-width: 960px) { .ev-layout { grid-template-columns: 1fr; } .ev-video { order: -1; } .ev-video-sticky { position: sticky; top: 0; z-index: 5; border-radius: 0 0 14px 14px; } }

/* değerlendirme: anlam katmanı */
.ev-analysis { margin-top: 12px; border: 1px solid var(--border); border-radius: 12px; padding: 10px 14px; background: #fafbfd; }
.ev-analysis summary { cursor: pointer; font-weight: 700; color: var(--navy); }
.ev-an-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 10px; }
.ev-an-box { background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; min-width: 0; }
.ev-an-t { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; margin-bottom: 8px; }
.ev-gates { width: 100%; border-collapse: collapse; font-size: .86rem; } .ev-gates td { padding: 4px 6px; border-top: 1px solid var(--border); vertical-align: top; } .ev-gates tr:first-child td { border-top: 0; }
.ev-gate-ic { width: 20px; font-weight: 800; } .ev-gates tr.ok .ev-gate-ic { color: var(--ok); } .ev-gates tr.fail .ev-gate-ic { color: var(--err); } .ev-gates tr.fail td { background: #fff6f6; } .ev-gates tr.na .ev-gate-ic { color: var(--muted); }
.ev-bars { display: grid; gap: 5px; margin: 4px 0 8px; }
.ev-bar-row { display: grid; grid-template-columns: 22px minmax(0, 1fr) 90px auto; gap: 8px; align-items: center; text-decoration: none; color: inherit; font-size: .82rem; }
.ev-bar-code { font-weight: 800; color: var(--navy); } .ev-bar-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-bar-track { height: 8px; background: #e5e7eb; border-radius: 999px; overflow: hidden; } .ev-bar-track span { display: block; height: 100%; border-radius: 999px; background: var(--muted); }
.ev-bar-row.ok .ev-bar-track span { background: var(--ok); } .ev-bar-row.mid .ev-bar-track span { background: #e0861f; } .ev-bar-row.low .ev-bar-track span { background: var(--err); }
.ev-bar-val { color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ev-flag { border-left: 3px solid var(--err); padding: 4px 10px; margin-bottom: 8px; background: #fff8f8; border-radius: 0 8px 8px 0; }
.ev-terms { margin: 0; font-size: .82rem; } .ev-terms dt { font-weight: 700; margin-top: 6px; } .ev-terms dd { margin: 0; color: var(--muted); }
.ev-code { font-weight: 800; color: var(--navy); text-decoration: none; border-bottom: 1px dotted var(--navy); } .ev-status { cursor: help; border-bottom: 1px dotted currentColor; }
abbr.ev-k { text-decoration: none; border-bottom: 1px dotted var(--err); color: var(--err); font-weight: 700; cursor: help; }
@media (max-width: 1000px) { .ev-an-grid { grid-template-columns: 1fr; } }
/* rehber */
.rg-nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; } .rg-nav a { text-decoration: none; font-size: .85rem; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--border); color: var(--navy); }
.rg-list { margin: 0; padding-left: 20px; } .rg-list li { margin: 6px 0; line-height: 1.55; }
.rg-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .rg-box { border: 1px solid var(--border); border-radius: 12px; padding: 14px; background: #fafbfd; } .rg-box p { margin: 6px 0 0; font-size: .92rem; line-height: 1.5; }
.rg-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .rg-area { border: 1px solid var(--border); border-radius: 12px; padding: 14px; background: #fff; }
.rg-area-head { display: flex; gap: 10px; align-items: center; margin-bottom: 6px; } .rg-code { width: 34px; height: 34px; border-radius: 10px; background: var(--navy); color: #fff; display: grid; place-items: center; font-weight: 800; flex: none; }
.rg-plain { margin: 4px 0 6px; font-size: .95rem; line-height: 1.5; }
.rg-formula { font-weight: 700; color: var(--navy); background: var(--navy-light); border-radius: 10px; padding: 10px 14px; margin-bottom: 8px; }
.rg-terms { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; } .rg-terms dt { font-weight: 800; color: var(--navy); } .rg-terms dd { margin: 2px 0 0; font-size: .9rem; line-height: 1.5; color: var(--text); }
@media (max-width: 900px) { .rg-grid3, .rg-areas, .rg-terms { grid-template-columns: 1fr; } }
.block-form { min-width: 420px; flex-wrap: wrap; } .block-form select { min-height: 36px; } .block-form input { flex: 1 1 200px; }
@media (max-width: 600px) { .block-form { min-width: 0; width: 90vw; } }

.srow .pf-pill { min-width: 40px; padding: 2px 8px; font-size: .85rem; }
@media (max-width: 900px) { .srow { grid-template-columns: 70px repeat(3, minmax(0, 1fr)) 110px 100px 56px 20px; } }
.filter-bar select { min-height: 34px; } .filter-sep { width: 1px; height: 24px; background: var(--border); display: inline-block; }
.filter-bar input[type=number] { min-height: 34px; }

/* oturumlar: süzgeç kartı — esnek, satır kıran araç çubuğu */
.filter-card { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 18px; background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 14px 18px; margin-bottom: 14px; box-shadow: var(--shadow); }
.fgroup { display: flex; flex-direction: column; gap: 6px; flex: 0 0 auto; min-width: 0; }
.fgroup.fsearch { flex: 1 1 200px; max-width: 300px; }
.flabel { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; line-height: 1; white-space: nowrap; }
.frow { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; } .fdash { color: var(--muted); }
.filter-card input[type=date], .filter-card input[type=number], .filter-card input[type=search], .filter-card select, .filter-card .fcheck { box-sizing: border-box; height: 38px; border: 1px solid var(--border); border-radius: 9px; padding: 0 10px; font: inherit; font-size: .88rem; font-weight: 500; color: var(--text); background: #fff; }
.filter-card input[type=date] { width: 138px; flex: none; } .filter-card input[type=number] { width: 80px; flex: none; } .filter-card select { width: 164px; padding-right: 28px; }
.filter-card input[type=search] { width: 100%; padding-left: 32px; }
.fsearch-box { position: relative; } .fsearch-box svg { position: absolute; left: 10px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.filter-card .fcheck { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; white-space: nowrap; user-select: none; line-height: 1; margin: 0; }
.filter-card .fcheck input { margin: 0; width: 16px; height: 16px; accent-color: var(--navy); }
.filter-card .fcheck:has(input:checked) { border-color: var(--navy); background: var(--navy-light); color: var(--navy); }
.filter-card input:focus, .filter-card select:focus, .filter-card .fcheck:focus-within { outline: 2px solid var(--navy-light); border-color: var(--navy); }
.factions { display: flex; gap: 8px; align-items: center; height: 38px; margin-left: auto; flex: 0 0 auto; }
.factions .btn { height: 38px; padding-top: 0; padding-bottom: 0; display: inline-flex; align-items: center; }
.fsummary { margin: -4px 0 12px; font-size: .85rem; color: var(--muted); }
@media (max-width: 760px) { .fgroup, .fgroup.fsearch { flex: 1 1 100%; max-width: none; } .filter-card input[type=date], .filter-card input[type=number] { width: 100%; flex: 1 1 0; min-width: 0; } .frow { width: 100%; } .filter-card select { width: 100%; } .filter-card .fcheck { flex: 1; justify-content: center; } .factions { width: 100%; justify-content: flex-end; } }

/* karar / puan çipleri */
.vchip { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: .78rem; font-weight: 800; letter-spacing: .01em; color: #fff; }
.vchip.badge-ok { background: #16a34a; } .vchip.badge-warn { background: #dc2626; } .vchip.badge-muted { background: #94a3b8; } .vchip.badge-info { background: var(--navy); }
.schip { display: inline-block; min-width: 46px; text-align: center; padding: 3px 9px; border-radius: 8px; font-weight: 800; font-size: .88rem; font-variant-numeric: tabular-nums; color: #fff; }
.schip.ok { background: #16a34a; } .schip.warn { background: #f59e0b; } .schip.err { background: #dc2626; }
.filter-card .fgroup input, .filter-card .fgroup select, .filter-card .fgroup .fcheck { height: 38px !important; min-height: 38px !important; padding-top: 0 !important; padding-bottom: 0 !important; }

/* değerlendirme analizi */
.an-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .an-two > .card { margin-bottom: 16px; min-width: 0; }
.an-filter { grid-template-columns: max-content max-content max-content; }
.an-hist { display: flex; align-items: flex-end; gap: 10px; height: 150px; padding: 6px 4px 0; border-bottom: 1px solid var(--border); margin-bottom: 8px; }
.an-hist-col { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.an-hist-n { font-size: .78rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.an-hist-bar { width: 100%; max-width: 54px; flex: 1 1 auto; display: flex; align-items: flex-end; }
.an-hist-fill { width: 100%; border-radius: 6px 6px 0 0; min-height: 2px; background: #c7d6ea; } .an-hist-fill.ok { background: #16a34a; } .an-hist-fill.warn { background: #f59e0b; } .an-hist-fill.err { background: #dc2626; }
.an-hist-l { font-size: .7rem; color: var(--muted); margin-top: 4px; }
.an-gates td { padding: 6px 6px; }
.an-stack { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: #e5e7eb; min-width: 200px; } .an-stack span { display: block; height: 100%; } .an-stack .ok { background: #16a34a; } .an-stack .mid { background: #f59e0b; } .an-stack .low { background: #dc2626; }
.ok-text { color: var(--ok); } .warn-text { color: #b4700b; } .err-text { color: var(--err); font-weight: 700; }
.an-callout { margin-top: 12px; padding: 10px 14px; background: #fafbfd; border: 1px solid var(--border); border-radius: 10px; font-size: .9rem; display: grid; gap: 4px; }
.an-themes { display: grid; gap: 6px; }
.an-theme { border: 1px solid var(--border); border-radius: 10px; padding: 8px 12px; background: #fff; } .an-theme.good { border-left: 3px solid var(--ok); }
.an-theme summary { cursor: pointer; display: flex; align-items: center; gap: 10px; list-style: none; } .an-theme summary::-webkit-details-marker { display: none; }
.an-theme-n { min-width: 30px; text-align: center; padding: 2px 8px; border-radius: 999px; background: var(--navy); color: #fff; font-weight: 800; font-size: .8rem; } .an-theme.good .an-theme-n { background: #16a34a; }
.an-theme-t { font-weight: 700; flex: 1; } .an-theme-a { font-size: .8rem; }
.an-theme-body { margin-top: 8px; font-size: .88rem; line-height: 1.5; } .an-theme-body p { margin: 4px 0; }
.an-sort { font-size: .8rem; } .an-sort a { padding: 4px 10px; }
.an-mini { display: flex; gap: 3px; } .an-mini-cell { width: 20px; height: 20px; border-radius: 5px; display: grid; place-items: center; font-size: .66rem; font-weight: 800; color: #fff; background: #94a3b8; }
.an-mini-cell.ok { background: #16a34a; } .an-mini-cell.mid { background: #f59e0b; } .an-mini-cell.low { background: #dc2626; } .an-mini-cell.no { background: #cbd5e1; color: #475569; }
.an-med td { vertical-align: middle; }
@media (max-width: 1000px) { .an-two { grid-template-columns: 1fr; } }
.an-area-themes { display: grid; gap: 6px; } .an-list { margin: 0; padding-left: 18px; } .an-list li { margin: 6px 0; }

.ev-rec-note { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; padding: 8px 10px; border-radius: 10px; background: #3b2a06; border: 1px solid #a16207; color: #fde68a; font-size: .82rem; line-height: 1.4; }
.ev-rec-note b { color: #fff; }
.ev-rec-count { flex: none; background: #f59e0b; color: #1f1300; font-weight: 800; padding: 4px 10px; border-radius: 999px; font-size: .8rem; letter-spacing: .02em; }
.ev-rec-tabs button.active { background: #f59e0b; color: #1f1300; border-color: #f59e0b; }
.feed-where { font-size: .74rem; color: var(--muted); margin-top: 2px; font-variant-numeric: tabular-nums; }

.cap-table td { vertical-align: top; } .cap-cell { display: flex; flex-wrap: wrap; gap: 6px; }
.cap-group { border: 1px solid var(--border); border-radius: 8px; padding: 4px 8px; background: #fafbfd; min-width: 150px; font-size: .8rem; line-height: 1.35; }
.cap-group.start { border-color: #16a34a; background: #f0fdf4; } .cap-group.end { border-color: #f59e0b; background: #fffbeb; }
.filter-card input[type=number] { width: 72px; }
.cap-h { display: inline-block; padding: 0 6px; border-radius: 999px; background: var(--navy); color: #fff; font-size: .72rem; font-weight: 800; margin-left: 4px; }

/* ---- Değerlendirme düzeltme ekranı ---- */
.edt-help { background: var(--navy-light); border: 1px solid #c9d6e8; color: var(--navy); border-radius: 12px; padding: 12px 16px; font-size: .92rem; margin-bottom: 16px; line-height: 1.5; }
.edt-notice { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; background: #fff7e6; border: 1px solid #f1d59b; border-radius: 12px; padding: 10px 16px; margin-bottom: 14px; font-size: .92rem; }
.edt-notice form { margin: 0; }
.edt-top { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
.edt-live { position: sticky; top: 76px; background: #f6f8fb; border: 1px solid var(--border); border-radius: 12px; padding: 14px; }
.edt-live-title { font-weight: 700; color: var(--navy); margin-bottom: 8px; }
.edt-live-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid var(--border); font-size: .9rem; }
.edt-live-row b { font-size: 1rem; text-align: right; }
.edt-live-row .btn { min-height: 0; padding: 4px 10px; }
.edt-gates { list-style: none; margin: 10px 0 6px; padding: 0; font-size: .85rem; }
.edt-gates li { padding: 4px 0 4px 20px; position: relative; }
.edt-gates li::before { content: "✓"; position: absolute; left: 2px; color: var(--ok, #1d7a3f); font-weight: 700; }
.edt-gates li.fail::before { content: "✕"; color: var(--err, #b42318); }
.edt-flags { font-size: .85rem; color: var(--muted); margin-bottom: 6px; }
.edt-flags.k1 { color: var(--err, #b42318); font-weight: 600; }
.edt-areas { display: flex; flex-direction: column; gap: 10px; }
.edt-area { display: grid; grid-template-columns: 240px 130px 170px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.edt-area label { display: block; font-size: .78rem; font-weight: 600; color: var(--muted); margin-bottom: 4px; }
.edt-area-name { display: flex; gap: 10px; align-items: flex-start; padding-top: 2px; }
.edt-code { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; background: var(--navy); color: #fff; font-weight: 700; flex: none; }
.edt-area-score { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px; }
.edt-area-score label { grid-column: 1 / -1; }
.edt-area input[type=number], .edt-area select { min-height: 40px; padding: 6px 10px; font-size: .92rem; }
.edt-area textarea { min-height: 40px; padding: 8px 10px; font-size: .9rem; }
.edt-themes { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.edt-theme { border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; background: #fff; }
.edt-theme .field { margin-bottom: 10px; }
.edt-theme input[type=text], .edt-theme textarea { min-height: 40px; padding: 8px 10px; font-size: .92rem; }
.edt-theme-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
@media (max-width: 900px) {
  .edt-top { grid-template-columns: 1fr; } .edt-live { position: static; }
  .edt-area { grid-template-columns: 1fr 1fr; } .edt-area-name, .edt-area-ev { grid-column: 1 / -1; }
  .edt-theme-grid { grid-template-columns: 1fr; }
}
.ev-actions { margin-left: auto; display: inline-flex; gap: 6px; }

/* ===== Belge Sorgulama ekleri (planlama app.css üzerine; mevcut sınıf adları değişmedi) ===== */
.topbar-navy { background: var(--navy); color: #fff; border-bottom: 0; box-shadow: 0 1px 0 rgba(255,255,255,.08), var(--shadow); }
.topbar-navy .brand, .topbar-navy .brand-text, .topbar-navy .brand-sub { color: #fff; }
.topbar-navy .brand-sub { color: #c9d6e6; }
.topbar-navy .nav a { color: #e8eef6; }
.topbar-navy .nav a:hover { background: rgba(255,255,255,.1); }
.topbar-navy .nav a.active { background: #fff; color: var(--navy); }
.topbar-navy .user-name { color: #e8eef6; }
.brand-img-wide { width: auto; height: 40px; }
.btn-ghost-light { color: #fff; border-color: rgba(255,255,255,.45); } .btn-ghost-light:hover { background: rgba(255,255,255,.12); }
.center { text-align: center; }
.err-code { font-size: 2.6rem; font-weight: 800; color: var(--navy-light); line-height: 1; margin-bottom: 6px; }
.sq-intro { max-width: 640px; margin: 24px auto 0; text-align: center; }
.sq-intro h1 { font-size: 1.7rem; }
.sq-lead { color: var(--muted); font-size: 1.02rem; margin: 6px auto 18px; max-width: 540px; }
.sq-steps { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; text-align: left; max-width: 640px; }
.sq-steps li { display: flex; gap: 10px; align-items: flex-start; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 12px; }
.sq-steps li > span { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: .85rem; }
.sq-steps strong { display: block; font-size: .92rem; }
.sq-steps small { display: block; color: var(--muted); font-size: .8rem; line-height: 1.35; margin-top: 2px; }
.sq-box { margin-top: 20px; }
.sq-box .card { padding: 24px 22px 18px; }
.sq-box .check { margin: 4px 0 10px; align-items: flex-start; font-weight: 500; }
.sq-box .check input { margin-top: 2px; flex: none; }
.sq-kvkk-link { margin: 0 0 16px; }
@media (max-width: 640px) {
  /* Telefonda adımlar tek satırda, kısa: form ilk ekranda görünsün */
  .sq-intro { margin-top: 8px; }
  .sq-lead { margin-bottom: 14px; }
  .sq-steps { gap: 6px; }
  .sq-steps li { flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 8px 6px; }
  .sq-steps li > span { flex-basis: auto; width: 24px; height: 24px; font-size: .78rem; }
  .sq-steps strong { font-size: .8rem; line-height: 1.25; }
  .sq-steps small { display: none; }
  .sq-intro h1 { font-size: 1.45rem; }
  .sq-box { margin-top: 14px; }
}

/* Telefonda üst bant tek satır: alt başlık gizlenir, Çıkış düğmesi alta kaymaz */
@media (max-width: 560px) {
  .topbar-navy .topbar-inner { flex-wrap: nowrap; gap: 10px; min-height: 56px; }
  .topbar-navy .brand { min-width: 0; }
  .topbar-navy .brand-sub { display: none; }
  .topbar-navy .brand-img-wide { height: 32px; }
  .topbar-navy .user-box { flex: none; }
}

/* Yönetim menüsü: 900 px yükseklikteki ekranlarda Çıkış ve kullanıcı adı kaydırmadan görünsün */
@media (max-height: 1000px) {
  .admin-brand { padding: 14px 18px 10px; }
  .admin-brand img { width: 136px; }
  .admin-nav { gap: 8px; padding-top: 8px; }
  .admin-nav a { padding: 7px 10px; }
  .admin-nav-label { padding-top: 4px; }
  .admin-user { padding: 10px 18px 12px; }
}
