/* Selsebil TV Bağış Kayıt — V1.8.3 Studio, tek stil dosyası.
   1. bölüm: sayfa içi bileşenlerin temel kuralları (V1.0–V1.7'den kalan, kullanılmayanlar ayıklandı).
   2. bölüm (“V1.8 Studio arayüzü” başlığından sonra): belirteçler, kabuk ve yeni görünüm; 1. bölümü geçersiz kılar.
   Yazı tipleri assets/fonts içinden gelir; dış sunucuya istek yoktur. */
:root {
  --bg: #F2F5F8; --surface: #FFFFFF; --surface-2: #E9EEF3; --line: #D7DFE7; --line-strong: #B8C4D0;
  --ink: #111821; --ink-2: #435161; --ink-3: #6B7988;
  --accent: #0372AE; --accent-hover: #025C8C; --accent-ink: #FFFFFF; --accent-soft: #E0EDF7;
  --good: #1D7349; --good-soft: #DCEFE4; --warn: #8F560A; --warn-soft: #F5E9D5; --bad: #B42318; --bad-soft: #F9E3E0;
  --bar-paid: #2E9461; --bar-ok: #0372AE; --bar-pledge: #D79A2B;
  --scrim: rgba(12, 20, 30, .45); --shadow: 0 20px 60px rgba(10, 28, 46, .20);
  --logo-light: block; --logo-dark: none; --toast-link: #8FD0FF;
  --f-display: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  --r: 6px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0B1016; --surface: #121921; --surface-2: #19222C; --line: #24303C; --line-strong: #354452;
    --ink: #ECF0F4; --ink-2: #A8B4C1; --ink-3: #7E8B99;
    --accent: #43A1DB; --accent-hover: #62B3E6; --accent-ink: #04121C; --accent-soft: #11283A;
    --good: #5BC994; --good-soft: #11301F; --warn: #E4AA4A; --warn-soft: #33270F; --bad: #F27D71; --bad-soft: #3A1816;
    --bar-paid: #4DBB85; --bar-ok: #43A1DB; --bar-pledge: #D9A043;
    --scrim: rgba(0, 0, 0, .62); --shadow: 0 20px 60px rgba(0, 0, 0, .55);
    --logo-light: none; --logo-dark: block; --toast-link: #025C8C;
    color-scheme: dark;
  }
}

*, *::before, *::after { box-sizing: border-box }
html { background: var(--bg); -webkit-text-size-adjust: 100% }
body { margin: 0; background: var(--bg); color: var(--ink); font: 15px/1.5 var(--f-body); -webkit-font-smoothing: antialiased; padding-bottom: env(safe-area-inset-bottom, 0px) }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 45; background: var(--surface) }
h1, h2, h3, p { margin: 0 }
h1, h2, h3 { text-wrap: balance }
img { max-width: 100% }
a { color: var(--accent) }
button { font: inherit; color: inherit }
fieldset { border: 0; margin: 0; padding: 0; min-width: 0 }
legend { padding: 0 }
[hidden] { display: none !important }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px }
.wrap { max-width: 1120px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)) }
.wrap.narrow { max-width: 720px }
.mono { font-family: var(--f-mono); font-size: .9em; letter-spacing: -.01em }
.num { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 15px; border-radius: var(--r); border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); font: 600 14px/1.1 var(--f-body); cursor: pointer; white-space: nowrap; text-decoration: none }
.btn:hover { background: var(--surface-2) }
.btn:disabled { opacity: .55; cursor: default }
.btn svg { width: 16px; height: 16px; flex: none }
.btn-primary { position: relative; isolation: isolate; border: 0; background: none; color: var(--accent-ink); padding: 0 20px }
.btn-primary::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--accent); border-radius: 5px; transform: skewX(-12deg) }
.btn-primary:hover { background: none }
.btn-primary:hover::before { background: var(--accent-hover) }
.btn-big { min-height: 52px; font-size: 16px; width: 100% }
.btn-danger { color: var(--bad); border-color: var(--bad) }
.btn-danger:hover { background: var(--bad-soft) }
.btn-danger-solid { background: var(--bad); border-color: var(--bad); color: var(--surface) }
.btn-danger-solid:hover { background: var(--bad); filter: brightness(1.08) }
.btn-good-solid { background: var(--good); border-color: var(--good); color: var(--surface) }
.btn-good-solid:hover { background: var(--good); filter: brightness(1.08) }
.btn-ghost { border-color: transparent; background: none }
.btn-sm { min-height: 32px; padding: 0 11px; font-size: 13px }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: var(--r); border: 1px solid transparent; background: none; cursor: pointer; color: var(--ink-2); flex: none }
.icon-btn:hover { background: var(--surface-2); color: var(--ink) }
.icon-btn svg { width: 20px; height: 20px }

/* Page */
main.wrap { padding-block: 22px 64px }
.view-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 20px; margin-bottom: 16px }
.h1 { font: 700 30px/1.08 var(--f-display); letter-spacing: -.01em }
.h2 { font: 700 23px/1.15 var(--f-display) }
.h3 { font: 700 18px/1.2 var(--f-display); margin-top: 6px }
.sub { color: var(--ink-2); margin-top: 6px; font-size: 14px; max-width: 70ch }
.lead { margin: -8px 0 14px }
.actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center }
.stack { display: flex; flex-direction: column; gap: 16px }
.row-between { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px }
.entry-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 18px; align-items: start }
.admin-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 18px; align-items: start }
main.wrap > .panel + .panel, main.wrap > section + section { margin-top: 18px }

.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); min-width: 0 }
.panel-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; padding: 14px 18px 12px; border-bottom: 1px solid var(--line) }
.panel-title { font: 700 18px/1.2 var(--f-display) }
.panel-note { font-size: 13px; color: var(--ink-3) }
.panel-note b { color: var(--ink); font-weight: 600 }
.panel-link { color: var(--accent); font-weight: 600; font-size: 13px; text-decoration: none }
.panel-link:hover { text-decoration: underline }
.panel-body { padding: 18px }

.notice { border-radius: var(--r); padding: 12px 14px; margin-bottom: 14px; font-size: 14px; display: flex; flex-direction: column; gap: 8px; border: 1px solid transparent }
.notice-ok { background: var(--good-soft); color: var(--ink); border-color: var(--good) }
.notice-bad { background: var(--bad-soft); color: var(--ink); border-color: var(--bad) }
.notice-warn { background: var(--warn-soft); color: var(--ink); border-color: var(--warn) }
.secret { display: flex; flex-wrap: wrap; align-items: center; gap: 10px }
.secret code { font: 600 20px/1.2 var(--f-mono); letter-spacing: .04em; background: var(--surface); border: 1px dashed var(--line-strong); padding: 8px 12px; border-radius: var(--r); user-select: all }

/* Tally */
.tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r) var(--r) 0 0; overflow: hidden }
.tiles.two { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: var(--r) }
.tile { background: var(--surface); padding: 14px 16px 15px; display: flex; flex-direction: column; gap: 5px; min-width: 0; border: 0; text-align: left; position: relative; color: var(--ink) }
button.tile { cursor: pointer }
button.tile:hover { background: var(--surface-2) }
.tile[aria-pressed="true"] { background: var(--surface-2) }
.tile[aria-pressed="true"]::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 0; height: 3px; transform: skewX(-24deg); background: var(--ink) }
.tile-label { display: flex; align-items: center; gap: 7px; font: 700 12px/1.2 var(--f-display); letter-spacing: .09em; text-transform: uppercase; color: var(--ink-3) }
.dot { width: 9px; height: 9px; border-radius: 2px; transform: skewX(-14deg); flex: none }
.tile-value { font: 700 26px/1.05 var(--f-display); font-variant-numeric: tabular-nums; overflow-wrap: anywhere }
.tile-sub { font-size: 13px; color: var(--ink-2); font-variant-numeric: tabular-nums }
.tally-bar { border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--r) var(--r); background: var(--surface); padding: 12px 16px 14px; display: flex; flex-direction: column; gap: 8px }
.bar { display: flex; height: 12px; border-radius: 3px; overflow: hidden; background: var(--surface-2) }
.bar span { display: block; height: 100%; transition: width .4s ease }
.bar.mini { height: 6px; margin-top: 4px; max-width: 280px }
.bar-legend { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; font-size: 13px; color: var(--ink-2) }
.bar-legend b { color: var(--ink); font-weight: 600 }

/* Forms */
form.f { display: flex; flex-direction: column; gap: 16px }
.field { display: flex; flex-direction: column; gap: 7px; min-width: 0 }
.lbl { font: 600 13px/1.2 var(--f-body); color: var(--ink-2) }
.lbl .opt { font-weight: 400; color: var(--ink-3) }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px }
.input, select, textarea { min-height: 44px; border: 1px solid var(--line-strong); border-radius: var(--r); background: var(--surface); color: var(--ink); padding: 0 12px; font: 400 16px/1.3 var(--f-body); min-width: 0; width: 100% }
select { padding-right: 8px }
textarea { padding: 10px 12px; min-height: 72px; resize: vertical }
textarea.code { font: 13px/1.5 var(--f-mono); min-height: 260px }
.input.file { padding: 9px 12px }
.input:focus, select:focus, textarea:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: var(--accent) }
.input::placeholder, textarea::placeholder { color: var(--ink-3) }
.input.invalid { border-color: var(--bad) }
.err { font-size: 13px; color: var(--bad); font-weight: 500 }
.hint { font-size: 12.5px; color: var(--ink-3) }
.method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px }
.mchip { position: relative; cursor: pointer; min-width: 0 }
.mchip input { position: absolute; opacity: 0; pointer-events: none }
.mchip span { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 46px; padding: 6px 8px; border: 1px solid var(--line-strong); border-radius: var(--r); font-weight: 500; font-size: 14px; line-height: 1.15; color: var(--ink-2); background: var(--surface) }
.mchip:hover span { background: var(--surface-2) }
.mchip input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--bg); font-weight: 600 }
.mchip input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px }
.method-grid.invalid .mchip span { border-color: var(--bad) }
.amount-wrap { position: relative }
.amount-wrap .input { font: 700 24px/1 var(--f-display); font-variant-numeric: tabular-nums; min-height: 54px; padding-right: 40px }
.amount-wrap.small .input { font: 400 16px/1.3 var(--f-body); min-height: 44px }
.amount-wrap .suffix { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font: 700 20px/1 var(--f-display); color: var(--ink-3); pointer-events: none }
.amount-wrap.small .suffix { font-size: 16px }
.quick { display: flex; flex-wrap: wrap; gap: 6px }
.qchip { min-height: 36px; padding: 0 12px; border-radius: 5px; border: 1px solid var(--line-strong); background: var(--surface); cursor: pointer; font: 700 14px/1 var(--f-display); font-variant-numeric: tabular-nums; color: var(--ink-2) }
.qchip:hover { background: var(--surface-2); color: var(--ink) }
.check { display: flex; gap: 10px; align-items: center; cursor: pointer; font-size: 15px; color: var(--ink); min-height: 32px }
.check input { width: 20px; height: 20px; margin: 0; accent-color: var(--accent); flex: none }
.warnbox { display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; border-radius: var(--r); background: var(--warn-soft); color: var(--ink); font-size: 14px; border: 1px solid var(--warn) }
.warnbox b { color: var(--warn) }
.subgroup { display: flex; flex-direction: column; gap: 12px; padding: 14px; border-radius: var(--r); background: var(--surface-2) }
.pw-wrap { position: relative }
.pw-wrap .input { padding-right: 76px }
.pw-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: var(--accent); font-weight: 600; font-size: 13px; padding: 6px 8px; cursor: pointer; border-radius: 4px }
.copy-row { display: flex; gap: 8px; flex-wrap: wrap }
.copy-row .input { flex: 1 1 260px; font-size: 13px }
.role-list, .seg-cards { display: flex; flex-direction: column; gap: 8px }
.role-opt, .seg-card { display: flex; gap: 10px; align-items: flex-start; padding: 11px 12px; border: 1px solid var(--line-strong); border-radius: var(--r); cursor: pointer; background: var(--surface) }
.role-opt:has(input:checked), .seg-card:has(input:checked) { border-color: var(--accent); background: var(--accent-soft) }
.role-opt input, .seg-card input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--accent); flex: none }
.role-opt span, .seg-card span { display: flex; flex-direction: column; gap: 2px; font-size: 14px }
.role-opt small, .seg-card small { color: var(--ink-2); font-size: 13px }

/* Toolbar */
.toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-block: 16px 12px }
.search { position: relative; flex: 1 1 260px; min-width: 0; display: block }
.search svg { position: absolute; left: 11px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--ink-3); pointer-events: none }
.search .input { padding-left: 36px; width: 100% }
.filters { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 auto; min-width: 0 }
.filters select { flex: 1 1 130px; min-height: 40px; width: auto }
.toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--r); background: var(--surface); cursor: pointer; font-size: 14px; white-space: nowrap; flex: 0 0 auto }
.toggle input { width: 17px; height: 17px; margin: 0; accent-color: var(--accent) }

/* Rows */
.rows { display: flex; flex-direction: column }
.prow { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 4px 14px; align-items: start; padding: 13px 18px; border-top: 1px solid var(--line); cursor: pointer; color: var(--ink) }
.rows > .prow:first-child, .rows > .drow:first-child, .rows > .urow:first-child { border-top: 0 }
.prow:hover, .drow:hover { background: var(--surface-2) }
.prow:focus-visible, .drow:focus-visible { outline-offset: -2px }
.prow.flash { animation: flashrow 1.6s ease-out }
@keyframes flashrow { from { background: var(--accent-soft) } to { background: transparent } }
.no { font-family: var(--f-mono); font-size: 13px; color: var(--ink-3); padding-top: 3px; font-variant-numeric: tabular-nums; white-space: nowrap }
.cell-main { display: flex; flex-direction: column; gap: 2px; min-width: 0 }
.name-line { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; min-width: 0 }
.name { font-weight: 600; overflow-wrap: anywhere }
.meta { font-size: 13px; color: var(--ink-3); overflow-wrap: anywhere }
.meta .sep { margin-inline: 5px; color: var(--line-strong) }
.cell-amt { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: right }
.amt { font: 700 18px/1.15 var(--f-display); font-variant-numeric: tabular-nums; white-space: nowrap }
.is-cancel .amt, .r-amt.is-cancel { text-decoration: line-through; color: var(--ink-3) }
.is-cancel .name { color: var(--ink-2) }
.qa { min-height: 32px; padding: 0 11px; border-radius: 5px; border: 1px solid var(--accent); background: var(--surface); color: var(--accent); font: 600 13px/1 var(--f-body); cursor: pointer; white-space: nowrap }
.qa:hover { background: var(--accent-soft) }
.qa.to-odendi { border-color: var(--good); color: var(--good) }
.qa.to-odendi:hover { background: var(--good-soft) }
.qa:disabled { opacity: .5; cursor: default }
.chip { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 4px; font: 600 12px/1 var(--f-body); background: var(--surface-2); color: var(--ink-2); white-space: nowrap }
.st-vaad { background: var(--warn-soft); color: var(--warn) }
.st-onayli { background: var(--accent-soft); color: var(--accent) }
.st-odendi { background: var(--good-soft); color: var(--good) }
.st-iptal { background: var(--bad-soft); color: var(--bad) }
.list-foot { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 18px; border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-3) }
.drow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 14px; align-items: center; padding: 13px 18px; border-top: 1px solid var(--line); cursor: pointer }
.urow { border-top: 1px solid var(--line) }
.urow summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 14px; align-items: center; padding: 13px 18px; cursor: pointer; list-style: none }
.urow summary::-webkit-details-marker { display: none }
.urow summary:hover { background: var(--surface-2) }
.urow[open] summary { background: var(--surface-2) }
.urow.is-off .name { color: var(--ink-3) }
.urow-body { padding: 14px 18px 18px; display: flex; flex-direction: column; gap: 14px; border-top: 1px dashed var(--line) }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r) }
.tbl { width: 100%; border-collapse: collapse; font-size: 14px }
.tbl th, .tbl td { padding: 9px 12px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap }
.tbl th { font: 700 12px/1.2 var(--f-display); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); background: var(--surface-2) }
.tbl tr:last-child td { border-bottom: 0 }
.tbl th.num, .tbl td.num { text-align: right }
.checks { list-style: none; padding: 0; margin: 14px 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px }
.checks li { display: flex; gap: 10px; align-items: flex-start }

/* States */
.state { padding: 56px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px }
.state p { color: var(--ink-2); max-width: 52ch }
.frame-mark { width: 74px; height: 46px; border: 3px solid var(--accent); border-radius: 9px; transform: skewX(-14deg); position: relative; margin-bottom: 6px }
.frame-mark::after { content: ""; position: absolute; left: 12px; right: 12px; top: 12px; height: 3px; background: var(--accent); box-shadow: 0 10px 0 var(--line-strong) }
.empty-inline { padding: 28px 18px; text-align: center; color: var(--ink-3); font-size: 14px }

/* Login & install */
.auth-page { min-height: 100vh; display: flex }

.auth-card { width: 100%; padding: 24px; display: flex; flex-direction: column; gap: 14px }

/* Sheet & dialog */
.sheet-scrim { position: fixed; inset: 0; z-index: 60; background: var(--scrim); display: flex; justify-content: flex-end }
.sheet { width: min(540px, 100%); height: 100%; background: var(--surface); display: flex; flex-direction: column; box-shadow: var(--shadow); padding-top: env(safe-area-inset-top, 0px); padding-right: env(safe-area-inset-right, 0px); animation: slide .22s cubic-bezier(.2, .8, .2, 1) }
@keyframes slide { from { transform: translateX(40px); opacity: .4 } to { transform: none; opacity: 1 } }
.sheet-head { display: flex; align-items: center; gap: 8px; padding: 12px 14px 12px 20px; border-bottom: 1px solid var(--line) }
.sheet-title { font: 700 20px/1.2 var(--f-display); flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere }
.sheet-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 18px }
.sheet-body > * { flex-shrink: 0 }
.sheet-foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); background: var(--surface) }
.sheet-foot .grow { flex: 1 1 auto }
.dialog-scrim { position: fixed; inset: 0; z-index: 80; background: var(--scrim); display: flex; align-items: center; justify-content: center; padding: 20px max(16px, env(safe-area-inset-right, 0px)) calc(20px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)) }
.dialog { width: min(420px, 100%); background: var(--surface); border-radius: 10px; box-shadow: var(--shadow); padding: 22px; display: flex; flex-direction: column; gap: 14px; animation: pop .16s ease-out }
@keyframes pop { from { transform: scale(.96); opacity: 0 } to { transform: none; opacity: 1 } }
.dialog h2 { font: 700 21px/1.2 var(--f-display) }
.dialog p { color: var(--ink-2); font-size: 15px }
.dialog .summary { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: var(--r); background: var(--surface-2) }
.dialog .summary .amt { font-size: 22px }
.dialog .change { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px }
.dialog .actions { justify-content: flex-end }
.dialog .actions .btn { min-height: 46px; flex: 1 1 140px }
.r-hero { display: flex; flex-direction: column; gap: 6px }
.r-amt { font: 700 38px/1 var(--f-display); font-variant-numeric: tabular-nums }
.r-name { font: 700 21px/1.2 var(--f-display); overflow-wrap: anywhere }
.st-seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line-strong); border-radius: var(--r); overflow: hidden }
.st-seg button { min-height: 46px; border: 0; background: var(--surface); cursor: pointer; font: 600 14px/1 var(--f-body); color: var(--ink-2) }
.st-seg button + button { border-left: 1px solid var(--line-strong) }
.st-seg button:hover:not(:disabled) { background: var(--surface-2) }
.st-seg button[aria-pressed="true"].s-vaad { background: var(--warn-soft); color: var(--warn) }
.st-seg button[aria-pressed="true"].s-onayli { background: var(--accent-soft); color: var(--accent) }
.st-seg button[aria-pressed="true"].s-odendi { background: var(--good-soft); color: var(--good) }
.st-seg button[aria-pressed="true"].s-iptal { background: var(--bad-soft); color: var(--bad) }
.st-seg button:disabled { cursor: default }
dl.info { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px 14px; margin: 0; font-size: 14.5px }
dl.info dt { color: var(--ink-3); font-size: 13px; padding-top: 2px }
dl.info dd { margin: 0; min-width: 0; overflow-wrap: anywhere; display: flex; align-items: flex-start; gap: 6px; flex-wrap: wrap; user-select: text }
dl.info dd.pre { white-space: pre-wrap; display: block }
.copy { border: 0; background: none; color: var(--accent); font-size: 12.5px; font-weight: 600; cursor: pointer; padding: 2px 4px; border-radius: 4px }
.copy:hover { background: var(--accent-soft) }
.sec-title { font: 700 13px/1 var(--f-display); text-transform: uppercase; letter-spacing: .09em; color: var(--ink-3) }
.hist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px }
.hist li { display: flex; flex-direction: column; gap: 3px; padding-left: 12px; border-left: 2px solid var(--line-strong) }
.hist .meta { font-size: 13px }
.box { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden }
.box .prow { padding-inline: 12px; grid-template-columns: 50px minmax(0, 1fr) auto }

.toast { position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 90; background: var(--ink); color: var(--bg); padding: 11px 16px; border-radius: var(--r); font-weight: 500; font-size: 14px; box-shadow: var(--shadow); max-width: min(460px, calc(100% - 32px)); text-align: center }
.toast.bad { background: var(--bad-soft); color: var(--bad); border: 1px solid var(--bad) }
.live { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ink-3) }
.live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--bar-paid) }
.live.off::before { background: var(--bad) }

/* Selection & bulk actions */
.pick { width: 18px; height: 18px; margin: 0 6px 0 0; vertical-align: -3px; accent-color: var(--accent); pointer-events: none }
.prow.is-picked { background: var(--accent-soft) }
.bulkbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--surface); border-top: 1px solid var(--line-strong); box-shadow: 0 -8px 30px rgba(10, 28, 46, .12); padding-bottom: env(safe-area-inset-bottom, 0px) }
.bulkbar-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding-block: 10px }
.bulk-info { font-size: 14px; color: var(--ink-2); font-variant-numeric: tabular-nums }
.bulk-info b { color: var(--ink) }
body.has-bulk main.wrap { padding-bottom: 150px }
.btn[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--bg) }

/* Follow-up & messages */
.meta.contact { color: var(--ink-2) }
.cform { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: var(--r); background: var(--surface-2) }
.result-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px }
.result-chips .mchip span { min-height: 40px; font-size: 13.5px }

.tpl { min-height: 36px; padding: 0 12px; border-radius: var(--r); border: 1px solid var(--line-strong); background: var(--surface); cursor: pointer; font-weight: 600; font-size: 13.5px; color: var(--ink-2) }
.tpl[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--bg) }

.lookup { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; padding: 10px 12px; border-radius: var(--r); background: var(--accent-soft); font-size: 13.5px; color: var(--ink) }
.preview summary { cursor: pointer; font-size: 13px; color: var(--accent); font-weight: 600 }
.preview pre { white-space: pre-wrap; font: 13.5px/1.45 var(--f-body); background: var(--surface-2); padding: 12px; border-radius: var(--r); margin: 8px 0 0 }

/* Reports */
.report-tiles { border-radius: var(--r); margin-bottom: 18px }
.report .panel + .admin-grid, .report .admin-grid { margin-top: 18px }
.admin-grid.even { grid-template-columns: repeat(2, minmax(0, 1fr)) }
.chart-scroll { overflow-x: auto; padding: 10px 12px 4px }
.chart { display: block; max-width: none }
.c-grid { stroke: var(--line) }
.c-base { stroke: var(--line-strong) }
.c-lab { fill: var(--ink-3); font: 500 11px var(--f-body); font-variant-numeric: tabular-nums }
.c-best { fill: var(--ink); font-weight: 700 }
.c-paid { fill: var(--bar-paid) }
.c-ok { fill: var(--bar-ok) }
.c-pledge { fill: var(--bar-pledge) }
.chart-note { padding: 4px 18px 14px; font-size: 13.5px; color: var(--ink-2) }
.legend { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 13px; color: var(--ink-2) }
.legend > span { display: inline-flex; align-items: center; gap: 6px }
.date-range { display: inline-flex; gap: 8px; flex: 1 1 260px }
.date-range .input { min-height: 40px }
.table-wrap.flat { border: 0; border-radius: 0 }
.tbl td .bar.mini { margin-top: 5px }
.report > .hint { margin-top: 14px }

@media (max-width: 860px) {
  .admin-grid.even { grid-template-columns: minmax(0, 1fr) }
}
@media print {
  .no-print, .toast, #sheet-root, .bulkbar { display: none !important }
  body { background: #fff; color: #000 }
  main.wrap { padding: 0 }
  .panel { break-inside: avoid; border-color: #ccc }
  .chart-scroll { overflow: visible }
}

.help-fab { position: fixed; z-index: 50; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 18px 0 14px; border: 0; border-radius: 24px; background: var(--ink); color: var(--bg); font: 600 15px/1 var(--f-body); cursor: pointer; box-shadow: var(--shadow) }
.help-fab:hover { filter: brightness(1.15) }
.help-fab svg { width: 22px; height: 22px }
body.has-bulk .help-fab { bottom: calc(118px + env(safe-area-inset-bottom, 0px)) }
.badge { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--bad); color: #fff; font: 700 12px/1 var(--f-body); font-variant-numeric: tabular-nums }
.badge.inline { margin-top: 2px }

main.wrap { padding-bottom: 96px }
.chat-head { display: flex; flex-wrap: wrap; gap: 6px; align-items: center }
.chat { display: flex; flex-direction: column; gap: 10px }
.chat-empty { padding: 28px 12px; text-align: center; color: var(--ink-2); font-size: 14px; max-width: 46ch; align-self: center }
.day-sep { display: flex; justify-content: center; margin: 6px 0 2px }
.day-sep span { font: 700 11.5px/1 var(--f-display); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); background: var(--surface-2); padding: 5px 10px; border-radius: 10px }
.msg { max-width: 86%; display: flex; flex-direction: column; gap: 4px; padding: 9px 12px 8px; border-radius: 12px; background: var(--surface-2); align-self: flex-start; border-top-left-radius: 4px }
.msg.mine { align-self: flex-end; background: var(--accent-soft); border-top-left-radius: 12px; border-top-right-radius: 4px }
.msg.urgent { box-shadow: inset 3px 0 0 var(--bad) }
.msg.bc { background: var(--warn-soft) }
.msg-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 12px; color: var(--ink-3); font-weight: 600 }
.msg-meta .chip { height: 18px; font-size: 11px; padding: 0 6px }
.msg-body { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 15px; line-height: 1.45; color: var(--ink) }
.msg-ref { align-self: flex-start; border: 1px solid var(--line-strong); background: var(--surface); color: var(--accent); border-radius: 6px; padding: 5px 9px; font: 600 13px/1.2 var(--f-body); cursor: pointer; text-align: left }
.msg-ref:disabled { color: var(--ink-3); cursor: default }
.msg-seen { align-self: flex-end; font-size: 11.5px; color: var(--ink-3) }
.sheet-foot .composer { width: 100%; display: flex; flex-direction: column; gap: 8px }
.composer-row { display: flex; gap: 8px; align-items: flex-end }
.composer-row textarea { min-height: 44px; max-height: 160px; resize: none; flex: 1 1 auto; padding-top: 11px }
.composer-row .btn { min-height: 44px }
.composer-opts { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px }
.check.sm { font-size: 13.5px; min-height: 28px }
.check.sm input { width: 18px; height: 18px }
.ctx { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border-radius: var(--r); background: var(--accent-soft); font-size: 13px; color: var(--ink) }
.topics { display: flex; flex-wrap: wrap; gap: 6px }
.topics .tpl { min-height: 32px; font-size: 13px }
/* V1.6.7: Role filters can be scrolled on small screens; no option is clipped. */
.segtabs { display: inline-flex; max-width: 100%; border: 1px solid var(--line-strong); border-radius: var(--r); overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--accent) var(--surface-2); }
.segtabs button { flex: 0 0 auto; white-space: nowrap; min-height: 38px; padding: 0 14px; border: 0; background: var(--surface); cursor: pointer; font-weight: 600; font-size: 14px; color: var(--ink-2) }
.segtabs button + button { border-left: 1px solid var(--line-strong) }
.segtabs button[aria-pressed="true"] { background: var(--ink); color: var(--bg) }
.drow.thread.unread .name { color: var(--ink) }
.drow.thread.unread { box-shadow: inset 3px 0 0 var(--accent) }
.align-start { align-self: flex-start }
@media (max-width: 560px) {
  .help-fab { min-height: 46px; font-size: 14px }
  .msg { max-width: 92% }
}
@media print { .help-fab { display: none !important } }

/* Offline queue, entry progress, undo toast */
.queue { margin-bottom: 16px; border: 1px solid var(--warn); background: var(--warn-soft); border-radius: var(--r); padding: 12px 14px; display: flex; flex-direction: column; gap: 10px }
.queue-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; font-size: 14px }
.queue-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px }
.queue-list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 8px 10px; background: var(--surface); border-radius: var(--r); font-size: 14px }
.queue-list .chip { white-space: normal; height: auto; min-height: 22px; padding: 3px 8px; align-self: flex-start }
.progress-strip { padding: 12px 18px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 7px; background: var(--surface-2) }
.ps-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; font-size: 13.5px; color: var(--ink-2); font-variant-numeric: tabular-nums }
.ps-row b { color: var(--ink); font: 700 16px/1.1 var(--f-display) }
.ps-name { font: 700 12.5px/1.4 var(--f-display); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3) }
.ps-mine b { font-size: 14px }
.progress-strip .bar { height: 8px }
.toast.has-action { display: flex; align-items: center; gap: 14px; text-align: left; padding-right: 8px }
.toast-btn { border: 0; background: none; color: var(--toast-link); font: 700 14px/1 var(--f-body); padding: 8px 10px; border-radius: 5px; cursor: pointer; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px }
.toast.bad .toast-btn { color: var(--bad) }

/* Admin overview & activity */
.notice-info { background: var(--accent-soft); color: var(--ink); border-color: var(--accent) }
.row-notice { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between }
.row-notice p { flex: 1 1 260px }
a.tile { text-decoration: none; color: var(--ink) }
a.tile:hover { background: var(--surface-2) }
.tile-value.muted { color: var(--ink-3) }
.tile-alert { box-shadow: inset 0 3px 0 var(--bad) }
.tile-sub b { color: var(--bad) }
.y-grid { margin-top: 18px }
.y-system { margin-top: 18px }
.presence { width: 9px; height: 9px; border-radius: 50%; background: var(--line-strong); flex: none }
.presence.on { background: var(--bar-paid); box-shadow: 0 0 0 3px var(--good-soft) }
.dot-online { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--bar-paid); margin-right: 6px; vertical-align: 1px }
.team-row.is-off .name { color: var(--ink-3) }
.amt.small { font-size: 15px }
.act-list { list-style: none; margin: 0; padding: 0 }
.act-list li { display: grid; grid-template-columns: 118px minmax(0, 1fr) auto; gap: 4px 14px; align-items: baseline; padding: 10px 18px; border-top: 1px solid var(--line); font-size: 14px; border-left: 3px solid transparent }
.act-list li:first-child { border-top: 0 }
.act-list.compact li { grid-template-columns: 92px minmax(0, 1fr) auto }
.act-time { color: var(--ink-3); font-size: 12.5px; font-variant-numeric: tabular-nums }
.act-main { min-width: 0; overflow-wrap: anywhere; color: var(--ink-2) }
.act-main b { color: var(--ink) }
.act-link { font-size: 13px; white-space: nowrap }
.act-link a { color: var(--accent); text-decoration: none; font-weight: 600 }
.act-status { border-left-color: var(--bar-ok) }
.act-delete { border-left-color: var(--bad) }
.act-edit { border-left-color: var(--bar-pledge) }
.act-list li.act-status, .act-list li.act-delete, .act-list li.act-edit { border-left-style: solid }
.ufilter { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid var(--line); padding-block: 12px }
.ufilter .search { flex: 1 1 200px }
dl.info.sys { grid-template-columns: 130px minmax(0, 1fr) }

@media (max-width: 560px) {
  .act-list li, .act-list.compact li { grid-template-columns: minmax(0, 1fr) auto; padding-inline: 14px }
  .act-time { grid-column: 1 / -1 }
  .quick-actions .btn { flex: 1 1 45% }
}

@media (max-width: 860px) {
  .entry-grid, .admin-grid { grid-template-columns: minmax(0, 1fr) }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .tile-value { font-size: 23px }
}
@media (max-width: 560px) {
  
  
  
  
  
  .h1 { font-size: 26px }
  .method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .prow { padding-inline: 14px; grid-template-columns: 48px minmax(0, 1fr) auto }
  .drow, .urow summary { padding-inline: 14px }
  .panel-head { padding-inline: 14px }
  .panel-body { padding: 14px }
  .field-row { grid-template-columns: minmax(0, 1fr) }
  .entry-grid .field-row { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  dl.info { grid-template-columns: minmax(0, 1fr); gap: 2px 0 }
  dl.info dd { margin-bottom: 10px }
  .sheet { padding-left: env(safe-area-inset-left, 0px) }
  .sheet-body { padding: 16px }
  .sheet-foot { padding-inline: 16px }
  .view-head .actions { width: 100% }
  .view-head .actions .btn { flex: 1 1 auto }
  .st-seg button { font-size: 13px }
  .auth-card { padding: 18px }
}
@media (prefers-reduced-motion: reduce) {
  .sheet, .dialog { animation: none }
  .prow.flash { animation: none }
  .bar span { transition: none }
}

/* Session ended notice: stays until the person signs in again */
.session-bar {position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:90;display:flex;gap:12px;align-items:center;justify-content:space-between;
  max-width:720px;margin:0 auto;padding:12px 14px;border-radius:14px;background:var(--bad-soft);color:var(--bad);border:1px solid var(--bad);box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:14px}
.session-bar .btn {flex-shrink:0}
.camp-pick {display:grid;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2,transparent)}
.camp-pick select.invalid {border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}
.notice.flat {margin:0;border-radius:0;border-left:0;border-right:0}
.chip-camp {background:transparent;border:1px dashed var(--line-strong,var(--line));color:var(--ink-2,inherit)}
.team-pick {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}
.team-pick small.muted, .muted {color:var(--ink-3)}
.warn-text {color:var(--warn);font-weight:600}
.ufilter select[data-ucamp] {max-width:220px}
#y-tiles .tiles {display:flex;flex-wrap:wrap}
#y-tiles .tile {flex:1 1 160px;min-width:0}

/* Login */
.login {gap:22px}

.login-head {display:flex;flex-direction:column;gap:4px}
.login-head .h2 {margin:0}
.login-head .sub {margin:0;color:var(--ink-2)}

/* Typography: one family, clear weights, tighter headings, calm small caps */
body {font-feature-settings:"kern","calt";text-rendering:optimizeLegibility}
.h1, .h2, .h3, .panel-title, .sheet-title, .dialog h2, .r-name {letter-spacing:-.015em;font-weight:700}
.h1 {font-size:28px;line-height:1.15}

.btn {font-weight:600;letter-spacing:-.003em}
.amt, .tile-value, .r-amt, .amount-wrap .input, .ps-row b, .qchip, .num, .mono, .no {font-variant-numeric:tabular-nums;font-feature-settings:"tnum","kern"}
.tile-value {letter-spacing:-.02em;font-size:25px}
.r-amt {letter-spacing:-.025em}
.tile-label, .tbl th, .sec-title, .ps-name, .day-sep span {font-weight:600;letter-spacing:.07em}
.tbl th {font-size:11.5px}
.lbl {font-weight:600;letter-spacing:0}
.sub, .hint {line-height:1.5}
.hint {font-size:13px;color:var(--ink-3)}
.chip {font-weight:600;letter-spacing:0}
.code-input {font:600 26px/1 var(--f-body);letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}
.secret-key {font:600 17px/1.5 var(--f-mono);letter-spacing:.12em;word-break:break-all;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--r);padding:10px 12px;user-select:all}
.steps {margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--ink-2);font-size:14px}
.live-tiles .tile-value small {font:500 13px/1 var(--f-body);color:var(--ink-3);letter-spacing:0}
.live-tiles {display:flex;flex-wrap:wrap}.live-tiles .tile {flex:1 1 200px;min-width:0}

/* Printed end-of-broadcast report */
.print-only {display:none}
@media print {
  .print-only {display:block}
  * {-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{size:A4;margin:14mm}
  .report-head {display:flex!important;align-items:center;gap:18px;border-bottom:2px solid #0372AE;padding-bottom:10px;margin-bottom:14px}
  .report-head img {height:34px;width:auto}
  .rh-text {display:flex;flex-direction:column;gap:2px;font-size:12px;color:#333}
  .rh-text b {font-size:20px;color:#000}
  .report-sign {display:grid!important;grid-template-columns:1fr 1fr;gap:48px;margin-top:38px;font-size:12px;break-inside:avoid}
  .report-sign div span {display:block;border-bottom:1px solid #000;height:36px;margin-bottom:5px}
  .report-sign p {grid-column:1/-1;color:#555;font-size:11px}
  .panel {box-shadow:none}
  .tiles {break-inside:avoid}
}
@media print {.report .view-head {display:none!important}}

/* Follow-up page */
.trow {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:13px 18px;border-top:1px solid var(--line);align-items:center}
.rows>.trow:first-child {border-top:0}
.t-actions {display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.trow .cell-amt {display:flex;flex-direction:column;align-items:flex-end;gap:8px}
@media(max-width:560px) {.trow {grid-template-columns:1fr}.trow .cell-amt {align-items:stretch}.t-actions {justify-content:flex-start}.t-actions .btn {flex:1}}
/* Fast entry mode */
body.fast .mchip span {min-height:64px;font-size:17px}
body.fast .qchip {min-height:52px;padding:0 18px;font-size:17px}
body.fast .input, body.fast select {min-height:56px;font-size:18px}
body.fast .amount-wrap .input {min-height:68px;font-size:30px}
body.fast #k-save {position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));min-height:60px;font-size:19px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
body.fast .entry-grid>.panel:nth-child(2) {display:none}
.fast-toggle[aria-pressed="true"] {background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.lang-links {display:flex;gap:14px;justify-content:center;margin-bottom:8px}.lang-links a {color:var(--ink-3);text-decoration:none;font-weight:500}.lang-links a[aria-current] {color:var(--accent);font-weight:700}

/* error log */
.err-list { list-style: none; margin: 0; padding: 0 }
.err-list li { border-top: 1px solid var(--line); border-left: 3px solid transparent }
.err-list li:first-child { border-top: 0 }
.err-list li.err-hata { border-left-color: var(--bad) }
.err-list li.err-uyari { border-left-color: var(--warn) }
.err-list li.err-st-cozuldu { opacity: .55 }
.err-list summary { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 12px; align-items: baseline; padding: 11px 18px; cursor: pointer; list-style: none; font-size: 14px }
.err-list summary::-webkit-details-marker { display: none }
.err-msg { font-weight: 600; overflow-wrap: anywhere }
.err-meta { grid-column: 2; font-size: 13px; color: var(--ink-3) }
.err-chip-hata { background: var(--bad-soft); color: var(--bad) }
.err-chip-uyari { background: var(--warn-soft); color: var(--warn) }
.err-body { padding: 4px 18px 16px; display: grid; gap: 12px }
.err-detail { margin: 0; padding: 10px 12px; background: var(--surface-2); border-radius: 8px; font: 12.5px/1.5 ui-monospace, monospace; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 240px; overflow: auto }
.err-form { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center }
@media (max-width: 560px) { .err-form { grid-template-columns: 1fr } }

/* V1.0 okunabilirlik ve dokunmatik düzen iyileştirmesi (2026-11-11)
   Metinlerin kontrastı artırıldı; büyük başlıklar ve istatistik alanları dengelendi. */
:root { --ink-3: #526171; }
@media (prefers-color-scheme: dark) { :root { --ink-3: #A2AFBC; } }
body { font-size: 15.5px; line-height: 1.53; }
.h1 { font-size: clamp(23px, 2.5vw, 27px); line-height: 1.2; }
.h2 { font-size: 21px; line-height: 1.23; }
.h3 { font-size: 17.5px; }
.panel-title { font-size: 17px; line-height: 1.3; }
.sheet-title { font-size: 19px; line-height: 1.3; }
.sub { font-size: 14px; line-height: 1.5; }
.meta, .hint, .tile-sub, .panel-note { font-size: 13.5px; line-height: 1.45; }
.lbl { font-size: 13.5px; color: var(--ink-2); }
.tile-label { font-size: 12.5px; letter-spacing: .04em; }
.tile-value { font-size: clamp(21px, 2.1vw, 24px); line-height: 1.15; letter-spacing: -.012em; }
.amt { font-size: 17.5px; }
.r-amt { font-size: clamp(27px, 4vw, 33px); }
.chip { font-size: 12.5px; min-height: 23px; height: auto; padding: 4px 8px; line-height: 1.15; }
.btn { min-height: 42px; padding-inline: 14px; font-size: 14px; line-height: 1.3; }
.btn-sm { min-height: 36px; padding-inline: 11px; font-size: 13px; }
.btn-big { min-height: 50px; font-size: 15px; }
.qa { min-height: 35px; font-size: 13px; }

.panel-head { padding-block: 12px 10px; }
.panel-body { padding: 16px; }
.tile { padding: 12px 14px 13px; gap: 5px; }
.mchip span { font-size: 13.5px; line-height: 1.25; min-height: 44px; }
.prow, .drow { line-height: 1.46; }
.tbl { font-size: 13.5px; }
.tbl th { font-size: 12px; letter-spacing: .02em; }
.tbl td, .tbl th { padding-block: 10px; }
.notice, .warnbox { line-height: 1.48; }
@media (max-width: 560px) {
  body { font-size: 15px; }
  .h1 { font-size: 23px; }
  .h2 { font-size: 20px; }
  
  .tile-value { font-size: 21px; }
  .panel-body { padding: 14px; }
  .sheet-body { gap: 15px; }
  .sheet-foot .btn, .t-actions .btn { min-height: 42px; }
  .btn-sm { min-height: 40px; }
  .meta, .hint { font-size: 13px; }
  .name { font-size: 15px; }
}

/* V1.4 Professional+ — operational finance / readability */
.v14-balances {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 20px}
.v14-balances>div {border:1px solid var(--line,#e2e8ef);background:var(--panel-soft,#f4f7f9);border-radius:12px;padding:14px;min-width:0}
.v14-balances small {display:block;font-size:.82rem;letter-spacing:.01em;opacity:.8}
.v14-balances strong {display:block;font-size:clamp(1.1rem,2.5vw,1.6rem);line-height:1.4;overflow-wrap:anywhere}
.v14-good {color:#16754b!important;font-weight:700}.v14-follow {color:#7048a6;font-weight:600}
.v14-form {margin-top:14px}.v14-form .h3 {margin:10px 0}.v14-mini-head {display:flex;gap:8px;margin-bottom:8px}
.v14-reverse {align-self:flex-start;margin:5px 0}.v14-reverse summary {cursor:pointer;list-style:none}
.v14-reverse[open] {max-width:320px}.v14-void-form {display:grid;gap:8px;margin-top:12px}
.v14-match {border:1px solid var(--line,#d8e0e8);padding:16px;border-radius:12px;display:grid;gap:8px;margin-top:14px}
.v14-inline {display:flex;gap:10px;align-items:end;flex-wrap:wrap}.v14-inline .input {max-width:180px}
.v14-ledger {display:grid;gap:8px;font-size:.91rem}.v14-ledger>div {padding:8px 10px;background:rgba(125,137,151,.07);border-radius:8px}
.v14-payment {align-items:start}.v14-payment .cell-main {gap:4px;display:grid}
.v14-payment code {font-size:.83rem;overflow-wrap:anywhere}.v14-void-form textarea {min-height:70px}
button, .btn, select, input {font-weight:550}.h1 {font-size:clamp(1.35rem,2.6vw,1.85rem)!important;letter-spacing:-.02em}
@media(max-width:620px) {.v14-balances {grid-template-columns:1fr;gap:7px}.v14-balances>div {padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.v14-balances strong {font-size:1.15rem}.v14-inline .input {width:110px}.v14-payment {flex-wrap:wrap}.v14-payment>.cell-amt {width:100%}}

/* Administrator-only internal chat cleanup actions (V1.4). */
.msg-delete {display:inline-flex;align-items:center;background:transparent;border:0;color:#8c2530;font:inherit;font-size:12px;font-weight:650;padding:5px 7px;margin:3px 0 0 -7px;border-radius:7px;cursor:pointer}
.msg-delete:hover, .msg-delete:focus-visible {background:#fff1f2;color:#9e1328;outline:2px solid transparent}
.btn-chat-delete {color:#9b2331;border-color:#e6b1b8}
.btn-chat-delete:hover, .btn-chat-delete:focus-visible {background:#fff1f2;border-color:#d67c86}

.v14-audit>summary {cursor:pointer;padding:17px 20px;font-weight:700;outline-offset:3px}
.v14-audit[open]>summary {border-bottom:1px solid #e1e5eb}
.v14-audit .drow {padding:12px 14px}

.admin-side-nav {display:flex;flex-direction:column;gap:3px}
.admin-side-nav a {display:flex;align-items:center;gap:10px;padding:10px 11px;min-height:42px;border-radius:7px;text-decoration:none;font-size:14px;line-height:1.35;font-weight:650;color:var(--ink-2);background:transparent;border:1px solid transparent;transition:background .16s,border-color .16s,color .16s}
.admin-side-nav a:hover {background:var(--surface-2);color:var(--ink)}
.admin-side-nav a[aria-current="page"] {color:var(--accent);background:var(--accent-soft);border-color:var(--line);font-weight:750}

.admin-side-nav a:focus-visible {outline:2px solid var(--accent);outline-offset:2px}
.avatar {position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;flex:none;width:38px;height:38px;background:var(--accent-soft);border:1px solid var(--line);color:var(--accent)}
.avatar img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.avatar-fallback {display:flex;align-items:center;justify-content:center}
.avatar-fallback svg {width:20px;height:20px}

.list-avatar {width:42px;height:42px;grid-column:1}
.urow summary:has(.list-avatar) {grid-template-columns:42px minmax(0,1fr) auto;gap:10px 12px}
.urow summary > .cell-main {min-width:0}
.profile-avatar {width:90px;height:90px}
.profile-avatar svg {width:43px;height:43px}
.profile-overview {display:flex;align-items:center;gap:18px}
.profile-overview h3 {font-size:20px;margin:0}
.profile-overview .sub {margin:3px 0 0}
.profile-divider {width:100%;margin:0;border:0;border-top:1px solid var(--line)}
/* Neutral control surfaces prevent light-on-light and dark-on-dark states. */
.btn, .panel-link {transition:background-color .15s,color .15s,border-color .15s}
@media(max-width:980px) {.admin-side-nav a {font-size:13.5px;padding:9px 8px}}
@media(max-width:720px) {
 
 
 
 
 
 .admin-side-nav {padding-top:12px}
 
 .urow summary:has(.list-avatar) {grid-template-columns:36px minmax(0,1fr);gap:8px}
 .urow summary:has(.list-avatar)> .chip {grid-column:2;justify-self:start}
 .list-avatar {width:36px;height:36px}
}

/* V1.4.2 -- unified left navigation, theme control and contrast */
html[data-theme="light"] {
  --bg: #F2F5F8; --surface: #FFFFFF; --surface-2: #E9EEF3; --line: #D7DFE7; --line-strong: #B8C4D0;
  --ink: #111821; --ink-2: #435161; --ink-3: #6B7988;
  --accent: #0372AE; --accent-hover: #025C8C; --accent-ink: #FFFFFF; --accent-soft: #E0EDF7;
  --good: #1D7349; --good-soft: #DCEFE4; --warn: #8F560A; --warn-soft: #F5E9D5; --bad: #B42318; --bad-soft: #F9E3E0;
  --bar-paid: #2E9461; --bar-ok: #0372AE; --bar-pledge: #D79A2B;
  --scrim: rgba(12, 20, 30, .45); --shadow: 0 20px 60px rgba(10, 28, 46, .20);
  --logo-light: block; --logo-dark: none; --toast-link: #8FD0FF;
  --f-display: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  --r: 6px;
  color-scheme: light;
}
html[data-theme="dark"] {
    --bg: #0B1016; --surface: #121921; --surface-2: #19222C; --line: #24303C; --line-strong: #354452;
    --ink: #ECF0F4; --ink-2: #A8B4C1; --ink-3: #7E8B99;
    --accent: #43A1DB; --accent-hover: #62B3E6; --accent-ink: #04121C; --accent-soft: #11283A;
    --good: #5BC994; --good-soft: #11301F; --warn: #E4AA4A; --warn-soft: #33270F; --bad: #F27D71; --bad-soft: #3A1816;
    --bar-paid: #4DBB85; --bar-ok: #43A1DB; --bar-pledge: #D9A043;
    --scrim: rgba(0, 0, 0, .62); --shadow: 0 20px 60px rgba(0, 0, 0, .55);
    --logo-light: none; --logo-dark: block; --toast-link: #025C8C;
    color-scheme: dark;
  }

.admin-side-nav {padding-top:0}
.admin-side-nav a[aria-current="page"] {border-color:var(--line-strong);background:var(--accent-soft);color:var(--accent)}

.admin-side-nav .count {margin-left:auto;min-width:21px;text-align:center;border-radius:5px;padding:2px 5px;color:var(--ink-2);background:var(--surface-2);font-size:12px}
.admin-side-nav a:hover {color:var(--ink);background:var(--surface-2)}

.theme-glyph {font-size:19px;line-height:1}

.v14-balances>div {background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
.v14-balances>div .lbl, .v14-balances>div .sub, .v14-balances>div small {color:var(--ink-2)!important}
.v14-balances>div strong {color:var(--ink)!important}
.v14-balances>div:nth-child(2) strong {color:var(--good)!important}
.visually-hidden {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.custom-file-row {display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.file-picker {background:var(--accent-soft);color:var(--accent);border-color:var(--accent);cursor:pointer;min-height:44px}
.file-picker:hover {color:var(--ink);background:var(--surface-2)}
#avatar-file:focus-visible+.file-picker {outline:2px solid var(--accent);outline-offset:2px}
.file-name {font-size:13px;color:var(--ink-2);overflow-wrap:anywhere}

.chat-round-avatar {width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line-strong);background:var(--accent-soft);color:var(--accent);flex:none;font-size:12px;font-weight:800;overflow:hidden;position:relative}
.chat-round-avatar img {width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.chat-header-person {display:inline-flex;align-items:center;gap:8px;margin-right:8px;font-weight:700;color:var(--ink)}
.chat-header-person .chat-round-avatar {width:40px;height:40px}
.msg-meta {display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.msg-meta .chat-round-avatar {width:26px;height:26px;font-size:10px}
.drow.thread {display:flex;align-items:center;gap:10px}
.drow.thread .chat-round-avatar {width:42px;height:42px}
.drow.thread .cell-main {flex:1;min-width:0}

@media(max-width:980px) {
 
 
 
 .theme-label {display:none}
 
 
 
 
 
 
 
 
 
 
 
}

/* Accessibility, legibility and custom confirmations */
.dialog textarea.input {padding:11px 13px;min-height:92px;margin:10px 0 7px;width:100%;font-size:15px;line-height:1.5}
.dialog .lbl {display:block;line-height:1.55;font-size:14px;color:var(--ink)}
.dialog .actions {justify-content:flex-end;margin-top:14px}
.admin-side-nav a {font-size:14px;line-height:1.45}

:focus-visible {outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:980px) {.dialog {max-width:min(94vw,520px)}.dialog .actions .btn {min-height:44px}}

.mchip.meth-telefon_vaad {--method:#a66a16}
.mchip.meth-whatsapp_vaad {--method:#19845e}
.mchip.meth-nakit {--method:#0f8c81}
.mchip.meth-paypal {--method:#2478c6}
.mchip.meth-banka {--method:#7960bb}
.mchip.meth-youtube_vaad {--method:#c44655}
.mchip.meth-diger {--method:#677488}
.mchip[class*="meth-"] {border-left:4px solid var(--method)!important}
.mchip[class*="meth-"] input:checked+span {color:var(--ink)!important;font-weight:800}
.method-pill {display:inline-flex;gap:5px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--method, var(--accent));padding:2px 7px;border-radius:5px;background:var(--surface-2);color:var(--ink);font-size:12px;font-weight:700}
.method-pill.meth-telefon_vaad {--method:#a66a16}.method-pill.meth-whatsapp_vaad {--method:#19845e}.method-pill.meth-nakit {--method:#0f8c81}.method-pill.meth-paypal {--method:#2478c6}.method-pill.meth-banka {--method:#7960bb}.method-pill.meth-youtube_vaad {--method:#c44655}.method-pill.meth-diger {--method:#677488}

.new-record-toast:not([hidden]) {position:fixed;z-index:96;bottom:22px;right:20px;max-width:min(390px,calc(100vw - 34px));background:var(--surface);color:var(--ink);border:1px solid var(--accent);border-left:5px solid var(--accent);box-shadow:var(--shadow);border-radius:10px;padding:14px 17px;line-height:1.5;font-weight:650}
.new-record-toast a {display:inline-block;color:var(--accent);font-weight:800;margin-left:8px}
.gold-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
.gold-stat {padding:14px;border:1px solid var(--line);background:var(--surface);border-radius:10px}
.gold-stat strong {display:block;color:var(--ink);font-size:22px;margin-top:4px}
.gold-actions {display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gold-table {width:100%;border-collapse:collapse;font-size:13px}
.gold-table td, .gold-table th {padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink)}
.gold-table th {color:var(--ink-2);font-size:12px}
.gold-scroll {overflow:auto}
.gold-table .actions {min-width:145px}
@media(max-width:980px) {.gold-stats {grid-template-columns:1fr}}

/* V1.4 — Admin-only cross-broadcast record locator. Theme tokens match both modes. */
.record-locator .locator-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 }
.locator-stat { border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:14px 16px;min-width:0 }
.locator-stat span, .locator-stat small { display:block;color:var(--ink-3);font-size:12px }
.locator-stat strong { display:block;font-size:28px;line-height:1.3;font-weight:750;color:var(--ink);font-variant-numeric:tabular-nums }
.record-locator .locator-campaigns { margin-bottom:18px }
.locator-campaign-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px }
.locator-campaign { display:flex;flex-direction:column;gap:4px;min-width:0;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);text-decoration:none;color:var(--ink) }
.locator-campaign strong { overflow-wrap:anywhere;font-size:14px }
.locator-campaign span {font-size:13px;color:var(--ink-2)}
.locator-campaign small {font-size:11px;color:var(--ink-3)}
.locator-campaign:hover, .locator-campaign:focus-visible { border-color:var(--primary);outline-offset:2px }
.locator-filter { display:grid;grid-template-columns:1.5fr repeat(3,minmax(150px,1fr));gap:10px;padding:16px;align-items:end }
.locator-filter .field {min-width:0;margin:0}
.locator-filter .input {width:100%}
.locator-actions {display:flex;align-items:center;gap:8px;grid-column:1/-1}
.locator-note {margin:0 16px 16px}
.locator-table td {vertical-align:middle}
.locator-table td small {display:block;color:var(--ink-3);margin-top:4px;font-size:11px}
.locator-table td:nth-child(3), .locator-table td:nth-child(4) {white-space:normal;min-width:135px;max-width:240px}
.locator-table .locator-single {display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:190px}
.locator-table .locator-single input {flex:1 1 140px;width:165px;max-width:220px;min-height:35px;font-size:12px}
.locator-is-archived {opacity:.75}
.locator-bulk {border-top:1px solid var(--line);padding:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.locator-bulk>span {font-size:13px;color:var(--ink-2);min-width:105px}
.locator-bulk .input {flex:1 1 220px;min-width:170px}
.locator-pagination {display:flex;align-items:center;gap:10px;padding:10px 16px 18px;color:var(--ink-2);font-size:13px}
.locator-pagination span {margin-right:auto}
@media(max-width:1100px) {.locator-filter {grid-template-columns:repeat(2,minmax(0,1fr))}.locator-campaign-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px) {.record-locator .locator-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}.locator-campaign-grid, .locator-filter {grid-template-columns:1fr}.locator-actions {flex-wrap:wrap}.locator-table td {font-size:12px}}

/* Publication-scoped branch manager portal */
.branch-campaign-grid, .branch-metric-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;padding:16px}
.branch-campaign-card {border:1px solid var(--line,rgba(128,128,128,.25));border-left:5px solid var(--branch-color,#1470ae);border-radius:14px;padding:17px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;background:var(--surface);color:var(--ink);text-align:left}
.branch-campaign-card.is-current {outline:2px solid var(--branch-color,#1470ae);outline-offset:-1px}
.branch-campaign-head {display:flex;align-items:center;gap:9px;font-size:15px;line-height:1.35}
.branch-dot {display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--branch-color);flex:none}
.branch-campaign-meta {font-size:12px;opacity:.8}
.branch-selected {margin:18px 0 12px;border:1px solid var(--line,rgba(128,128,128,.25));border-left:5px solid var(--branch-color,#1470ae);border-radius:14px;padding:20px 22px}
.branch-selected .h2 {margin:5px 0 8px}
.branch-selected p {margin:0;opacity:.85}
.branch-selected-tag {font-size:11px;font-weight:800;letter-spacing:.075em}
.branch-metric-grid {padding:4px 0 18px}
.branch-metric {padding:18px;display:flex;flex-direction:column;gap:7px}
.branch-metric>span {font-size:13px;font-weight:600}
.branch-metric>strong {font-size:clamp(22px,3vw,30px);line-height:1.15;font-variant-numeric:tabular-nums}
.branch-metric>small {font-size:12px;opacity:.75}
.branch-actions {display:flex;gap:10px;flex-wrap:wrap;padding:16px}
.branch-closed-note {padding:0 16px 16px}
@media(max-width:620px) {.branch-campaign-grid, .branch-metric-grid {grid-template-columns:1fr 1fr;padding:10px;gap:9px}.branch-metric-grid {padding:0 0 15px}.branch-metric {padding:12px}.branch-metric>strong {font-size:20px}.branch-actions {flex-direction:column}.branch-actions .btn {justify-content:center}}
@media(max-width:390px) {.branch-metric-grid {grid-template-columns:1fr}}

.return-workspace {display:inline-flex;min-width:0;flex:none}
.return-workspace .btn {min-height:39px;white-space:nowrap}
.panel, .sheet-body, .branch-portal {min-width:0}
.table-wrap, .gold-scroll, .chart-scroll {max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.tbl {min-width:max-content}
.dialog-scrim {overflow-y:auto;-webkit-overflow-scrolling:touch}
.dialog {max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}
.sheet {height:100dvh;max-height:100dvh}
.sheet-body {overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}

@media (max-width:1090px) {
  .return-workspace .btn {padding-inline:9px;font-size:12px}
  
}
@media (max-width:980px) {
  
  
  
  
  
  
  
  
  .return-workspace {display:none}
  
  
  
  
  .h1 {font-size:clamp(21px,4vw,26px)}
  .panel-head {align-items:center}
  .entry-grid, .admin-grid {grid-template-columns:minmax(0,1fr)}
  
}
@media (max-width:540px) {
  
  
  
  
  
  
  
  .method-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .field-row, .entry-grid .field-row {grid-template-columns:minmax(0,1fr)}
  .st-seg {grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-seg button+button {border-left:0}
  .st-seg button:nth-child(even) {border-left:1px solid var(--line-strong)}
  .st-seg button:nth-child(n+3) {border-top:1px solid var(--line-strong)}
  .dialog-scrim {align-items:flex-start;padding:calc(12px + env(safe-area-inset-top,0px)) max(10px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}
  .dialog {max-height:calc(100dvh - 25px);width:100%;padding:18px}
  .sheet-head {padding:12px 12px}
  .sheet-body {padding:14px}
  .sheet-foot {padding-inline:12px}
  .sheet-foot .btn {min-height:44px}
  .urow-body, .branch-actions, .actions {min-width:0}
  .urow-body .actions .btn, .branch-actions .btn {max-width:100%;white-space:normal;text-align:center}
  .toolbar, .toolbar .filters {max-width:100%;min-width:0}
  .view-head .actions .btn {min-height:44px;white-space:normal;text-align:center}
  .gold-table {min-width:580px}
  .profile-overview {gap:10px;flex-wrap:wrap}
  .custom-file-row .file-name {max-width:100%}
}
@media (max-width:360px) {
  
  
  
  
  
  .tile-value {font-size:20px}
  .panel-head {padding-inline:12px}
  .panel-body {padding:12px}
}
@media (orientation:landscape) and (max-height:540px) {
  .sheet-head {padding-block:8px}
  .sheet-foot {padding-block:8px}
  
}

/* Narrow landscape overflow prevention and historic workspace switch */
html, body {overflow-x:clip}

/* V1.5.3 guarded deletion panel — responsive for mobile/iPad */
.danger-zone {border:1px solid var(--bad);border-radius:12px;max-width:100%;overflow:hidden}
.danger-zone>summary {display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:11px 14px;color:var(--bad);font-weight:700;font-size:13px;list-style:none;background:var(--surface-2)}
.danger-zone>summary::-webkit-details-marker {display:none}
.danger-zone>summary:hover, .danger-zone[open]>summary {background:var(--bad-soft)}
.danger-zone .f {padding:14px;gap:10px;min-width:0}
.danger-zone .input {width:100%;min-width:0;font-size:16px}
.danger-zone .lbl {color:var(--ink);font-size:13px}
.danger-zone .btn-danger {min-height:44px;align-self:flex-start;white-space:normal}
@media(max-width:780px) {.danger-zone .btn-danger {width:100%}.danger-zone>summary {min-height:44px}}

/* V1.6 Professional+ -- adaptive tools / business dashboard */
.v16-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
.v16-metrics > div, .v16-metrics > a { display:flex; flex-direction:column; gap:6px; min-width:0; padding:16px; background:var(--surface); border:1px solid var(--line); border-radius:9px; color:var(--ink); text-decoration:none; }
.v16-metrics > a:hover { border-color:var(--accent); background:var(--accent-soft); }
.v16-metrics span { font-size:12px; color:var(--ink-2); font-weight:700; }
.v16-metrics strong { font-size:clamp(20px,2.5vw,28px); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; line-height:1.15; }
.v16-metrics strong.v16-small-value { font-size:15px; }
.v16-metrics small { color:var(--ink-2); font-size:12px; }
.v16-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }
.v16-filter { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.v16-followup { padding:16px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:12px 16px; min-width:0; }
.v16-followup:first-of-type { border-top:0; }
.v16-followup > div:first-child { flex:1 1 180px; min-width:0; }
.v16-followup strong { overflow-wrap:anywhere; }
.v16-followup p { margin-top:5px; }
.v16-followup-form { display:grid; grid-template-columns:minmax(135px,1fr) minmax(135px,1fr) minmax(150px,1.3fr) auto; gap:8px; align-items:end; width:min(100%,710px); }
.v16-followup-form label { min-width:0; font-size:12px; font-weight:600; }
.v16-followup-form .input { width:100%; margin-top:4px; min-width:0; }
.v16-followup-form button { align-self:end; }
.v16-line { display:flex; flex-wrap:wrap; gap:7px 16px; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:13px; overflow-wrap:anywhere; }
.v16-line:last-child { border-bottom:0; }
.v16-line small { color:var(--ink-2); font-size:12px; }

@media(max-width:980px) {.v16-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .v16-followup-form {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:600px) {.v16-metrics, .v16-cards { grid-template-columns:minmax(0,1fr); } .v16-followup-form {grid-template-columns:minmax(0,1fr); width:100%;} .v16-followup-form .btn {width:100%; min-height:42px;} .v16-filter .btn {flex:1 0 auto;} .v16-followup { padding:14px; } }

/* V1.6.1 readability and avatar crop on light/dark and mobile/iPad */
.v14-balances > div {background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important}
.v14-balances > div small {color:var(--ink-2)!important;font-weight:750!important;opacity:1!important}
.v14-balances > div strong {color:var(--ink)!important;opacity:1!important;text-shadow:none!important}
.v14-balances > div:nth-child(2) strong {color:var(--good)!important}

.archive-purge {min-width:215px;max-width:330px}
.archive-purge>form {padding:12px;gap:9px}
.archive-purge input {max-width:100%}
.avatar-crop {display:grid;gap:10px;max-width:340px;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-2)}
.avatar-crop[hidden] {display:none!important}
#avatar-canvas {display:block;width:min(100%,300px);height:auto;max-width:300px;aspect-ratio:1;object-fit:contain;touch-action:none;cursor:grab;border-radius:12px;background:#19242F}
#avatar-canvas:active {cursor:grabbing}
#avatar-zoom {width:min(100%,300px);accent-color:var(--accent)}
@media(max-width:600px) {.archive-purge {width:100%;max-width:100%}.avatar-crop {max-width:100%}}

/* V1.6.2 – separate promise approval from actual receipt confirmation. */
.receipt-action {display:grid;gap:.35rem;margin-top:.65rem}.receipt-action .btn {justify-self:start;max-width:100%;white-space:normal;text-align:center}.receipt-action .hint {max-width:44rem;line-height:1.5}
@media(max-width:640px) {.receipt-action .btn {width:100%;justify-self:stretch}}

/* V1.6.3 — Central-admin archive cleanup (scoped to unassigned legacy records). */
.locator-permanent {display:inline-block;max-width:280px;min-width:195px;margin-top:8px;vertical-align:top}
.locator-permanent .f {display:flex;flex-direction:column;align-items:stretch;gap:8px}
.locator-permanent-bulk {margin:12px 16px;padding:16px;background:var(--surface-2);border:1px solid var(--line);border-left:4px solid var(--bad);border-radius:12px;color:var(--ink)}
.locator-permanent-head {display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.locator-permanent-bulk .locator-purge-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px}
.locator-permanent-bulk .locator-purge-form .lbl {margin:0;min-width:0;color:var(--ink)}
.locator-permanent-bulk .locator-purge-form .lbl .input {margin-top:6px;width:100%;min-width:0;font-size:16px}
.locator-permanent-bulk .locator-purge-form .check {grid-column:1/-1;color:var(--ink)}
.locator-permanent-bulk #locator-purge-chosen {grid-column:1/-1;font-weight:700;color:var(--bad)}
.locator-permanent-bulk #locator-purge-submit {grid-column:1/-1;max-width:max-content}
@media(max-width:780px) {.locator-permanent-bulk .locator-purge-form {grid-template-columns:1fr}.locator-permanent-bulk #locator-purge-submit {max-width:100%}.locator-permanent {min-width:180px;max-width:100%}}

/* V1.6.4 — Archive: compact actions and one password modal; light/dark + mobile */
.archive-page .archive-filter {display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px}
.archive-page .archive-filter .input {max-width:min(100%,350px);min-height:42px}
.archive-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.archive-tools {display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.archive-select-label {display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--ink-2);font-weight:650;white-space:nowrap}
.archive-check-col {width:38px}
.archive-select-label input, .archive-check {width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
.archive-row-actions {display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.archive-row-actions form {margin:0}
.archive-table td {vertical-align:middle}
.archive-table th:last-child {min-width:145px}
.archive-limit-note {margin:12px 16px 16px;font-size:13px;color:var(--ink-2)}
.archive-modal[hidden] {display:none!important}
.archive-modal {position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:18px max(14px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));background:var(--scrim,rgba(0,0,0,.70));overflow-y:auto}
.archive-dialog {box-sizing:border-box;background:var(--surface);color:var(--ink);width:min(440px,100%);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow);padding:22px;max-height:calc(100dvh - 28px);overflow-y:auto}
.archive-modal-head {display:flex;align-items:start;gap:12px}
.archive-modal-head>div:nth-child(2) {flex:1;min-width:0}
.archive-modal-head h2 {font-size:21px;font-weight:800;line-height:1.25;margin:0 0 4px;color:var(--ink)}
.archive-modal-head p {font-size:13px;margin:0;color:var(--ink-2)}
.archive-danger-icon {display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:11px;color:var(--bad);background:var(--bad-soft);border:1px solid var(--bad);font-weight:900;font-size:21px}
.archive-modal-x {background:none;border:none;cursor:pointer;font-size:25px;line-height:1;color:var(--ink-2);padding:0 4px}
.archive-summary {font-size:15px;line-height:1.5;margin:18px 0 8px;font-weight:720;color:var(--ink)}
.archive-modal-hint {font-size:13px;line-height:1.5;margin:0 0 18px;color:var(--ink-2)}
.archive-dialog .input {width:100%;margin-top:7px;min-height:46px;font-size:16px}
.archive-modal-actions {display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}
.archive-modal-actions .btn {flex:1;min-height:44px;justify-content:center}
body.archive-modal-open {overflow:hidden}
@media(max-width:650px) {.archive-toolbar {align-items:stretch;flex-direction:column}.archive-tools {justify-content:flex-start}.archive-tools .btn {flex:1 1 130px}.archive-dialog {padding:18px}.archive-modal-actions {flex-direction:column-reverse}.archive-modal-actions .btn {width:100%}}
@media(prefers-reduced-motion:reduce) {.archive-modal, .archive-dialog {animation:none!important}}

/* V1.6.6 — reliable viewport modal + structured, readable, state-preserving sidebar */
html[data-theme="dark"] .archive-dialog {background:#151d27}
html[data-theme="light"] .archive-dialog {background:#fff}
.archive-modal[hidden] {display:none!important}
.archive-modal {
  position:fixed!important;inset:0!important;z-index:9999!important;
  width:100vw!important;min-height:100vh;min-height:100dvh;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:rgba(2,9,19,.78)!important;
  padding:clamp(14px,3vw,30px)!important;
  margin:0!important;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)
}
.archive-dialog {position:relative;z-index:1;margin:auto!important;max-width:min(480px,100%)!important;
  width:100%!important;max-height:calc(100dvh - 28px);overflow-y:auto;
  border-radius:18px;border:1px solid var(--line-strong);box-shadow:0 28px 95px rgba(0,0,0,.46);
  padding:clamp(20px,4vw,28px);transform:none!important
}
.archive-dialog .lbl {font-weight:700;font-size:14px;color:var(--ink)}
.archive-dialog .archive-modal-actions {gap:10px}
.archive-dialog .btn-danger-solid {background:#bd3030;border-color:#bd3030;color:#fff}
.archive-dialog .btn-danger-solid:hover {background:#a82323}
.archive-dialog .archive-modal-x {min-width:36px;min-height:36px;border-radius:9px}
.archive-dialog .archive-modal-x:hover {background:var(--surface-2)}
.archive-dialog .archive-modal-x:focus-visible {outline:2px solid var(--accent)}

.admin-side-nav {gap:4px}
.admin-side-nav a {border-radius:9px;min-height:43px;padding:10px 12px;font-size:13.5px;line-height:1.35}
.admin-side-nav a[aria-current="page"] {box-shadow:inset 3px 0 0 var(--accent);font-weight:760}
.admin-side-nav a:hover:not([aria-current="page"]) {background:var(--surface-2);border-color:var(--line)}

@media(max-width:580px) {
 .archive-modal {padding:12px!important}
 .archive-dialog {max-height:calc(100dvh - 20px);padding:18px}
 .archive-modal-actions {flex-direction:column-reverse}
}

/* V1.6.7 — four audited layout corrections (no data/schema changes) */
/* 1. Reach all user role tabs, even on narrow iPhones and tablets. */
.ufilter { min-width:0; }
.ufilter .segtabs { min-width:0; max-width:100%; }
.segtabs::-webkit-scrollbar { height:4px; }
.segtabs::-webkit-scrollbar-track { background:var(--surface-2); border-radius:10px; }
.segtabs::-webkit-scrollbar-thumb { background:var(--accent); border-radius:10px; }
.segtabs button:focus-visible { position:relative; outline:2px solid var(--accent); outline-offset:-2px; z-index:1; }
/* 2. SVG is deliberately kept readable. Make the remaining hours discoverable. */
.chart-pan-hint { display:none; align-items:center; gap:8px; margin:8px 14px 0; padding:9px 11px; background:var(--accent-soft); color:var(--accent); border:1px solid var(--line-strong); border-radius:8px; font-size:12.5px; font-weight:650; line-height:1.35; }
.chart-pan-hint .pan-arrow { flex:none; font-size:21px; line-height:1; }
.chart-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; border-radius:6px; }
@media(max-width:700px) {
 .chart-pan-hint { display:flex; }
 .chart-scroll { scrollbar-width:thin; scrollbar-color:var(--accent) var(--surface-2); }
 .chart-scroll::-webkit-scrollbar { height:6px; }
 .chart-scroll::-webkit-scrollbar-thumb { background:var(--accent); border-radius:8px; }
}
@media print { .chart-pan-hint { display:none!important; } }

.admin-side-nav { gap:2px; }
.admin-side-nav a { padding:8px 10px; min-height:38px; }

/* 4. Archived records become compact cards with immediately accessible actions. */
@media(max-width:700px) {
 .archive-page .table-wrap { overflow-x:visible; border:0; }
 .archive-table { display:block; min-width:0; width:100%; }
 .archive-table thead { display:none; }
 .archive-table tbody { display:grid; gap:10px; padding:10px; min-width:0; }
 .archive-table tr { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:7px 12px; min-width:0; padding:12px; border:1px solid var(--line-strong); border-radius:11px; background:var(--surface-2); }
 .archive-table td { display:block; border:0!important; padding:0; white-space:normal; overflow-wrap:anywhere; min-width:0; font-size:13.5px; }
 .archive-table td[data-label]:not(.archive-record-cell):not(.archive-action-cell):not(.archive-pick-cell)::before { content:attr(data-label); display:block; margin-bottom:3px; color:var(--ink-2); font-size:11px; font-weight:750; letter-spacing:.02em; }
 .archive-table .archive-pick-cell { grid-column:2;grid-row:1; justify-self:end; }
 .archive-table .archive-record-cell { grid-column:1;grid-row:1; font-size:15px; font-weight:800; color:var(--ink); }
 .archive-table .archive-donor-cell { grid-column:1;grid-row:2; }
 .archive-table .archive-money-cell { grid-column:2;grid-row:2; text-align:right; font-weight:750; font-variant-numeric:tabular-nums; }
 .archive-table .archive-date-cell { grid-column:1/-1; grid-row:3; }
 .archive-table .archive-reason-cell { grid-column:1/-1; grid-row:4; }
 .archive-table .archive-action-cell { grid-column:1/-1; grid-row:5; border-top:1px solid var(--line)!important; padding-top:10px; margin-top:2px; }
 .archive-table .archive-row-actions { justify-content:flex-start; gap:8px; }
 .archive-table .archive-row-actions .btn { min-height:44px; min-width:88px; justify-content:center; }
 .archive-table .archive-row-actions form { display:inline-flex; }
 .archive-table .archive-check { width:20px; height:20px; }
}

/* V1.7 Professional+ • Test, handover, finance and compact approvals */
.v17-test-badge {background:#fff0bf;color:#765000;border-color:#deb765;font-weight:750;letter-spacing:.04em}
.v17-three {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}
.v17-three .panel {margin:0;min-width:0}
.v17-amount {font-size:clamp(22px,2.2vw,32px);font-weight:800;display:block;margin-top:9px;font-variant-numeric:tabular-nums}

.v17-select-row {display:flex;align-items:center;gap:16px;cursor:pointer;flex-wrap:wrap}
.v17-select-row input {width:20px;height:20px;flex:none;accent-color:var(--accent,#1785bc)}
.v17-select-row .cell-main {flex:1;min-width:150px}
.v17-approval-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.v17-handoff-row {gap:14px;flex-wrap:wrap}
.v17-handoff-row .cell-main {flex:1 1 240px;min-width:0}
.v17-handoff-row .actions {margin:0;align-items:flex-end}
.v17-inline {margin:0}
.v17-decision-form {max-width:350px;width:100%;padding:10px;border:1px solid var(--line,#cfd9e4);border-radius:12px;margin:0}
.v17-report-scroll {overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.v17-report-table {border-collapse:collapse;width:100%;min-width:680px;font-size:13px}
.v17-report-table th, .v17-report-table td {padding:10px;border-bottom:1px solid var(--line,#dbe2e9);text-align:left;vertical-align:top}
.v17-report-table th {font-weight:750}
.v17-print-title {margin:20px 0 12px}
.v17-print-title h2 {font-size:22px;margin:0 0 4px}
.v17-print-title p {margin:0;color:var(--muted,#64748b)}
.v17-fast-help {margin-top:0;font-size:12px}
@media(max-width:760px) {.v17-three {grid-template-columns:1fr}.v17-approval-toolbar .btn {width:100%}.v17-handoff-row .actions {width:100%}}
@media print {
  @page{size:A4 portrait;margin:13mm}
  body[data-page="sube-raporu"] {background:#fff!important;color:#111!important;font:11px/1.45 sans-serif!important}
  body[data-page="sube-raporu"] .v17-no-print, body[data-page="sube-raporu"] .toast, body[data-page="sube-raporu"] .view-head {display:none!important}
  
  body[data-page="sube-raporu"] main.wrap {margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
  body[data-page="sube-raporu"] .panel {box-shadow:none!important;border:1px solid #aaa!important;break-inside:avoid-page;background:#fff!important;color:#111!important}
  body[data-page="sube-raporu"] .v17-three {grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body[data-page="sube-raporu"] .v17-report-scroll {overflow:visible!important}
  body[data-page="sube-raporu"] .v17-report-table {min-width:0!important;font-size:9px}
  body[data-page="sube-raporu"] .v17-report-table tr {break-inside:avoid}
}

/* ==================================================================== */
/* Selsebil TV Bağış Kayıt — V1.8 Studio arayüzü
   app.css'ten SONRA yüklenir. Renk/yazı belirteçlerini ve kabuğu (yan menü, üst bar,
   mobil sekme çubuğu, komut paleti, giriş ekranı) yeniden tanımlar; sayfa içi sınıflar aynıdır.
   Yazı tipleri sunucudan gelir (assets/fonts) — dış sunucuya istek yoktur. */

@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(fonts/hanken-grotesk-latin-wght-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(fonts/hanken-grotesk-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-display: swap; font-weight: 200 800;
  src: url(fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-display: swap; font-weight: 200 800;
  src: url(fonts/bricolage-grotesque-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF }

/* ------------------------------------------------------------------ */
/* 1. Belirteçler                                                      */
/* ------------------------------------------------------------------ */
:root, html[data-theme="light"] {
  --bg: #F2F1EC; --surface: #FFFFFF; --surface-2: #ECEAE3; --line: #E3E0D8; --line-strong: #CBC7BC;
  --ink: #0F1826; --ink-2: #414C5C; --ink-3: #636C79;
  --accent: #0A5FD0; --accent-hover: #084CAA; --accent-ink: #FFFFFF; --accent-soft: #E2EDFC;
  --good: #14744A; --good-soft: #DCF0E4; --warn: #875500; --warn-soft: #FAEDCB; --bad: #B3261E; --bad-soft: #FBE3E0;
  --bar-paid: #1F9D66; --bar-ok: #0A5FD0; --bar-pledge: #E5A52E;
  --scrim: rgba(8, 14, 26, .52); --shadow: 0 24px 70px rgba(13, 24, 44, .22);
  --logo-light: block; --logo-dark: none; --toast-link: #9CCBFF;
  --f-display: "Bricolage Grotesque", "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --f-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --r: 10px;
  /* Studio'ya özel */
  --nv-r-lg: 18px;
  --nv-card-shadow: 0 1px 0 rgba(15, 24, 38, .04), 0 10px 28px -18px rgba(15, 24, 38, .22);
  --nv-grad: linear-gradient(135deg, #0A5FD0 0%, #0A77B8 100%);
  --nv-grad-hover: linear-gradient(135deg, #084CAA 0%, #086597 100%);
  --nv-gold: #E9AE3A; --nv-live: #F0483E; --nv-aqua: #35C9DD;
  --nv-top-bg: rgba(242, 241, 236, .82);
  --nv-hero: linear-gradient(140deg, #0A1220 0%, #10284A 62%, #0E4470 100%);
  --nv-hero-ink: #F3F6FB; --nv-hero-ink-2: #A9B8CC;
  /* Yan menü her iki temada da koyu kalır */
  --nv-side: #0A1220; --nv-side-2: #121D30; --nv-side-line: rgba(255, 255, 255, .08);
  --nv-side-ink: #E8EDF5; --nv-side-ink-2: #93A1B6; --nv-side-ink-3: #8794A9;
  --nv-side-w: 268px; --nv-top-h: 62px; --nv-tab-h: 0px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #070B13; --surface: #0E1622; --surface-2: #162031; --line: #1E2A3C; --line-strong: #34435A;
    --ink: #EAF0F7; --ink-2: #AAB6C7; --ink-3: #8090A4;
    --accent: #62ABFF; --accent-hover: #86BFFF; --accent-ink: #04101F; --accent-soft: #10294B;
    --good: #5DCB97; --good-soft: #0F2E20; --warn: #EDB75A; --warn-soft: #33270E; --bad: #F58378; --bad-soft: #3B1917;
    --bar-paid: #4CC38B; --bar-ok: #62ABFF; --bar-pledge: #E9AE3A;
    --scrim: rgba(0, 0, 0, .66); --shadow: 0 24px 70px rgba(0, 0, 0, .6);
    --logo-light: none; --logo-dark: block; --toast-link: #0A5FD0;
    --nv-card-shadow: 0 1px 0 rgba(255, 255, 255, .02), 0 14px 32px -20px rgba(0, 0, 0, .8);
    --nv-grad: linear-gradient(135deg, #62ABFF 0%, #4FD2E4 100%);
    --nv-grad-hover: linear-gradient(135deg, #86BFFF 0%, #7BE0EE 100%);
    --nv-top-bg: rgba(7, 11, 19, .8);
    --nv-hero: linear-gradient(140deg, #0E1A2E 0%, #12305A 62%, #0F4C7C 100%);
    --nv-side: #0A111C; --nv-side-2: #131E30;
    color-scheme: dark;
  }
}
html[data-theme="dark"] {
  --bg: #070B13; --surface: #0E1622; --surface-2: #162031; --line: #1E2A3C; --line-strong: #34435A;
  --ink: #EAF0F7; --ink-2: #AAB6C7; --ink-3: #8090A4;
  --accent: #62ABFF; --accent-hover: #86BFFF; --accent-ink: #04101F; --accent-soft: #10294B;
  --good: #5DCB97; --good-soft: #0F2E20; --warn: #EDB75A; --warn-soft: #33270E; --bad: #F58378; --bad-soft: #3B1917;
  --bar-paid: #4CC38B; --bar-ok: #62ABFF; --bar-pledge: #E9AE3A;
  --scrim: rgba(0, 0, 0, .66); --shadow: 0 24px 70px rgba(0, 0, 0, .6);
  --logo-light: none; --logo-dark: block; --toast-link: #0A5FD0;
  --nv-card-shadow: 0 1px 0 rgba(255, 255, 255, .02), 0 14px 32px -20px rgba(0, 0, 0, .8);
  --nv-grad: linear-gradient(135deg, #62ABFF 0%, #4FD2E4 100%);
  --nv-grad-hover: linear-gradient(135deg, #86BFFF 0%, #7BE0EE 100%);
  --nv-top-bg: rgba(7, 11, 19, .8);
  --nv-hero: linear-gradient(140deg, #0E1A2E 0%, #12305A 62%, #0F4C7C 100%);
  --nv-side: #0A111C; --nv-side-2: #131E30;
  color-scheme: dark;
}

/* ------------------------------------------------------------------ */
/* 2. Temel                                                            */
/* ------------------------------------------------------------------ */
body.nv { font: 15px/1.55 var(--f-body); }
body.nv ::selection { background: var(--accent); color: var(--accent-ink) }
.nv :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px }
.nv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap }
.nv-skip { position: fixed; left: 12px; top: -60px; z-index: 300; background: var(--ink); color: var(--bg); padding: 10px 14px; border-radius: 10px; font-weight: 600; text-decoration: none }
.nv-skip:focus { top: 12px }
#nv-content { scroll-margin-top: calc(var(--nv-top-h) + 12px); outline: none }

/* ------------------------------------------------------------------ */
/* 3. Kabuk                                                            */
/* ------------------------------------------------------------------ */
.nv-shell { display: grid; grid-template-columns: var(--nv-side-w) minmax(0, 1fr); min-height: 100vh; min-height: 100dvh }
.nv-main { min-width: 0; display: flex; flex-direction: column }
.nv-main > main.wrap { width: 100%; max-width: 1320px; margin: 0 auto; padding: 28px clamp(16px, 2.6vw, 36px) 88px }
.nv-main > main.wrap.narrow { max-width: 780px }

/* Yan menü */
.nv-side { position: sticky; top: 0; height: 100vh; height: 100dvh; z-index: 40; display: flex; flex-direction: column; gap: 10px; padding: 16px 12px 12px;
  background:
    radial-gradient(120% 46% at 0% 0%, rgba(53, 201, 221, .16), transparent 62%),
    radial-gradient(90% 40% at 100% 100%, rgba(10, 95, 208, .22), transparent 70%),
    var(--nv-side);
  color: var(--nv-side-ink); border-right: 1px solid var(--nv-side-line) }
.nv-side-top { display: flex; align-items: center; gap: 6px; padding: 2px 4px 0 6px; min-height: 40px }
.nv-brand { display: flex; align-items: center; flex: 1 1 auto; min-width: 0 }
.nv-brand-full { height: 27px; width: auto; display: block }
.nv-brand-mark { display: none; width: 40px; height: 40px; border-radius: 12px; box-shadow: 0 6px 18px rgba(10, 95, 208, .45) }
.nv-side-tag { padding: 0 8px; font: 600 10.5px/1 var(--f-body); letter-spacing: .2em; text-transform: uppercase; color: var(--nv-side-ink-3) }
.nv-side-tag b { color: var(--nv-aqua); font-weight: 700 }
.nv-side-btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: none; border: 0; border-radius: 9px; background: transparent; color: var(--nv-side-ink-2); cursor: pointer }
.nv-side-btn:hover { background: rgba(255, 255, 255, .08); color: #fff }
.nv-side-btn svg { width: 18px; height: 18px }
.nv-close { display: none }
.nv-side :focus-visible { outline-color: var(--nv-aqua) }

.nv-cmd { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; margin-top: 6px; padding: 0 10px 0 12px; border: 1px solid var(--nv-side-line); border-radius: 11px; background: rgba(255, 255, 255, .04); color: var(--nv-side-ink-2); font: 500 13.5px/1 var(--f-body); cursor: pointer; text-align: left }
.nv-cmd:hover { background: rgba(255, 255, 255, .08); color: var(--nv-side-ink) }
.nv-cmd svg { width: 16px; height: 16px; flex: none }
.nv-cmd .nv-lbl { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.nv-kbd { flex: none; font: 600 10.5px/1 var(--f-body); letter-spacing: .04em; padding: 4px 6px; border-radius: 6px; border: 1px solid var(--nv-side-line); color: var(--nv-side-ink-2); background: rgba(0, 0, 0, .25) }

.nv-cta { position: relative; display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; border-radius: 12px; text-decoration: none; color: #fff; font: 700 15px/1 var(--f-body);
  background: linear-gradient(135deg, #1273E6 0%, #0FA3C4 100%); box-shadow: 0 10px 26px -10px rgba(18, 163, 196, .75), inset 0 1px 0 rgba(255, 255, 255, .28); transition: transform .15s ease, box-shadow .15s ease }
.nv-cta:hover { transform: translateY(-1px); box-shadow: 0 14px 30px -10px rgba(18, 163, 196, .9), inset 0 1px 0 rgba(255, 255, 255, .34) }
.nv-cta svg { width: 18px; height: 18px; stroke-width: 2.4 }
.nv-cta[aria-current="page"] { box-shadow: 0 0 0 2px var(--nv-side), 0 0 0 4px var(--nv-aqua), 0 10px 26px -10px rgba(18, 163, 196, .75) }

.nv-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin-inline: -6px; padding: 4px 6px 12px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .18) transparent;
  -webkit-mask-image: linear-gradient(#000 0, #000 calc(100% - 22px), transparent 100%); mask-image: linear-gradient(#000 0, #000 calc(100% - 22px), transparent 100%) }
.nv-group-title, .nv-group > summary { display: flex; align-items: center; gap: 8px; padding: 14px 10px 7px; font: 700 10.5px/1.2 var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--nv-side-ink-3) }
.nv-group > summary { cursor: pointer; list-style: none; border-radius: 8px; user-select: none }
.nv-group > summary::-webkit-details-marker { display: none }
.nv-group > summary:hover { color: var(--nv-side-ink) }
.nv-group > summary .nv-lbl { flex: 1 1 auto }
.nv-group-n { font: 600 10px/1 var(--f-body); letter-spacing: 0; padding: 3px 6px; border-radius: 99px; background: rgba(255, 255, 255, .07); color: var(--nv-side-ink-2) }
.nv-chev { width: 14px; height: 14px; flex: none; transition: transform .18s ease }
.nv-group:not([open]) .nv-chev { transform: rotate(-90deg) }
.nv-group[open] .nv-group-n { display: none }

.nv-nav { display: flex; flex-direction: column; gap: 2px }
.nv-nav a { position: relative; display: flex; align-items: center; gap: 11px; min-height: 38px; padding: 0 10px; border-radius: 10px; text-decoration: none; color: var(--nv-side-ink-2); font: 500 14px/1.2 var(--f-body); transition: background .12s ease, color .12s ease }
.nv-nav a:hover { background: rgba(255, 255, 255, .06); color: var(--nv-side-ink) }
.nv-nav a .nv-ico { width: 18px; height: 18px; flex: none; opacity: .9 }
.nv-nav a .nv-lbl { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.nv-nav a[aria-current="page"] { background: linear-gradient(90deg, rgba(53, 201, 221, .2), rgba(53, 201, 221, .05)); color: #fff; font-weight: 600 }
.nv-nav a[aria-current="page"]::before { content: ""; position: absolute; left: -6px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--nv-aqua); box-shadow: 0 0 14px var(--nv-aqua) }
.nv-nav a[aria-current="page"] .nv-ico { color: var(--nv-aqua); opacity: 1 }
.nv-nav .count { flex: none; font: 700 11px/1 var(--f-body); font-variant-numeric: tabular-nums; padding: 4px 7px; border-radius: 99px; background: rgba(255, 255, 255, .1); color: var(--nv-side-ink) }
.nv-nav #cnt-chat { background: var(--nv-live); color: #fff }

.nv-side-foot { display: flex; align-items: center; gap: 6px; padding: 10px 4px 0; border-top: 1px solid var(--nv-side-line) }
.nv-me { display: flex; align-items: center; gap: 10px; flex: 1 1 auto; min-width: 0; padding: 6px; border-radius: 12px; text-decoration: none; color: var(--nv-side-ink) }
.nv-me:hover, .nv-me[aria-current="page"] { background: rgba(255, 255, 255, .07) }
.nv-me-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.25 }
.nv-me-text b { font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.nv-me-text small { font-size: 11.5px; color: var(--nv-side-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.nv .avatar.nv-avatar { width: 36px; height: 36px; flex: none; border-radius: 50%; display: inline-flex; background: var(--nv-side-2) }
.nv .avatar.nv-avatar img { width: 100%; height: 100%; object-fit: cover; display: block }
.nv .avatar.nv-avatar .avatar-fallback { display: none }
.nv-out-form { display: contents }
.nv-scrim { display: none }

/* Daraltılmış (ray) menü — yalnızca geniş ekran */
@media (min-width: 1024px) {
  html.nv-rail { --nv-side-w: 76px }
  html.nv-rail .nv-side { padding-inline: 10px }
  html.nv-rail .nv-side .nv-lbl, html.nv-rail .nv-kbd, html.nv-rail .nv-side-tag, html.nv-rail .nv-me-text,
  html.nv-rail .nv-group-n, html.nv-rail .nv-chev, html.nv-rail .nv-brand-full, html.nv-rail .nv-group-title { display: none }
  html.nv-rail .nv-brand-mark { display: block }
  html.nv-rail .nv-side-top { flex-direction: column; gap: 10px; padding: 0 }
  html.nv-rail .nv-brand { justify-content: center }
  html.nv-rail .nv-rail-btn svg { transform: scaleX(-1) }
  html.nv-rail .nv-cmd, html.nv-rail .nv-nav a { justify-content: center; padding: 0 }
  html.nv-rail .nv-nav a { min-height: 42px }
  html.nv-rail .nv-nav a .nv-ico { width: 20px; height: 20px }
  html.nv-rail .nv-nav a[aria-current="page"]::before { left: -4px }
  html.nv-rail .nv-group > summary { padding: 9px 0 6px; pointer-events: none }
  html.nv-rail .nv-group > summary::after { content: ""; flex: 1; height: 1px; background: var(--nv-side-line) }
  html.nv-rail .nv-nav .count { position: absolute; top: 3px; right: 3px; padding: 2px 5px; font-size: 9.5px }
  html.nv-rail .nv-side-foot { flex-direction: column; padding-inline: 0 }
  html.nv-rail .nv-me { justify-content: center; flex: none }
}

/* Üst bar */
.nv-top { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 30; display: flex; align-items: center; gap: 8px; min-height: var(--nv-top-h); padding: 0 clamp(16px, 2.6vw, 36px);
  background: var(--nv-top-bg); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid var(--line) }
.nv-spacer { flex: 1 1 auto; min-width: 4px }
.nv-top-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 40px; height: 40px; padding: 0 10px; flex: none; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--ink-2); font: 600 13.5px/1 var(--f-body); cursor: pointer; text-decoration: none }
.nv-top-btn:hover { background: var(--surface); border-color: var(--line); color: var(--ink) }
.nv-top-btn svg { width: 19px; height: 19px; flex: none }
.nv-top-btn .badge { position: absolute; top: 3px; right: 2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px; background: var(--nv-live); color: #fff; font: 700 10.5px/17px var(--f-body); text-align: center; box-shadow: 0 0 0 2px var(--bg) }
.nv-burger { display: none }
.nv-top-out { color: var(--ink-2) }
.nv-top-out:hover { color: var(--bad); border-color: var(--bad); background: var(--bad-soft) }
.nv-top-me { display: inline-flex; flex: none; border-radius: 50%; margin-left: 2px }
.nv-top-me .avatar { --av-gap: var(--bg) }
.nv-top-me:hover .avatar { filter: brightness(1.08) }
.nv-ico-sun { display: none }
html[data-theme="dark"] .nv-ico-sun { display: block }
html[data-theme="dark"] .nv-ico-moon { display: none }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .nv-ico-sun { display: block }
  html:not([data-theme="light"]) .nv-ico-moon { display: none }
}
.nv-clock { font: 600 13px/1 var(--f-body); font-variant-numeric: tabular-nums; color: var(--ink-3); padding: 0 8px; white-space: nowrap }
.nv-clock b { color: var(--ink); font-weight: 700 }

/* Yayın göstergesi */
.nv-air { display: inline-flex; align-items: center; gap: 10px; min-width: 0; height: 40px; padding: 0 14px 0 5px; border-radius: 99px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--nv-card-shadow) }
.nv-air-tag { display: inline-flex; align-items: center; gap: 7px; flex: none; height: 30px; padding: 0 11px; border-radius: 99px; font: 700 10.5px/1 var(--f-body); letter-spacing: .12em; text-transform: uppercase; background: var(--surface-2); color: var(--ink-2) }
.nv-air-tag i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none }
.nv-air-name { min-width: 0; font: 600 14px/1.2 var(--f-body); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-left: 12px; margin-left: 2px; position: relative }
.nv-air-name::before { content: ""; position: absolute; left: 0; top: 50%; width: 4px; height: 14px; margin-top: -7px; border-radius: 2px; background: var(--camp-color, var(--accent)) }
.nv-air.is-active .nv-air-tag { background: var(--nv-live); color: #fff }
.nv-air.is-active .nv-air-tag i { background: #fff; animation: nv-pulse 1.6s ease-out infinite }
.nv-air.is-test .nv-air-tag { background: var(--warn-soft); color: var(--warn) }
.nv-air.is-review .nv-air-tag { background: var(--accent-soft); color: var(--accent) }
.nv-air.is-none { padding-right: 5px }
@keyframes nv-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .8) } 100% { box-shadow: 0 0 0 9px rgba(255, 255, 255, 0) } }
.nv-top .return-workspace { display: inline-flex; flex: none }

/* Mobil sekme çubuğu (geniş ekranda yok) */
.nv-tabbar { display: none }

@media (max-width: 1023px) {
  :root, html[data-theme] { --nv-tab-h: 62px }
  .nv-shell { display: block }
  .nv-side { position: fixed; inset: 0 auto 0 0; width: min(320px, 86vw); z-index: 70; transform: translateX(-104%); transition: transform .24s cubic-bezier(.2, .8, .2, 1); padding-top: calc(16px + env(safe-area-inset-top, 0px)); padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); box-shadow: none; visibility: hidden }
  body.nv-open .nv-side { transform: none; visibility: visible; box-shadow: 30px 0 80px rgba(0, 0, 0, .5) }
  body.nv-open { overflow: hidden }
  .nv-scrim:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 69; border: 0; padding: 0; background: var(--scrim); cursor: pointer; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px) }
  .nv-close { display: inline-flex }
  .nv-rail-btn, .nv-kbd { display: none }
  .nv-nav a { min-height: 44px; font-size: 15px }
  .nv-burger { display: inline-flex; margin-left: -8px }
  .nv-top { padding-inline: max(14px, env(safe-area-inset-left, 0px)) max(14px, env(safe-area-inset-right, 0px)); gap: 4px }
  .nv-clock, .nv-top-out span { display: none }
  .nv-air { flex: 0 1 auto }
  .nv-main > main.wrap { padding: 18px max(14px, env(safe-area-inset-left, 0px)) calc(var(--nv-tab-h) + 44px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-right, 0px)) }

  .nv-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 38; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: center; height: calc(var(--nv-tab-h) + env(safe-area-inset-bottom, 0px)); padding: 0 6px env(safe-area-inset-bottom, 0px);
    background: var(--nv-side); border-top: 1px solid var(--nv-side-line); box-shadow: 0 -12px 30px rgba(0, 0, 0, .18) }
  .nv-tabbar a, .nv-tabbar button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; height: var(--nv-tab-h); border: 0; background: none; color: var(--nv-side-ink-2); font: 600 10.5px/1 var(--f-body); text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent }
  .nv-tabbar svg { width: 21px; height: 21px }
  .nv-tabbar a[aria-current="page"] { color: var(--nv-aqua) }
  .nv-tabbar .nv-tab-add { justify-self: center; width: 52px; height: 52px; border-radius: 17px; color: #fff; background: linear-gradient(135deg, #1273E6 0%, #0FA3C4 100%); box-shadow: 0 10px 22px -6px rgba(18, 163, 196, .8), inset 0 1px 0 rgba(255, 255, 255, .3); transform: translateY(-9px) }
  .nv-tabbar .nv-tab-add svg { width: 24px; height: 24px; stroke-width: 2.5 }
  .nv-tabbar .nv-tab-add[aria-current="page"] { color: #fff; box-shadow: 0 0 0 3px var(--nv-side), 0 0 0 5px var(--nv-aqua) }
  /* Alttaki sabit öğeler sekme çubuğunun üstünde kalır */
  body.nv .toast { bottom: calc(var(--nv-tab-h) + 16px + env(safe-area-inset-bottom, 0px)) }
  body.nv .help-fab { bottom: calc(var(--nv-tab-h) + 14px + env(safe-area-inset-bottom, 0px)) }
  body.nv .new-record-toast:not([hidden]) { bottom: calc(var(--nv-tab-h) + 16px + env(safe-area-inset-bottom, 0px)) }
  body.nv .session-bar { bottom: calc(var(--nv-tab-h) + 12px + env(safe-area-inset-bottom, 0px)) }
  body.nv .bulkbar { z-index: 39 }
  body.nv.fast #k-save { bottom: calc(var(--nv-tab-h) + 10px + env(safe-area-inset-bottom, 0px)) }
}
@media (max-width: 520px) {
  .nv-air { padding-right: 10px; gap: 6px }
  .nv-air-tag { padding: 0 9px; letter-spacing: .08em }
  .nv-air.is-active .nv-air-tag, .nv-air.is-closed .nv-air-tag, .nv-air.is-review .nv-air-tag, .nv-air.is-test .nv-air-tag { font-size: 0; gap: 0; width: 30px; padding: 0; justify-content: center }
  .nv-air-name { font-size: 13px; padding-left: 0; margin-left: 0 }
  .nv-air-name::before { display: none }
  .nv-top-out { display: none }
}

/* ------------------------------------------------------------------ */
/* 4. Bileşenler (mevcut sınıflar, yeni görünüm)                        */
/* ------------------------------------------------------------------ */
.nv .h1 { font: 700 clamp(26px, 2.5vw, 34px)/1.05 var(--f-display); letter-spacing: -.028em }
.nv .h2 { font: 700 23px/1.12 var(--f-display); letter-spacing: -.02em }
.nv .h3 { font: 700 18px/1.2 var(--f-display); letter-spacing: -.012em }
.nv .panel-title { font: 700 17px/1.2 var(--f-display); letter-spacing: -.012em }
.nv .sub { color: var(--ink-2) }
.nv .view-head { margin-bottom: 20px }

/* Düğmeler: eğik kesim yok, yuvarlak ve net */
.nv .btn { min-height: 40px; padding: 0 15px; border-radius: 11px; border: 1px solid var(--line-strong); background: var(--surface); font: 600 14px/1.1 var(--f-body); transition: background .12s ease, border-color .12s ease, transform .12s ease, box-shadow .12s ease }
.nv .btn:hover { background: var(--surface-2); border-color: var(--ink-3) }
.nv .btn:active:not(:disabled) { transform: translateY(1px) }
.nv .btn-primary { border: 0; background: var(--nv-grad); color: var(--accent-ink); padding: 0 20px; box-shadow: 0 8px 20px -10px var(--accent), inset 0 1px 0 rgba(255, 255, 255, .25) }
.nv .btn-primary::before { content: none }
.nv .btn-primary:hover { background: var(--nv-grad-hover); border: 0 }
.nv .btn-big { min-height: 54px; font-size: 16px; border-radius: 14px }
.nv .btn-sm { min-height: 32px; border-radius: 9px }
.nv .btn-ghost { border-color: transparent; background: none }
.nv .btn-ghost:hover { background: var(--surface-2); border-color: transparent }
.nv .btn-danger { color: var(--bad); border-color: var(--bad) }
.nv .btn-danger:hover { background: var(--bad-soft); border-color: var(--bad) }
.nv .btn-danger-solid { background: var(--bad); border-color: var(--bad); color: #fff }
.nv .btn-good-solid { background: var(--good); border-color: var(--good); color: var(--surface) }
.nv .icon-btn { border-radius: 10px }
.nv .qa { min-height: 32px; border-radius: 9px; font-weight: 600 }

/* Paneller */
.nv .panel { border-radius: var(--nv-r-lg); border: 1px solid var(--line); box-shadow: var(--nv-card-shadow) }
.nv .panel-head { padding: 16px 20px 13px }
.nv .panel-body { padding: 20px }
.nv .panel > .rows > :first-child, .nv .panel > :first-child { border-top-left-radius: inherit; border-top-right-radius: inherit }
.nv .panel > :last-child { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit }

/* Özet kutuları: bitişik ızgara yerine ayrı kartlar; ilk kutu “ana rakam” */
.nv .tiles { gap: 12px; background: none; border: 0; border-radius: 0; overflow: visible }
.nv .tiles.two { border-radius: 0 }
.nv .tile { border: 1px solid var(--line); border-radius: var(--nv-r-lg); padding: 16px 18px 17px; gap: 7px; box-shadow: var(--nv-card-shadow); transition: transform .14s ease, border-color .14s ease }
.nv button.tile:hover { background: var(--surface); border-color: var(--line-strong); transform: translateY(-2px) }
.nv .tile[aria-pressed="true"] { background: var(--surface); border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), var(--nv-card-shadow) }
.nv .tile[aria-pressed="true"]::after { content: none }
.nv .tile-label { font: 700 11px/1.2 var(--f-body); letter-spacing: .13em }
.nv .tile-value { font: 700 28px/1.02 var(--f-display); letter-spacing: -.03em }
.nv .dot { width: 8px; height: 8px; border-radius: 50%; transform: none }
.nv .tiles > .tile:first-child { background: var(--nv-hero); border-color: transparent; color: var(--nv-hero-ink); overflow: hidden }
.nv .tiles > .tile:first-child::before { content: ""; position: absolute; right: -40px; top: -60px; width: 190px; height: 190px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 0 0 26px rgba(255, 255, 255, .035), 0 0 0 58px rgba(255, 255, 255, .025); pointer-events: none }
.nv .tiles > .tile:first-child .tile-label { color: var(--nv-hero-ink-2) }
.nv .tiles > .tile:first-child .tile-value { color: var(--nv-gold) }
.nv .tiles > .tile:first-child .tile-sub { color: var(--nv-hero-ink-2) }
.nv .tiles > button.tile:first-child:hover { background: var(--nv-hero) }
.nv .tiles > .tile:first-child[aria-pressed="true"] { border-color: var(--nv-gold); box-shadow: 0 0 0 1px var(--nv-gold), var(--nv-card-shadow) }
.nv .tally-bar { margin-top: 12px; border: 1px solid var(--line); border-radius: var(--nv-r-lg); padding: 14px 18px 15px; box-shadow: var(--nv-card-shadow) }
.nv .bar { height: 10px; border-radius: 99px }
.nv .bar.mini { height: 6px }

/* Formlar */
.nv .lbl { font: 600 13px/1.2 var(--f-body); color: var(--ink-2) }
.nv .input, .nv select, .nv textarea { border-radius: 11px; border: 1px solid var(--line-strong); font-family: var(--f-body); transition: border-color .12s ease, box-shadow .12s ease }
.nv .input, .nv select { min-height: 46px }
.nv .input:hover, .nv select:hover, .nv textarea:hover { border-color: var(--ink-3) }
.nv .input:focus, .nv select:focus, .nv textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent) }
.nv .input.invalid { border-color: var(--bad); box-shadow: 0 0 0 4px color-mix(in srgb, var(--bad) 16%, transparent) }
.nv textarea.code { font-family: var(--f-mono) }
.nv .mchip span { min-height: 48px; border-radius: 12px; font-weight: 600; transition: background .12s ease, border-color .12s ease, transform .12s ease }
.nv .mchip:hover span { border-color: var(--ink-3) }
.nv .mchip input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--bg); box-shadow: 0 8px 18px -10px var(--ink) }
.nv .amount-wrap .input { font: 700 30px/1 var(--f-display); letter-spacing: -.03em; min-height: 62px; border-radius: 14px; padding-left: 16px }
.nv .amount-wrap.small .input { font: 400 16px/1.3 var(--f-body); letter-spacing: 0; min-height: 46px; border-radius: 11px; padding-left: 12px }
.nv .amount-wrap .suffix { font: 700 22px/1 var(--f-display); color: var(--nv-gold) }
.nv .amount-wrap.small .suffix { font-size: 16px; color: var(--ink-3) }
.nv .qchip { min-height: 36px; border-radius: 99px; padding: 0 14px; font: 700 13.5px/1 var(--f-body); transition: background .12s ease, color .12s ease, border-color .12s ease }
.nv .qchip:hover { background: var(--ink); border-color: var(--ink); color: var(--bg) }
.nv .check input, .nv .toggle input, .nv .role-opt input, .nv .seg-card input { accent-color: var(--accent) }
.nv .toggle { border-radius: 11px; min-height: 46px }
.nv .filters select { min-height: 46px }
.nv .role-opt, .nv .seg-card { border-radius: 12px }
.nv .subgroup, .nv .warnbox { border-radius: 14px }
.nv .pw-toggle { border-radius: 8px }
.nv .search .input { padding-left: 40px }
.nv .search svg { left: 14px }

/* Kayıt satırları ve durum etiketleri */
.nv .prow, .nv .drow { padding: 14px 20px; transition: background .1s ease }
.nv .urow summary { padding: 14px 20px }
.nv .name { font-weight: 600; letter-spacing: -.005em }
.nv .amt { font: 700 19px/1.15 var(--f-display); letter-spacing: -.025em }
.nv .no { font-size: 12px; padding: 3px 0 0 }
.nv .chip { height: 23px; padding: 0 9px; border-radius: 99px; font: 600 12px/1 var(--f-body) }
.nv .st-vaad, .nv .st-onayli, .nv .st-odendi, .nv .st-iptal { font-weight: 700 }
.nv .tbl th { font: 700 11px/1.2 var(--f-body); letter-spacing: .12em }
.nv .table-wrap { border-radius: 14px }
.nv .list-foot { padding: 14px 20px }
.nv .mono { font-family: var(--f-mono) }

/* Bildirimler */
.nv .notice { border-radius: 14px }
.nv .toast { border-radius: 12px; box-shadow: var(--shadow) }
.nv .new-record-toast:not([hidden]) { border-radius: 14px }
.nv .session-bar { border-radius: 14px }
.nv .help-fab { border-radius: 99px }

/* Yan sayfa (kayıt detayı) ve pencereler */
.nv .sheet-scrim, .nv .dialog-scrim { -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px) }
.nv .dialog { border-radius: 20px }
.nv .subnav a { border-radius: 99px }
.nv .subnav a[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--bg) }

/* ------------------------------------------------------------------ */
/* 5. Komut paleti                                                     */
/* ------------------------------------------------------------------ */
#nv-palette:not([hidden]) { position: fixed; inset: 0; z-index: 250; display: flex; align-items: flex-start; justify-content: center; padding: min(14vh, 120px) 16px 16px; background: var(--scrim); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: nv-fade .14s ease-out }
.nv-pal { width: min(640px, 100%); max-height: min(70vh, 560px); display: flex; flex-direction: column; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; animation: nv-pop .18s cubic-bezier(.2, .9, .3, 1.2) }
.nv-pal-in { display: flex; align-items: center; gap: 12px; padding: 0 18px; border-bottom: 1px solid var(--line) }
.nv-pal-in svg { width: 20px; height: 20px; color: var(--ink-3); flex: none }
.nv-pal-in input { flex: 1 1 auto; min-width: 0; height: 58px; border: 0; outline: 0; background: none; color: var(--ink); font: 500 17px/1 var(--f-body) }
.nv-pal-in input::placeholder { color: var(--ink-3) }
.nv-pal-esc { flex: none; font: 600 11px/1 var(--f-body); color: var(--ink-3); border: 1px solid var(--line-strong); border-radius: 6px; padding: 5px 7px; background: var(--surface-2); cursor: pointer }
.nv-pal-list { overflow-y: auto; padding: 8px; overscroll-behavior: contain }
.nv-pal-grp { padding: 10px 12px 5px; font: 700 10.5px/1 var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3) }
.nv-pal-item { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 0 12px; border: 0; border-radius: 12px; background: none; color: var(--ink); font: 500 15px/1.2 var(--f-body); text-align: left; cursor: pointer; text-decoration: none }
.nv-pal-item svg { width: 18px; height: 18px; flex: none; color: var(--ink-3) }
.nv-pal-item span { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.nv-pal-item small { flex: none; font-size: 12px; color: var(--ink-3) }
.nv-pal-item.is-on { background: var(--accent-soft); color: var(--ink) }
.nv-pal-item.is-on svg { color: var(--accent) }
.nv-pal-item.is-on::after { content: "↵"; flex: none; font: 600 13px/1 var(--f-body); color: var(--accent) }
.nv-pal-empty { padding: 30px 16px; text-align: center; color: var(--ink-3); font-size: 14px }
.nv-pal-foot { display: flex; gap: 16px; padding: 10px 18px; border-top: 1px solid var(--line); font-size: 12px; color: var(--ink-3); background: var(--surface-2) }
.nv-pal-foot kbd { font: 600 11px/1 var(--f-body); border: 1px solid var(--line-strong); border-radius: 5px; padding: 2px 5px; background: var(--surface); margin-right: 4px }
@keyframes nv-fade { from { opacity: 0 } }
@keyframes nv-pop { from { opacity: 0; transform: translateY(-8px) scale(.98) } }

/* ------------------------------------------------------------------ */
/* 6. Giriş ekranı                                                     */
/* ------------------------------------------------------------------ */
body.nv.auth-page { background: var(--bg) }
.nv-login { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) }
.nv-login-art { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; padding: clamp(28px, 4.2vw, 60px); color: #EEF3FA;
  background: radial-gradient(90% 70% at 12% 0%, rgba(53, 201, 221, .26), transparent 60%), radial-gradient(80% 70% at 100% 100%, rgba(18, 115, 230, .5), transparent 65%), #0A1220 }
.nv-login-art > * { position: relative; z-index: 1 }
.nv-login-logo { height: 34px; width: auto; display: block; align-self: flex-start }
.nv-rings { position: absolute; z-index: 0; left: 50%; top: 54%; width: 0; height: 0; pointer-events: none }
.nv-rings i { position: absolute; left: 0; top: 0; width: 220px; height: 220px; margin: -110px 0 0 -110px; border-radius: 50%; border: 1px solid rgba(120, 214, 232, .5); opacity: 0; animation: nv-ring 7s cubic-bezier(.2, .6, .3, 1) infinite }
.nv-rings i:nth-child(2) { animation-delay: 1.75s }
.nv-rings i:nth-child(3) { animation-delay: 3.5s }
.nv-rings i:nth-child(4) { animation-delay: 5.25s }
@keyframes nv-ring { 0% { transform: scale(.25); opacity: 0 } 12% { opacity: .75 } 100% { transform: scale(4.6); opacity: 0 } }
.nv-login-kicker { display: inline-flex; align-items: center; gap: 9px; font: 700 11px/1 var(--f-body); letter-spacing: .2em; text-transform: uppercase; color: #8FE3F1 }
.nv-login-kicker i { width: 8px; height: 8px; border-radius: 50%; background: var(--nv-live); box-shadow: 0 0 0 0 rgba(240, 72, 62, .7); animation: nv-live 1.8s ease-out infinite }
@keyframes nv-live { 100% { box-shadow: 0 0 0 10px rgba(240, 72, 62, 0) } }
.nv-login-title { margin-top: 18px; font: 700 clamp(34px, 4.4vw, 62px)/.98 var(--f-display); letter-spacing: -.04em; max-width: 11ch; text-wrap: balance }
.nv-login-title em { font-style: normal; color: var(--nv-gold) }
.nv-login-lead { margin-top: 18px; max-width: 42ch; font-size: 16px; line-height: 1.6; color: #B5C3D8 }
.nv-login-meta { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 28px; font-size: 13px; color: #93A4BC }
.nv-login-clock { font: 700 clamp(30px, 3.4vw, 44px)/1 var(--f-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: #fff }
.nv-login-date { margin-top: 6px; display: block }
.nv-login-side { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 22px; padding: clamp(24px, 4vw, 56px) }
.nv-login-card { width: min(420px, 100%); display: flex; flex-direction: column; gap: 18px }
.nv-login-card .login-head .h2 { font: 700 30px/1.05 var(--f-display); letter-spacing: -.03em }
.nv-login-card .login-head .sub { margin-top: 8px; font-size: 15px }
.nv-login-card .input { min-height: 52px; border-radius: 13px }
.nv-login-card .code-input { font: 700 26px/1 var(--f-display); letter-spacing: .22em; text-align: center }
.nv-login-card .btn-big { min-height: 56px }
.nv-login-mobile-logo { display: none }
.nv-login-foot { width: min(420px, 100%); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; font-size: 12.5px; color: var(--ink-3) }
.nv-login-foot .lang-links { display: flex; gap: 4px }
.nv-login-foot .lang-links a { padding: 5px 10px; border-radius: 99px; text-decoration: none; color: var(--ink-2); font-weight: 600 }
.nv-login-foot .lang-links a:hover { background: var(--surface-2) }
.nv-login-foot .lang-links a[aria-current="true"] { background: var(--ink); color: var(--bg) }
@media (max-width: 880px) {
  .nv-login { grid-template-columns: 1fr }
  .nv-login-art { padding: calc(22px + env(safe-area-inset-top, 0px)) 22px 26px; gap: 22px; min-height: 0 }
  .nv-login-title { font-size: 34px; max-width: none; margin-top: 12px }
  .nv-login-lead, .nv-login-meta { display: none }
  .nv-login-side { justify-content: flex-start; padding: 26px 20px calc(28px + env(safe-area-inset-bottom, 0px)) }
}

/* ------------------------------------------------------------------ */
/* 7. Hareket, baskı                                                   */
/* ------------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
  /* Yalnızca saydamlık: transform, sayfa içindeki sabit pencerelerin konumunu bozardı. */
  .nv-main > main { animation: nv-rise .28s ease-out }
  @keyframes nv-rise { from { opacity: 0 } }
}
@media (prefers-reduced-motion: reduce) {
  .nv *, .nv *::before, .nv *::after { animation-duration: .001s !important; animation-iteration-count: 1 !important; transition-duration: .001s !important }
}
@media print {
  .nv-side, .nv-top, .nv-tabbar, .nv-scrim, .nv-skip, #nv-palette { display: none !important }
  .nv-shell { display: block }
  .nv-main > main.wrap { max-width: none; padding: 0 }
  .nv .panel, .nv .tile, .nv .tally-bar { box-shadow: none }
  .nv .tiles > .tile:first-child { background: none; color: #000; border-color: #999 }
  .nv .tiles > .tile:first-child .tile-value, .nv .tiles > .tile:first-child .tile-label, .nv .tiles > .tile:first-child .tile-sub { color: #000 }
}

/* ------------------------------------------------------------------ */
/* 8. İnce ayarlar                                                     */
/* ------------------------------------------------------------------ */
.nv-side-top, .nv-side-tag, .nv-cmd, .nv-cta, .nv-side-foot { flex: none }
@media (min-width: 1024px) { html.nv-rail .nv-side-top { min-height: 0 } }
.nv-pal-in input:focus, .nv-pal-in input:focus-visible { outline: none; box-shadow: none }

/* Kayıt formundaki yayın hedef şeridi: koyu “yayın” bandı, altın rakam */
.nv .progress-strip { padding: 16px 20px; gap: 9px; border-bottom: 0; background: var(--nv-hero); color: var(--nv-hero-ink-2) }
.nv .progress-strip .ps-row { color: var(--nv-hero-ink-2) }
.nv .progress-strip .ps-row b { color: var(--nv-hero-ink); font: 700 17px/1.1 var(--f-display); letter-spacing: -.02em }
.nv .progress-strip .ps-row:first-child b { color: var(--nv-gold); font-size: 20px }
.nv .progress-strip .ps-name { color: var(--nv-hero-ink-2); letter-spacing: .13em; font-family: var(--f-body) }
.nv .progress-strip .bar { height: 8px; background: rgba(255, 255, 255, .14) }

@media (max-width: 640px) {
  .nv .tile { padding: 14px 14px 15px }
  .nv .tile-value { font-size: 21px }
  .nv .h1 { font-size: 25px }
  .nv .panel-head { padding: 14px 16px 12px }
  .nv .panel-body { padding: 16px }
  .nv .prow, .nv .drow, .nv .urow summary { padding: 13px 16px }
  .nv .amount-wrap .input { font-size: 26px; min-height: 58px }
}

/* Kurulum ekranı (install.php) */
.nv-install .nv-login-side { justify-content: flex-start; padding-block: clamp(24px, 5vh, 56px) }
.nv-install-card { width: min(560px, 100%) }
.nv-install-card .panel.auth-card { border: 0; box-shadow: none; background: none; padding: 0; display: flex; flex-direction: column; gap: 16px }
.nv-install-card .h2 { font: 700 30px/1.05 var(--f-display); letter-spacing: -.03em }
@media (min-width: 881px) { .nv-install .nv-login-art { position: sticky; top: 0; height: 100vh; height: 100dvh } .nv-install { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) } }

/* ------------------------------------------------------------------ */
/* 9. V1.8.2 — Yayın özeti, kapatılabilir uyarılar                      */
/* ------------------------------------------------------------------ */
.nv .row-notice { position: relative; padding-right: 46px }
.notice-x { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: transparent; color: inherit; font: 400 22px/1 var(--f-body); opacity: .6; cursor: pointer }
.notice-x:hover { opacity: 1; background: color-mix(in srgb, currentColor 12%, transparent) }
.warn-hidden-note { margin: 2px 0 14px; font-size: 13px; color: var(--ink-3) }
.warn-hidden-note button { border: 0; background: none; padding: 0; color: var(--accent); font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline }

.ozet-pick select { min-height: 40px; min-width: 220px; max-width: 320px }
.ozet > * + * { margin-top: 16px }
.ozet-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; padding: clamp(22px, 3vw, 36px); border-radius: 22px; background: var(--nv-hero); color: var(--nv-hero-ink); position: relative; overflow: hidden; box-shadow: var(--nv-card-shadow) }
.ozet-hero::before { content: ""; position: absolute; right: -90px; top: -120px; width: 420px; height: 420px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 0 0 60px rgba(255, 255, 255, .03), 0 0 0 130px rgba(255, 255, 255, .02); pointer-events: none }
.ozet-hero > * { position: relative }
.ozet-hero-main { flex: 1 1 360px; min-width: 0 }
.ozet-kicker { display: inline-flex; align-items: center; gap: 8px; font: 700 11px/1 var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: #8FE3F1 }
.ozet-kicker i { width: 8px; height: 8px; border-radius: 50%; background: var(--nv-live) }
.ozet-name { margin-top: 10px; font: 700 clamp(20px, 2.2vw, 28px)/1.1 var(--f-display); letter-spacing: -.02em }
.ozet-when { margin-top: 5px; font-size: 13.5px; color: var(--nv-hero-ink-2) }
.ozet-total { margin-top: 18px; font: 700 clamp(40px, 6vw, 72px)/.95 var(--f-display); letter-spacing: -.045em; color: var(--nv-gold); font-variant-numeric: tabular-nums }
.ozet-total-sub { margin-top: 8px; font-size: 14px; color: var(--nv-hero-ink-2) }
.ozet-goal { margin-top: 18px; max-width: 520px }
.ozet-goal .bar { height: 10px; background: rgba(255, 255, 255, .14) }
.ozet-goal .bar span { background: linear-gradient(90deg, var(--nv-gold), #F6D27A) }
.ozet-goal p { margin-top: 7px; font-size: 13.5px; color: var(--nv-hero-ink-2) }
.ozet-goal p b { color: var(--nv-hero-ink) }
.ozet-ring { position: relative; flex: none; width: clamp(140px, 16vw, 180px); aspect-ratio: 1 }
.ozet-ring svg { width: 100%; height: 100%; transform: rotate(-90deg) }
.ozet-ring circle { fill: none; stroke-width: 10 }
.ozet-ring-bg { stroke: rgba(255, 255, 255, .13) }
.ozet-ring-fg { stroke: #4CD3A0; stroke-linecap: round }
.ozet-ring div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px }
.ozet-ring b { font: 700 clamp(30px, 3.4vw, 40px)/1 var(--f-display); letter-spacing: -.03em }
.ozet-ring span { font-size: 12px; color: var(--nv-hero-ink-2) }
.ozet-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px }
.ozet-kpi { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: var(--nv-r-lg); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--nv-card-shadow); min-width: 0 }
.ozet-kpi span { font: 700 11px/1.2 var(--f-body); letter-spacing: .13em; text-transform: uppercase; color: var(--ink-3) }
.ozet-kpi b { font: 700 26px/1.05 var(--f-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere }
.ozet-kpi small { font-size: 13px; color: var(--ink-2) }
.ozet-chart-wrap { overflow-x: auto; padding: 18px 20px 16px }
.ozet-chart { display: grid; grid-template-columns: repeat(var(--n), minmax(26px, 72px)); justify-content: center; gap: 6px; height: 240px; min-width: calc(var(--n) * 32px) }
.ozet-col { display: grid; grid-template-rows: 18px minmax(0, 1fr) 18px; gap: 5px; min-width: 0 }
.ozet-col-bar { align-self: end; width: 100%; border-radius: 6px 6px 2px 2px; background: color-mix(in srgb, var(--accent) 55%, var(--surface-2)) }
.ozet-col.is-peak .ozet-col-bar { background: var(--nv-gold) }
.ozet-col-v { font: 700 11.5px/18px var(--f-body); white-space: nowrap; text-align: center; color: var(--ink); justify-self: center }
.ozet-col-l { font: 500 11px/18px var(--f-body); color: var(--ink-3); text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden }
.ozet-rank { display: flex; align-items: center; gap: 14px; padding: 13px 20px; border-top: 1px solid var(--line) }
.rows > .ozet-rank:first-child { border-top: 0 }
.ozet-rank-n { flex: none; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--surface-2); color: var(--ink-2); font: 700 13px/1 var(--f-body) }
.ozet-rank-n.top { background: var(--nv-gold); color: #2B1D00 }
.ozet-rank-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px }
.ozet-rank-main b { font-weight: 600; overflow-wrap: anywhere }
.ozet-rank-main small, .ozet-rank-val small { font-size: 12.5px; color: var(--ink-3) }
.ozet-rank-main .bar.mini { max-width: none; margin-top: 2px }
.ozet-rank-main .bar.mini span { background: var(--accent) }
.ozet-rank-val { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right }
.ozet-rank-val b { font: 700 17px/1.1 var(--f-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; white-space: nowrap }
.ozet-status .bar { height: 14px }
.ozet-status dl { margin: 16px 0 0; display: flex; flex-direction: column; gap: 10px }
.ozet-status dl div { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px }
.ozet-status dt { display: flex; align-items: center; gap: 9px; color: var(--ink-2) }
.ozet-status dt i { width: 10px; height: 10px; border-radius: 50% }
.ozet-status dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums }
@media (max-width: 900px) { .ozet-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) } .ozet-ring { margin-inline: auto } }
@media print {
  .ozet .view-head, .ozet .notice-x { display: none !important }
  .ozet-hero { background: none !important; color: #000; border: 1px solid #999; box-shadow: none }
  .ozet-hero::before { display: none }
  .ozet-total, .ozet-kicker, .ozet-when, .ozet-total-sub, .ozet-goal p, .ozet-goal p b, .ozet-ring span { color: #000 }
  .ozet-ring-bg { stroke: #ddd } .ozet-goal .bar { background: #ddd }
  .ozet-kpi, .ozet .panel { box-shadow: none; break-inside: avoid }
  .ozet-chart { height: 170px }
  .ozet .admin-grid { break-inside: avoid }
}
@media (max-width: 640px) { .ozet-kpi { padding: 14px } .ozet-kpi b { font-size: 20px } .ozet-rank { padding: 12px 16px; gap: 10px } }

/* ------------------------------------------------------------------ */
/* 10. V1.8.3 — Döküm eşleştirme, makbuz, sade Genel Bakış              */
/* ------------------------------------------------------------------ */
.dokum > * + * { margin-top: 16px }
.dokum-kpis { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) }
.dokum-camp { font-size: 18px !important; letter-spacing: -.01em !important; line-height: 1.2 !important }
.dokum-map > summary { cursor: pointer; list-style: none }
.dokum-map > summary::-webkit-details-marker { display: none }
.dokum-map:not([open]) > summary { border-bottom: 0 }
.dokum-map-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px }
.dokum-row { display: grid; grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 1.3fr); gap: 8px 18px; align-items: center; padding: 14px 20px; border-top: 1px solid var(--line) }
.rows > .dokum-row:first-child { border-top: 0 }
.dokum-row.lv-kesin { box-shadow: inset 3px 0 0 var(--good) }
.dokum-row.lv-islendi, .dokum-row.lv-kayitli, .dokum-row.lv-yok { opacity: .72 }
.dokum-src { display: flex; flex-direction: column; gap: 2px; min-width: 0 }
.dokum-src b { font-weight: 600; overflow-wrap: anywhere }
.dokum-src .mono { font-size: 11.5px }
.dokum-amt { display: flex; flex-direction: column; align-items: flex-end; gap: 6px }
.dokum-pick select { width: 100% }
.dokum-foot { justify-content: space-between }
@media (max-width: 820px) { .dokum-row { grid-template-columns: minmax(0, 1fr) auto } .dokum-pick { grid-column: 1 / -1 } }

.makbuz { background: #fff; color: #111; border: 1px solid var(--line); border-radius: var(--nv-r-lg); box-shadow: var(--nv-card-shadow); padding: clamp(22px, 4vw, 44px); display: flex; flex-direction: column; gap: 22px; margin-top: 16px }
.makbuz-hint { margin-top: 12px }
.makbuz-head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; border-bottom: 2px solid #0A1220; padding-bottom: 18px }
.makbuz-head img { height: 30px; width: auto; display: block }
.makbuz-org { margin-top: 12px; font-size: 13px; line-height: 1.5; color: #333 }
.makbuz-org b { color: #000; font-size: 14.5px }
.makbuz-no { display: grid; grid-template-columns: auto auto; gap: 3px 14px; font-size: 12.5px; color: #555; text-align: right; white-space: nowrap }
.makbuz-no b { color: #000; font-variant-numeric: tabular-nums }
.makbuz-title { font: 700 26px/1.1 var(--f-display); letter-spacing: -.02em; color: #000 }
.makbuz-title small { display: block; margin-top: 5px; font: 500 14px/1.3 var(--f-body); letter-spacing: 0; color: #555 }
.makbuz-grid { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px }
.makbuz-grid dt { font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: #666 }
.makbuz-grid dd { margin: 3px 0 0; font-size: 16px; font-weight: 600; color: #000; overflow-wrap: anywhere }
.makbuz-amount { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 16px 20px; border-radius: 14px; background: #F2F1EC; border: 1px solid #DDD9CF }
.makbuz-amount span { font-size: 13px; color: #444 }
.makbuz-amount b { font: 700 32px/1 var(--f-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: #000 }
.makbuz .makbuz-tbl th { background: #F2F1EC; color: #444 }
.makbuz .makbuz-tbl td { color: #111; border-color: #DDD9CF; white-space: normal }
.makbuz-thanks { font-size: 15px; color: #111 }
.makbuz-sign { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; font-size: 12.5px; color: #333; margin-top: 10px }
.makbuz-sign span { display: block; height: 42px; border-bottom: 1px solid #000; margin-bottom: 6px }
.makbuz-foot { font-size: 11.5px; line-height: 1.5; color: #666; border-top: 1px solid #DDD9CF; padding-top: 12px }
@media (max-width: 560px) { .makbuz-head { flex-direction: column } .makbuz-no { text-align: left } .makbuz-grid { grid-template-columns: 1fr } .makbuz-amount b { font-size: 26px } }
@media print {
  @page { size: A4; margin: 16mm }
  .makbuz-page .view-head, .makbuz-page .makbuz-hint { display: none !important }
  .makbuz { border: 0; box-shadow: none; padding: 0; margin: 0; border-radius: 0 }
}

/* Genel Bakış: kısayol sıraları kalktı; rakamlar üstte */
body[data-page="yonetim"] #y-tiles { margin-bottom: 14px }
body[data-page="yonetim"] .v16-dashboard { margin-bottom: 14px }

/* ------------------------------------------------------------------ */
/* 11. V1.8.4 — Yetki renkli profil çerçevesi, mavi onay, altın şeridi   */
/* ------------------------------------------------------------------ */
.nv .avatar { --av: var(--line-strong); --av-gap: var(--surface); overflow: visible; border: 0; box-shadow: 0 0 0 2px var(--av-gap), 0 0 0 4px var(--av) }
.nv .avatar img { border-radius: 50% }
.nv .avatar.av-admin { --av: #E9AE3A }        /* Merkez Yöneticisi: altın */
.nv .avatar.av-sube_admin { --av: #8B5CF6 }   /* Yayın / Şube Yöneticisi: mor */
.nv .avatar.av-yetkili { --av: #1FAE7A }      /* Onay yetkilisi: yeşil */
.nv .avatar.av-operator { --av: #3B82F6 }     /* Kayıt görevlisi: mavi */
.nv-side .avatar { --av-gap: var(--nv-side) }
.av-tick { position: absolute; right: -18%; bottom: -14%; width: 48%; height: 48%; min-width: 15px; min-height: 15px; z-index: 2; display: block; filter: drop-shadow(0 0 0 var(--av-gap)) drop-shadow(0 1px 2px rgba(0, 0, 0, .35)) }
.av-tick svg { display: block; width: 100%; height: 100% }
.nv .profile-avatar .av-tick { right: -4%; bottom: -2%; width: 30%; height: 30% }
.av-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 14px; font-size: 13px; color: var(--ink-2) }
.av-legend span { display: inline-flex; align-items: center; gap: 7px }
.av-legend i { width: 12px; height: 12px; border-radius: 50%; border: 3px solid var(--c); box-sizing: content-box }

.gold-strip { display: grid; grid-template-columns: minmax(170px, .9fr) repeat(4, minmax(0, 1fr)); gap: 0; align-items: stretch; margin: 0 0 14px; border-radius: var(--nv-r-lg); background: linear-gradient(120deg, color-mix(in srgb, var(--nv-gold) 20%, var(--surface)), var(--surface) 46%); border: 1px solid color-mix(in srgb, var(--nv-gold) 55%, var(--line)); box-shadow: var(--nv-card-shadow); color: var(--ink); text-decoration: none; overflow: hidden; transition: transform .14s ease }
.gold-strip:hover { transform: translateY(-2px) }
.gold-strip-head { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 14px 18px; font: 700 15px/1.2 var(--f-display); letter-spacing: -.01em; position: relative; padding-left: 46px }
.gold-strip-head i { position: absolute; left: 16px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 5px; transform: rotate(45deg); background: linear-gradient(135deg, #F6D27A, var(--nv-gold) 55%, #B77F12); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6) }
.gold-strip-head small { font: 500 12px/1.3 var(--f-body); letter-spacing: 0; color: var(--ink-3) }
.gold-cell { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; border-left: 1px solid color-mix(in srgb, var(--nv-gold) 30%, var(--line)); min-width: 0 }
.gold-cell span { font: 700 10.5px/1.2 var(--f-body); letter-spacing: .13em; text-transform: uppercase; color: var(--ink-3) }
.gold-cell b { font: 700 21px/1.05 var(--f-display); letter-spacing: -.025em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere }
.gold-cell small { font-size: 12.5px; color: var(--ink-2) }
.nv .gold-stats { gap: 12px }
.nv .gold-stat { border-radius: var(--nv-r-lg); padding: 16px 18px; box-shadow: var(--nv-card-shadow); border-color: color-mix(in srgb, var(--nv-gold) 45%, var(--line)) }
.nv .gold-stat strong { font: 700 26px/1.05 var(--f-display); letter-spacing: -.03em }
@media (max-width: 900px) { .gold-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) } .gold-strip-head { grid-column: 1 / -1; border-bottom: 1px solid color-mix(in srgb, var(--nv-gold) 30%, var(--line)) } .gold-cell:nth-child(2n) { border-left: 0 } }
@media print { .gold-strip { box-shadow: none; background: none } }

/* V1.8.5 — mavi onay kutucuğu */
.tick-check { align-items: flex-start }
.tick-check input { margin-top: 2px }
.tick-check span { display: flex; flex-direction: column; gap: 2px; font-weight: 600 }
.tick-check small { font-weight: 400; font-size: 12.5px; color: var(--ink-3) }

/* V1.8.6 — sohbet: yetki renkli yuvarlak çerçeve ve mavi onay */
.nv .chat-round-avatar { --av: var(--line-strong); --av-gap: var(--surface); overflow: visible; border: 0; background: var(--surface-2); box-shadow: 0 0 0 2px var(--av-gap), 0 0 0 4px var(--av) }
.nv .chat-round-avatar img { border-radius: 50% }
.nv .chat-round-avatar.av-admin { --av: #E9AE3A }
.nv .chat-round-avatar.av-sube_admin { --av: #8B5CF6 }
.nv .chat-round-avatar.av-yetkili { --av: #1FAE7A }
.nv .chat-round-avatar.av-operator { --av: #3B82F6 }
.nv .msg-meta .chat-round-avatar { margin: 0 6px 0 4px; box-shadow: 0 0 0 1.5px var(--av-gap), 0 0 0 3.5px var(--av) }
.nv .chat-header-person .chat-round-avatar, .nv .drow.thread .chat-round-avatar { margin: 4px 8px 4px 4px }
.nv .msg-meta .av-tick { right: -30%; bottom: -24%; width: 58%; height: 58%; min-width: 13px; min-height: 13px }

/* V1.8.7 — altın şeridi liste, canlı ve raporlarda */
body[data-page="liste"] .gold-strip { margin-top: 12px }
body[data-page="canli"] .gold-strip { margin-top: 14px }

/* ------------------------------------------------------------------ */
/* 12. V1.8.8 — bildirim zili, şube panosu, renkli hızlı tutarlar        */
/* ------------------------------------------------------------------ */
.nv-bell .nv-ico-bell { display: none }
.nv-bell[aria-pressed="true"] .nv-ico-bell { display: block; color: var(--accent) }
.nv-bell[aria-pressed="true"] .nv-ico-belloff { display: none }
.nv-bell[aria-pressed="true"]::after { content: ""; position: absolute; top: 7px; right: 8px; width: 7px; height: 7px; border-radius: 50%; background: var(--good); box-shadow: 0 0 0 2px var(--bg) }
@media (max-width: 520px) { .nv-bell { display: none } }

.branch-portal > * + * { margin-top: 16px }
a.ozet-kpi { text-decoration: none; color: var(--ink); transition: transform .14s ease, border-color .14s ease }
a.ozet-kpi:hover { transform: translateY(-2px); border-color: var(--line-strong) }
.ozet-kpi.is-alert { border-color: var(--warn); box-shadow: 0 0 0 1px var(--warn), var(--nv-card-shadow) }
.ozet-kpi.is-alert b { color: var(--warn) }
.nv .branch-actions { padding: 16px 20px; display: flex; flex-wrap: wrap; gap: 8px }
.nv .branch-closed-note { padding: 0 20px 16px }

/* Hızlı tutarlar: tutar büyüdükçe altın tonu koyulaşır (tek renk ailesi; gökkuşağı değil). */
.nv .quick .qchip { --q: 8%; background: color-mix(in srgb, var(--nv-gold) var(--q), var(--surface)); border-color: color-mix(in srgb, var(--nv-gold) calc(var(--q) + 34%), var(--line-strong)); color: var(--ink) }
.nv .quick .qchip:nth-child(2) { --q: 14% }
.nv .quick .qchip:nth-child(3) { --q: 20% }
.nv .quick .qchip:nth-child(4) { --q: 27% }
.nv .quick .qchip:nth-child(5) { --q: 34% }
.nv .quick .qchip:nth-child(6) { --q: 44% }
.nv .quick .qchip:nth-child(n+7) { --q: 58% }
.nv .quick .qchip:hover { background: var(--ink); border-color: var(--ink); color: var(--bg) }
.nv .quick .qchip:active { transform: translateY(1px) }

/* V1.8.9 — düzeltme: kayıt düzenleme penceresinde seçili ödeme şekli okunmuyordu
   (eski kural yazıyı, yeni kural zemini aynı renge çekiyordu). Seçili kutu artık yöntemin kendi rengiyle dolar, yazı beyaz. */
.nv .mchip.meth-nakit { --method: #0c7f75 }
.nv .mchip[class*="meth-"] input:checked + span { background: var(--method); border-color: var(--method); color: #fff !important; font-weight: 700; box-shadow: 0 8px 18px -10px var(--method) }
.nv .mchip[class*="meth-"]:hover input:checked + span { border-color: var(--method) }

/* ------------------------------------------------------------------ */
/* 13. V1.9 — Mesajlaşma: balonlar, gruplama, ✓ / ✓✓ / mavi ✓✓, çevrimiçi */
/* ------------------------------------------------------------------ */
.nv .chat { gap: 3px; padding-bottom: 4px }
.nv .chat-head { gap: 8px 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line) }
.nv .chat .day-sep { margin: 12px 0 8px }
.nv .chat .day-sep span { font: 600 11px/1 var(--f-body); letter-spacing: .1em; border-radius: 99px; padding: 6px 12px }
.cm-presence { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--ink-3) }
.cm-presence::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong) }
.cm-presence.on { color: var(--good); font-weight: 600 }
.cm-presence.on::before { background: var(--good); box-shadow: 0 0 0 3px color-mix(in srgb, var(--good) 22%, transparent) }
.cm { display: flex; align-items: flex-end; gap: 10px; max-width: min(84%, 560px); margin-top: 10px }
.cm.grp { margin-top: 0 }
.cm.mine { align-self: flex-end; flex-direction: row-reverse }
.cm.theirs { align-self: flex-start }
.cm-av { flex: none; width: 32px; height: 32px; align-self: flex-start; margin-top: 2px; display: flex }
.cm-av .chat-round-avatar { width: 32px; height: 32px; font-size: 11px; margin: 0 }
.cm-av .av-tick { right: -22%; bottom: -18%; width: 52%; height: 52%; min-width: 14px; min-height: 14px }
.cm-b { position: relative; min-width: 96px; display: flex; flex-direction: column; gap: 3px; padding: 8px 12px 6px; border-radius: 16px; background: var(--surface-2); color: var(--ink); box-shadow: 0 1px 0 rgba(0, 0, 0, .04) }
.cm.theirs:not(.grp) .cm-b { border-top-left-radius: 5px }
.cm.mine:not(.grp) .cm-b { border-top-right-radius: 5px }
.cm.mine .cm-b { background: var(--accent); color: var(--accent-ink) }
.cm.bc .cm-b { background: var(--warn-soft); color: var(--ink) }
.cm.urgent .cm-b { box-shadow: inset 3px 0 0 var(--bad) }
.cm-name { font: 700 12px/1.3 var(--f-body); color: var(--ink-2) }
.cm.mine .cm-name { display: none }
.cm-tags { display: flex; flex-wrap: wrap; gap: 4px }
.cm-tags .chip { height: 19px; font-size: 11px; padding: 0 7px }
.cm .msg-body { font-size: 15px; line-height: 1.45; color: inherit }
.cm.mine .msg-ref { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .35); color: inherit }
.cm-foot { display: flex; align-items: center; justify-content: flex-end; gap: 5px; margin-top: 1px; font-size: 11px; line-height: 1; color: var(--ink-3) }
.cm.mine .cm-foot { color: color-mix(in srgb, var(--accent-ink) 72%, transparent) }
.cm-foot time { font-variant-numeric: tabular-nums }
.cm-tick { display: inline-flex; width: 17px; height: 17px }
.cm-tick svg { width: 100%; height: 100% }
.cm-tick.seen { color: #7FD4FF }
html[data-theme="dark"] .cm-tick.seen { color: #0B5FD0 }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) .cm-tick.seen { color: #0B5FD0 } }
.cm .msg-delete { margin: 0 auto 0 -6px; padding: 3px 6px; font-size: 11px; opacity: 0; transition: opacity .12s ease; color: var(--bad) }
.cm.mine .msg-delete { color: inherit }
.cm:hover .msg-delete, .cm .msg-delete:focus-visible { opacity: 1 }
.cm .msg-delete:hover, .cm .msg-delete:focus-visible { background: color-mix(in srgb, currentColor 14%, transparent); color: inherit }
@media (hover: none) { .cm .msg-delete { opacity: .75 } }
.nv .composer-row { align-items: flex-end; gap: 10px }
.nv .composer-row textarea { border-radius: 22px; padding: 12px 16px; min-height: 46px }
.nv .composer-row .cm-send { width: 46px; min-width: 46px; height: 46px; min-height: 46px; padding: 0; border-radius: 50% }
.nv .composer-row .cm-send svg { width: 20px; height: 20px }
@media (max-width: 520px) { .cm { max-width: 92% } }

/* V1.9 — yan menüde yönetici alanı: ayırıcı başlık ve renkli grup adları */
.nv-admin-sep { display: flex; align-items: center; gap: 10px; margin: 16px 4px 2px; font: 700 10px/1 var(--f-body); letter-spacing: .18em; text-transform: uppercase; color: var(--nv-gold) }
.nv-admin-sep::before, .nv-admin-sep::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--nv-gold) 55%, transparent)) }
.nv-admin-sep::after { transform: scaleX(-1) }
.nv-group { --g: var(--nv-side-ink-3) }
.nv-group.nv-g1 { --g: #4FD6E8 }   /* Yayın ve Ekip: su mavisi */
.nv-group.nv-g2 { --g: #F0BC55 }   /* Finans ve Rapor: altın */
.nv-group.nv-g3 { --g: #5FDDA9 }   /* Kayıt Bakımı: yeşil */
.nv-group.nv-g4 { --g: #FF9A8B }   /* Güvenlik ve Sistem: mercan */
.nv-group.nv-g5 { --g: #C4A7FF }
.nv-group > summary { color: var(--g) }
.nv-group > summary:hover { color: #fff }
.nv-group-dot { width: 8px; height: 8px; border-radius: 3px; background: var(--g); flex: none; box-shadow: 0 0 10px color-mix(in srgb, var(--g) 70%, transparent) }
.nv-group .nv-group-n { background: color-mix(in srgb, var(--g) 22%, transparent); color: var(--g) }
.nv-group .nv-nav a[aria-current="page"] { background: linear-gradient(90deg, color-mix(in srgb, var(--g) 24%, transparent), color-mix(in srgb, var(--g) 6%, transparent)) }
.nv-group .nv-nav a[aria-current="page"]::before { background: var(--g); box-shadow: 0 0 14px var(--g) }
.nv-group .nv-nav a[aria-current="page"] .nv-ico { color: var(--g) }
@media (min-width: 1024px) { html.nv-rail .nv-admin-sep span, html.nv-rail .nv-group-dot { display: none } html.nv-rail .nv-admin-sep { margin: 10px 0 0 } }

/* ------------------------------------------------------------------ */
/* 14. V1.9.2 — bakım modu, oturum listesi, sohbet ekleri, altın belgesi */
/* ------------------------------------------------------------------ */
.nv-maint { padding: 9px clamp(16px, 2.6vw, 36px); background: var(--nv-gold); color: #2B1D00; font-size: 13.5px; line-height: 1.4 }
.nv-maint a { color: inherit; font-weight: 700 }
.maint-panel.is-on { border-color: var(--nv-gold); box-shadow: 0 0 0 1px var(--nv-gold), var(--nv-card-shadow) }
.maint-panel.is-on .panel-note { color: var(--warn); font-weight: 700 }
.sess-row { grid-template-columns: minmax(0, 1fr) auto; align-items: center; cursor: default }
.sess-row:hover { background: none }

.cm-attach { flex: none; width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--surface); color: var(--ink-2); cursor: pointer }
.cm-attach:hover { color: var(--ink); border-color: var(--ink-3) }
.cm-attach:disabled { opacity: .5 }
.cm-attach svg { width: 20px; height: 20px }
.cm-img { display: block; margin: 2px -4px 2px; border-radius: 12px; overflow: hidden; max-width: 320px; background: rgba(0, 0, 0, .12) }
.cm-img img { display: block; width: 100%; max-height: 320px; object-fit: cover }
.cm-file { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; align-items: center; padding: 8px 10px; border-radius: 10px; background: rgba(0, 0, 0, .1); color: inherit; text-decoration: none; min-width: 200px }
.cm-file b { grid-row: 1 / 3; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; background: var(--bad); color: #fff; font: 700 11px/1 var(--f-body) }
.cm-file span { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.cm-file small { font-size: 12px; opacity: .75 }
.gold-doc { margin-top: 6px }
[data-gold-live][hidden] { display: none }

.gdpr-search { display: flex; flex-wrap: wrap; gap: 10px; align-items: center }
.gdpr-search .input { flex: 1 1 260px }
.gdpr-search select { width: auto; min-width: 160px }
.gdpr-table { border: 0; border-radius: 0; border-bottom: 1px solid var(--line) }
.gdpr-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 18px; align-items: start }
.gdpr-act { display: flex; flex-direction: column; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface) }
.gdpr-act.danger { border-color: color-mix(in srgb, var(--bad) 45%, var(--line)); background: color-mix(in srgb, var(--bad-soft) 45%, var(--surface)) }
.gdpr-act .btn { align-self: flex-start }
@media (max-width: 860px) { .gdpr-actions { grid-template-columns: 1fr } }
.studio-links { gap: 10px }
.gdpr-table .v17-select-row { display: table-row; padding: 0; border: 0; gap: 0 }
.gdpr-table .v17-select-row > td { display: table-cell }
.gdpr-table .tbl td, .gdpr-table .tbl th { white-space: nowrap }

/* V1.9.3 — yayın içi sıra numarası: büyük rakam sıra no, altındaki küçük # sistem numarası */
.nv .no.has-seq { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding-top: 0 }
.nv .no .seq { font: 700 19px/1.1 var(--f-display); letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums }
.nv .no.has-seq small { font: 500 11px/1 var(--f-mono); color: var(--ink-3) }
.nv .no.has-seq input { margin-bottom: 4px }

/* V1.9.5 — aynı anda aynı bağışçı uyarısı */
.nv .live-dup { border-width: 2px; border-color: var(--bad); background: var(--bad-soft); animation: nv-fade .2s ease-out }
.nv .live-dup b { color: var(--bad) }
