/* GukUp tasarım sistemi — web ve mobil kabuk aynı dosyayı kullanır. */
/* Anadolu teması: krem zemin, petrol yeşili, turuncu ve hardal; köşeli kartlar, kaydırılmış gölge. */
:root {
  --primary: #0b4947;
  --primary-strong: #073936;
  --primary-soft: #dfe7dc;
  --accent: #d95632;
  --yellow: #edbd3f;
  --cream: #fff9ea;
  --bg: #f2ead8;
  --surface: #f8f3e8;
  --surface-2: #ede4cf;
  --ink: #183432;
  --muted: #62716c;
  --line: #cdc4ad;
  --line-strong: #9aa69b;
  --ok: #2f795b;
  --ok-soft: #dcebdc;
  --warn: #b87918;
  --warn-soft: #f6e6c2;
  --danger: #c7482d;
  --danger-soft: #f6dcd2;
  --info: #1d6f8b;
  --info-soft: #dbe9ec;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow: 5px 5px 0 rgba(11, 73, 71, .08);
  --shadow-lg: 10px 10px 0 rgba(11, 73, 71, .2);
  --sidebar: 244px;
  --font: "Segoe UI", "Inter", system-ui, -apple-system, Roboto, sans-serif;
  --display: "Archivo Black", "Arial Black", "Segoe UI", sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--font); background: var(--bg); color: var(--ink); font-size: 15px; line-height: 1.45; -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
a.plain, a.plain:hover { color: inherit; text-decoration: none; }
h1 { font-size: 1.55rem; margin: 0; letter-spacing: -.02em; }
h2 { font-size: 1.2rem; margin: 0 0 .5rem; }
h3 { font-size: 1rem; margin: 0; display: flex; align-items: center; gap: .45rem; }
h4 { font-size: .9rem; margin: 1rem 0 .5rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
p { margin: .25rem 0; }
small { display: block; font-size: .82rem; color: var(--muted); }
code { background: var(--surface-2); padding: .1rem .35rem; border-radius: 6px; }
.muted { color: var(--muted); }
.small { font-size: .85rem; }
.pre { white-space: pre-line; }
.grow { flex: 1; min-width: 0; }
.row { display: flex; align-items: center; }
.row.gap { gap: .5rem; }
.row.between { justify-content: space-between; gap: .5rem; }
.wrap { flex-wrap: wrap; }
.right { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: .2rem; }
.neg { color: var(--danger); }
.pos { color: var(--ok); }
.icon { flex-shrink: 0; vertical-align: middle; }
.rot90 { transform: rotate(90deg); }
.align-end { display: flex; align-items: flex-end; }

/* ---------- Form ---------- */
label { display: flex; flex-direction: column; gap: .3rem; font-size: .85rem; font-weight: 600; color: var(--muted); margin-bottom: .75rem; }
label.check { flex-direction: row; align-items: center; gap: .5rem; font-weight: 500; color: var(--ink); }
input, select, textarea {
  font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: .62rem .75rem; width: 100%; min-height: 42px; transition: border-color .15s, box-shadow .15s;
}
textarea { resize: vertical; min-height: 64px; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent); }
input[type=checkbox] { width: 18px; height: 18px; min-height: 0; accent-color: var(--primary); }
input[type=color] { padding: 2px; height: 42px; }
.input-icon { position: relative; }
.input-icon .icon { position: absolute; left: .7rem; top: 50%; transform: translateY(-50%); color: var(--muted); }
.input-icon input { padding-left: 2.2rem; }
.input-suffix { display: flex; align-items: center; gap: .3rem; margin-bottom: .6rem; }
.input-suffix span { color: var(--muted); }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .75rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 .75rem; }
details summary { cursor: pointer; font-weight: 600; color: var(--muted); margin: .5rem 0; }

/* ---------- Butonlar ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem; font: inherit; font-weight: 600; font-size: .9rem;
  padding: .55rem .95rem; min-height: 40px; border-radius: var(--radius-sm); border: 1px solid var(--line); background: var(--surface); color: var(--ink);
  cursor: pointer; white-space: nowrap; transition: background .15s, border-color .15s, transform .05s; text-decoration: none !important;
}
.btn:hover { border-color: color-mix(in srgb, var(--primary) 40%, var(--line)); }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn.primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.btn.primary:hover { background: var(--primary-strong); }
.btn.ghost { background: transparent; border-color: transparent; }
.btn.ghost:hover { background: var(--surface-2); }
.btn.danger { background: var(--danger); border-color: var(--danger); color: #fff; }
.btn.danger.ghost, .btn.ghost.danger { background: transparent; border-color: transparent; color: var(--danger); }
.btn.sm { padding: .35rem .65rem; min-height: 32px; font-size: .82rem; }
.btn.block { width: 100%; margin-top: .4rem; }
.btn.whatsapp { background: #25d366; border-color: #25d366; color: #073b1c; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; border: none; background: transparent; color: var(--muted); cursor: pointer; flex-shrink: 0; }
.icon-btn:hover { background: var(--surface-2); color: var(--ink); }
.icon-btn:disabled { opacity: .35; }
.link-btn { background: none; border: none; padding: .25rem 0; color: var(--primary); font: inherit; font-weight: 600; font-size: .88rem; cursor: pointer; display: inline-flex; align-items: center; gap: .3rem; }
.link-btn:disabled { color: var(--muted); }
.small-link { display: block; margin-top: 1rem; text-align: center; font-size: .9rem; }

.segmented { display: inline-flex; background: var(--surface-2); border-radius: var(--radius-sm); padding: 3px; gap: 2px; flex-wrap: wrap; }
.segmented button { border: none; background: transparent; color: var(--muted); font: inherit; font-weight: 600; font-size: .85rem; padding: .4rem .75rem; border-radius: 8px; cursor: pointer; }
.segmented button.on { background: var(--surface); color: var(--ink); box-shadow: var(--shadow); }
.report-sections { margin-bottom: 1rem; }
.report-sections button { display: inline-flex; align-items: center; gap: .4rem; }
.stock-report-filters { max-width: 640px; }
.stock-report-note { margin: 0 0 1rem; font-size: .82rem; }
.report-table-scroll { overflow-x: auto; }
.report-table-scroll .table { min-width: 680px; }
.stock-report-pages { justify-content: flex-end; align-items: center; margin-top: .8rem; font-size: .85rem; }
label .segmented { align-self: flex-start; }

.chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: .4rem 0 .6rem; }
.chip { --chip: var(--primary); border: 1px solid var(--line); background: var(--surface); color: var(--ink); font: inherit; font-size: .85rem; font-weight: 600; padding: .38rem .8rem; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; gap: .3rem; }
.chip.on { background: var(--chip); border-color: var(--chip); color: #fff; }
.chip.static { cursor: default; font-weight: 500; background: var(--surface-2); border-color: transparent; }
.chip.tone-ok { background: var(--ok-soft); color: var(--ok); }
.chip.tone-warn { background: var(--warn-soft); color: var(--warn); }
.chip.tone-info { background: var(--info-soft); color: var(--info); }

.pill { display: inline-flex; align-items: center; font-size: .75rem; font-weight: 700; padding: .18rem .55rem; border-radius: 999px; background: var(--surface-2); color: var(--muted); white-space: nowrap; }
.pill.ok { background: var(--ok-soft); color: var(--ok); }
.pill.warn { background: var(--warn-soft); color: var(--warn); }
.pill.info { background: var(--info-soft); color: var(--info); }
.pill.accent { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--accent); }
.badge { display: inline-flex; min-width: 20px; height: 20px; padding: 0 6px; align-items: center; justify-content: center; border-radius: 999px; background: var(--primary); color: #fff; font-size: .72rem; font-weight: 800; margin-left: .3rem; }
.badge.warn { background: var(--warn); }

.avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--primary-soft); color: var(--primary); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: .85rem; flex-shrink: 0; }
.avatar.sm { width: 30px; height: 30px; font-size: .72rem; }
.avatar.lg { width: 56px; height: 56px; font-size: 1.1rem; }

.alert { padding: .7rem .9rem; border-radius: var(--radius-sm); background: var(--surface-2); margin: .6rem 0; font-size: .9rem; display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.alert.error { background: var(--danger-soft); color: var(--danger); }
.alert.ok { background: var(--ok-soft); color: var(--ok); }
/* Ödeme tamamlandı: metin ilk satırda, sonraki adım düğmeleri altında. */
.ps-paid > .grow { flex: 1 1 calc(100% - 32px); font-weight: 700; }
.ps-paid > .btn { margin-left: 28px; }
.ps-paid > .btn + .btn { margin-left: 0; }
.alert.warn { background: var(--warn-soft); color: var(--warn); }
.alert input { flex: 1 1 100%; font-size: .8rem; }
/* Alan altında kalıcı hata (ör. ödeme formunda telefon biçimi). */
.field-err { display: block; color: var(--danger); font-size: .8rem; margin-top: .2rem; }
label.has-err input, input[aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 1px var(--danger-soft); }
.note { background: var(--warn-soft); color: var(--ink); border-radius: 8px; padding: .45rem .65rem; font-size: .88rem; margin: .4rem 0; }
.hint { display: flex; gap: .5rem; align-items: flex-start; color: var(--muted); font-size: .9rem; margin: .25rem 0 1rem; }
.hint .icon { margin-top: 2px; color: var(--primary); }

/* ---------- Boot / loading / empty ---------- */
.boot { min-height: 60vh; display: flex; align-items: center; justify-content: center; }
.loading { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 2.5rem 1rem; color: var(--muted); }
.spinner { width: 28px; height: 28px; border-radius: 50%; border: 3px solid var(--line); border-top-color: var(--primary); animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.empty { text-align: center; padding: 2.5rem 1rem; display: flex; flex-direction: column; align-items: center; gap: .4rem; color: var(--muted); }
.empty strong { color: var(--ink); font-size: 1.02rem; }
.empty-icon { width: 60px; height: 60px; border-radius: 18px; background: var(--primary-soft); color: var(--primary); display: flex; align-items: center; justify-content: center; margin-bottom: .3rem; }
.empty .btn { margin-top: .6rem; }
#blazor-error-ui { display: none; position: fixed; bottom: 0; left: 0; right: 0; background: #7f1d1d; color: #fff; padding: .7rem 1rem; z-index: 1000; }
#blazor-error-ui .reload { color: #fff; font-weight: 700; margin-left: .5rem; }
#blazor-error-ui .dismiss { float: right; cursor: pointer; }

/* ---------- Kabuk ---------- */
.shell { display: flex; min-height: 100vh; min-height: 100dvh; }
.sidebar { width: var(--sidebar); flex-shrink: 0; background: var(--surface); border-right: 1px solid var(--line); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; height: 100dvh; }
.brand { display: flex; align-items: center; gap: .65rem; padding: 1rem 1rem .75rem; }
.brand.big { padding: 0 0 1.5rem; }
.brand.big .logo { width: 44px; height: 44px; font-size: 1.3rem; }
.brand.big strong { font-size: 1.4rem; }
.logo { width: 36px; height: 36px; border-radius: 11px; background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 55%, var(--accent))); color: #fff; font-weight: 900; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.brand-text { min-width: 0; flex: 1; }
.brand-text strong { display: block; font-size: 1.05rem; }
.ws-switch { min-height: 28px; padding: .1rem .3rem; font-size: .8rem; border: none; background: var(--surface-2); margin-top: 2px; }
.nav { flex: 1; overflow-y: auto; padding: .25rem .6rem 1rem; }
.nav-group { margin-bottom: .6rem; }
.nav-title { display: block; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); padding: .7rem .6rem .3rem; }
.nav-item { display: flex; align-items: center; gap: .7rem; padding: .55rem .65rem; border-radius: 10px; color: var(--ink); font-weight: 600; font-size: .92rem; text-decoration: none !important; }
.nav-item .icon { color: var(--muted); }
.nav-item:hover { background: var(--surface-2); }
.nav-item.active { background: var(--primary-soft); color: var(--primary); }
.nav-item.active .icon { color: var(--primary); }
.sidebar-foot { display: flex; align-items: center; gap: .6rem; padding: .8rem 1rem; border-top: 1px solid var(--line); }
.who { flex: 1; min-width: 0; }
.who strong { display: block; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.content { padding: 1.5rem 2rem 3rem; max-width: 1320px; width: 100%; }
.only-mobile { display: none !important; }
.drawer-backdrop { display: none; }

.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.page-head.tight { margin-bottom: .8rem; }
.page-head h1 { display: flex; align-items: center; gap: .5rem; }
.page-head p { margin-top: .2rem; }

.date-nav { display: inline-flex; align-items: center; gap: .25rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 2px; }
.date-nav input { border: none; min-height: 34px; padding: .2rem .4rem; width: auto; background: transparent; }

/* ---------- Kart / liste ---------- */
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; box-shadow: var(--shadow); margin-bottom: 1rem; }
.card.narrow { max-width: 640px; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .75rem; }
.card-head h3 .icon { color: var(--primary); }
.cards-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: .8rem; margin-bottom: 1rem; }
.cards-list .card { margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 1rem; align-items: start; }
.grid-cards .card { margin: 0; }
.list { list-style: none; margin: 0; padding: 0; }
.list.card { padding: .3rem .4rem; }
.list li { display: flex; align-items: center; gap: .75rem; padding: .7rem .7rem; border-bottom: 1px solid var(--line); }
.list li:last-child { border-bottom: none; }
.list li strong { display: block; }
.list.compact li { padding: .45rem .1rem; gap: .6rem; font-size: .9rem; }
.stock-recent { max-height: 360px; overflow-y: auto; }
.clickable { cursor: pointer; border-radius: 10px; }
.clickable:hover { background: var(--surface-2); }
.list .time, .num { font-variant-numeric: tabular-nums; font-weight: 700; min-width: 48px; color: var(--muted); font-size: .88rem; }
.list .qty { font-weight: 700; color: var(--primary); min-width: 32px; }
.kv { display: grid; grid-template-columns: auto 1fr; gap: .45rem 1rem; font-size: .92rem; margin: .5rem 0; }
.kv span { color: var(--muted); }
.kv strong { text-align: right; }
.table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.table th { text-align: left; color: var(--muted); font-weight: 600; padding: .4rem .3rem; border-bottom: 1px solid var(--line); }
.table td { padding: .45rem .3rem; border-bottom: 1px solid var(--line); }
.table .num { text-align: right; color: var(--ink); font-weight: 600; }
.thumb { width: 42px; height: 42px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.thumb.ph { background: var(--surface-2); display: flex; align-items: center; justify-content: center; color: var(--muted); }
.detail-head { display: flex; gap: .8rem; align-items: center; margin-bottom: .8rem; }
.detail-head > div { flex: 1; min-width: 0; }

/* ---------- İstatistik ---------- */
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.stat-grid.four { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.stat { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: .85rem 1rem; box-shadow: var(--shadow); }
.stat-label { display: flex; align-items: center; gap: .35rem; color: var(--muted); font-size: .82rem; font-weight: 600; }
.stat-value { font-size: 1.35rem; font-weight: 800; margin-top: .25rem; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.stat-hint { font-size: .78rem; color: var(--muted); display: flex; gap: .4rem; align-items: center; margin-top: .15rem; }
.trend { display: inline-flex; align-items: center; gap: 2px; font-weight: 700; }
.trend.up { color: var(--ok); }
.trend.down { color: var(--danger); }
.hero-stats { display: grid; grid-template-columns: minmax(280px, 1.1fr) 2fr; gap: 1rem; margin-bottom: 1rem; }
.hero-stats .stat-grid { margin: 0; grid-template-columns: 1fr 1fr; }
.hero-card { background: linear-gradient(140deg, var(--primary), color-mix(in srgb, var(--primary) 60%, #0b1f3a)); color: #fff; border-radius: var(--radius); padding: 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .3rem; box-shadow: var(--shadow-lg); }
.hero-card .muted { color: rgba(255,255,255,.75); }
.big-number { font-size: 2.2rem; font-weight: 900; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.split { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-weight: 600; font-size: .9rem; }
.split span { display: inline-flex; align-items: center; gap: .3rem; }
.compare { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .8rem; color: rgba(255,255,255,.8); margin-top: .5rem; border-top: 1px solid rgba(255,255,255,.2); padding-top: .5rem; }
.banner { display: flex; align-items: center; gap: .7rem; padding: .75rem 1rem; border-radius: var(--radius); background: var(--info-soft); color: var(--ink); margin-bottom: .8rem; text-decoration: none !important; }
.banner > span { flex: 1; }
.banner .icon { color: var(--info); }
.banner.warn { background: var(--warn-soft); }
.banner.warn .icon { color: var(--warn); }
.meter { height: 10px; background: var(--surface-2); border-radius: 999px; overflow: hidden; margin-bottom: .6rem; }
.meter div { height: 100%; background: linear-gradient(90deg, var(--primary), var(--accent)); border-radius: 999px; }
.bars { display: flex; align-items: flex-end; gap: 4px; height: 140px; padding-top: .5rem; }
.bars.wide { height: 180px; overflow-x: auto; }
.bar { flex: 1; min-width: 14px; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 3px; }
.bar div { width: 100%; background: color-mix(in srgb, var(--primary) 80%, transparent); border-radius: 5px 5px 2px 2px; min-height: 2px; }
.bar small { font-size: .65rem; }
.unbilled { padding: .4rem 0; border-top: 1px dashed var(--line); font-size: .88rem; }

/* ---------- Modal / toast ---------- */
.modal-backdrop { position: fixed; inset: 0; background: rgba(10, 15, 25, .5); backdrop-filter: blur(2px); z-index: 90; animation: fade .15s; }
.modal { position: fixed; z-index: 91; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(560px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem); background: var(--surface); border-radius: 18px; box-shadow: var(--shadow-lg); display: flex; flex-direction: column; animation: pop .18s ease-out; }
.modal.sm { width: min(420px, calc(100vw - 2rem)); }
.modal.lg { width: min(820px, calc(100vw - 2rem)); }
.modal header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.2rem .5rem; }
.modal header h2 { margin: 0; font-size: 1.1rem; }
.modal-body { padding: .5rem 1.2rem 1rem; overflow-y: auto; }
.modal footer { display: flex; gap: .5rem; justify-content: flex-end; align-items: center; padding: .8rem 1.2rem; border-top: 1px solid var(--line); flex-wrap: wrap; }
@keyframes fade { from { opacity: 0; } }
@keyframes pop { from { opacity: 0; transform: translate(-50%, -46%) scale(.98); } }
/* Bildirimler sağ üstte: altta kaydet/tahsilat çubukları var, alttaki bildirim onların düğmelerini örtüyordu. */
.toaster { position: fixed; top: 84px; right: 1.2rem; z-index: 200; display: flex; flex-direction: column; gap: .5rem; width: min(440px, calc(100vw - 2rem)); pointer-events: none; }
.toast { background: #0f1720; color: #fff; padding: .75rem 1rem; border-radius: 12px; box-shadow: var(--shadow-lg); display: flex; gap: .6rem; align-items: center; font-size: .92rem; animation: fade .2s; }
.toast .icon { color: #4ade80; }
.toast.error { background: #7f1d1d; }
.toast.error .icon { color: #fecaca; }

/* ---------- Seçiciler ---------- */
.search-box { display: flex; align-items: center; gap: .5rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 0 .75rem; margin-bottom: .6rem; }
.search-box input { border: none; box-shadow: none !important; padding-left: 0; background: transparent; }
.search-box .icon { color: var(--muted); }
.search-box.wide { max-width: 520px; }
.picker { margin-bottom: .8rem; }
.picker-list { list-style: none; margin: 0 0 .4rem; padding: .25rem; border: 1px solid var(--line); border-radius: var(--radius-sm); max-height: 240px; overflow-y: auto; }
.picker-list button { width: 100%; text-align: left; background: none; border: none; padding: .5rem .6rem; border-radius: 8px; cursor: pointer; font: inherit; color: var(--ink); }
.picker-list button:hover { background: var(--surface-2); }
.picked { display: flex; align-items: center; gap: .6rem; padding: .55rem .7rem; background: var(--primary-soft); border-radius: var(--radius-sm); margin-bottom: .8rem; }
.picked > div { flex: 1; }
.slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: .4rem; margin: .5rem 0 .8rem; }
.slot { border: 1px solid var(--line); background: var(--surface); border-radius: 10px; padding: .45rem .3rem; font: inherit; font-weight: 700; cursor: pointer; color: var(--ink); }
.slot small { font-weight: 500; font-size: .7rem; }
.slot.on, .slot:hover { border-color: var(--primary); background: var(--primary-soft); color: var(--primary); }

/* ---------- POS / adisyon ---------- */
.pos { display: grid; grid-template-columns: 1fr 380px; gap: 1rem; align-items: start; }
.pos-catalog, .pos-ticket { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: .9rem; box-shadow: var(--shadow); }
.pos-ticket { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); display: flex; flex-direction: column; }
.cat-tabs { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .5rem; margin-bottom: .4rem; scrollbar-width: none; }
.cat-tabs .chip { flex-shrink: 0; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: .55rem; }
.product {
  --tint: var(--primary); position: relative; border: 1px solid var(--line); border-top: 4px solid var(--tint); background: var(--surface); border-radius: 12px;
  padding: .7rem .65rem; min-height: 86px; display: flex; flex-direction: column; justify-content: space-between; text-align: left; cursor: pointer; font: inherit; color: var(--ink);
  transition: transform .06s, box-shadow .15s;
}
.product:hover { box-shadow: var(--shadow); }
.product:active { transform: scale(.97); background: color-mix(in srgb, var(--tint) 8%, var(--surface)); }
.product .name { font-weight: 700; font-size: .9rem; line-height: 1.25; }
.product .price { font-weight: 800; color: var(--tint); font-size: .92rem; margin-top: .4rem; }
.product .count { position: absolute; top: 6px; right: 6px; background: var(--tint); color: #fff; border-radius: 999px; min-width: 22px; height: 22px; font-size: .75rem; font-weight: 800; display: flex; align-items: center; justify-content: center; padding: 0 5px; }
.ticket-lines { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; }
.ticket-lines li { display: grid; grid-template-columns: 1fr auto auto; gap: .5rem; align-items: center; padding: .55rem 0; border-bottom: 1px dashed var(--line); }
.ticket-lines li.comp .name { text-decoration: line-through; color: var(--muted); }
.line-main { background: none; border: none; text-align: left; padding: 0; font: inherit; color: var(--ink); cursor: pointer; min-width: 0; }
.line-main .name { font-weight: 600; display: block; }
.line-main small { font-size: .75rem; }
.stepper { display: inline-flex; align-items: center; background: var(--surface-2); border-radius: 10px; }
.stepper button { width: 32px; height: 32px; border: none; background: none; color: var(--ink); cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 10px; }
.stepper button:hover { background: var(--line); }
.stepper span { min-width: 24px; text-align: center; font-weight: 800; font-variant-numeric: tabular-nums; }
.ticket-lines .total { font-variant-numeric: tabular-nums; min-width: 72px; text-align: right; }
.ticket-sum { padding: .6rem 0; border-top: 1px solid var(--line); margin-top: .4rem; font-size: .9rem; display: flex; flex-direction: column; gap: .2rem; }
.ticket-sum .grand { font-size: 1.25rem; font-weight: 800; margin-top: .2rem; }
.pay { display: flex; flex-direction: column; gap: .4rem; }
.pay-quick { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.pay-btn { min-height: 54px; font-size: 1.02rem; border: none; color: #fff; }
.pay-btn.cash { background: var(--ok); }
.pay-btn.card { background: var(--info); }
.split-pay { display: grid; grid-template-columns: 1fr 1fr auto; gap: .4rem; }
.pos-tabs { display: grid; grid-template-columns: 1fr 1fr; background: var(--surface-2); border-radius: var(--radius-sm); padding: 3px; margin-bottom: .6rem; grid-column: 1 / -1; }
.pos-tabs button { border: none; background: none; font: inherit; font-weight: 700; padding: .55rem; border-radius: 8px; color: var(--muted); cursor: pointer; }
.pos-tabs button.on { background: var(--surface); color: var(--ink); box-shadow: var(--shadow); }

/* ---------- Masa ekranı ---------- */
.legend { display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; font-size: .82rem; color: var(--muted); margin-bottom: .8rem; }
.legend span { display: inline-flex; align-items: center; gap: .35rem; }
.dot { width: 11px; height: 11px; border-radius: 4px; display: inline-block; }
.dot.free { background: var(--surface); border: 2px solid var(--line); }
.dot.occupied { background: var(--primary); }
.dot.bill { background: var(--accent); }
.dot.reserved { background: #a855f7; }
.area { margin-bottom: 1.4rem; }
.area h3 { margin-bottom: .6rem; color: var(--muted); font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.area-tabs { margin-bottom: 1rem; }
.floor { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: .7rem; }
.floor.small { grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: .5rem; margin: .5rem 0 1rem; }
.table-tile {
  aspect-ratio: 1 / .86; border-radius: 16px; border: 2px solid var(--line); background: var(--surface); color: var(--ink); cursor: pointer; font: inherit;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; padding: .5rem; transition: transform .06s, box-shadow .15s; position: relative;
}
.floor.small .table-tile { aspect-ratio: auto; min-height: 64px; }
.table-tile:hover { box-shadow: var(--shadow); }
.table-tile:active { transform: scale(.97); }
.table-tile.shape-round { border-radius: 50%; aspect-ratio: 1; }
.table-tile.shape-rectangle { aspect-ratio: 1.5 / .86; }
.t-name { font-size: 1.25rem; font-weight: 900; letter-spacing: -.02em; }
.floor.small .t-name { font-size: 1rem; }
.t-amount { font-weight: 800; font-size: .95rem; font-variant-numeric: tabular-nums; }
.t-meta { font-size: .72rem; opacity: .85; display: inline-flex; align-items: center; gap: 3px; text-align: center; }
.table-tile.occupied { background: var(--primary); border-color: var(--primary); color: #fff; }
.table-tile.billrequested { background: var(--accent); border-color: var(--accent); color: #fff; animation: pulse 1.6s infinite; }
.table-tile.reserved { border-color: #a855f7; background: color-mix(in srgb, #a855f7 10%, var(--surface)); }
.table-tile.selected { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent); }
.table-tile.inactive { opacity: .45; border-style: dashed; }
@keyframes pulse { 50% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 25%, transparent); } }

/* ---------- Rezervasyon zaman çizelgesi ---------- */
.timeline { display: grid; grid-template-columns: 56px 1fr; gap: .5rem .8rem; }
.tl-hour { font-weight: 800; color: var(--muted); font-variant-numeric: tabular-nums; padding-top: .9rem; grid-column: 1; }
.res-card { grid-column: 2; display: flex; gap: .9rem; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--info); border-radius: var(--radius); padding: .8rem 1rem; box-shadow: var(--shadow); }
.res-card.pending { border-left-color: var(--warn); }
.res-card.seated { border-left-color: var(--accent); }
.res-card.completed { border-left-color: var(--ok); opacity: .75; }
.res-card.cancelled, .res-card.noshow { opacity: .5; border-left-color: var(--muted); }
.res-time { font-weight: 800; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.res-body { flex: 1; min-width: 0; }
.res-body .actions { margin-top: .5rem; }

/* ---------- Takvim ---------- */
.cal-scroll { overflow: auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); max-height: calc(100vh - 190px); }
.cal { --min: 1.3px; --slot: calc(15 * var(--min)); display: grid; grid-template-columns: 56px repeat(var(--cols), minmax(150px, 1fr)); min-width: max-content; position: relative; }
.cal-corner, .cal-staff { position: sticky; top: 0; z-index: 3; background: var(--surface); border-bottom: 1px solid var(--line); height: 48px; }
.cal-staff { display: flex; align-items: center; gap: .45rem; padding: 0 .6rem; font-weight: 700; font-size: .88rem; border-left: 1px solid var(--line); }
.cal-corner { left: 0; z-index: 4; }
.cal-times { grid-column: 1; position: sticky; left: 0; z-index: 2; background: var(--surface); }
.cal-time { height: calc(4 * var(--slot)); font-size: .72rem; color: var(--muted); text-align: right; padding: 2px .45rem 0 0; font-variant-numeric: tabular-nums; }
.cal-col { position: relative; border-left: 1px solid var(--line); }
.cal-cell { height: var(--slot); border-top: 1px dotted color-mix(in srgb, var(--line) 60%, transparent); cursor: pointer; }
.cal-cell.hour { border-top: 1px solid var(--line); }
.cal-cell:hover { background: var(--primary-soft); }
.cal-cell.closed { background: repeating-linear-gradient(135deg, var(--surface-2), var(--surface-2) 4px, transparent 4px, transparent 8px); cursor: default; }
.cal-cell.closed:hover { background: repeating-linear-gradient(135deg, var(--surface-2), var(--surface-2) 4px, transparent 4px, transparent 8px); }
.cal-appt { position: absolute; left: 4px; right: 4px; border-radius: 8px; border: none; border-left: 4px solid var(--info); background: var(--info-soft); color: var(--ink); text-align: left; padding: 4px 7px; overflow: hidden; cursor: pointer; font: inherit; font-size: .78rem; z-index: 1; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.cal-appt strong { display: block; font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-appt small { font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-appt.warn { border-left-color: var(--warn); background: var(--warn-soft); }
.cal-appt.accent { border-left-color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, var(--surface)); }
.cal-appt.ok { border-left-color: var(--ok); background: var(--ok-soft); }
.cal-appt.muted { opacity: .55; }
.risk-dot { position: absolute; top: 4px; right: 5px; width: 18px; height: 18px; border-radius: 50%; background: var(--danger); color: #fff; font-weight: 900; font-size: .7rem; display: flex; align-items: center; justify-content: center; }
.now-line { position: absolute; left: 0; right: 0; height: 2px; background: var(--danger); z-index: 2; pointer-events: none; }
.now-line::before { content: ""; position: absolute; left: -4px; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: var(--danger); }
.day-list .list li { border-radius: 8px; }
.week-mini { display: flex; gap: 3px; margin-top: .4rem; }
.week-mini span { flex: 1; text-align: center; font-size: .7rem; font-weight: 700; padding: .25rem 0; border-radius: 6px; background: var(--surface-2); color: var(--muted); }
.week-mini span.on { background: var(--primary-soft); color: var(--primary); }
.hours-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: .4rem .6rem; align-items: center; }
.hours-grid label { margin: 0; }
.appt-card { border-left: 4px solid var(--info); }
.appt-card.ok { border-left-color: var(--ok); }
.appt-card.warn { border-left-color: var(--warn); }
.appt-card.accent { border-left-color: var(--accent); }
.big-time { font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.big-time small { display: inline; font-size: .9rem; }

/* ---------- Asistan ---------- */
.tabs { display: flex; gap: .3rem; overflow-x: auto; border-bottom: 1px solid var(--line); margin-bottom: 1rem; scrollbar-width: none; }
.tabs.small { margin-bottom: .8rem; }
.tab { border: none; background: none; font: inherit; font-weight: 700; color: var(--muted); padding: .65rem .8rem; border-bottom: 2px solid transparent; cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; }
.tab.on { color: var(--primary); border-bottom-color: var(--primary); }
.person .row { align-items: flex-start; }
.gap-row { display: flex; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--line); }
.gap-time { min-width: 110px; }
.gap-time strong { display: block; font-variant-numeric: tabular-nums; }
.candidate { display: flex; align-items: center; gap: .5rem; background: var(--primary-soft); border-radius: 10px; padding: .45rem .6rem; margin-top: .3rem; font-size: .88rem; }
.candidate span { flex: 1; }
.risk-score { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-weight: 900; flex-shrink: 0; }
.risk-score.high { background: var(--danger-soft); color: var(--danger); }
.risk-score.mid { background: var(--warn-soft); color: var(--warn); }
.heat-wrap { overflow-x: auto; }
.heat { display: grid; grid-template-columns: 44px repeat(var(--hours), minmax(30px, 1fr)); gap: 3px; min-width: max-content; }
.heat-h, .heat-d { font-size: .72rem; color: var(--muted); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.heat-d { justify-content: flex-start; }
.heat-c { --v: 0; height: 30px; border-radius: 6px; background: color-mix(in srgb, var(--primary) calc(var(--v) * 100%), var(--surface-2)); font-size: .68rem; display: flex; align-items: center; justify-content: center; color: var(--ink); font-weight: 700; }

/* ---------- Ayarlar ---------- */
.settings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .8rem; }
.setting-link { display: flex; align-items: center; gap: .9rem; margin: 0; color: var(--ink); text-decoration: none !important; }
.setting-link > .icon:first-child { color: var(--primary); }
.setting-link > div { flex: 1; }
.module.on { border-color: color-mix(in srgb, var(--primary) 50%, var(--line)); }
.switch { position: relative; display: inline-block; width: 46px; height: 26px; margin: 0; flex-shrink: 0; }
.switch.sm { width: 38px; height: 22px; }
.switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.switch span { position: absolute; inset: 0; background: var(--line); border-radius: 999px; cursor: pointer; transition: .2s; }
.switch span::before { content: ""; position: absolute; width: calc(100% - 26px + 6px); max-width: 20px; aspect-ratio: 1; left: 3px; top: 50%; transform: translateY(-50%); background: #fff; border-radius: 50%; transition: .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.switch.sm span::before { max-width: 16px; }
.switch input:checked + span { background: var(--primary); }
.switch input:checked + span::before { left: calc(100% - 23px); }
.switch.sm input:checked + span::before { left: calc(100% - 19px); }
.switch input:disabled + span { opacity: .5; cursor: not-allowed; }

/* ---------- Web sitesi editörü ---------- */
.editor { display: grid; grid-template-columns: 360px 1fr; gap: 1rem; align-items: start; }
.editor-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem; position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
.editor-preview { background: var(--surface-2); border-radius: var(--radius); padding: 1rem; display: flex; justify-content: center; min-height: 70vh; }
.editor-preview .device { width: 100%; background: var(--surface); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-lg); max-height: calc(100vh - 7rem); overflow-y: auto; }
.editor-preview.phone .device { width: 390px; border-radius: 28px; border: 8px solid #111; }
.palettes { display: grid; grid-template-columns: repeat(4, 1fr); gap: .45rem; }
.palette { display: flex; height: 38px; border-radius: 10px; overflow: hidden; border: 2px solid var(--line); padding: 0; cursor: pointer; }
.palette i { flex: 1; }
.palette.on { border-color: var(--primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 30%, transparent); }
.colors label { margin-bottom: .4rem; }
.block-list { list-style: none; padding: 0; margin: 0 0 .8rem; display: flex; flex-direction: column; gap: .3rem; }
.block-list li { display: flex; align-items: center; gap: .15rem; border: 1px solid var(--line); border-radius: 10px; padding: .15rem .3rem .15rem .6rem; }
.block-list li.on { border-color: var(--primary); background: var(--primary-soft); }
.block-list li.off .block-name { opacity: .5; }
.block-name { flex: 1; text-align: left; background: none; border: none; font: inherit; font-weight: 600; cursor: pointer; padding: .4rem 0; color: var(--ink); }
.block-editor { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: .4rem; }
.pair { display: grid; grid-template-columns: 1fr auto; gap: .3rem; margin-bottom: .6rem; padding: .5rem; background: var(--surface-2); border-radius: 10px; }
.pair textarea { grid-column: 1; }
.pair .icon-btn { grid-row: 1; grid-column: 2; }

/* ---------- Giriş ekranları ---------- */
.auth { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-columns: 1fr 1.1fr; }
.auth-side { background: linear-gradient(150deg, #0b3b37, #0f766e 55%, #155e75); color: #fff; padding: 3rem; display: flex; flex-direction: column; justify-content: center; }
.auth-side h2 { font-size: 2rem; letter-spacing: -.03em; margin-bottom: 1.5rem; }
.auth-side ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1rem; font-size: 1.02rem; }
.auth-side li { display: flex; gap: .7rem; align-items: center; opacity: .95; }
.auth-main { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem 1.2rem; }
.auth-card { width: min(420px, 100%); }
.auth-card.wide { width: min(640px, 100%); }
.auth-card h1 { font-size: 1.8rem; margin-bottom: .3rem; }
.auth-card form { margin-top: 1.5rem; }
/* Yerel demo hesapları (yalnız geliştirmede sunucu listeyi verir). */
.demo-accounts { margin-top: 1.4rem; padding: .9rem; border: 1px dashed var(--line-strong, var(--line)); border-radius: var(--radius); background: var(--surface); }
.demo-head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; font-size: .8rem; margin-bottom: .6rem; }
.demo-head b { font-size: .7rem; letter-spacing: .12em; }
.demo-accounts code { font-family: Consolas, monospace; font-weight: 700; background: var(--bg); padding: 0 .3rem; border-radius: 4px; }
.demo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
.demo-tile { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; min-width: 0; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: var(--radius-sm, 8px); background: var(--bg); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.demo-tile:hover:not(:disabled) { border-color: var(--primary); }
.demo-tile b { font-size: .82rem; line-height: 1.25; }
.demo-tile small { color: var(--muted); font-size: .7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.demo-more { margin-top: .7rem; font-size: .8rem; }
.demo-more summary { cursor: pointer; font-weight: 600; }
.demo-staff { margin-top: .6rem; display: flex; flex-direction: column; gap: .3rem; }
.demo-staff > div { display: flex; flex-wrap: wrap; gap: .3rem; }
.demo-staff .chip { font-size: .75rem; padding: .2rem .55rem; }
@media (max-width: 380px) { .demo-grid { grid-template-columns: 1fr; } }
.template-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: 1rem; }
.template { border: 2px solid var(--line); background: var(--surface); border-radius: var(--radius); padding: 1rem; text-align: left; cursor: pointer; font: inherit; color: var(--ink); display: flex; flex-direction: column; gap: .3rem; }
.template .icon { color: var(--primary); }
.template.selected { border-color: var(--primary); background: var(--primary-soft); }
.center-card { max-width: 520px; margin: 3rem auto; background: var(--surface); padding: 2rem; border-radius: 20px; box-shadow: var(--shadow); text-align: left; }
.center-card.wide { max-width: 640px; }
.public { min-height: 100vh; background: var(--bg); }

/* ---------- Herkese açık site ---------- */
.site { --bp-radius: 12px; min-height: 100%; }
.site-block { position: relative; }
.site.preview .site-block { cursor: pointer; }
.site.preview .site-block:hover { outline: 2px dashed color-mix(in srgb, var(--bp-primary) 50%, transparent); outline-offset: -2px; }
.site.preview .site-block.selected { outline: 2px solid var(--bp-primary); outline-offset: -2px; }
.site .hidden-block { opacity: .35; }
.site-inner { max-width: 1040px; margin: 0 auto; padding: 3rem 1.25rem; }
.site-inner.narrow { max-width: 680px; }
.site h2 { font-size: 1.8rem; letter-spacing: -.02em; margin-bottom: .5rem; }
.site .lead { color: var(--bp-muted); margin-bottom: 1.4rem; font-size: 1.05rem; }
.site .muted { color: var(--bp-muted); }
.site-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; background: var(--bp-primary); color: var(--bp-on-primary) !important; padding: .8rem 1.4rem; border-radius: var(--bp-radius-sm); font-weight: 700; border: 2px solid var(--bp-primary); cursor: pointer; font: inherit; font-weight: 700; text-decoration: none !important; }
.site-btn.sm { padding: .45rem .9rem; font-size: .9rem; }
.site-btn.block { width: 100%; margin-top: .6rem; }
.site-btn.ghost { background: transparent; color: var(--bp-primary) !important; }
.site-btn:disabled { opacity: .55; cursor: not-allowed; }
.btn-soft .site-btn { background: color-mix(in srgb, var(--bp-primary) 16%, transparent); color: var(--bp-primary) !important; border-color: transparent; }
.btn-outline .site-btn { background: transparent; color: var(--bp-primary) !important; }
.hero { position: relative; padding: 1rem 1.25rem 4rem; text-align: center; background: var(--bp-surface); background-size: cover; background-position: center; }
.hero.h-small { padding-bottom: 2.5rem; }
.hero.h-large { padding-bottom: 7rem; min-height: 72vh; }
.hero.align-left { text-align: left; }
.hero.has-image { color: #fff; }
.hero h1 { font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.035em; margin: 2.5rem auto .8rem; max-width: 820px; line-height: 1.08; }
.hero.align-left h1, .hero.align-left p { margin-left: 0; }
.hero p { font-size: 1.15rem; max-width: 600px; margin: 0 auto 1.8rem; opacity: .9; }
.site-nav { display: flex; align-items: center; gap: 1rem; max-width: 1040px; margin: 0 auto; text-align: left; }
.site-brand { display: flex; align-items: center; gap: .5rem; font-size: 1.1rem; }
.site-brand img { height: 36px; border-radius: 8px; }
.announce { display: inline-block; margin-top: 2rem; padding: .35rem .9rem; border-radius: 999px; background: color-mix(in srgb, var(--bp-accent) 18%, transparent); color: var(--bp-accent); font-weight: 700; font-size: .85rem; }
.hero.has-image .announce { background: rgba(255,255,255,.2); color: #fff; }
.svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .9rem; }
.svc { background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--bp-radius); overflow: hidden; display: flex; flex-direction: column; }
.svc img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.svc > div { padding: 1rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.svc p { color: var(--bp-muted); font-size: .92rem; flex: 1; }
.svc-meta { display: flex; justify-content: space-between; align-items: center; color: var(--bp-muted); font-size: .9rem; }
.svc-meta strong { color: var(--bp-primary); font-size: 1.05rem; }
.site-card { background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--bp-radius); padding: 1.3rem; box-shadow: 0 18px 48px rgba(20,30,22,.08); }
.site-card label { color: var(--bp-muted); }
.site-card input, .site-card select, .site-card textarea { background: var(--bp-bg); border-color: var(--bp-border); color: var(--bp-ink); }
.site-tabs { display: flex; gap: .3rem; margin-bottom: .8rem; background: var(--bp-surface); border-radius: var(--bp-radius-sm); padding: 4px; border: 1px solid var(--bp-border); }
.site-tabs button { flex: 1; border: none; background: none; font: inherit; font-weight: 700; padding: .6rem; border-radius: 8px; color: var(--bp-muted); cursor: pointer; }
.site-tabs button.on { background: var(--bp-primary); color: var(--bp-on-primary); }
.about.with-image { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: center; }
.about img { width: 100%; border-radius: var(--bp-radius); }
.team { display: flex; flex-wrap: wrap; gap: 1rem; }
.member { display: flex; flex-direction: column; align-items: center; gap: .4rem; font-weight: 600; }
.site-avatar { width: 72px; height: 72px; border-radius: 50%; background: color-mix(in srgb, var(--bp-primary) 15%, transparent); color: var(--bp-primary); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.3rem; }
.hours { list-style: none; padding: 0; margin: 0; background: var(--bp-surface); border-radius: var(--bp-radius); border: 1px solid var(--bp-border); }
.hours li { display: flex; justify-content: space-between; padding: .7rem 1rem; border-bottom: 1px solid var(--bp-border); }
.hours li:last-child { border-bottom: none; }
.gallery { display: grid; grid-template-columns: repeat(var(--cols), 1fr); gap: .6rem; }
.gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--bp-radius-sm); }
.faq { background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--bp-radius-sm); padding: .9rem 1.1rem; margin-bottom: .5rem; }
.faq summary { font-weight: 700; cursor: pointer; }
.quotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .9rem; }
.quotes blockquote { margin: 0; background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--bp-radius); padding: 1.2rem; }
.quotes cite { font-style: normal; font-weight: 700; color: var(--bp-muted); }
.contact-grid { display: flex; flex-direction: column; gap: .5rem; font-size: 1.05rem; }
.contact-grid a { color: var(--bp-primary); font-weight: 600; }
.free-img { max-width: 100%; border-radius: var(--bp-radius); }
.site-footer { text-align: center; padding: 2rem 1rem; color: var(--bp-muted); font-size: .9rem; border-top: 1px solid var(--bp-border); }
.w-steps { display: flex; list-style: none; padding: 0; margin: 0 0 1rem; gap: .3rem; counter-reset: s; }
.w-steps li { flex: 1; text-align: center; font-size: .8rem; font-weight: 700; color: var(--bp-muted); padding-bottom: .4rem; border-bottom: 3px solid var(--bp-border); }
.w-steps li.on { color: var(--bp-primary); border-color: var(--bp-primary); }
.w-steps li.done { color: var(--bp-ink); border-color: color-mix(in srgb, var(--bp-primary) 40%, transparent); }
.w-list { display: flex; flex-direction: column; gap: .5rem; }
.booking-page { min-height: 100dvh; padding: 0 1.25rem 5rem; container-type: inline-size; --ink: var(--bp-ink); --muted: var(--bp-muted); --surface: var(--bp-surface); --line: var(--bp-border); }
.booking-page-inner { width: min(100%, 1080px); margin: auto; }
.booking-page-header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--bp-border); }
.booking-page-header strong { text-align: right; overflow-wrap: anywhere; }
.booking-home { display: inline-flex; align-items: center; gap: .5rem; color: var(--bp-ink); flex-shrink: 0; font-size: .9rem; }
.booking-page-intro { padding: 2.5rem 0 2rem; text-align: center; }
.booking-page-icon { display: inline-flex; padding: .9rem; border-radius: 50%; color: var(--bp-primary); background: color-mix(in srgb, var(--bp-primary) 10%, var(--bp-bg)); }
.booking-page-intro h1 { font-family: var(--booking-heading, inherit); font-size: clamp(1.8rem, 5vw, 2.7rem); font-weight: 700; line-height: 1.15; margin: 1rem 0 .6rem; }
.booking-page-intro p { color: var(--bp-muted); margin: 0; }
.booking-page-card { padding: clamp(1rem, 3vw, 2rem); background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--bp-radius); box-shadow: 0 16px 48px color-mix(in srgb, var(--bp-ink) 5%, transparent); }
.booking-page .w-steps { gap: 1rem; margin-bottom: 2rem; }
.booking-page .w-steps li { padding: .5rem 0 .8rem; font-size: .95rem; }
.booking-service-tools { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.25rem; }
.booking-service-tools h2 { margin: 0 0 .4rem; font-size: 1.3rem; }
.booking-service-tools p { margin: 0; font-size: .9rem; }
.booking-service-search { min-width: 240px; margin: 0; font-size: .8rem; }
.booking-service-search input { margin-top: .4rem; background: var(--bp-bg); color: var(--bp-ink); border-color: var(--bp-border); }
.booking-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.booking-service-grid .booking-service-card { flex-wrap: wrap; align-content: start; align-items: start; padding: 1.2rem; min-width: 0; gap: .75rem; transition: border-color .15s, box-shadow .15s; }
.booking-service-card:hover { box-shadow: 0 4px 16px color-mix(in srgb, var(--bp-primary) 10%, transparent); }
.booking-service-card:focus-visible, .booking-home:focus-visible { outline: 3px solid var(--bp-primary); outline-offset: 3px; }
.booking-service-image { width: 64px; height: 64px; object-fit: cover; border-radius: var(--bp-radius-sm); }
.booking-service-info { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: .35rem; overflow-wrap: anywhere; }
.booking-service-description { color: var(--bp-muted); font-size: .85rem; line-height: 1.5; }
.booking-service-price { display: flex; align-items: center; gap: .5rem; }
.booking-service-card .booking-service-price { flex-basis: 100%; justify-content: space-between; border-top: 1px solid var(--bp-border); padding-top: .75rem; margin-top: .2rem; }
.booking-service-price > span { display: inline-flex; align-items: center; gap: .35rem; color: var(--bp-primary); font-size: .85rem; font-weight: 700; }
.booking-empty { padding: 2rem 1rem; text-align: center; color: var(--bp-muted); }
.booking-page .w-picked { flex-wrap: wrap; gap: .75rem; }
.booking-page .w-back { overflow-wrap: anywhere; }
@container (max-width: 640px) {
  .booking-page-header { gap: .75rem; font-size: .85rem; }
  .booking-home { font-size: .8rem; }
  .booking-page-intro { padding: 1.75rem .5rem 1.5rem; }
  .booking-page-card { padding: 1rem; }
  .booking-service-tools { align-items: stretch; flex-direction: column; gap: 1rem; }
  .booking-service-search { min-width: 0; }
  .booking-service-grid, .booking-page .w-grid2 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .booking-page { padding: 0 .85rem 3rem; }
  .booking-page-header { gap: .75rem; font-size: .85rem; }
  .booking-home { font-size: .8rem; }
  .booking-page-intro { padding: 1.75rem .5rem 1.5rem; }
  .booking-service-tools { align-items: stretch; flex-direction: column; gap: 1rem; }
  .booking-service-search { min-width: 0; }
  .booking-service-grid { grid-template-columns: minmax(0, 1fr); }
  .booking-page .w-grid2 { grid-template-columns: minmax(0, 1fr); }
}
.w-option { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; text-align: left; background: var(--bp-bg, var(--surface)); border: 1px solid var(--bp-border, var(--line)); border-radius: var(--bp-radius-sm, 10px); padding: .85rem 1rem; cursor: pointer; font: inherit; color: var(--bp-ink, var(--ink)); }
.w-option:hover { border-color: var(--bp-primary, var(--primary)); }
.w-option small { color: var(--bp-muted, var(--muted)); }
.w-back { background: none; border: none; color: var(--bp-primary); font: inherit; font-weight: 700; cursor: pointer; padding: 0; margin-bottom: .8rem; text-align: left; }
.w-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .8rem; }
.w-chips button, .w-slots button { border: 1px solid var(--bp-border); background: var(--bp-bg); color: var(--bp-ink); border-radius: 999px; padding: .45rem .9rem; font: inherit; font-weight: 600; cursor: pointer; }
.w-chips button.on, .w-slots button.on, .w-slots button:hover { background: var(--bp-primary); color: var(--bp-on-primary); border-color: var(--bp-primary); }
.w-days { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .5rem; margin-bottom: .6rem; scrollbar-width: thin; }
.w-days button { flex-shrink: 0; width: 56px; padding: .45rem 0; border-radius: var(--bp-radius-sm); border: 1px solid var(--bp-border); background: var(--bp-bg); color: var(--bp-ink); cursor: pointer; font: inherit; display: flex; flex-direction: column; align-items: center; }
.w-days button small { color: inherit; opacity: .75; font-size: .72rem; }
.w-days button strong { font-size: 1.1rem; }
.w-days button.on { background: var(--bp-primary); color: var(--bp-on-primary); border-color: var(--bp-primary); }
.w-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: .4rem; margin-bottom: .6rem; }
.w-slots button { border-radius: var(--bp-radius-sm); }
.w-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .7rem; }
.w-error { color: #dc2626; font-weight: 600; }
.w-consent { font-size: .8rem; color: var(--bp-muted); margin-top: .6rem; }
.w-done { text-align: center; padding: 1rem 0; }
.w-check { width: 58px; height: 58px; border-radius: 50%; background: var(--bp-primary, var(--primary)); color: var(--bp-on-primary, #fff); display: inline-flex; align-items: center; justify-content: center; margin-bottom: .6rem; }
.center-card .w-check { background: var(--primary); color: #fff; }

/* ---------- Mobil ---------- */
@media (max-width: 1100px) {
  .pos { grid-template-columns: 1fr 330px; }
  .editor { grid-template-columns: 1fr; }
  .editor-panel { position: static; max-height: none; }
  .hero-stats { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .only-mobile { display: flex !important; }
  .sidebar { position: fixed; left: 0; top: 0; bottom: 0; z-index: 60; transform: translateX(-100%); transition: transform .22s ease; box-shadow: var(--shadow-lg); width: min(300px, 86vw); }
  .drawer-open .sidebar { transform: none; }
  .drawer-open .drawer-backdrop { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 55; }
  .topbar { position: sticky; top: 0; z-index: 40; align-items: center; justify-content: space-between; gap: .5rem; padding: .55rem .75rem; padding-top: max(.55rem, env(safe-area-inset-top)); background: var(--surface); border-bottom: 1px solid var(--line); }
  .topbar strong { flex: 1; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .content { padding: 1rem .85rem calc(84px + env(safe-area-inset-bottom)); }
  .bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; z-index: 45; background: var(--surface); border-top: 1px solid var(--line); display: grid !important; grid-auto-flow: column; grid-auto-columns: 1fr; padding-bottom: env(safe-area-inset-bottom); }
  .bottom-item { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: .5rem 0 .45rem; color: var(--muted); font-size: .68rem; font-weight: 700; background: none; border: none; font-family: inherit; text-decoration: none !important; cursor: pointer; }
  .bottom-item.active { color: var(--primary); }
  h1 { font-size: 1.3rem; }
  .page-head { align-items: stretch; flex-direction: column; }
  .page-head > .row { justify-content: flex-start; }
  /* Alt menü ekranın altına sabit; yapışkan kaydet/tahsilat çubukları onun üstünde durur (yoksa Kaydet menünün altında kalır). */
  .shell:has(.bottom-nav) { --bnav-h: calc(54px + env(safe-area-inset-bottom)); }
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .pos { grid-template-columns: 1fr; }
  .pos.show-catalog .pos-ticket { display: none; }
  .pos.show-ticket .pos-catalog { display: none; }
  .pos-ticket { position: static; max-height: none; }
  .product-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); }
  .floor { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: .55rem; }
  .auth { grid-template-columns: 1fr; }
  .auth-side { display: none; }
  .modal { top: auto; bottom: 0; left: 0; right: 0; transform: none; width: 100% !important; max-height: 92dvh; border-radius: 20px 20px 0 0; animation: sheet .22s ease-out; padding-bottom: env(safe-area-inset-bottom); }
  @keyframes sheet { from { transform: translateY(40px); opacity: 0; } }
  .toaster { top: calc(64px + env(safe-area-inset-top)); right: 50%; transform: translateX(50%); }
  .cal { --min: 1.1px; grid-template-columns: 44px repeat(var(--cols), minmax(128px, 1fr)); }
  .cal-scroll { max-height: calc(100dvh - 250px); }
  .timeline { grid-template-columns: 1fr; }
  .tl-hour { padding-top: .4rem; }
  .res-card { grid-column: 1; }
  .about.with-image { grid-template-columns: 1fr; }
  .editor-preview.phone .device { width: 100%; border-width: 4px; }
  .gap-row { flex-direction: column; gap: .3rem; }
  .template-grid { grid-template-columns: 1fr; }
  .stat-value { font-size: 1.15rem; }
  .big-number { font-size: 1.8rem; }
}

/* Randevu ayrıntısı: iptal formu, kayıt düzeltme, kanal seçimi */
.appt-cancel { display: grid; gap: .55rem; padding: .8rem; margin: .6rem 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2, transparent); }
.appt-cancel .segmented { justify-self: start; }
.appt-cancel input, .appt-fix input { width: 100%; }
.row-end { display: flex; justify-content: flex-end; gap: .5rem; }
.appt-fix { margin: .4rem 0 .2rem; border-top: 1px dashed var(--line); padding-top: .5rem; }
.appt-fix summary { cursor: pointer; display: inline-flex; align-items: center; gap: .35rem; color: var(--muted); font-size: .88rem; }
.appt-fix[open] summary { color: inherit; margin-bottom: .35rem; }
.appt-fix p { margin: .2rem 0 .45rem; }
.appt-channel { display: flex; flex-wrap: wrap; margin-bottom: .7rem; }
.appt-channel button { flex: 1 1 auto; }

/* Profesyonel hizmetler: görüşme biçimi, odalar, dosyalar, gizli kayıtlar, KVKK */
.field-label { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-bottom: .3rem; }
.svc-meeting { display: grid; gap: .35rem; margin: .4rem 0 .8rem; }
.svc-meeting .chips { margin: 0; }
.chip-check { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .7rem; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-size: .88rem; background: var(--surface); }
.chip-check.on { border-color: var(--ink); background: var(--surface-2); font-weight: 600; }
.chip-check input { margin: 0; }
.appt-meeting { display: flex; margin-bottom: .7rem; }
.appt-meeting button { flex: 1 1 auto; }
.warn-text { color: var(--danger); }
.list.rooms li { display: flex; align-items: center; gap: .6rem; }
.list.rooms li input.grow { min-width: 0; }
.case-form { display: grid; gap: .5rem; margin-bottom: .8rem; }
.cx-list.cases li.closed { opacity: .6; }
.notes-panel { display: grid; gap: .7rem; margin-top: .6rem; }
.notes-warn { display: flex; align-items: center; gap: .35rem; margin: 0; }
.note-compose { display: grid; gap: .5rem; }
.note-compose textarea { width: 100%; }
.note-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.note-list li { border: 1px solid var(--line); border-left: 3px solid var(--ink); background: var(--surface); padding: .6rem .8rem; }
.note-list li.corrected { border-left-color: var(--line-strong); opacity: .7; }
.note-list header { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; font-size: .85rem; }
.note-list p { margin: .4rem 0 0; white-space: pre-wrap; }
.appt-note-btn { margin: .3rem 0; }
.w-privacy { display: grid; gap: .45rem; margin-top: .6rem; }
.w-privacy .w-consent { margin: 0; }
.w-link { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.w-notice { max-height: 220px; overflow: auto; white-space: pre-wrap; font-size: .8rem; padding: .7rem; border: 1px solid var(--bp-border, rgba(0,0,0,.15)); border-radius: var(--bp-radius-sm, 8px); }
.w-optin { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: .5rem; font-size: .82rem !important; font-weight: 400 !important; }
.w-optin input { margin-top: .2rem; }
.cx-list.cases strong small { display: inline; margin-left: .2rem; }
.w-privacy .w-optin { width: 100%; text-transform: none; letter-spacing: normal; color: inherit; margin: 0; line-height: 1.4; }
.w-privacy .w-optin span { flex: 1 1 auto; min-width: 0; }
.w-privacy .w-optin small { text-transform: none; opacity: .7; }
.w-privacy .w-optin input { flex: 0 0 auto; width: 16px; height: 16px; }

/* ---------- Rapor merkezi ---------- */
.report-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.report-nav { position: sticky; top: 1rem; }
.report-nav-select { display: none; width: 100%; margin-bottom: .75rem; }
.report-nav-list { display: flex; flex-direction: column; gap: 2px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: .5rem; }
.report-nav-list h4 { margin: .6rem .5rem .25rem; font-size: .72rem; }
.report-nav-list h4:first-child { margin-top: .2rem; }
.report-nav-list button { display: flex; align-items: center; gap: .5rem; text-align: left; border: none; background: transparent; color: var(--ink); font: inherit; font-size: .88rem; padding: .45rem .55rem; border-radius: 8px; cursor: pointer; }
.report-nav-list button .icon { color: var(--muted); flex-shrink: 0; }
.report-nav-list button:hover { background: var(--surface-2); }
.report-nav-list button.on { background: var(--primary); color: #fff; }
.report-nav-list button.on .icon { color: #fff; }
.report-main { min-width: 0; }
.report-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: .75rem; flex-wrap: wrap; }
.report-head h2 { margin: 0 0 .2rem; font-size: 1.3rem; }
.report-head p { margin: 0; }
.report-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.report-filters { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: .75rem .9rem .1rem; margin-bottom: 1rem; }
.report-filters label { margin-bottom: .65rem; min-width: 150px; }
.report-now { display: flex; align-items: center; gap: .4rem; margin: 0 0 .75rem; }
.period-picker { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; }
.period-picker label { min-width: 140px; }
.period-picker .period-preset { min-width: 160px; }
.period-step { display: flex; gap: 2px; margin-bottom: .7rem; }
.report-facts { margin-bottom: .9rem; }
.report-card { padding: 0; overflow: hidden; }
.report-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem .9rem; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.report-search { flex: 1 1 240px; max-width: 360px; }
.report-search input { width: 100%; }
.report-count { font-size: .82rem; }
.report-table-wrap { overflow: auto; max-height: 70vh; max-height: 70dvh; }
.report-table { font-size: .84rem; }
.report-table th { position: sticky; top: 0; background: var(--surface-2); color: var(--ink); white-space: nowrap; padding: .5rem .55rem; z-index: 1; border-bottom: 1px solid var(--line-strong); }
.report-table th.sortable { cursor: pointer; user-select: none; }
.report-table th.sortable:hover { color: var(--primary); }
.report-table th.num { text-align: right; }
.report-table .sort-mark { font-size: .65rem; margin-left: .25rem; color: var(--primary); }
.report-table td { padding: .42rem .55rem; vertical-align: top; }
.report-table td.num { white-space: nowrap; font-weight: 500; min-width: 0; font-size: .84rem; }
.report-table td.nowrap { white-space: nowrap; }
.report-table td.negative, .report-table .num.negative { color: var(--danger); }
.report-table tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--surface-2) 35%, transparent); }
.report-table tbody tr.clickable { cursor: pointer; }
.report-table tbody tr.clickable:hover td { background: color-mix(in srgb, var(--primary) 9%, var(--surface)); }
.report-table tfoot td { position: sticky; bottom: 0; background: var(--surface-2); font-weight: 700; border-top: 2px solid var(--line-strong); border-bottom: none; }
.report-more { display: flex; gap: .5rem; justify-content: center; padding: .75rem; border-top: 1px solid var(--line); }
.report-note { display: flex; gap: .4rem; align-items: flex-start; font-size: .82rem; color: var(--muted); margin: .75rem .2rem 0; }
.report-note .icon { flex-shrink: 0; margin-top: .15rem; }
/* Bölümlü raporlar (gün sonu): her bölüm başlıklı ayrı tablo */
.report-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; padding: .7rem .9rem; border-bottom: 1px solid var(--line); }
.report-section-head h3 { margin: 0; font-size: 1rem; }
.report-card.report-section { margin-top: 1rem; }
.report-section .report-table-wrap { max-height: none; }
.report-section + .report-note { margin-top: .4rem; }
.report-section-empty { padding: .8rem .9rem; margin: 0; font-size: .86rem; }
/* Maliyet tanımları */
.cost-tabs { margin-bottom: .9rem; }
.cost-help { font-size: .86rem; max-width: 80ch; margin: 0 0 .8rem; }
.cost-search { max-width: 360px; margin-bottom: .8rem; }
.cost-table { padding: 0; overflow: auto; }
.cost-table td small { display: block; font-size: .75rem; }
.cost-table td.negative { color: var(--danger); }
.cost-input { width: 8.5rem; text-align: right; }
.cost-empty { padding: .9rem; margin: 0; }
.print-only { display: none; }

.sale-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; align-items: center; margin-bottom: .8rem; font-size: .9rem; }
.sale-meta small { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.sale-cancel-reason { display: flex; align-items: center; gap: .4rem; color: var(--danger); font-size: .88rem; margin: 0 0 .8rem; }
.sale-columns { display: grid; grid-template-columns: 1fr 1.2fr; gap: 1.25rem; margin-top: 1rem; }
.sale-columns h4 { display: flex; align-items: center; gap: .35rem; margin-top: 0; }
.sale-remaining { margin: .5rem 0 0; color: var(--warn); }
.sale-timeline { list-style: none; margin: 0; padding: 0 0 0 .9rem; border-left: 2px solid var(--line); display: flex; flex-direction: column; gap: .55rem; }
.sale-timeline li { position: relative; font-size: .86rem; display: grid; grid-template-columns: auto 1fr; gap: 0 .6rem; }
.sale-timeline li::before { content: ""; position: absolute; left: calc(-.9rem - 6px); top: .35rem; width: 10px; height: 10px; border-radius: 50%; background: var(--line-strong); border: 2px solid var(--surface); }
.sale-timeline li.ev-ok::before { background: var(--ok); }
.sale-timeline li.ev-warn::before { background: var(--warn); }
.sale-timeline li.ev-danger::before { background: var(--danger); }
.sale-timeline time { font-variant-numeric: tabular-nums; color: var(--muted); font-size: .8rem; white-space: nowrap; }
.sale-timeline small { grid-column: 2; font-size: .76rem; }

@media (max-width: 860px) {
  .report-layout { grid-template-columns: 1fr; }
  .report-nav { position: static; }
  .report-nav-list { display: none; }
  .report-nav-select { display: block; }
  .report-filters label, .period-picker label { min-width: 0; flex: 1 1 140px; }
  .report-table-wrap { max-height: none; }
  .sale-columns { grid-template-columns: 1fr; }
}

@page { size: A4 landscape; margin: 8mm; }
@media print {
  .sidebar, .topbar, .bottom-nav, .mobile-nav, .license-strip, .no-print, .toaster, .drawer-backdrop { display: none !important; }
  .print-only { display: block !important; }
  html, body, .shell, .main, .content { background: #fff !important; display: block !important; width: auto !important; max-width: none !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
  .report-layout { display: block; }
  .report-main { width: 100%; }
  .report-head { margin-bottom: 2mm; }
  .report-head h2 { font-size: 13pt; }
  .report-head p { font-size: 8pt; }
  .report-facts { grid-template-columns: repeat(4, 1fr) !important; gap: 2mm; margin-bottom: 3mm; }
  .report-facts .stat { padding: 2mm 3mm; }
  .report-facts .stat-value { font-size: 11pt; }
  .report-card, .stat, .card { box-shadow: none !important; border-color: #bbb !important; }
  .report-card { border: none !important; }
  .report-table-wrap { max-height: none !important; overflow: visible !important; }
  /* Tablo kağıt genişliğine sığdırılır: başlıklar alt satıra geçer, sütun sayısı arttıkça yazı küçülür. */
  .report-table { width: 100% !important; table-layout: auto; font-size: 8pt; }
  .report-table.cols-wide { font-size: 7pt; }
  .report-table.cols-xwide { font-size: 6.2pt; }
  .report-table th, .report-table td { padding: 1mm 1.2mm !important; font-size: inherit !important; font-weight: 400; }
  .report-table th { font-weight: 700 !important; }
  .report-table th { position: static; white-space: normal !important; background: #e8ecef !important; color: #000; vertical-align: bottom; word-break: normal; }
  .report-table td { overflow-wrap: break-word; hyphens: auto; }
  .report-table td.num, .report-table td.nowrap { white-space: nowrap; overflow-wrap: normal; }
  .report-table tbody tr:nth-child(even) td { background: #f5f6f7 !important; }
  .report-table tfoot td { position: static; background: #e8ecef !important; }
  .report-table thead { display: table-header-group; }
  .report-table tr { break-inside: avoid; }
  .report-table .sort-mark { display: none; }
  .report-print-head { font-size: 8pt; color: #555; margin: 0 0 2mm; }
  .report-note { font-size: 7pt; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* =====================================================================
   Hesap ekranı (PosScreen): başlık şeridi, kalem tablosu + toplamlar (sol), katalog (sağ),
   alt işlem çubuğu. Masa, randevu ve tezgâh satışında aynı düzen.
   ===================================================================== */
.ps { display: flex; flex-direction: column; gap: .6rem; height: calc(100dvh - 92px); min-height: 540px; outline: none; }
/* Hesap ekranı tüm genişliği kullanır, sayfa kaydırılmadan ekrana sığar. */
@media (min-width: 861px) { .content:has(.ps) { max-width: none; padding-top: 14px; padding-bottom: 14px; } }
.ps-head { display: flex; align-items: stretch; gap: .6rem; background: var(--primary); color: #fff; padding: .55rem .7rem; box-shadow: 6px 6px 0 rgba(11,73,71,.16); }
.ps-back { background: rgba(255,255,255,.12); border: 0; color: #fff; width: 42px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ps-back:hover { background: rgba(255,255,255,.22); }
.ps-title { display: flex; flex-direction: column; justify-content: center; min-width: 150px; }
.ps-title strong { font-family: var(--display); font-size: 1.45rem; font-weight: 400; letter-spacing: -.03em; line-height: 1.05; }
.ps-title span { font-size: .78rem; opacity: .8; }
.ps-facts { display: flex; gap: .4rem; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.ps-fact { display: flex; flex-direction: column; justify-content: center; text-align: left; min-width: 150px; max-width: 230px; padding: .3rem .65rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); color: #fff; font: inherit; cursor: pointer; }
.ps-fact.narrow { min-width: 70px; }
.ps-fact:hover:not(:disabled) { background: rgba(255,255,255,.2); border-color: var(--yellow); }
.ps-fact:disabled { cursor: default; opacity: 1; }
.ps-fact small { font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--yellow); }
.ps-fact b { font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-tabs { display: grid; grid-template-columns: 1fr 1fr; background: var(--surface-2); padding: 3px; }
.ps-tabs button { border: 0; background: none; font: inherit; font-weight: 800; padding: .55rem; color: var(--muted); cursor: pointer; }
.ps-tabs button.on { background: var(--surface); color: var(--ink); }

.ps-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(380px, 44%) 1fr; gap: .6rem; }
.ps-ticket, .ps-catalog { background: var(--surface); border: 1px solid var(--line-strong); min-height: 0; display: flex; flex-direction: column; }
.ps-ticket { overflow: hidden; }
.ps-catalog { padding: .6rem; gap: .55rem; overflow: hidden; }

.ps-info { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; padding: .45rem .6rem; background: var(--primary-soft); border-bottom: 1px solid var(--line); font-size: .86rem; }
.ps-info .grow { min-width: 0; }
.ps-note { flex-basis: 100%; color: var(--warn); font-weight: 700; display: inline-flex; gap: .3rem; align-items: center; }

.ps-grid-wrap { flex: 1; min-height: 120px; overflow-y: auto; }
.ps-grid { width: 100%; border-collapse: collapse; font-size: .88rem; }
.ps-grid th { position: sticky; top: 0; z-index: 1; background: var(--surface-2); text-align: left; font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: .45rem .5rem; border-bottom: 2px solid var(--primary); }
.ps-grid td { padding: .45rem .5rem; border-bottom: 1px dashed var(--line); vertical-align: top; }
.ps-grid .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ps-grid .n { width: 28px; color: var(--muted); font-size: .75rem; }
.ps-grid .d { font-weight: 700; }
.ps-grid .total { font-weight: 800; }
.ps-grid .staff { color: var(--muted); font-size: .8rem; }
.ps-grid .note { display: block; color: var(--warn); font-size: .76rem; }
.ps-grid td small { color: var(--muted); font-size: .72rem; }
.ps-grid tbody tr { cursor: pointer; user-select: none; }
.ps-grid tbody tr:hover { background: color-mix(in srgb, var(--primary) 5%, transparent); }
.ps-grid tbody tr.sel { background: color-mix(in srgb, var(--yellow) 38%, var(--surface)); box-shadow: inset 4px 0 0 var(--accent); }
.ps-grid tbody tr.new td:first-child { box-shadow: inset 3px 0 0 var(--info); }
.ps-grid tbody tr.comp .d { text-decoration: line-through; color: var(--muted); }
.ps-grid .tag { font-style: normal; font-size: .62rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; margin-left: .3rem; padding: 0 .3rem; border: 1px solid var(--line-strong); color: var(--muted); }
.ps-grid .tag.comp { border-color: var(--ok); color: var(--ok); }
.ps-grid .tag.new { border-color: var(--info); color: var(--info); }

.ps-lineacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(52px, 1fr)); gap: 1px; background: var(--line); border-top: 1px solid var(--line-strong); }
.ps-lineacts button { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: .4rem .2rem; border: 0; background: var(--surface-2); font: inherit; font-size: .7rem; font-weight: 800; color: var(--ink); cursor: pointer; }
.ps-lineacts button .icon { color: var(--primary); }
.ps-lineacts button:hover:not(:disabled) { background: var(--primary-soft); }
.ps-lineacts button:disabled { opacity: .38; cursor: default; }
.ps-lineacts button.danger .icon { color: var(--danger); }

.ps-sum { padding: .5rem .7rem .6rem; border-top: 2px solid var(--primary); display: flex; flex-direction: column; gap: .12rem; font-size: .88rem; background: var(--surface); }
.ps-sum > div { display: flex; justify-content: space-between; gap: 1rem; font-variant-numeric: tabular-nums; }
.ps-sum .muted { color: var(--muted); }
.ps-sum .net { font-size: 1.35rem; font-weight: 900; color: var(--primary); margin-top: .15rem; }
.ps-sum .due { font-size: 1.2rem; font-weight: 900; color: var(--accent); }
.ps-sum .change { font-weight: 800; color: var(--ok); }
.ps-sum .alert { margin-top: .35rem; }

.ps-find { display: flex; gap: .5rem; flex-wrap: wrap; align-items: stretch; }
.ps-find .search-box { flex: 1 1 220px; margin: 0; }
.ps-mult { display: flex; align-items: stretch; border: 1px solid var(--line-strong); background: var(--surface-2); }
.ps-mult span { display: flex; align-items: center; padding: 0 .55rem; font-weight: 900; color: var(--muted); min-width: 54px; }
.ps-mult span.on { background: var(--accent); color: #fff; }
.ps-mult button { border: 0; border-left: 1px solid var(--line); background: none; font: inherit; font-weight: 800; min-width: 30px; cursor: pointer; color: var(--ink); }
.ps-mult button:hover:not(:disabled) { background: var(--primary-soft); }
.ps-mult .clr { color: var(--danger); }

.ps-cats { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .2rem; scrollbar-width: thin; flex-shrink: 0; }
.ps-cat { --tint: var(--primary); flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-width: 104px; min-height: 54px; padding: .4rem .55rem; border: 1px solid var(--line-strong); border-bottom: 4px solid var(--tint); background: var(--surface); font: inherit; font-weight: 800; font-size: .84rem; color: var(--ink); cursor: pointer; text-align: left; }
.ps-cat small { font-size: .68rem; color: var(--muted); font-weight: 700; }
.ps-cat.on { background: var(--tint); color: #fff; }
.ps-cat.on small { color: rgba(255,255,255,.8); }
.ps-items { flex: 1; min-height: 0; overflow-y: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); grid-auto-rows: min-content; gap: .45rem; align-content: start; }
.ps-item { --tint: var(--primary); position: relative; min-height: 78px; display: flex; flex-direction: column; justify-content: space-between; text-align: left; padding: .5rem .55rem; border: 1px solid var(--line-strong); border-left: 5px solid var(--tint); background: var(--surface); font: inherit; color: var(--ink); cursor: pointer; transition: transform .06s; overflow: hidden; }
.ps-item:hover:not(:disabled) { box-shadow: 4px 4px 0 color-mix(in srgb, var(--tint) 25%, transparent); }
.ps-item:active:not(:disabled) { transform: scale(.97); }
.ps-item:disabled { opacity: .55; cursor: default; }
.ps-item .name { font-weight: 800; font-size: .86rem; line-height: 1.2; }
.ps-item .dur { color: var(--muted); font-size: .7rem; }
.ps-item .price { align-self: flex-end; margin-top: .3rem; background: var(--tint); color: #fff; font-weight: 900; font-size: .8rem; padding: .05rem .4rem; }
.ps-item .count { position: absolute; top: 4px; right: 4px; background: var(--accent); color: #fff; min-width: 22px; height: 22px; font-size: .74rem; font-weight: 900; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.ps-item.has-img { padding-top: 0; }
.ps-item.has-img img { width: calc(100% + 1.1rem); margin: 0 -.55rem .35rem; height: 64px; object-fit: cover; }

.ps-foot { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; background: var(--surface-2); border: 1px solid var(--line-strong); padding: .45rem; }
.ps-tools { display: flex; gap: .3rem; flex-wrap: wrap; flex: 1; }
.ps-tools button { display: inline-flex; align-items: center; gap: .35rem; min-height: 38px; padding: 0 .65rem; border: 1px solid var(--line-strong); background: var(--surface); font: inherit; font-size: .8rem; font-weight: 800; color: var(--ink); cursor: pointer; }
.ps-tools button .icon { color: var(--primary); }
.ps-tools button:hover:not(:disabled) { border-color: var(--primary); }
.ps-tools button:disabled { opacity: .4; cursor: default; }
.ps-tools button.danger { color: var(--danger); }
.ps-tools button.danger .icon { color: var(--danger); }
.ps-save { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; margin-left: auto; }
.booking-link { display: flex; gap: 1.2rem; align-items: center; margin-bottom: 1rem; }
.booking-link-text { flex: 1; min-width: 0; }
.booking-link-text h3 { margin: 0 0 .3rem; }
.booking-link-url { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .6rem; }
.booking-link-url a { font-weight: 700; overflow-wrap: anywhere; }
.booking-link-qr { flex: 0 0 132px; width: 132px; background: #fff; padding: 6px; border: 1px solid var(--line); }
.booking-link-qr svg { display: block; width: 100%; height: auto; }
@media (max-width: 600px) { .booking-link { flex-direction: column; align-items: stretch; } .booking-link-qr { align-self: center; } }
.appt-delay { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin: .5rem 0; }
.appt-delay > span { display: inline-flex; align-items: center; gap: .3rem; margin-right: .2rem; }
.ps-more { position: relative; }
.ps-short { display: none; }
.ps-tools .ps-more > button.on { border-color: var(--primary); }
.ps-more-back { position: fixed; inset: 0; z-index: 30; }
.ps-more-menu { position: absolute; bottom: calc(100% + 6px); left: 0; z-index: 31; min-width: 220px; display: flex; flex-direction: column; gap: 2px; padding: .3rem; background: var(--surface); border: 1px solid var(--line-strong); box-shadow: 0 10px 28px rgb(0 0 0 / .18); }
.ps-more-menu > button, .ps-more-menu > a { display: flex; align-items: center; gap: .5rem; width: 100%; min-height: 40px; padding: 0 .7rem; border: 0; background: transparent; font: inherit; font-size: .86rem; font-weight: 700; color: var(--ink); text-align: left; text-decoration: none; cursor: pointer; }
.ps-more-menu > button:hover:not(:disabled), .ps-more-menu > a:hover { background: var(--surface-2); }
.ps-more-menu > button:disabled { opacity: .4; cursor: default; }
.ps-more-menu .icon { color: var(--primary); }
.ps-more-menu > button.danger, .ps-more-menu > button.danger .icon { color: var(--danger); }
.ps-paybtn { min-height: 52px !important; font-size: 1.05rem; padding: 0 1.2rem; }
.ps-paybtn b { margin-left: .4rem; font-size: 1.15rem; }

.ps-held { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; margin-bottom: .5rem; }

.ps-qty { display: grid; grid-template-columns: auto 1fr auto auto; gap: .3rem; margin-top: .3rem; }
.ps-qty input { text-align: center; font-weight: 800; font-size: 1.1rem; }
.ps-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .4rem; margin-bottom: .6rem; }
.ps-pick.nums { grid-template-columns: repeat(6, 1fr); }
.ps-pick button { display: flex; align-items: center; justify-content: center; gap: .45rem; min-height: 46px; border: 1px solid var(--line-strong); background: var(--surface); font: inherit; font-weight: 800; color: var(--ink); cursor: pointer; }
.ps-pick:not(.nums) button { justify-content: flex-start; padding: 0 .55rem; }
.ps-pick button.on, .ps-pick button:hover { border-color: var(--primary); background: var(--primary-soft); }
.ps-split { list-style: none; margin: 0 0 .7rem; padding: 0; max-height: 46vh; overflow-y: auto; }
.ps-split li { display: flex; align-items: center; gap: .5rem; padding: .45rem .2rem; border-bottom: 1px dashed var(--line); }
.ps-split li.on { background: color-mix(in srgb, var(--yellow) 30%, transparent); }
.ps-split small { display: block; }
.ps-hist-sum { margin-bottom: .6rem; font-size: .88rem; }
.ps-hist-sum .warn { color: var(--warn); }

.ps-pay { display: flex; flex-direction: column; gap: .6rem; }
.ps-pay-sum { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; }
.ps-pay-sum div, .ps-amount { display: flex; flex-direction: column; padding: .45rem .6rem; border: 1px solid var(--line-strong); background: var(--surface-2); }
.ps-pay-sum small, .ps-amount small { font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.ps-pay-sum b { font-variant-numeric: tabular-nums; }
.ps-pay-sum .due b { color: var(--accent); }
.ps-amount { background: var(--primary); color: #fff; align-items: flex-end; }
.ps-amount small { color: var(--yellow); align-self: flex-start; }
.ps-amount b { font-size: 1.9rem; font-variant-numeric: tabular-nums; line-height: 1.1; }
.ps-keypad { display: grid; grid-template-columns: repeat(3, 1fr); gap: .3rem; }
.ps-keypad button { min-height: 50px; font: inherit; font-size: 1.3rem; font-weight: 900; border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); cursor: pointer; }
.ps-keypad button:active { background: var(--primary-soft); }
.ps-methods { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.ps-methods button { display: flex; align-items: center; justify-content: center; gap: .45rem; min-height: 54px; border: 1px solid var(--line-strong); background: var(--surface); font: inherit; font-weight: 900; color: var(--ink); cursor: pointer; }
.ps-methods button.cash { background: var(--ok); border-color: var(--ok); color: #fff; }
.ps-methods button.card { background: var(--info); border-color: var(--info); color: #fff; }
.ps-methods button:disabled { opacity: .5; }

.ps-print { font-family: "Courier New", monospace; font-size: 10pt; width: 72mm; color: #000; }
.ps-print h3 { font-size: 12pt; text-align: center; margin: 0 0 2mm; }
.ps-print p { margin: 0 0 1mm; }
.ps-print table { width: 100%; border-collapse: collapse; }
.ps-print td { padding: .5mm 0; vertical-align: top; }
.ps-print .r { text-align: right; }
.ps-print .c { text-align: center; margin-top: 3mm; }
.ps-print .big { font-size: 13pt; font-weight: bold; }
.ps-print hr { border: 0; border-top: 1px dashed #000; margin: 2mm 0; }

@media (max-width: 1180px) {
  .ps-body { grid-template-columns: minmax(330px, 46%) 1fr; }
  .ps-fact { min-width: 110px; }
  .hide-sm { display: none; }
}
@media (max-width: 860px) {
  .ps { height: auto; min-height: 0; }
  .ps-head { flex-wrap: wrap; }
  .ps-facts { margin-left: 0; width: 100%; justify-content: flex-start; }
  .ps-fact { min-width: 0; flex: 1 1 40%; }
  .ps-body { grid-template-columns: 1fr; }
  .ps.show-catalog .ps-ticket { display: none; }
  .ps.show-ticket .ps-catalog { display: none; }
  .ps-items { max-height: 62vh; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); }
  .ps-grid-wrap { max-height: 46vh; }
  .ps-mult { width: 100%; overflow-x: auto; }
  .ps-foot { position: sticky; bottom: var(--bnav-h, 0px); z-index: 5; }
  /* Telefonda iki satır: İndirim · Diğer · Kaydet ve çık / Tahsilat. Kaydetmeden çıkış üstteki geri okunda sorulur. */
  .ps-foot { gap: .4rem; }
  .ps-save { display: contents; }
  .ps-save .btn.ghost { display: none; }
  .ps-paybtn { flex: 1 1 100%; justify-content: center; }
  .ps-short { display: inline; }
  .ps-long { display: none; }
  /* Rapor özet kutuları telefonda ikişerli; tek sütunda sayfa gereksiz uzar. */
  .stat-grid.four.report-facts { grid-template-columns: 1fr 1fr; gap: .5rem; }
  .report-facts .stat { min-width: 0; padding: .7rem .75rem; }
  .report-facts .stat-value { font-size: 1.15rem; }
}
.ps-fact.ask { border-color: var(--yellow); background: color-mix(in srgb, var(--yellow) 22%, transparent); }
.ps-grid .dur { display: block; color: var(--muted); font-size: .72rem; }

/* ---------- Döviz kurları ---------- */
.cur-info { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; align-items: center; margin-bottom: .8rem; font-size: .9rem; }
.cur-info span { display: inline-flex; align-items: center; gap: .35rem; }
.cur-table { padding: 0; overflow-x: auto; margin-bottom: .8rem; }
.cur-table table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.cur-table th { text-align: left; font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: .55rem .7rem; background: var(--surface-2); border-bottom: 2px solid var(--primary); }
.cur-table td { padding: .55rem .7rem; border-bottom: 1px dashed var(--line); vertical-align: middle; }
.cur-table td small { display: block; font-size: .72rem; }
.cur-table tr.base { background: var(--primary-soft); }
.cur-table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cur-table .mult { font-size: 1.15rem; font-weight: 900; color: var(--primary); }
.cur-table .warn { color: var(--warn); font-weight: 800; }
.cur-table select { min-width: 210px; }
.cur-manual { display: flex; align-items: center; gap: .4rem; }
.cur-manual input { width: 120px; text-align: right; font-weight: 800; }
.segmented.sm button { padding: .3rem .6rem; font-size: .78rem; }
.segmented button:disabled { opacity: .4; cursor: default; }
.cur-add select { max-width: 320px; }
.cur-hint { display: block; margin: -.2rem 0 .7rem; padding: .45rem .6rem; background: var(--primary-soft); font-size: .84rem; }
.cur-hint.warn { background: var(--warn-soft); color: var(--warn); }
.ps-item .orig { color: var(--muted); font-size: .7rem; }
.list li .num { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }

/* ---------- Ortak kart ızgaraları (işlem kartları, bilgi kartları) ---------- */
.action-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.action-card { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; padding: 1rem; text-align: left; font: inherit; color: var(--ink); cursor: pointer;
  background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius); box-shadow: var(--shadow); transition: transform .12s, border-color .12s; }
.action-card:hover { border-color: var(--primary); transform: translateY(-1px); text-decoration: none; }
.action-card .icon { color: var(--primary); }
.action-card b { font-size: 1rem; }
.action-card small { font-size: .8rem; }
.action-card.primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.action-card.primary .icon, .action-card.primary small { color: color-mix(in srgb, #fff 82%, transparent); }
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .75rem; }
.info-card { display: flex; flex-direction: column; gap: .3rem; padding: .9rem 1rem; }
.info-card header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.info-card .btn { align-self: flex-start; margin-top: .2rem; }
.info-card-foot { display: flex; flex-wrap: wrap; gap: .3rem 1rem; margin-top: .3rem; padding-top: .45rem; border-top: 1px dashed var(--line); font-size: .82rem; color: var(--muted); }
.info-card-foot b { color: var(--ink); }
.muted-card, .muted-row { opacity: .6; }
.tab-tools { margin-bottom: .75rem; }
.list li.cancelled strong { text-decoration: line-through; }
.date-box { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 46px; height: 46px; background: var(--primary-soft); color: var(--primary); border-radius: var(--radius-sm); }
.date-box b { font-size: 1.1rem; line-height: 1; }
.date-box small { color: inherit; font-size: .68rem; text-transform: uppercase; font-weight: 800; }
.doc-head { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .75rem; margin-bottom: .9rem; }
.doc-head > div { display: flex; flex-direction: column; gap: .1rem; }
.doc-head .kicker { margin: 0; }

/* ---------- Alış belgesi / toplu sayım tablosu ---------- */
.pe-modes { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .6rem; margin-bottom: .9rem; }
.pe-mode { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .7rem; align-items: center; text-align: left; padding: .75rem .9rem; margin: 0;
  font: inherit; text-transform: none; letter-spacing: normal; color: var(--ink); background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius); cursor: pointer; }
.pe-mode .icon { grid-row: span 2; color: var(--primary); }
.pe-mode b { font-size: .95rem; }
.pe-mode small { grid-column: 2; font-weight: 400; }
.pe-mode.on { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); background: var(--primary-soft); }
.pe-head { padding: .9rem 1rem .4rem; margin-bottom: .9rem; }
.pe-head-grid { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(5, minmax(120px, 1fr)); gap: 0 .7rem; }
@media (max-width: 1200px) { .pe-head-grid { grid-template-columns: repeat(3, 1fr); } }
.pe-switches { padding-bottom: .5rem; }
.pe-switches label.check { margin: 0; }
.pe-flag { display: inline-block; margin-top: .2rem; font-size: .7rem; font-weight: 800; color: var(--muted); }
.pe-flag.new { color: var(--info); }
.pe-flag.guess { color: var(--warn); }
.pe-table-card { padding: 0; margin-bottom: .9rem; }
.pe-table-wrap { overflow-x: auto; }
.pe-table { width: 100%; border-collapse: collapse; font-size: .88rem; min-width: 820px; }
.pe-table.readonly { min-width: 560px; }
.pe-table th { position: sticky; top: 0; z-index: 1; text-align: left; font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
  padding: .5rem .45rem; background: var(--surface-2); border-bottom: 2px solid var(--primary); white-space: nowrap; }
.pe-table td { padding: .3rem .45rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.pe-table.readonly td { padding: .5rem .45rem; }
.pe-table td small { display: block; }
.pe-table input { min-height: 34px; padding: .35rem .5rem; font-size: .88rem; }
.pe-table input.num, .pe-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.pe-table th.num { text-align: right; }
.pe-table .n { width: 34px; color: var(--muted); text-align: center; padding-top: .55rem; }
.pe-table .item { min-width: 220px; }
.pe-table .desc { min-width: 160px; }
.pe-table .unit { width: 86px; }
.pe-table td.num { width: 96px; }
.pe-table td.total { padding-top: .55rem; font-weight: 800; white-space: nowrap; }
.pe-table tr.blank input { background: transparent; }
.pe-table-foot { display: flex; align-items: center; gap: .8rem; padding: .55rem .7rem; border-top: 1px solid var(--line); }
.pe-bottom { display: grid; grid-template-columns: 1fr minmax(280px, 360px); gap: 1rem; align-items: start; }
.pe-totals { display: flex; flex-direction: column; gap: .35rem; padding: .9rem 1rem; }
.pe-totals > div { display: flex; justify-content: space-between; gap: 1rem; font-variant-numeric: tabular-nums; }
.pe-totals .grand { font-size: 1.15rem; padding-top: .45rem; border-top: 2px solid var(--ink); margin-bottom: .45rem; }
.pe-diff { display: block !important; font-size: .78rem; color: var(--warn); background: var(--warn-soft); padding: .4rem .5rem; }
.pe-paste { font-family: ui-monospace, Consolas, monospace; font-size: .82rem; white-space: pre; }
.pe-preview li { gap: .8rem; font-size: .85rem; }
.sc-tools { margin-bottom: .75rem; }
.sc-tools label.check { margin: 0; }
.sc-table { min-width: 560px; }
.sc-table td { vertical-align: middle; }
.sc-table tr.up td.diff { color: var(--ok); font-weight: 800; }
.sc-table tr.down td.diff { color: var(--danger); font-weight: 800; }
.sc-table tr.same td.diff { color: var(--muted); }
@media (max-width: 760px) {
  .pe-bottom { grid-template-columns: 1fr; }
  .pe-head-grid { grid-template-columns: 1fr 1fr; }
  .pe-supplier { grid-column: span 2; }
}

/* ---------- Giriş: sekmeler, ortak cihaz ve PIN ---------- */
.login-tabs { display: flex; margin-top: 1.1rem; }
.login-tabs button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; }
.login-hint { margin-top: .5rem; }
.ok-text { color: var(--ok); font-weight: 700; display: inline-flex; align-items: center; gap: .25rem; }
.who-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: .6rem; margin: 1.2rem 0; }
.who-tile { display: flex; flex-direction: column; align-items: center; gap: .35rem; padding: .9rem .5rem; font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius); cursor: pointer; }
.who-tile:hover { border-color: var(--primary); background: var(--primary-soft); }
.who-tile .avatar { width: 48px; height: 48px; font-size: 1.05rem; }
.who-tile b { font-size: .9rem; text-align: center; }
.who-tile small { font-size: .72rem; text-align: center; }
.pin-dots { display: flex; justify-content: center; gap: .7rem; margin: 1.2rem 0; }
.pin-dots i { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--primary); }
.pin-dots i.on { background: var(--primary); }
.pin-pad { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; max-width: 300px; margin: 0 auto 1rem; }
.pin-pad button { height: 58px; font: inherit; font-size: 1.35rem; font-weight: 700; color: var(--ink); background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pin-pad button:active { background: var(--primary-soft); }
.pin-pad button.soft { font-size: .85rem; color: var(--muted); }
.tm-access { margin: 1rem 0; }
.tm-how { display: flex; }
.tm-how button { flex: 1; }
.tm-device-new { margin-bottom: .8rem; }
.tm-device-new input { flex: 1; }

/* ---------- Personel kartları ---------- */
.staff-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: .8rem; }
.staff-card { display: flex; flex-direction: column; gap: .55rem; padding: 1rem; margin: 0; }
.staff-card header { display: flex; align-items: flex-start; gap: .7rem; }
.staff-card header strong { display: block; font-size: 1.02rem; margin-bottom: .2rem; }
.avatar.lg { width: 44px; height: 44px; font-size: 1rem; }
.staff-link { color: var(--muted); }
.staff-now { font-size: .86rem; min-height: 1.3rem; }
.staff-now span { display: inline-flex; align-items: center; gap: .3rem; flex-wrap: wrap; }
.staff-now .now { color: var(--ok); }
.staff-meter { display: grid; grid-template-columns: 1fr auto; gap: .2rem .5rem; font-size: .78rem; color: var(--muted); }
.staff-meter b { color: var(--ink); }
.staff-meter i { grid-column: span 2; height: 6px; background: var(--surface-2); border-radius: 999px; overflow: hidden; }
.staff-meter em { display: block; height: 100%; background: var(--primary); border-radius: 999px; }

/* ---------- Rapor kataloğu (kartlar) ---------- */
.report-layout.single { display: block; }
.report-switch select { min-width: 240px; }
.report-search { max-width: 520px; margin-bottom: 1rem; }
.report-group { margin-bottom: 1.4rem; }
.report-group h3 { display: flex; align-items: center; gap: .55rem; margin-bottom: .65rem; font-size: 1.05rem; }
.report-group h3 small { display: inline; font-weight: 500; font-size: .8rem; margin-left: .2rem; }
.rg-icon { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: var(--primary-soft); color: var(--primary); border-radius: var(--radius-sm); }
.report-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .65rem; }
.report-card { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; padding: .85rem .95rem; text-align: left; font: inherit; color: var(--ink); cursor: pointer;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); transition: border-color .12s, transform .12s; }
.report-card:hover { border-color: var(--primary); transform: translateY(-1px); }
.report-card .icon { color: var(--primary); margin-bottom: .1rem; }
.report-card b { font-size: .95rem; }
.report-card small { font-size: .78rem; line-height: 1.35; }
.report-card.featured { background: var(--primary); border-color: var(--primary); color: #fff; }
.report-card.featured .icon, .report-card.featured small { color: color-mix(in srgb, #fff 82%, transparent); }
@media (max-width: 640px) { .report-switch { width: 100%; } .report-switch select { min-width: 0; flex: 1; } }

/* ---------- Randevu mesajları ve fotoğrafları ---------- */
.appt-chat { margin-top: .8rem; border-top: 1px solid var(--line); padding-top: .6rem; }
.appt-chat summary { cursor: pointer; font-weight: 700; display: flex; align-items: center; gap: .35rem; color: var(--primary); }
.chat { display: flex; flex-direction: column; gap: .6rem; margin-top: .6rem; }
.chat-files { display: flex; flex-wrap: wrap; gap: .45rem; }
.chat-thumb { position: relative; width: 74px; height: 74px; padding: 0; border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; background: var(--surface-2); cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--muted); }
.chat-thumb img { width: 100%; height: 100%; object-fit: cover; }
.chat-thumb small { position: absolute; left: 0; right: 0; bottom: 0; font-size: .6rem; text-align: center; background: rgba(0,0,0,.45); color: #fff; }
.chat-list { display: flex; flex-direction: column; gap: .4rem; max-height: 320px; overflow-y: auto; padding: .2rem; }
.chat-empty { margin: 0; }
.chat-msg { max-width: 82%; padding: .45rem .65rem; border-radius: 12px; background: var(--surface-2); }
.chat-msg.mine { align-self: flex-end; background: var(--primary-soft); }
.chat-msg small { font-size: .68rem; }
.chat-msg p { margin: .1rem 0 0; white-space: pre-line; }
.chat-inline { padding: 0; margin-top: .25rem; border: 0; background: none; cursor: pointer; display: block; }
.chat-inline img { max-width: 180px; max-height: 140px; border-radius: 8px; display: block; }
.chat-compose textarea { margin-bottom: .4rem; }
.chat-attach { margin: 0; flex-direction: row; cursor: pointer; text-transform: none; letter-spacing: 0; }
.chat-notify { margin: 0; font-size: .8rem; }
.chat-viewer { position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,.82); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; cursor: zoom-out; }
.chat-viewer img { max-width: 100%; max-height: 85vh; border-radius: 8px; }
.chat-viewer small { color: #fff; }
.manage-chat { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--line); text-align: left; }
.manage-chat h3 { margin-bottom: .2rem; }
.dh-unread { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding: .5rem .7rem; margin: .4rem 0; background: var(--info-soft); color: var(--info); border-radius: var(--radius-sm); font-size: .85rem; }
.dh-unread .chip { background: var(--surface); }
.dh-unread .badge { margin-left: .25rem; }

/* ---------- Seans paketleri ---------- */
.pkg-defs { margin-top: 1.4rem; }
.pkg-defs .card-head { display: flex; align-items: center; justify-content: space-between; }
.pkg-price { display: flex; flex-direction: column; margin-top: .2rem; }
.pkg-price b { font-size: 1.15rem; }
.pkg-card { display: flex; flex-direction: column; gap: .6rem; padding: .9rem 1rem; margin-bottom: .7rem; }
.pkg-card header { display: flex; align-items: flex-start; gap: .6rem; }
.pkg-card header small { display: block; }
.pkg-numbers { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; text-align: center; }
.pkg-numbers div { padding: .45rem .2rem; background: var(--surface-2); border-radius: var(--radius-sm); }
.pkg-numbers div:first-child { background: var(--primary-soft); color: var(--primary); }
.pkg-numbers b { display: block; font-size: 1.3rem; line-height: 1.1; }
.pkg-numbers small { font-size: .7rem; }
.pkg-bar { display: flex; height: 8px; background: var(--surface-2); border-radius: 999px; overflow: hidden; }
.pkg-bar .used { background: var(--primary); }
.pkg-bar .reserved { background: color-mix(in srgb, var(--primary) 40%, transparent); }
.pkg-card details summary { cursor: pointer; font-size: .85rem; color: var(--muted); }
.appt-package select { font-weight: 600; }
.appt-series { display: grid; gap: .45rem; padding: .6rem .7rem; margin-bottom: .6rem; background: var(--surface-2, var(--bg)); border-radius: var(--radius-sm); }
.appt-series-sum { margin: 0; display: flex; align-items: center; gap: .35rem; font-weight: 600; font-size: .9rem; }
.list.compact li.on { background: var(--primary-soft, var(--surface-2)); border-radius: var(--radius-sm); }
@media (max-width: 520px) { .pkg-numbers { grid-template-columns: repeat(2, 1fr); } }
.slot-ok { margin: -.3rem 0 .5rem; }
.slot-why { margin: -.2rem 0 .7rem; padding: .55rem .7rem; background: var(--warn-soft); border-left: 3px solid var(--warn); border-radius: var(--radius-sm); font-size: .85rem; }
.slot-why b { display: flex; align-items: center; gap: .3rem; color: var(--warn); }
.slot-why ul { margin: .3rem 0 .4rem; padding-left: 1.1rem; }
.slot-why li { margin: .1rem 0; }
.slot-why .chips { margin: 0; }
.manage-review { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--line); text-align: left; }
.stars { display: flex; gap: .2rem; margin: .4rem 0 .6rem; }
.stars button, .stars span { font-size: 2rem; line-height: 1; padding: 0 .1rem; border: 0; background: none; color: var(--line-strong); cursor: pointer; }
.stars span { cursor: default; font-size: 1.5rem; }
.stars .on { color: #e0a800; }
.svc-intake { margin: .2rem 0 .8rem; }
.svc-intake summary { cursor: pointer; font-weight: 700; display: flex; align-items: center; gap: .35rem; margin-bottom: .4rem; }
.intake { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--line); text-align: left; }
.intake.staff { margin-top: .6rem; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-2); }
.intake-title { display: flex; align-items: center; gap: .4rem; font-size: .88rem; }
.intake-answers { display: grid; grid-template-columns: 1fr auto; gap: .25rem .8rem; margin: .4rem 0; font-size: .86rem; }
.intake-answers dt { color: var(--muted); }
.intake-answers dd { margin: 0; font-weight: 700; text-align: right; }
.intake-answers dd.yes { color: var(--warn); }
.intake .segmented { align-self: flex-start; }

/* ---------- Sadakat ve kampanya ---------- */
.loy-sub { font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: .4rem 0 .6rem; }
.loy-start { margin-bottom: 1rem; }
.loy-start h2 { display: flex; align-items: center; gap: .5rem; font-size: 1.05rem; margin: 0 0 .5rem; }
.loy-start ol { margin: 0; padding-left: 1.2rem; display: grid; gap: .45rem; }
.loy-start li.done { color: var(--muted); text-decoration: line-through; }
.loy-templates { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); margin-bottom: 1.2rem; }
.loy-templates .action-card small { font-size: .78rem; }
.loy-campaign header { justify-content: space-between; gap: .5rem; }
.loy-reward { font-size: 1.35rem; font-weight: 800; color: var(--primary); line-height: 1.1; }
.loy-campaign p { margin: 0; }
.loy-code { font-family: ui-monospace, Consolas, monospace; letter-spacing: .08em; background: var(--primary-soft) !important; color: var(--primary) !important; }
.loy-codes { display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0; }
.loy-codes code, .loy-cust-row code { font-family: ui-monospace, Consolas, monospace; background: var(--surface-2); padding: .15rem .45rem; border-radius: 6px; letter-spacing: .05em; }
.table-wrap { overflow-x: auto; max-width: 100%; }
.loy-summary { display: flex; gap: .7rem; align-items: flex-start; padding: .8rem 1rem; background: var(--primary-soft); border-radius: var(--radius); margin-bottom: 1rem; }
.loy-summary .icon { color: var(--primary); flex-shrink: 0; margin-top: 2px; }
.loy-summary b { display: block; }
.loy-summary small { color: var(--muted); }
.loy-step { border: 1px solid var(--line); border-radius: var(--radius); padding: .6rem 1rem .4rem; margin: 0 0 .9rem; min-width: 0; }
.loy-step legend { font-weight: 800; font-size: .92rem; padding: 0 .4rem; display: flex; align-items: center; gap: .45rem; }
.loy-step legend span { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--primary); color: #fff; font-size: .75rem; }
.loy-step .segmented { margin-bottom: .7rem; }
.loy-step .grid-2, .loy-step .grid-3 { margin-top: .2rem; }
small.block { display: block; margin: -.4rem 0 .6rem; }
.loy-filter { width: 100%; margin-bottom: .4rem; }
.loy-picks { max-height: 220px; overflow-y: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: .4rem .6rem; margin-bottom: .6rem; }
.loy-picks label { margin-bottom: .3rem; }
.loy-ladder { display: grid; gap: .7rem; }
.loy-tier { border-left: 5px solid var(--tier); display: grid; gap: .55rem; }
.loy-tier header { display: flex; align-items: center; gap: .75rem; }
.loy-tier header small { display: block; color: var(--muted); }
.loy-medal { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--tier) 18%, var(--surface)); color: var(--tier); flex-shrink: 0; }
.loy-count { text-align: right; }
.loy-count b { display: block; font-size: 1.3rem; }
.loy-count small { color: var(--muted); }
.loy-tier .chips { margin: 0; }
.loy-segment { border-top: 4px solid var(--seg); }
.loy-segment.on { box-shadow: 0 0 0 2px var(--seg); }
.loy-segment header { justify-content: space-between; }
.loy-seg-count { font-size: 1.4rem; font-weight: 800; color: var(--seg); }
.loy-members { margin-top: 1rem; }
.loy-members h3 { margin: 0; font-size: 1rem; }
.loy-members select { width: auto; }
.loy-table td { vertical-align: middle; }
.loy-tier-pill { display: inline-flex; align-items: center; gap: .25rem; padding: .1rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 700; background: color-mix(in srgb, var(--tier) 16%, var(--surface)); color: color-mix(in srgb, var(--tier) 75%, var(--ink)); border: 1px solid color-mix(in srgb, var(--tier) 40%, transparent); }
.loy-settings { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; align-items: start; }
.loy-settings h3 { display: flex; align-items: center; gap: .45rem; margin: 0; font-size: 1rem; }
.loy-settings header { margin-bottom: .4rem; }
.loy-membership { grid-column: 1 / -1; }
.sticky-save { position: sticky; bottom: var(--bnav-h, 0px); padding: .7rem 0; background: linear-gradient(transparent, var(--bg) 40%); margin-top: .5rem; }
.loy-mini { border-top: 4px solid var(--tier); }
.loy-mini-tier { display: flex; align-items: center; gap: .35rem; margin-bottom: .4rem; color: color-mix(in srgb, var(--tier) 70%, var(--ink)); }
.loy-cust-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .75rem; margin-bottom: .9rem; }
.loy-cust-cards .card { display: flex; flex-direction: column; gap: .35rem; }
.loy-cust-tier { border-top: 4px solid var(--tier); }
.loy-big { font-size: 1.6rem; font-weight: 800; line-height: 1.1; }
.loy-progress { display: grid; gap: .25rem; }
.loy-progress div { height: 7px; background: var(--surface-2); border-radius: 999px; overflow: hidden; }
.loy-progress span { display: block; height: 100%; background: var(--tier, var(--primary)); border-radius: 999px; }
.loy-inline { margin: .3rem 0 0; }
.loy-cust-row { display: grid; gap: .6rem; margin-bottom: .9rem; }
.loy-cust-row .chip.muted { opacity: .55; }
.loy-stamps { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .3rem; }
.loy-stamps span, .member-stamps { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.loy-stamps i, .member-stamps i { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--primary); display: inline-block; }
.loy-stamps i.on, .member-stamps i.on { background: var(--primary); }
.loy-pos { border: 1px dashed var(--line); border-radius: var(--radius); padding: .6rem .75rem; margin: .5rem 0 .8rem; display: grid; gap: .45rem; }
.loy-pos-head { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.loy-pos-promos { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }
.loy-pos-promos li { display: flex; align-items: center; gap: .4rem; font-size: .88rem; color: var(--ok); }
.loy-pos-promos li .grow { color: var(--ink); }
.loy-pos .chips { margin: 0; }
.loy-pos-pay { margin-top: .2rem; }
.ps-sum .ps-promo { color: var(--ok); }
.ps-sum .ps-promo span { display: inline-flex; align-items: center; gap: .3rem; }

/* Web sitesi üyeliği */
.member-badge { position: fixed; right: 16px; bottom: 16px; z-index: 50; display: inline-flex; align-items: center; gap: .4rem; padding: .6rem 1rem; border-radius: 999px; background: #1f2a37; color: #fff !important; font-weight: 700; font-size: .9rem; text-decoration: none !important; box-shadow: 0 6px 20px rgba(0,0,0,.22); }
.member-badge:hover { background: #111a24; }
.member-page { max-width: 980px; margin: 0 auto; padding: 1rem 16px 3rem; color: var(--ink); }
.member-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.member-top a { display: inline-flex; align-items: center; gap: .3rem; color: var(--muted); text-decoration: none; font-weight: 600; }
.member-hero { background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 60%, #000)); color: #fff; border-radius: 18px; padding: 1.6rem 1.6rem 1.4rem; display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.member-hero.signed { background: linear-gradient(135deg, color-mix(in srgb, var(--tier) 85%, #000), color-mix(in srgb, var(--tier) 45%, #000)); }
.member-hero small { text-transform: uppercase; letter-spacing: .1em; font-weight: 700; opacity: .8; font-size: .75rem; }
.member-hero h1 { margin: .2rem 0 .3rem; font-size: 1.9rem; color: #fff; }
.member-hero p { margin: 0; opacity: .92; max-width: 560px; }
.member-hero .btn.primary { background: #fff; color: #1f2a37; border-color: #fff; }
.member-perks { list-style: none; padding: 0; margin: .6rem 0 0; display: grid; gap: .3rem; }
.member-perks li { display: flex; align-items: center; gap: .4rem; }
.member-perks.inline { display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; margin-top: .9rem; }
.member-note { display: flex; align-items: center; gap: .5rem; background: var(--primary-soft); border-radius: 12px; padding: .7rem 1rem; margin-bottom: 1rem; font-size: .92rem; }
.member-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .8rem; margin-bottom: 1.2rem; }
.member-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 1rem 1.1rem; display: flex; flex-direction: column; gap: .4rem; }
.member-card.tier { border-top: 5px solid var(--tier); }
.member-card > small:first-child { text-transform: uppercase; font-size: .72rem; letter-spacing: .08em; font-weight: 800; color: var(--muted); }
.member-card .big { font-size: 1.8rem; font-weight: 800; display: inline-flex; align-items: center; gap: .4rem; line-height: 1.15; }
.member-card.tier .big { color: color-mix(in srgb, var(--tier) 80%, var(--ink)); }
.member-progress { display: grid; gap: .3rem; }
.member-progress div { height: 8px; background: var(--surface-2); border-radius: 999px; overflow: hidden; }
.member-progress span { display: block; height: 100%; background: var(--tier); }
.member-section { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 1rem 1.1rem; margin-bottom: 1rem; }
.member-section h2 { display: flex; align-items: center; gap: .45rem; font-size: 1.05rem; margin: 0 0 .7rem; }
.member-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .7rem; }
.member-coupon { border: 2px dashed color-mix(in srgb, var(--primary) 45%, transparent); border-radius: 14px; padding: .8rem .9rem; display: flex; flex-direction: column; gap: .3rem; background: color-mix(in srgb, var(--primary) 5%, var(--surface)); }
.member-coupon > span { font-size: 1.15rem; font-weight: 800; color: var(--primary); }
.member-coupon code { font-family: ui-monospace, Consolas, monospace; font-size: 1.05rem; letter-spacing: .12em; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: .25rem .5rem; align-self: flex-start; }
.member-coupon small { color: var(--muted); }
.member-coupon.offer { border-style: solid; border-color: var(--line); background: var(--surface); }
.member-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.member-list li { display: flex; align-items: center; gap: .7rem; padding: .5rem 0; border-bottom: 1px solid var(--line); }
.member-list li:last-child { border-bottom: none; }
.member-list li .grow small { display: block; color: var(--muted); }
.member-list.compact li { padding: .3rem 0; font-size: .9rem; }
.member-date { width: 46px; text-align: center; background: var(--primary-soft); border-radius: 10px; padding: .3rem 0; flex-shrink: 0; }
.member-date b { display: block; font-size: 1.15rem; line-height: 1; }
.member-date small { font-size: .7rem; text-transform: uppercase; color: var(--primary); }
.member-form { max-width: 420px; }
.member-auth-wrap { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(260px, 1fr); gap: 1rem; align-items: start; margin-bottom: 1rem; }
.member-auth, .member-tiers { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 1.1rem 1.2rem; }
.member-auth h2, .member-tiers h2 { margin: 0 0 .5rem; font-size: 1.1rem; }
.member-auth .segmented { margin-bottom: 1rem; }
.member-terms { font-size: .85rem; margin: 0 0 .5rem; }
.member-terms p { white-space: pre-line; color: var(--muted); max-height: 180px; overflow-y: auto; }
.member-tier { border-left: 4px solid var(--tier); padding: .45rem .7rem; margin-bottom: .55rem; background: color-mix(in srgb, var(--tier) 6%, var(--surface)); border-radius: 0 10px 10px 0; }
.member-tier b { display: flex; align-items: center; gap: .35rem; color: color-mix(in srgb, var(--tier) 80%, var(--ink)); }
.member-tier small { color: var(--muted); }
.member-tier ul { margin: .3rem 0 0; padding-left: 1.1rem; font-size: .88rem; }
@media (max-width: 720px) {
    .member-auth-wrap { grid-template-columns: 1fr; }
    .member-hero { padding: 1.2rem; }
    .member-hero h1 { font-size: 1.5rem; }
    .member-badge { right: 12px; bottom: 12px; }
    .loy-settings { grid-template-columns: 1fr; }
}
.loy-ladder { grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }
.loy-cust-cards { align-items: start; }
.member-hero small { color: #fff; }
.member-list li > b:last-child, .member-list li > .btn { margin-left: auto; }
.member-badge { bottom: 88px; z-index: 1000; }

/* ---------- Haftalık saat düzenleyicisi (molalı) ---------- */
.wh { display: flex; flex-direction: column; gap: .15rem; }
.wh-quick { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-bottom: .5rem; }
.wh-day { display: grid; grid-template-columns: auto 92px minmax(0, 1fr) auto; align-items: center; gap: .6rem; padding: .45rem 0; border-top: 1px solid var(--line); }
.wh-day:first-of-type { border-top: 0; }
.wh-day.off strong { color: var(--muted); }
.wh-ranges { display: flex; flex-wrap: wrap; gap: .35rem .8rem; align-items: center; min-width: 0; }
.wh-ranges.col { flex-direction: column; align-items: flex-start; margin: .6rem 0; }
.wh-range { display: inline-flex; align-items: center; gap: .3rem; }
.wh-range .tf, .wh-range input { width: 96px; }
.wh-actions { display: inline-flex; gap: .6rem; white-space: nowrap; }
.wh-actions .link-btn { display: inline-flex; align-items: center; gap: .2rem; font-size: .8rem; }
@media (max-width: 640px) {
  .wh-day { grid-template-columns: auto 1fr; }
  .wh-ranges, .wh-actions { grid-column: 1 / -1; }
}

/* ---------- Online takvim kapsaması ---------- */
.cov { border: 1px solid var(--line-strong); background: var(--surface); border-radius: var(--radius); padding: .8rem .9rem; margin-bottom: 1rem; display: flex; flex-direction: column; gap: .5rem; }
.cov.compact { padding: .45rem .7rem; gap: .3rem; margin: .5rem 0; }
.cov-head { display: flex; align-items: center; gap: .6rem; }
.cov-head .icon { color: var(--primary); }
.cov-head small { display: block; color: var(--muted); font-size: .82rem; }
.cov-strip { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 3px; }
.cov-strip span { display: flex; flex-direction: column; align-items: center; padding: .25rem 0; border-radius: 6px; background: var(--primary-soft); color: var(--primary); font-size: .72rem; line-height: 1.15; }
.cov-strip span small { font-size: .62rem; opacity: .8; }
.cov-strip span i { font-style: normal; font-weight: 700; }
.cov-strip span.shut { background: var(--surface-2); color: var(--muted); }
.cov-strip span.gap { background: var(--warn-soft); color: var(--warn); }
.cov-issue { display: flex; align-items: flex-start; gap: .45rem; font-size: .86rem; }
.cov-issue .icon { margin-top: .12rem; flex-shrink: 0; }
.cov-issue.error .icon { color: var(--danger); }
.cov-issue.warn .icon { color: var(--warn); }
.cov-issue.info .icon { color: var(--info); }
.cov-issue a { white-space: nowrap; font-weight: 600; }
@media (max-width: 640px) {
  .cov-strip { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}

/* ---------- Haftalık vardiya planı ---------- */
.roster-nav { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .6rem; }
.roster-legend { display: inline-flex; align-items: center; gap: .35rem; }
.roster-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; margin-left: .4rem; }
.roster-legend i.sp { background: var(--accent); }
.roster-legend i.off { background: var(--warn-soft); border: 1px solid var(--warn); }
.roster-wrap { overflow-x: auto; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface); }
.roster { width: 100%; border-collapse: collapse; min-width: 760px; }
.roster th, .roster td { border-top: 1px solid var(--line); padding: 0; text-align: left; vertical-align: top; }
.roster thead th { border-top: 0; padding: .5rem .4rem; font-size: .8rem; font-weight: 700; text-align: center; }
.roster thead th small { color: var(--muted); font-weight: 600; }
.roster thead th.today { color: var(--primary); }
.roster tbody th { width: 190px; }
.roster-name { display: flex; align-items: center; gap: .5rem; width: 100%; padding: .55rem .6rem; background: none; border: 0; font: inherit; color: var(--ink); text-align: left; cursor: pointer; }
.roster-name small { display: block; font-size: .72rem; color: var(--muted); font-weight: 400; }
.roster-name:disabled { cursor: default; }
.roster-cell { display: flex; flex-direction: column; gap: .1rem; width: 100%; min-height: 58px; padding: .45rem .45rem; border: 0; border-left: 1px solid var(--line); background: none; font: inherit; font-size: .8rem; color: var(--ink); text-align: left; cursor: pointer; font-variant-numeric: tabular-nums; }
.roster-cell:hover:not(:disabled) { background: var(--primary-soft); }
.roster-cell:disabled { cursor: default; }
.roster-cell.sp { box-shadow: inset 3px 0 0 var(--accent); }
.roster-cell.off { background: var(--warn-soft); color: var(--warn); font-weight: 600; }
.roster-cell.none { color: var(--muted); }
.roster-cell.past { opacity: .55; }
.roster-cell small { color: var(--muted); font-size: .7rem; }
.roster-cell em { font-style: normal; font-size: .7rem; color: var(--warn); }
.roster tfoot th, .roster tfoot td { padding: .4rem .45rem; font-size: .76rem; color: var(--muted); border-left: 1px solid var(--line); }
.roster tfoot td.empty { color: var(--warn); font-weight: 700; }
.roster-modes { display: flex; flex-direction: column; gap: .45rem; }

/* ---------- Sabit sayfa başlığı ----------
   Başlık (ve hemen altındaki sekmeler / müşteri arama kutusu) üst çubuğun altında kalır; içerik altından kayar.
   Kaydırınca başlık sıkışır: açıklama gizlenir, yazı küçülür (fit.js "stuck" sınıfını verir). */
.content > .page-head, .content > .cu-head {
  position: sticky; top: var(--topbar-h, 0px); z-index: 25;
  background: var(--bg); margin-top: -.75rem; padding-top: .75rem;
}
.content > .page-head + .tabs, .content > .cu-head + .cu-search {
  position: sticky; top: calc(var(--topbar-h, 0px) + var(--head-h, 0px)); z-index: 24;
}
.content > .page-head + .tabs { background: var(--bg); }
.content > .page-head.stuck, .content > .cu-head.stuck { padding-bottom: .55rem; margin-bottom: .9rem; }
.content > .page-head.stuck p, .content > .cu-head.stuck p, .content > .page-head.stuck .kicker { display: none; }
.content > .page-head.stuck h1, .content > .cu-head.stuck h1 { font-size: clamp(1.25rem, 1.8vw, 1.55rem); }
.content > .page-head.stuck h1 .icon { width: 20px; height: 20px; }
.content > .page-head.stuck .btn { padding-top: .4rem; padding-bottom: .4rem; }

/* Shared language control: web, mobile and platform management. */
.language-picker{max-width:10rem;width:auto;min-height:2.2rem;border:1px solid var(--line,#d8dfdb);border-radius:8px;padding:.3rem .6rem;background:var(--surface,#fff);color:var(--ink,#172e28);font:inherit;font-size:.8rem}
.public>.language-picker{position:fixed;inset-block-start:.75rem;inset-inline-end:.75rem;z-index:50;box-shadow:0 2px 10px #0001}
.auth-main>.language-picker{align-self:flex-end;margin-block-end:1rem}

/* ---------- Ekleme formu üstte, biriken liste altta ----------
   Kayıt eklendikçe form aşağı kaçmasın: form sabit yerde durur, liste kendi içinde kayar. */
.add-box { border: 1px solid var(--line-strong); background: var(--surface-2); border-radius: var(--radius-sm, 8px); padding: .7rem .8rem; margin-bottom: .8rem; }
.add-box-fields { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem; }
.add-box-fields label { margin: 0; flex: 0 1 170px; }
.add-box-fields label.grow { flex: 1 1 200px; }
.add-box-fields .btn { white-space: nowrap; }
.scroll-list { max-height: min(46vh, 360px); overflow-y: auto; overscroll-behavior: contain; padding-right: 2px; }
.list-label { margin: .2rem 0 .3rem; font-size: .74rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.add-row { margin-bottom: .8rem; }
@media (max-width: 640px) {
  .add-box-fields label, .add-box-fields label.grow { flex: 1 1 100%; }
  .add-box-fields .btn { flex: 1 1 100%; justify-content: center; }
}

/* Üye sayfası: geçmiş ziyaret değerlendirmesi */
.member-ask { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; border: 1px solid #e0a80055; background: color-mix(in srgb, #e0a800 7%, var(--surface, #fff)); }
.member-ask h2 { margin: 0 0 .2rem; }
.member-ask .stars { margin: 0; }
.member-ask .stars button:hover, .member-ask .stars button:hover ~ button { color: var(--line-strong); }
.member-ask .stars:hover button { color: #e0a800; }
.member-ask .stars button:hover ~ button { color: var(--line-strong); }
.member-visit .stars { margin: 0; }
.stars.mini span { font-size: 1rem; padding: 0; }
.member-rate { display: block !important; padding: .6rem .2rem; }
.member-rate textarea { width: 100%; margin: .2rem 0 .5rem; }
.member-rate .row-actions { display: flex; gap: .5rem; justify-content: flex-end; }
.member-reply { padding-top: 0 !important; color: var(--muted); }

/* Personel › Performans */
.perf-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .8rem; }
.perf-bar .chips { margin: 0; }
.perf-dates { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.perf-dates input { width: auto; }
.perf-card { padding: 0; overflow: hidden; margin-bottom: 1rem; }
.perf-card .report-table-wrap { max-height: 55vh; max-height: 55dvh; }
.perf-table th { position: sticky; top: 0; background: var(--surface); z-index: 1; white-space: nowrap; }
.perf-table td, .perf-table th { padding-inline: .7rem; }
.perf-table tr.clickable { cursor: pointer; }
.perf-table tr.clickable:hover td { background: var(--surface-2); }
.perf-table tr.on td { background: color-mix(in srgb, var(--primary) 9%, transparent); }
.perf-table tr.muted td { opacity: .6; }
.perf-table td .avatar.sm { width: 26px; height: 26px; font-size: .7rem; display: inline-grid; place-items: center; vertical-align: middle; margin-right: .3rem; }
.perf-table td.neg { color: var(--danger, #c0392b); }
.perf-meter { display: inline-flex; align-items: center; gap: .4rem; min-width: 110px; }
.perf-meter i { flex: 1; height: 6px; border-radius: 3px; background: var(--surface-2); overflow: hidden; display: block; }
.perf-meter em { display: block; height: 100%; background: var(--primary); }
.perf-meter b { font-size: .82rem; min-width: 2.4rem; text-align: right; }
.perf-rating { display: inline-flex; align-items: center; gap: .3rem; white-space: nowrap; }
.perf-rating small { color: var(--muted); }
.perf-note { padding: .5rem .8rem .7rem; margin: 0; }
.perf-reviews { margin-bottom: 1rem; }
.perf-reviews-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.perf-reviews-head h3 { margin: 0; display: flex; align-items: center; gap: .4rem; }
.perf-dist { display: grid; gap: .25rem; max-width: 360px; margin: .7rem 0; }
.perf-dist div { display: grid; grid-template-columns: 2.4rem 1fr 2rem; align-items: center; gap: .5rem; font-size: .85rem; }
.perf-dist i { height: 7px; border-radius: 4px; background: var(--surface-2); overflow: hidden; display: block; }
.perf-dist em { display: block; height: 100%; background: #e0a800; }
.perf-dist small { color: var(--muted); text-align: right; }
.perf-review-list { list-style: none; padding: 0; margin: 0; max-height: 50vh; }
.perf-review-list li { padding: .7rem .2rem; border-bottom: 1px solid var(--line); }
.perf-review-list li.low { border-left: 3px solid var(--warn, #d68910); padding-left: .6rem; }
.perf-review-list p { margin: .3rem 0; }
.perf-review-top { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.perf-review-top .stars { margin: 0; }
.perf-reply { color: var(--muted); font-size: .88rem; padding-left: .7rem; border-left: 2px solid var(--line); }
.perf-reply-form textarea { width: 100%; margin: .3rem 0; }
.perf-reply-form .row-actions { display: flex; gap: .4rem; justify-content: flex-end; }
.staff-rating b { color: #b8860b; }
.member-ask .member-rate-form { flex-basis: 100%; }
.member-rate-form textarea { width: 100%; margin: .2rem 0 .5rem; }
.member-rate-form .row-actions { display: flex; gap: .5rem; justify-content: flex-end; }


/* Tahsilat penceresi: geniş, iki sütun (solda alınanlar + sadakat, sağda tuş takımı) */
.modal.xl { width: min(1080px, calc(100vw - 2rem)); }
.ps-pay.wide .ps-pay-sum b { font-size: 1.35rem; }
.ps-pay-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 1.1rem; align-items: start; }
.ps-pay-side, .ps-pay-main { display: flex; flex-direction: column; gap: .6rem; min-width: 0; }
.ps-pay-side .loy-pos { margin: 0; }
.ps-pay.wide .ps-keypad button { min-height: 58px; font-size: 1.45rem; }
.ps-pay.wide .ps-methods button { min-height: 60px; font-size: 1rem; }
.ps-pay.wide .ps-amount b { font-size: 2.3rem; }
.ps-paid { border: 1px solid var(--line); border-radius: var(--radius); padding: .5rem .7rem; display: grid; gap: .3rem; }
.ps-paid > small { font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.ps-paid div { display: flex; align-items: center; gap: .45rem; font-size: .92rem; }
.loy-use { display: grid; gap: .6rem; border-top: 1px solid var(--line); padding-top: .6rem; }
.loy-use-row { display: grid; gap: .35rem; }
.loy-use-head { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.loy-use-head span { display: inline-flex; align-items: center; gap: .35rem; }
.loy-use-input { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.loy-use-input input { width: 8.5rem; font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.loy-use-input .chip { margin: 0; }
.hero-card .split.muted { font-size: .85rem; align-items: center; }
@media (max-width: 820px) {
  .ps-pay-cols { grid-template-columns: 1fr; }
}

/* Giriş: cihaz kurulumu ve kullanıcı seçimi */
.auth-card.who-card { width: min(560px, 100%); }
.device-modes { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin: .8rem 0; }
.device-mode { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; text-align: left; padding: .9rem; border: 2px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink); font: inherit; cursor: pointer; }
.device-mode small { color: var(--muted); line-height: 1.35; }
.device-mode.on { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 8%, var(--surface)); }
.device-mode.on svg { color: var(--primary); }
.who-foot { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.4rem; margin-top: .8rem; }
.avatar-btn { border: 0; cursor: pointer; font: inherit; }
@media (max-width: 480px) { .device-modes { grid-template-columns: 1fr; } }

/* El terminali kabuğu (telefon) */
.term-shell { min-height: 100vh; min-height: 100dvh; background: var(--bg); display: flex; flex-direction: column; }
.term-top { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: .55rem; padding: .55rem .8rem; background: var(--surface); border-bottom: 1px solid var(--line); }
.term-who { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.term-who b, .term-who small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.term-who small { color: var(--muted); font-size: .75rem; }
.term-content { padding: .8rem !important; max-width: 760px; width: 100%; margin: 0 auto; }
.term { display: flex; flex-direction: column; gap: .7rem; }
.term-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: .3rem; position: sticky; top: 3.4rem; z-index: 10; background: var(--bg); padding-bottom: .2rem; }
.term-tabs button { display: flex; align-items: center; justify-content: center; gap: .35rem; min-height: 48px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font: inherit; font-weight: 700; border-radius: var(--radius); cursor: pointer; }
.term-tabs button.on { background: var(--primary); border-color: var(--primary); color: #fff; }
.term-h { margin: .4rem 0 .1rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.term-tables { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: .45rem; }
.term-table { min-height: 78px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; border: 2px solid var(--line-strong); border-radius: var(--radius); background: var(--surface); color: var(--ink); font: inherit; cursor: pointer; }
.term-table b { font-size: 1.2rem; }
.term-table small { font-size: .74rem; opacity: .85; }
.term-table.occupied, .term-table.seated { background: var(--primary); border-color: var(--primary); color: #fff; }
.term-table.billrequested { background: var(--accent); border-color: var(--accent); color: #fff; }
.term-table.reserved { border-color: #a855f7; background: color-mix(in srgb, #a855f7 10%, var(--surface)); }
.term-table.inactive { opacity: .45; border-style: dashed; }
.term-card { display: grid; gap: .6rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: .8rem; }
.term-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.term-list li { display: flex; align-items: center; gap: .6rem; padding: .7rem .8rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); cursor: pointer; }
.term-list li .grow small { display: block; color: var(--muted); }
.term-appts { display: grid; gap: .55rem; }
.term-appt { display: grid; gap: .3rem; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--line-strong); border-radius: var(--radius); padding: .75rem .8rem; }
.term-appt.ok { border-left-color: var(--ok); }
.term-appt.warn { border-left-color: var(--warn); }
.term-appt.info { border-left-color: var(--info); }
.term-appt.neg, .term-appt.danger { border-left-color: var(--danger, #c0392b); opacity: .75; }
.term-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .25rem; }
.term-actions .btn { min-height: 44px; flex: 1 1 auto; }
.user-card { grid-template-columns: 36px 1fr auto !important; }
.user-card .user-actions { display: flex; gap: 2px; }
.user-card .user-actions .icon-btn { width: 32px; height: 32px; }

/* Personel kartı: sisteme giriş ve yetki */
.staff-account { display: grid; gap: .55rem; border: 1px solid var(--line); border-radius: var(--radius); padding: .75rem .85rem; margin: .4rem 0 .8rem; background: var(--surface-2); }
.staff-account > header { display: flex; align-items: center; gap: .4rem; }
.staff-account .segmented { justify-self: start; }
.staff-account-linked { display: flex; align-items: center; gap: .6rem; }
.staff-account-linked .grow small { display: block; color: var(--muted); }
.staff-account label { margin: 0; }
.staff-account > header { justify-content: flex-start !important; }

/* Açık hesaplar (masasız, müşteri bazında) */
.oa-bar { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin-bottom: .6rem; }
.oa-bar .search-box { min-width: 220px; }
.oa-sum { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center; margin-bottom: .8rem; color: var(--muted); font-size: .9rem; }
.oa-sum b { color: var(--ink); }
.oa-sum a { display: inline-flex; align-items: center; gap: .25rem; color: var(--primary); text-decoration: none; }
.oa-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .7rem; }
.oa-card { display: flex; flex-direction: column; gap: .5rem; padding: .8rem .9rem; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--primary); border-radius: var(--radius); color: var(--ink); text-decoration: none; cursor: pointer; transition: box-shadow .15s; }
.oa-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.oa-card.empty { border-left-color: var(--line-strong); }
.oa-card header { display: flex; align-items: center; gap: .55rem; }
.oa-card header .grow { min-width: 0; }
.oa-card header b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oa-card header small { display: flex; flex-wrap: wrap; column-gap: .45rem; color: var(--muted); font-size: .78rem; }
.oa-card header small span { white-space: nowrap; }
.oa-card header .pill { flex-shrink: 0; }
.oa-items { list-style: none; margin: 0; padding: 0; font-size: .86rem; display: grid; gap: .1rem; min-height: 2.6em; }
.oa-items li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oa-card footer { display: flex; align-items: flex-end; gap: .6rem; border-top: 1px solid var(--line); padding-top: .45rem; }
.oa-card footer > small { min-width: 0; }
.oa-due { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; white-space: nowrap; }
.oa-due small { color: var(--muted); font-size: .72rem; }
.oa-due b { font-size: 1.15rem; font-variant-numeric: tabular-nums; }

/* Online ödeme: randevu formunda kapora, üye hesabı, ödeme sonucu, ayarlar */
.w-deposit { display: grid; gap: .35rem; padding: .8rem .9rem; margin: .6rem 0; border: 1px dashed currentColor; border-radius: 10px; font-size: .9rem; }
.w-deposit small { opacity: .8; }
.member-bill { border: 1px solid var(--line); border-radius: 12px; padding: .7rem .8rem; margin-top: .6rem; display: grid; gap: .4rem; }
.member-bill header { display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.member-bill-sum { display: flex; align-items: baseline; gap: .5rem; font-size: .9rem; color: var(--muted); }
.member-bill-sum b { font-size: 1.25rem; color: var(--ink); }
.pay-result { max-width: 520px; margin: 2rem auto; padding: 0 16px; }
.pay-card { text-align: center; display: grid; gap: .45rem; justify-items: center; padding: 1.6rem 1.2rem; }
.pay-card h1 { margin: 0; font-size: 1.5rem; }
.pay-icon { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); }
.pay-card.ok .pay-icon { background: var(--ok-soft, #e3f4ea); color: var(--ok, #1e8e4e); }
.pay-card.bad .pay-icon { background: #fde8e6; color: #c0392b; }
.pay-card.wait .pay-icon { background: var(--info-soft, #e6effb); color: var(--info, #1f5fbf); }
.pay-amount { font-size: 2rem; font-weight: 800; margin: 0; font-variant-numeric: tabular-nums; }
.pay-policy { color: var(--muted); display: flex; gap: .35rem; text-align: left; }
.pay-actions { justify-content: center; margin-top: .5rem; }
.pay-protect ul { margin: .2rem 0 0; padding-left: 1.1rem; display: grid; gap: .35rem; font-size: .9rem; }
.pay-h { margin: 1rem 0 .4rem; font-size: .95rem; }
.pay-policies { display: grid; gap: .5rem; }
.pay-policies .radio { display: flex; gap: .5rem; align-items: flex-start; text-transform: none; font-weight: 400; letter-spacing: 0; }
.pay-policies .inline-num { width: 4.5rem; display: inline-block; padding: .15rem .35rem; margin: 0 .2rem; }
.pay-stats { display: flex; gap: 1.2rem; flex-wrap: wrap; margin-bottom: .6rem; color: var(--muted); }
.pay-stats b { color: var(--ink); }
.pay-list li { flex-wrap: wrap; }
.pay-list .grow small { display: block; color: var(--muted); }
.row-end { display: flex; justify-content: flex-end; margin-top: .6rem; }

/* Randevu yönetim sayfası: kapora ve iade kuralı */
.manage-deposit { margin: 1rem 0; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2, var(--surface)); text-align: left; }
.manage-deposit .row { display: flex; align-items: center; gap: .5rem; }
.manage-deposit p { margin: .4rem 0 0; }
.appt-deposit { display: grid; gap: .25rem; padding: .6rem .75rem; border-radius: 10px; background: var(--ok-soft); font-size: .9rem; }
.appt-deposit.warn { background: var(--warn-soft); }
.appt-deposit .row { display: flex; align-items: center; gap: .4rem; }
.dispute-box { margin-top: .7rem; padding: .7rem .8rem; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); display: grid; gap: .35rem; }
.dispute-box.open { border-color: var(--warn, #c98a00); background: var(--warn-soft); }
.dispute-box p { margin: 0; }
.dispute-box textarea { width: 100%; }
.list.dispute-list > li { display: grid; gap: .35rem; align-items: start; }
.dispute-list .row { display: flex; align-items: flex-start; gap: .5rem; flex-wrap: wrap; }
.dispute-list .row > .grow { flex: 1 1 220px; min-width: 0; }
.dispute-list .pill { white-space: normal; text-align: left; max-width: 100%; }
.dispute-list .note, .dispute-list p { overflow-wrap: anywhere; }
.dispute-list small { display: block; }
.dispute-list .note { margin: 0; }

/* Personel tanıtımı (panel): fotoğraf, unvan, uzmanlıklar, iş görselleri */
.staff-profile { display: grid; gap: .9rem; }
.staff-profile-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.staff-profile-fields { display: grid; gap: .6rem; }
.staff-profile .field-label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .35rem; }
.staff-profile .chip .chip-x { border: 0; background: none; color: inherit; cursor: pointer; padding: 0 0 0 .25rem; font-size: 1rem; line-height: 1; }
.staff-profile .chip-input { flex: 1 1 12rem; min-width: 10rem; }
.staff-works .row { display: flex; align-items: center; gap: .5rem; }
.staff-work-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .6rem; margin-top: .5rem; }
.staff-work { position: relative; margin: 0; display: grid; gap: .3rem; }
.staff-work img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; border: 1px solid var(--line); }
.staff-work input { font-size: .8rem; padding: .3rem .45rem; }
.staff-work .icon-btn { position: absolute; top: .3rem; right: .3rem; background: var(--surface); border-radius: 50%; }
@media (max-width: 640px) { .staff-profile-head { grid-template-columns: 1fr; } }

/* Sitede "Ekibimiz" sayfası */
.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 1.25rem; }
.team-card { display: flex; flex-direction: column; background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--bp-radius); overflow: hidden; }
.team-photo { aspect-ratio: 4 / 3; overflow: hidden; background: color-mix(in srgb, var(--bp-primary) 10%, var(--bp-bg)); display: grid; place-items: center; }
.team-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.team-photo span { font-family: var(--booking-heading, var(--cv-heading, inherit)); font-size: 2.4rem; font-weight: 400; letter-spacing: .04em; color: color-mix(in srgb, var(--bp-primary) 62%, transparent); }
/* Fotoğrafı olmayan kişide büyük gri kare yerine alçak, yumuşak bir monogram alanı. */
.team-grid.compact .team-photo:has(> span) { aspect-ratio: 16 / 10; background: color-mix(in srgb, var(--bp-primary) 6%, transparent); }
.team-body { display: flex; flex-direction: column; gap: .55rem; padding: 1.1rem 1.2rem 1.3rem; flex: 1; }
.team-body h2 { font-family: var(--booking-heading, inherit); font-size: 1.35rem; margin: 0; }
.team-title { margin: 0; color: var(--bp-primary); font-weight: 600; }
.team-tags { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; }
.team-tags li { font-size: .78rem; padding: .2rem .6rem; border-radius: 99px; background: color-mix(in srgb, var(--bp-accent) 14%, var(--bp-bg)); }
.team-bio { margin: 0; color: var(--bp-muted); white-space: pre-line; line-height: 1.55; }
.team-services { margin: 0; font-size: .88rem; color: var(--bp-muted); }
.team-works { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; }
.team-work { padding: 0; border: 0; border-radius: 8px; overflow: hidden; aspect-ratio: 1; cursor: zoom-in; background: var(--bp-border); }
.team-work img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.team-work:hover img { transform: scale(1.05); }
.team-work.more { font-weight: 700; font-size: 1.1rem; color: var(--bp-ink); cursor: pointer; }
.team-body .site-btn { margin-top: auto; }
.team-lightbox { position: fixed; inset: 0; z-index: 90; background: rgba(0,0,0,.85); display: grid; place-items: center; padding: 1rem; }
.team-lightbox figure { position: relative; margin: 0; max-width: min(92vw, 1000px); }
.team-lightbox img { max-width: 100%; max-height: 80vh; border-radius: 10px; display: block; margin: auto; }
.team-lightbox figcaption { color: #fff; text-align: center; margin-top: .6rem; }
.team-lightbox figcaption small { opacity: .7; margin-left: .5rem; }
.team-lightbox button { position: absolute; top: 50%; transform: translateY(-50%); border: 0; border-radius: 50%; width: 42px; height: 42px; display: grid; place-items: center; background: rgba(255,255,255,.9); color: #111; cursor: pointer; }
.team-lightbox .prev { left: -8px; } .team-lightbox .next { right: -8px; }
.team-lightbox .close { top: -8px; right: -8px; transform: none; }

/* Randevu formunda personel kartları */
.w-staff-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: .5rem; margin-bottom: .8rem; }
.w-staff-card { display: flex; align-items: center; gap: .6rem; text-align: left; padding: .55rem .65rem; border: 1px solid var(--bp-border, var(--line)); border-radius: 12px; background: transparent; color: inherit; cursor: pointer; }
.w-staff-card.on { border-color: var(--bp-primary, var(--primary)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--bp-primary, var(--primary)) 25%, transparent); }
.w-staff-card strong, .w-chosen-staff strong { display: block; }
.w-staff-card small, .w-chosen-staff small { display: block; opacity: .75; font-size: .78rem; }
.w-staff-tags { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 12rem; }
.w-staff-photo { flex: none; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; font-weight: 700; background: color-mix(in srgb, var(--bp-primary, var(--primary)) 14%, transparent); color: var(--bp-primary, var(--primary)); }
.w-staff-photo img { width: 100%; height: 100%; object-fit: cover; }
.w-chosen-staff { display: flex; align-items: center; gap: .7rem; padding: .6rem .75rem; margin-bottom: .8rem; border-radius: 12px; background: color-mix(in srgb, var(--bp-primary, var(--primary)) 8%, transparent); }
.w-chosen-staff .grow { flex: 1; }

/* Ekip kartları: Stüdyo'da sütun sayısı seçilebilir; dar ekranda tek/çift sütuna iner. Küçük kart görünümü. */
.team-grid[style*="--team-cols"] { grid-template-columns: repeat(var(--team-cols), minmax(0, 1fr)); }
@media (max-width: 900px) { .team-grid[style*="--team-cols"] { grid-template-columns: repeat(min(2, var(--team-cols)), minmax(0, 1fr)); } }
@media (max-width: 560px) { .team-grid[style*="--team-cols"] { grid-template-columns: 1fr; } }
.cv-site .team-grid { color: inherit; }
.cv-site .team-card { background: var(--bp-surface, rgba(0,0,0,.03)); border-color: var(--bp-border, rgba(0,0,0,.09)); border-radius: var(--bp-radius, 14px); }
.team-body h3 { font-family: var(--booking-heading, var(--cv-heading, inherit)); font-size: 1.3rem; margin: 0; }
.team-grid.compact .team-photo { aspect-ratio: 1; }
.team-grid.compact .team-photo img { aspect-ratio: 1; }
.team-grid.compact .team-body { padding: .8rem .9rem 1rem; gap: .4rem; }
.team-grid.compact .team-body h3 { font-size: 1.1rem; }
.cv-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.cv-team small { opacity: .7; font-size: .85em; }
.member-page.embedded { max-width: none; margin: 0; padding: 0; }
.member-page.embedded .member-top { justify-content: flex-end; }
.team-grid[style*="--team-cols"] { justify-content: center; }
@media (min-width: 901px) { .team-grid[style*="--team-cols"] { grid-template-columns: repeat(var(--team-cols), minmax(0, min(100%, 340px))); } }
@media (max-width: 560px) { .team-grid.compact[style*="--team-cols"], .team-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; } .team-grid.compact .team-body .site-btn { font-size: .8rem; padding: .55rem .4rem; } }

/* Randevu formu: tek randevuda birden çok hizmet */
.appt-services { display: grid; gap: .35rem; margin-bottom: .6rem; padding: .6rem .7rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2, transparent); }
.appt-svc, .appt-total { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.appt-svc .grow { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.appt-total { border-top: 1px dashed var(--line); padding-top: .4rem; margin-top: .1rem; flex-wrap: wrap; font-size: .92rem; }
.appt-services .appt-min { display: inline-flex; flex-direction: row; align-items: center; gap: .3rem; margin: 0; white-space: nowrap; text-transform: none; letter-spacing: 0; font-size: .85rem; font-weight: 500; }
.appt-services .appt-min input { width: 4.6rem; margin: 0; padding: .3rem .4rem; text-align: right; }
.appt-add { width: 100%; }
.appt-items { display: grid; gap: .15rem; font-weight: 500; }
.appt-items small { margin-left: .25rem; }
.appt-items-total { font-weight: 700; }
.w-extras { display: grid; gap: .35rem; margin-bottom: .8rem; }
.w-extras .w-chips { margin-bottom: 0; }
.w-extras .w-chips button { display: inline-flex; align-items: center; gap: .3rem; }
.w-total { margin: 0; font-size: .92rem; }
.w-add { width: 100%; }
.pin-keys { display: grid; gap: .8rem; outline: none; }
.pin-keys:focus-visible { outline: 2px solid var(--accent, #2b5); outline-offset: 6px; border-radius: 12px; }

/* Randevu sayfası (modal yerine) */
.appt-page { max-width: 1180px; margin: 0 auto; padding-bottom: 5.5rem; }
.appt-page .page-head h1 { margin-top: .2rem; }
.appt-form { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 1.1rem; align-items: start; }
.appt-col { display: grid; gap: .85rem; margin: 0; padding: 1.15rem 1.25rem; min-width: 0; }
.appt-col > * { min-width: 0; }
.appt-sec { font-size: 1rem; margin: 0 0 .1rem; }
.appt-col .slot-grid { max-height: 340px; overflow: auto; }
.appt-bar { position: sticky; bottom: var(--bnav-h, 0px); z-index: 5; display: flex; align-items: center; gap: .6rem; margin-top: 1rem; padding: .7rem 1rem;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 -6px 20px rgb(0 0 0 / .08); }
.appt-bar-sum { flex: 1; min-width: 0; display: grid; }
.appt-bar-sum small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) {
  .appt-form { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .appt-col { padding: .9rem; }
  .appt-bar { flex-wrap: wrap; gap: .45rem .6rem; padding: .6rem .75rem; }
  .appt-bar-sum { flex-basis: 100%; }
  .appt-bar-sum strong, .appt-bar-sum small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .appt-bar .btn { flex: 1; }
  .appt-col .grid-2, .appt-col .grid-3 { grid-template-columns: minmax(0, 1fr); }
}

/* Online randevu: ilk adımda çoklu hizmet seçimi */
.w-option.picked { border-color: var(--bp-primary, var(--primary)); box-shadow: inset 0 0 0 1px var(--bp-primary, var(--primary)); }
.w-pick { display: inline-flex; align-items: center; gap: .25rem; font-size: .85rem; font-weight: 600; color: var(--bp-primary, var(--primary)); white-space: nowrap; }
.w-basket { position: sticky; bottom: .5rem; z-index: 3; display: flex; align-items: center; gap: .75rem; margin-top: .8rem; padding: .7rem .8rem;
  background: var(--bp-bg, var(--surface)); border: 1px solid var(--bp-primary, var(--primary)); border-radius: var(--bp-radius-sm, 10px); box-shadow: 0 8px 24px rgb(0 0 0 / .12); }
.w-basket .grow { min-width: 0; display: grid; }
.w-basket strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.w-basket small { color: var(--bp-muted, var(--muted)); }
.w-basket .site-btn { display: inline-flex; align-items: center; gap: .3rem; white-space: nowrap; }

/* Dar telefonda üst çubuk taşmasın: dil seçici daralır, "Web sitem" menüde kalır. */
@media (max-width: 480px) {
  .topbar { min-width: 0; gap: .35rem; }
  .topbar .language-picker { max-width: 5.2rem; min-width: 0; padding-left: .4rem; padding-right: 1.4rem; text-overflow: ellipsis; }
  .topbar .top-link { display: none; }
}

/* Büyük formlar: tam ekran sayfa (FormPage). Küçük onay/hızlı işlem pencereleri modal kalır ve bunun üstünde açılır. */
.form-page { position: fixed; inset: 0; z-index: 85; overflow-y: auto; overscroll-behavior: contain; background: var(--bg); animation: fade .12s; }
body:has(.form-page) { overflow: hidden; }
.form-page-inner { max-width: 880px; margin: 0 auto; padding: 1.25rem 1.25rem 0; min-height: 100%; display: flex; flex-direction: column; }
.form-page-inner.sm { max-width: 640px; }
.form-page-inner.lg { max-width: 1040px; }
.form-page-inner.xl { max-width: 1240px; }
.form-page-head { padding: .5rem 0 1rem; }
.form-page-head h1 { margin-top: .35rem; font-size: clamp(1.5rem, 3.5vw, 2.2rem); overflow-wrap: anywhere; }
.form-page-body { flex: 1; display: grid; gap: .9rem; align-content: start; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 1.25rem 1.4rem; min-width: 0; }
.form-page-body > * { min-width: 0; }
.form-page-bar { position: sticky; bottom: var(--bnav-h, 0px); z-index: 2; display: flex; align-items: center; justify-content: flex-end; gap: .6rem; flex-wrap: wrap; margin: 1rem 0 0; padding: .75rem 1rem;
  padding-bottom: max(.75rem, env(safe-area-inset-bottom)); background: var(--surface); border: 1px solid var(--line); border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; box-shadow: 0 -6px 20px rgb(0 0 0 / .08); }
.form-page-bar .grow { flex: 1; }
@media (max-width: 560px) {
  .form-page-inner { padding: .75rem 16px 0; }
  .form-page-body { padding: 1rem; }
  .form-page-body .grid-2, .form-page-body .grid-3 { grid-template-columns: minmax(0, 1fr); }
  .form-page-bar { margin-left: -16px; margin-right: -16px; border-radius: 0; }
  .form-page-bar .btn.primary { flex: 1; }
}

/* ---------- Açılır listeler (select.js) ---------- */
/* Kutunun kendisi: tarayıcı oku yerine yumuşak ok; uzun seçili metin "…" ile kesilir. */
select:not([multiple]):not([size]) {
  appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 2.3rem; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237d8884' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-position: right .7rem center; background-size: 1.05rem; background-repeat: no-repeat;
}
select:not([multiple]):not([size]):disabled { cursor: not-allowed; opacity: .65; }

.rsel { --rsel-bg-c: var(--rsel-bg, var(--surface, #fff)); --rsel-acc: var(--rsel-accent, var(--primary, #0b4947)); --rsel-ln: var(--rsel-line, var(--line, #d9d9d9));
  --rsel-rad: var(--rsel-radius, 12px); font-family: var(--rsel-font, inherit); color: var(--rsel-ink, var(--ink, #1c2b2a)); }
.rsel-panel { display: flex; flex-direction: column; background: var(--rsel-bg-c); border: 1px solid var(--rsel-ln); border-radius: max(10px, var(--rsel-rad));
  box-shadow: 0 18px 44px rgb(15 25 30 / .18), 0 2px 6px rgb(15 25 30 / .08); overflow: hidden; }
.rsel-pop .rsel-panel { position: fixed; z-index: 300; animation: rsel-in .12s ease-out; }
.rsel-search { margin: .5rem; width: calc(100% - 1rem); min-height: 38px; padding: .5rem .7rem .5rem 2rem; border: 1px solid var(--rsel-ln); border-radius: max(8px, calc(var(--rsel-rad) - 2px));
  background: var(--rsel-bg-c) no-repeat .65rem 50% / 14px 14px; color: inherit; font: inherit; font-size: .92rem; flex: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2388928e' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); }
.rsel-search:focus { outline: none; border-color: var(--rsel-acc); box-shadow: 0 0 0 3px color-mix(in srgb, var(--rsel-acc) 16%, transparent); }
.rsel-list { overflow-y: auto; overscroll-behavior: contain; padding: .3rem; outline: none; min-height: 0; flex: 1; }
.rsel-opt { display: flex; align-items: center; gap: .5rem; padding: .55rem .7rem; border-radius: max(6px, calc(var(--rsel-rad) - 4px)); cursor: pointer; font-size: .95rem; line-height: 1.3; }
.rsel-opt span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.rsel-opt.act { background: color-mix(in srgb, var(--rsel-acc) 9%, transparent); }
.rsel-opt.on { font-weight: 650; color: var(--rsel-acc); }
.rsel-opt.on::after { content: ""; flex: none; width: .45rem; height: .8rem; margin-right: .2rem; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-2px); }
.rsel-opt.off { opacity: .45; cursor: not-allowed; }
.rsel-group { padding: .6rem .7rem .25rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .6; }
.rsel-empty { padding: .9rem .7rem; opacity: .6; font-size: .9rem; }
/* Telefon: alttan açılan panel */
.rsel-sheet { position: fixed; inset: 0; z-index: 300; display: flex; align-items: flex-end; }
.rsel-backdrop { position: absolute; inset: 0; background: rgb(10 15 25 / .45); animation: fade .15s; }
.rsel-sheet .rsel-panel { position: relative; width: 100%; max-height: 78vh; max-height: 78dvh; border-radius: 18px 18px 0 0; border-bottom: 0; padding-bottom: env(safe-area-inset-bottom); animation: rsel-up .2s ease-out; }
.rsel-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .85rem 1rem .35rem; }
.rsel-head strong { font-size: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rsel-x { border: 0; background: transparent; color: inherit; font-size: 1.6rem; line-height: 1; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; }
.rsel-sheet .rsel-search { margin: .25rem .75rem .5rem; width: calc(100% - 1.5rem); min-height: 44px; font-size: 1rem; }
.rsel-sheet .rsel-opt { min-height: 48px; padding: .7rem .9rem; font-size: 1rem; }
.rsel-sheet .rsel-list { padding: .25rem .5rem .75rem; }
html.rsel-lock, html.rsel-lock body { overflow: hidden; }
@keyframes rsel-in { from { opacity: 0; transform: translateY(-4px); } }
@keyframes rsel-up { from { transform: translateY(100%); } }
@media (prefers-reduced-motion: reduce) { .rsel-panel, .rsel-backdrop { animation: none !important; } }
.st-sec-group { margin: .9rem 0 .4rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.st-hint-text .link-btn { color: #b9a7ff; font-weight: 650; padding: 0; margin-top: .25rem; }

/* Ürün alerjen ve içerik */
.allergen-field { display: grid; gap: .45rem; margin-bottom: .75rem; }
.allergen-field .field-label { font-size: .85rem; font-weight: 600; color: var(--muted); }
.allergen-field .chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.allergen-add { display: flex; gap: .4rem; }
.allergen-add input { flex: 1; min-width: 0; }
.cv-allergens { display: flex; align-items: baseline; gap: .3rem; flex-wrap: wrap; margin: .35rem 0 0; font-size: .8rem; line-height: 1.35; opacity: .9; }
.cv-allergens b { font-weight: 700; }
.cv-ingredients { margin-top: .35rem; font-size: .82rem; }
.cv-ingredients summary { cursor: pointer; font-weight: 600; }
.cv-ingredients p { margin: .3rem 0 0; opacity: .85; overflow-wrap: anywhere; }

.field-hint { display: block; margin: -.5rem 0 .75rem; }

/* Hesap güvenliği / iki adımlı doğrulama */
.sec-card { display: grid; gap: 1rem; max-width: 820px; }
.sec-head { display: flex; gap: .9rem; align-items: flex-start; }
.sec-head h3 { margin: 0 0 .2rem; }
.sec-head p { margin: 0; }
.sec-icon { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--warn-soft, #fdf1d6); color: var(--ink); }
.sec-icon.on { background: var(--ok-soft, #def3e6); }
.sec-steps { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; }
.sec-setup { display: flex; gap: 1.25rem; align-items: flex-start; flex-wrap: wrap; }
.sec-qr { background: #fff; padding: .5rem; border-radius: 10px; border: 1px solid var(--line); width: 200px; height: 200px; }
.sec-key { display: inline-block; font-size: 1.05rem; letter-spacing: .06em; padding: .35rem .6rem; background: var(--surface-2, rgba(0,0,0,.04)); border-radius: 8px; overflow-wrap: anywhere; }
.sec-codes ol { columns: 2; gap: 1.5rem; padding-left: 1.4rem; font-size: 1.05rem; }
.sec-codes code { letter-spacing: .05em; }
.sec-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.sec-facts li { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.sec-managers { list-style: none; margin: 0 0 .8rem; padding: 0; display: grid; gap: .3rem; }
.sec-managers li { display: flex; align-items: center; gap: .5rem; padding: .45rem .6rem; border: 1px solid var(--line); border-radius: 10px; }
.stepup { display: grid; gap: .6rem; }
.stepup .link-btn { justify-self: start; }
.sec-confirm { display: grid; gap: .5rem; padding: .9rem; border: 1px dashed var(--line); border-radius: 10px; }
.otp-input { font-size: 1.35rem; letter-spacing: .3em; text-align: center; font-variant-numeric: tabular-nums; max-width: 14rem; }
.row.gap { display: flex; gap: .5rem; } .row.gap.wrap { flex-wrap: wrap; }
@media (max-width: 560px) { .sec-codes ol { columns: 1; } .sec-qr { margin: 0 auto; } }

/* ── KVKK: müşteri kartı ve üye alanı ───────────────────── */
.kv-banner { display: flex; gap: .8rem; align-items: flex-start; padding: .9rem 1rem; border-radius: 14px; background: var(--warn-soft); border: 1px solid color-mix(in srgb, var(--warn, #b7791f) 35%, transparent); margin-bottom: 1rem; }
.kv-banner.urgent { background: var(--danger-soft); border-color: color-mix(in srgb, var(--danger) 40%, transparent); }
.kv-banner.done { background: var(--surface-2, var(--surface)); border-color: var(--line); }
.kv-banner > svg { flex: none; margin-top: .15rem; }
.kv-banner strong { display: block; margin-bottom: .2rem; }
.kv-banner p { margin: 0 0 .6rem; font-size: .92rem; }
.kv-banner label { display: block; margin-bottom: .5rem; }
.kv-banner textarea { width: 100%; }
.kv-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .9rem; margin-bottom: 1.2rem; }
.kv-card { display: flex; flex-direction: column; gap: .55rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.kv-card h4 { margin: 0; font-size: 1rem; }
.kv-card p { margin: 0; font-size: .9rem; color: var(--muted); line-height: 1.5; flex: 1; }
.kv-card .btn { align-self: flex-start; }
.kv-icon { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--ok-soft); color: var(--primary); }
.kv-card.danger .kv-icon { background: var(--danger-soft); color: var(--danger); }
.kv-blockers { padding: .6rem .75rem; border-radius: 10px; background: var(--warn-soft); font-size: .88rem; }
.kv-blockers small { display: block; font-weight: 700; margin-bottom: .2rem; }
.kv-blockers ul { margin: 0; padding-left: 1.1rem; }
.kv-title { margin: 1.2rem 0 .5rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.kv-log small { overflow-wrap: anywhere; }
.kv-confirm { display: grid; gap: .6rem; }
.kv-confirm p { margin: 0; }
.kv-requests .cx-list li { display: flex; align-items: center; gap: .6rem; }
.member-privacy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .8rem; }
.member-privacy-grid article { display: flex; flex-direction: column; gap: .5rem; padding: .9rem 1rem; border-radius: 14px; border: 1px solid var(--line); background: var(--surface-2, var(--surface)); }
.member-privacy-grid article p { margin: 0; font-size: .9rem; color: var(--muted); line-height: 1.5; flex: 1; }
.member-privacy-grid article .btn { align-self: flex-start; }
.member-privacy-grid textarea { width: 100%; }
.mp-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--ok-soft); color: var(--primary); }
.mp-icon.warn { background: var(--danger-soft); color: var(--danger); }
.mp-state { display: inline-flex; align-items: center; gap: .3rem; align-self: flex-start; font-size: .8rem; font-weight: 700; padding: .2rem .6rem; border-radius: 999px; background: var(--warn-soft); }
.mp-rejected { padding: .5rem .65rem; border-radius: 10px; background: var(--warn-soft); color: var(--text, inherit) !important; }

/* ── Müşteri içe aktarma ─────────────────────────────────── */
.cu-head-actions { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.imp-steps { display: flex; gap: .4rem; list-style: none; padding: 0; margin: 0 0 1.2rem; flex-wrap: wrap; counter-reset: s; }
.imp-steps li { display: flex; align-items: center; gap: .45rem; padding: .4rem .85rem .4rem .45rem; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); color: var(--muted); font-weight: 600; font-size: .88rem; }
.imp-steps li span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); font-size: .8rem; }
.imp-steps li.on { color: var(--text, inherit); border-color: var(--primary); }
.imp-steps li.on span { background: var(--primary); color: #fff; }
.imp-steps li.done span { background: var(--ok-soft); color: var(--primary); }
.imp-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1rem; }
@media (max-width: 860px) { .imp-grid { grid-template-columns: 1fr; } }
.imp-drop { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .6rem; padding: 2.2rem 1.4rem; border: 2px dashed var(--line); transition: border-color .15s, background .15s; }
.imp-drop.drag { border-color: var(--primary); background: var(--ok-soft); }
.imp-drop h3 { margin: 0; }
.imp-drop p { margin: 0; max-width: 46ch; }
.imp-drop-icon { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; background: var(--ok-soft); color: var(--primary); }
.imp-file { position: relative; overflow: hidden; cursor: pointer; display: inline-flex; flex-direction: row; margin-bottom: 0; color: #fff; align-items: center; gap: .4rem; text-transform: none; letter-spacing: 0; font-size: 1rem; }
.imp-file input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; font-size: 0; }
.imp-tips h3 { display: flex; align-items: center; gap: .4rem; margin: 0 0 .5rem; font-size: 1rem; }
.imp-tips ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .45rem; color: var(--muted); font-size: .92rem; }
.imp-history { margin-top: 1rem; }
.imp-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .8rem 1rem; }
.imp-map label { display: grid; gap: .3rem; font-size: .88rem; align-content: start; grid-template-rows: auto auto 1fr; }
.imp-map label small { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .78rem; }
.imp-map label > span { font-weight: 700; }
.imp-map label.req > span b { color: var(--danger); }
.imp-table { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.imp-table table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.imp-table th { text-align: left; padding: .55rem .7rem; background: var(--surface-2); font-size: .78rem; white-space: nowrap; color: var(--muted); }
.imp-table th small { display: block; color: var(--primary); font-weight: 700; text-transform: none; }
.imp-table th.mapped { color: var(--text, inherit); background: var(--ok-soft); }
.imp-table td { padding: .5rem .7rem; border-top: 1px solid var(--line); white-space: nowrap; max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.imp-table td.mapped { background: color-mix(in srgb, var(--ok-soft) 45%, transparent); }
.imp-options { display: grid; gap: .6rem; }
.imp-options p { margin: -.2rem 0 0 1.6rem; }
.imp-tag { display: grid; gap: .3rem; max-width: 320px; font-size: .88rem; font-weight: 700; }
.imp-bar { position: sticky; bottom: var(--bnav-h, 0px); display: flex; justify-content: flex-end; gap: .6rem; padding: .8rem 0; background: linear-gradient(transparent, var(--bg) 35%); z-index: 2; }
.imp-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .8rem; margin-bottom: 1rem; }
.imp-stats div { padding: 1rem 1.1rem; border-radius: 16px; border: 1px solid var(--line); background: var(--surface); display: grid; gap: .1rem; }
.imp-stats b { font-size: 1.9rem; line-height: 1.1; }
.imp-stats span { color: var(--muted); font-size: .88rem; }
.imp-stats .ok { background: var(--ok-soft); border-color: transparent; }
.imp-stats .info b { color: var(--primary); }
.imp-stats .bad { background: var(--danger-soft); border-color: transparent; }
.imp-issues { list-style: none; margin: 0 0 .6rem; padding: 0; display: grid; gap: .3rem; }
.imp-issues li { display: flex; gap: .6rem; padding: .45rem .65rem; border-radius: 10px; background: var(--warn-soft); font-size: .88rem; }
.imp-issues li.error { background: var(--danger-soft); }
.imp-issues li span { flex: none; font-weight: 700; min-width: 70px; }
.imp-done { text-align: center; display: grid; justify-items: center; gap: .5rem; padding: 2.2rem 1.4rem; }
.imp-done h2 { margin: 0; }
.imp-done p { margin: 0; max-width: 60ch; }
.imp-done-icon { width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center; background: var(--ok-soft); color: var(--primary); }

/* Başka programdan toplu aktarım (Excel şablonu) */
.wb-start { display: grid; gap: .8rem; }
.wb-step { display: flex; gap: 1rem; align-items: flex-start; text-align: left; }
.wb-step.imp-drop { flex-direction: row; align-items: flex-start; text-align: left; padding: 1.2rem 1.4rem; }
.wb-step h3 { margin: 0 0 .25rem; font-size: 1.05rem; }
.wb-step p { margin: 0 0 .7rem; max-width: 70ch; }
.wb-num { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: #fff; font-weight: 700; }
.wb-sheet-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; font-size: .9rem; }
.wb-sheet-list li { display: flex; align-items: baseline; gap: .45rem; flex-wrap: wrap; }
.wb-sheet-list li .icon { color: var(--primary); align-self: center; }
.wb-sheet-list li span { color: var(--muted); }
.wb-file { display: flex; align-items: center; gap: .6rem; margin-bottom: .8rem; }
.wb-file strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wb-sheets { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .8rem; margin-bottom: 1rem; align-items: start; }
.wb-sheet { display: grid; gap: .45rem; border-left: 4px solid var(--line); }
.wb-sheet.ok { border-left-color: var(--ok, var(--primary)); }
.wb-sheet.warn { border-left-color: var(--warn); }
.wb-sheet.bad { border-left-color: var(--danger); }
.wb-sheet.empty { opacity: .75; }
.wb-sheet header { display: flex; align-items: center; gap: .55rem; }
.wb-sheet h3 { margin: 0; font-size: 1rem; }
.wb-ico { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: var(--surface-2); color: var(--primary); flex: none; }
.wb-error { margin: 0; display: flex; gap: .4rem; align-items: flex-start; color: var(--danger); font-size: .9rem; }
.wb-error .icon { flex: none; margin-top: .15rem; }
.wb-counts { margin: 0; display: flex; flex-wrap: wrap; gap: .3rem .8rem; font-size: .85rem; color: var(--muted); }
.wb-counts .bad { color: var(--danger); font-weight: 700; }
.wb-counts:empty { display: none; }
.wb-preview { list-style: none; margin: 0; padding: .45rem .65rem; border-radius: 10px; background: var(--surface-2); display: grid; gap: .2rem; font-size: .84rem; }
.wb-preview li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wb-note { margin: 0; display: flex; gap: .35rem; align-items: flex-start; }
.wb-note .icon { flex: none; margin-top: .2rem; }
.imp-issues li.info { background: var(--surface-2); }
.imp-options h3 { margin: 0; font-size: 1rem; }
.wb-done-list { list-style: none; margin: .2rem 0 .4rem; padding: 0; display: grid; gap: .25rem; text-align: left; }
.wb-done-list li.bad { color: var(--danger); }
@media (max-width: 600px) { .wb-step, .wb-step.imp-drop { padding: 1rem; gap: .7rem; } .wb-sheets { grid-template-columns: 1fr; } }
.row.center { justify-content: center; }

/* ── Çift kayıtlar ───────────────────────────────────────── */
.dup-note { display: flex; gap: .4rem; align-items: flex-start; margin: -.2rem 0 1rem; }
.dup-group { display: grid; gap: .9rem; }
.dup-head { display: flex; align-items: center; gap: .6rem; }
.dup-cards { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 1fr); gap: .8rem; overflow-x: auto; padding-bottom: .2rem; }
.dup-card { display: flex; flex-direction: column; gap: .35rem; padding: .9rem 1rem; border-radius: 14px; border: 1.5px solid var(--line); background: var(--surface); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.dup-card.primary { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent); }
.dup-pick { display: flex; align-items: center; gap: .45rem; font-size: .8rem; font-weight: 700; color: var(--muted); text-transform: none; letter-spacing: 0; cursor: pointer; }
.dup-pick { flex-direction: row; margin-bottom: 0; }
.dup-pick input { width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; flex: none; accent-color: var(--primary); }
.dup-card.primary .dup-pick { color: var(--primary); }
.dup-card strong { font-size: 1.02rem; }
.dup-line { display: flex; align-items: center; gap: .35rem; font-size: .88rem; color: var(--muted); overflow-wrap: anywhere; }
.dup-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem .8rem; margin: .4rem 0 0; padding-top: .5rem; border-top: 1px dashed var(--line); }
.dup-stats dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.dup-stats dd { margin: 0; font-weight: 700; font-size: .92rem; }
.dup-foot { display: flex; align-items: center; justify-content: space-between; gap: .4rem; margin-top: auto; padding-top: .3rem; }
.dup-choose { display: grid; gap: .5rem; padding: .75rem .9rem; border-radius: 12px; background: var(--surface-2); }
.dup-choose > small { font-weight: 700; font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.dup-choice { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.dup-choice > span { min-width: 80px; font-size: .88rem; font-weight: 600; }
.dup-actions { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; justify-content: flex-end; }
.dup-actions > span { margin-right: auto; }

/* ── Firma paneli ────────────────────────────────────────── */
.co-kicker { font-size: .72rem; font-weight: 800; letter-spacing: .14em; color: var(--accent, var(--primary)); }
.co-head h1 { margin-top: .1rem; }
.co-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.co-period { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: 1rem; }
.co-branches { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .9rem; margin: 1rem 0; }
.co-branch { display: flex; flex-direction: column; gap: .55rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.co-branch.current { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
.co-branch header { display: flex; align-items: center; gap: .5rem; }
.co-branch strong { font-size: 1.05rem; }
.co-dot { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: var(--ok-soft); color: var(--primary); flex: none; }
.co-today { font-size: .88rem; color: var(--muted); }
.co-today b { color: var(--text, inherit); }
.co-revenue { font-size: 1.6rem; font-weight: 800; line-height: 1.1; display: flex; flex-direction: column; }
.co-revenue small { font-size: .74rem; font-weight: 600; color: var(--muted); }
.co-share { height: 6px; border-radius: 999px; background: var(--surface-2); overflow: hidden; }
.co-share span { display: block; height: 100%; background: var(--primary); border-radius: 999px; }
.co-branch dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: .3rem; margin: 0; padding-top: .55rem; border-top: 1px dashed var(--line); }
.co-branch dt { font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.co-branch dd { margin: 0; font-weight: 700; }
.co-branch .btn { align-self: flex-start; }
.co-table th { cursor: pointer; user-select: none; }
.co-table th.sorted { color: var(--text, inherit); }
.co-table .num { text-align: right; }
.co-table tr.current td { background: color-mix(in srgb, var(--ok-soft) 50%, transparent); }
.co-table tfoot td { border-top: 2px solid var(--line); font-weight: 700; padding: .55rem .7rem; }
.co-empty { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 1.2rem 1.3rem; border: 1px dashed var(--line); border-radius: 16px; background: var(--surface); color: var(--primary); }
.co-empty div { flex: 1 1 260px; color: var(--text, inherit); }
.co-empty p { margin: .2rem 0 0; }
.co-list li { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.co-list input { max-width: 220px; }
.co-settings { display: grid; gap: .5rem; }
.co-form { display: grid; gap: .3rem; max-width: 640px; }
.co-copy { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: .4rem 0; }
@media (max-width: 560px) { .co-copy { grid-template-columns: 1fr; } }
.co-copy > div { padding: .7rem .85rem; border-radius: 12px; background: var(--surface-2); font-size: .88rem; }
.co-copy ul { margin: .3rem 0 0; padding-left: 1.1rem; color: var(--muted); }
.co-roles { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: .8rem; }
@media (max-width: 560px) { .co-roles { grid-template-columns: 1fr; } }
.co-roles button { display: grid; gap: .2rem; text-align: left; padding: .75rem .85rem; border: 1.5px solid var(--line); border-radius: 12px; background: var(--surface); font: inherit; cursor: pointer; color: inherit; }
.co-roles button.on { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
.co-roles small { color: var(--muted); }
.co-scope { display: grid; gap: .1rem; padding: .6rem .8rem; border-radius: 12px; background: var(--surface-2); }
.co-scope label { margin-bottom: .2rem; }
.co-settings > .btn { justify-self: start; }

/* ── Ortak müşteri ───────────────────────────────────────── */
.cs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; }
.cs-col { display: flex; flex-direction: column; gap: 1rem; } .cs-col > .card { margin: 0; }
@media (max-width: 860px) { .cs-grid { grid-template-columns: 1fr; } }
.cs-branches { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .8rem; }
.cs-branches span { padding: .45rem .8rem; border-radius: 12px; background: var(--surface-2); font-size: .9rem; }
.cs-branches b { font-size: 1.1rem; margin-right: .2rem; }
.cs-merge { padding: .8rem .9rem; border-radius: 12px; background: var(--warn-soft); font-size: .92rem; line-height: 1.5; }
.cs-merge ul { margin: .4rem 0 0; padding-left: 1.1rem; }
.cs-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.cs-list li { display: flex; gap: .55rem; align-items: flex-start; font-size: .92rem; }
.cs-list li svg { flex: none; margin-top: .15rem; color: var(--primary); }
.cs-confirm { display: grid; gap: .5rem; }
.cs-done { text-align: center; display: grid; justify-items: center; gap: .5rem; }
.cs-done h2 { margin: 0; }
.cs-icon { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: var(--ok-soft); color: var(--primary); }
.cx-branches ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.cx-branches li { display: grid; gap: .1rem; padding-bottom: .5rem; border-bottom: 1px dashed var(--line); }
.cx-branches li:last-child { border-bottom: 0; padding-bottom: 0; }
.cx-branches small { color: var(--muted); }

/* ── Merkez kataloğu ─────────────────────────────────────── */
.cat-notice { display: flex; gap: .6rem; align-items: flex-start; padding: .7rem .9rem; border-radius: var(--radius); background: var(--surface-2); margin-bottom: 1rem; font-size: .9rem; line-height: 1.5; }
.cat-notice.master { background: var(--ok-soft); }
.cat-notice svg { flex: none; margin-top: .15rem; color: var(--primary); }
.cat-lock { display: flex; gap: .6rem; align-items: flex-start; padding: .75rem .9rem; border-radius: var(--radius); background: var(--surface-2); border: 1px dashed var(--line); margin-bottom: .9rem; }
.cat-lock svg { flex: none; margin-top: .2rem; color: var(--muted); }
.cat-lock p { margin: .2rem 0 0; font-size: .88rem; color: var(--muted); }
.cat-lock .cat-own { color: var(--text, inherit); }
fieldset.cat-locked { border: 0; padding: 0; margin: 0; min-width: 0; }
fieldset.cat-locked:disabled input, fieldset.cat-locked:disabled textarea, fieldset.cat-locked:disabled select { opacity: .7; cursor: not-allowed; }
.list strong.catalog-title { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem .45rem; }
.pkg-defs .info-card > header { flex-wrap: wrap; gap: .35rem .5rem; }
.cat-lock .cat-own { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .4rem; }
.company-staff-filter { display: flex; align-items: flex-end; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }
.company-staff-filter label { min-width: 0; margin: 0; }
.company-person { margin-bottom: 1rem; }
.company-person h3 { margin: 0; }
.company-person-branch { display: grid; grid-template-columns: minmax(130px, 1fr) 1.4fr 1fr 1fr; align-items: baseline; gap: .75rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.company-person-branch small { color: var(--muted); }
.company-person-total { display: flex; flex-wrap: wrap; gap: .5rem 1rem; border-top: 1px solid var(--line); background: var(--surface-2); padding: .85rem; }
.company-person-total > small { flex-basis: 100%; }
.company-staff-choices { display: grid; gap: .5rem; margin: 1rem 0; }
.branch-directory { width: 100%; padding: clamp(1rem, 3vw, 2.5rem); color: var(--bp-ink, var(--cv-page-ink, var(--ink))); }
.branch-directory-head { margin-bottom: 1.5rem; }
.branch-directory-head h2 { font-family: var(--cv-heading, inherit); font-size: clamp(1.6rem, 4vw, 2.6rem); line-height: 1.15; }
.branch-directory-head p { opacity: .75; max-width: 48rem; }
.branch-directory-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1rem; }
.branch-directory-card { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; min-width: 0; padding: 1.5rem; background: var(--bp-surface, var(--surface)); border: 1px solid var(--bp-border, var(--line)); border-radius: var(--bp-radius, var(--radius)); }
.branch-directory-card h3 { margin: 0; font-size: 1.35rem; }
.branch-directory-card p { margin: 0; line-height: 1.6; overflow-wrap: anywhere; }
.branch-directory-icon { color: var(--bp-primary, var(--primary)); }
.branch-directory-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: auto; padding-top: .8rem; }
.branch-directory .btn.primary, .branch-profile .btn.primary { background: var(--bp-primary, var(--primary)); color: var(--bp-on-primary, var(--cream)); }
.branch-directory-page { min-height: 100dvh; padding: clamp(1rem, 4vw, 3rem); }
.branch-directory-page > .branch-directory { max-width: 1180px; margin: auto; }
.branch-profile { min-height: 100dvh; padding: clamp(1.25rem, 4vw, 3rem) max(1.25rem, calc((100vw - 1120px) / 2)); }
.branch-profile h1 { margin: 1rem 0; }
.branch-profile h1, .branch-profile h2, .branch-profile h3 { font-family: var(--cv-heading, inherit); }
.branch-profile-team { border-top: 1px solid var(--bp-border, var(--line)); margin-top: 2rem; padding-top: 1.5rem; }
.branch-profile-team h2 { margin-bottom: 1rem; }
.branch-team-photo { width: 100%; max-height: 260px; object-fit: cover; border-radius: var(--bp-radius, var(--radius)); }
.branch-profile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 2rem; margin: 1.5rem 0; }
.branch-profile-grid article { min-width: 0; overflow-wrap: anywhere; }
.branch-profile-grid h2 { font-size: 1.2rem; margin-bottom: .8rem; }
.branch-hour { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; border-bottom: 1px solid var(--bp-border, var(--line)); padding: .4rem 0; }
.brand-branch-nav { display: flex; justify-content: center; padding: 1rem; background: var(--surface); }
.brand-branch-nav a { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; }
@media (max-width: 640px) {
  .company-staff-filter > label { flex: 1 1 125px; }
  .company-person-branch { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .5rem; }
  .company-person .card-head { flex-wrap: wrap; gap: .75rem; }
  .company-person-branch > * { overflow-wrap: anywhere; }
}
.thumb.lg { width: 96px; height: 96px; border-radius: 12px; object-fit: cover; margin-bottom: .6rem; }
.message-workspace{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.message-template-list{display:grid}.message-template-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;width:100%;padding:1.15rem 0;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit}.message-template-row:hover{color:var(--primary)}.message-template-row span{display:grid;gap:.3rem}.message-template-row small,.message-rule small{display:block;color:var(--muted);font-size:.85rem}.message-rule{display:flex;align-items:center;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}.message-rule>div{flex:1;min-width:0}.message-provider-list,.message-actions,.message-tokens{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.message-editor-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:start}.message-preview{padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere}.message-preview p{white-space:pre-wrap;line-height:1.7}.message-preview h3{overflow-wrap:anywhere}.message-workspace .card-head{align-items:flex-start}.message-workspace h2{margin:0}.message-workspace .card-head p{margin-bottom:0}@media(max-width:800px){.message-workspace,.message-editor-grid{grid-template-columns:1fr}.message-rule{gap:.6rem}.message-rule .pill{font-size:.7rem}.message-actions .btn{flex:1}.message-tokens .btn{padding:.4rem .6rem}.message-workspace .card-head{flex-wrap:wrap}}
/* Şube kasa/banka ve müşteri cari hesapları */
.ledger-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:20px 0}
.ledger-account{display:flex;flex-direction:column;gap:16px;min-width:0}
.ledger-account h3{margin:0;overflow-wrap:anywhere}
.ledger-amount{display:block;font-size:clamp(22px,3vw,32px);font-variant-numeric:tabular-nums;letter-spacing:-.025em;overflow-wrap:anywhere;margin:4px 0 12px}
.ledger-events{min-width:0}
.ledger-events article{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);min-width:0}
.ledger-events article:last-child{border-bottom:0}
.ledger-events article>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;overflow-wrap:anywhere}
.ledger-events article small{color:var(--muted);font-size:12px}
.ledger-events article>strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.ledger-search{display:flex;align-items:center;gap:24px;margin:20px 0}
.ledger-search label{flex:1;min-width:180px;margin:0}
.ledger-search>span{flex:1}
.ledger-balance-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}
.ledger-return{margin-top:20px}
.ledger-return-line{margin-bottom:12px;display:flex;flex-direction:column;gap:12px}
.ledger-return-line>div{display:flex;flex-direction:column;gap:4px}
.ledger-settlement{display:flex;flex-wrap:wrap;gap:12px 24px;background:var(--surface);border-radius:12px;padding:16px;margin-top:16px}
.ledger-settlement span{display:flex;flex-direction:column;gap:5px;font-size:13px}
@media(max-width:600px){.ledger-account-grid{grid-template-columns:minmax(0,1fr)}.ledger-search{align-items:stretch;flex-direction:column;gap:12px}.ledger-events article{gap:10px;flex-wrap:wrap}.ledger-events article>div{flex-basis:55%}.ledger-return .card-head{align-items:flex-start;flex-direction:column;gap:12px}.ledger-settlement{gap:16px}.ledger-account .row{flex-wrap:wrap}}
.class-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:20px 0}.class-filters label{flex:1;min-width:150px;margin:0}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.class-card{display:flex;flex-direction:column;gap:14px;min-width:0}.class-card header{display:flex;align-items:start;justify-content:space-between;gap:12px}.class-card h2,.class-card h3,.class-card p{margin:0;overflow-wrap:anywhere}.class-card progress{width:100%;height:7px;accent-color:var(--primary)}.class-date{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.class-date b{font-size:18px;color:var(--ink)}.class-enrollments{display:grid;gap:12px;margin-top:20px}.class-enrollments article{display:flex;align-items:center;gap:20px}.class-enrollments article>div:first-child{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}.class-detail-title h2{margin-top:12px}.public-classes{max-width:1120px;margin:auto;padding:40px 24px}.class-public-intro{display:flex;align-items:start;flex-direction:column;gap:12px}.class-public-intro p{margin:0}.svc-processing{margin:20px 0;padding:20px;border:1px solid var(--line);background:var(--surface)}.ledger-events article{border-bottom-color:var(--line)}
@media(max-width:600px){.class-grid{grid-template-columns:minmax(0,1fr)}.class-filters{gap:12px}.class-filters label{min-width:calc(50% - 12px)}.class-enrollments article{align-items:start;flex-direction:column;gap:12px}.public-classes{padding:24px 16px}.class-card .row{flex-wrap:wrap;gap:8px}.svc-processing{padding:14px}}
.ledger-events article{border-bottom:1px solid var(--line)}
.cal-processing-gap{position:absolute;left:4px;right:4px;border:1px dashed var(--line);color:var(--muted);padding:2px 7px;pointer-events:none;overflow:hidden;font-size:11px;background:repeating-linear-gradient(135deg,transparent,transparent 5px,var(--surface) 5px,var(--surface) 7px)}.cal-appt.class-session{background:var(--primary);color:var(--surface);border-left-color:var(--accent);z-index:2}.cal-appt.class-session:hover{text-decoration:none;filter:brightness(1.1)}
.class-public-head{margin:24px 0;padding-bottom:24px;border-bottom:3px solid var(--accent)}.class-public-head h1{font-size:clamp(28px,4vw,44px)}
.restaurant-tabs{margin:0 0 24px}.kitchen-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;align-items:start}.kitchen-column{min-width:0;background:var(--surface);padding:14px;border-top:4px solid var(--primary)}.kitchen-column>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.kitchen-column h2{font-size:18px;margin:0}.kitchen-ticket{margin-bottom:14px;padding:18px}.kitchen-ticket>header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.kitchen-change{padding:12px 0;border-bottom:1px solid var(--line)}.kitchen-change b{display:block;margin-top:7px}.kitchen-change p{margin:8px 0;font-size:13px;overflow-wrap:anywhere}.kitchen-change.is-cancel{border-left:4px solid var(--accent);padding-left:10px}.kitchen-ticket>.btn{width:100%;margin-top:14px}.qr-order h2{font-size:20px;margin:0}.qr-order-line{display:grid;grid-template-columns:1fr auto;gap:7px;padding:14px 0;border-bottom:1px solid var(--line)}.qr-order-line small{grid-column:1/-1;overflow-wrap:anywhere}.qr-order>.row.gap{flex-wrap:wrap}.qr-code{max-width:280px;margin:18px auto;background:white;padding:12px}.qr-code svg{display:block;width:100%;height:auto}.qr-link-result a{overflow-wrap:anywhere}.qr-menu{max-width:900px;margin:0 auto;padding:30px 24px 50px}.qr-menu-head{border-bottom:4px solid var(--accent);padding-bottom:20px}.qr-menu-head h1{font-size:clamp(28px,5vw,44px);margin:10px 0}.qr-allergen-note{font-size:13px;color:var(--muted);border-left:3px solid var(--primary);padding:10px 14px;margin:24px 0}.qr-menu-items h2{font-size:23px;margin:28px 0 16px}.qr-menu-item{display:grid;grid-template-columns:1fr auto;gap:16px;margin-bottom:14px}.qr-menu-item h3{margin:0 0 8px;font-size:19px}.qr-menu-item p{font-size:14px;line-height:1.6;margin:8px 0}.qr-menu-item small{display:block;font-size:12px;line-height:1.5;margin:6px 0}.qr-menu-item strong{display:block;margin-top:12px}.qr-allergens{color:var(--primary);font-weight:600}.qr-quantity{display:flex;align-items:center;gap:12px;align-self:start}.qr-quantity .btn{padding:8px 12px;min-height:40px}.qr-item-note{grid-column:1/-1}.qr-cart{border-top:4px solid var(--accent);margin-top:28px}.qr-cart>.btn{width:100%}.qr-cart p,.qr-sent p{line-height:1.6}.qr-sent{margin-top:28px;display:grid;justify-items:start;gap:12px}.qr-sent h2{margin:0}.qr-menu .error{color:var(--accent)}
@media(max-width:600px){.qr-menu{padding:24px 16px 40px}.qr-menu-item{grid-template-columns:1fr;gap:12px}.qr-quantity{justify-self:end}.qr-menu-item .qr-item-note{grid-column:1}.restaurant-tabs .btn{flex:1 1 auto}.kitchen-column{padding:10px}.kitchen-ticket{padding:14px}.qr-order-line{grid-template-columns:1fr}.qr-order-line span{font-size:14px}}
.cal-appt.class-session small{color:var(--cream);opacity:.85}.cal-appt.segment-short{padding:0 6px;line-height:1.1}.cal-appt.segment-short strong{font-size:11px}.cal-appt.segment-short small{display:none}.class-agenda:hover{text-decoration:none;background:var(--primary-soft)}
.preparation-notice{border-left:4px solid var(--accent);margin-bottom:24px;line-height:1.6}.preparation-notice h2{margin-top:0;font-size:21px}.invoice-buyer{max-width:760px;margin-bottom:24px}.invoice-buyer .btn{margin:8px 8px 0 0}.invoice-preview{max-width:900px;margin:24px auto;padding:32px}.invoice-preview header{border-bottom:3px solid var(--accent);margin-bottom:24px;padding-bottom:16px}.invoice-preview header h2{font-size:23px}.invoice-preview header p{font-size:13px;line-height:1.6}.invoice-preview p{overflow-wrap:anywhere}.invoice-lines{margin-top:24px}.invoice-lines article{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.invoice-lines small{display:block;margin-top:7px}.invoice-lines strong{white-space:nowrap}.invoice-totals{max-width:360px;margin:24px 0 24px auto}.invoice-totals>div{display:flex;justify-content:space-between;padding:8px 0}.invoice-totals dd{margin:0}.invoice-totals>div:last-child{border-top:2px solid var(--primary);font-weight:800;font-size:20px}
@media(max-width:600px){.invoice-preview{padding:18px}.invoice-preview header h2{font-size:19px}.invoice-lines article{flex-wrap:wrap}.invoice-lines strong{margin-left:auto}}
@media print{body:has(#invoice-preview) *{visibility:hidden!important}body:has(#invoice-preview) #invoice-preview,body:has(#invoice-preview) #invoice-preview *{visibility:visible!important}body:has(#invoice-preview) #invoice-preview{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;border:0;box-shadow:none;padding:12mm;background:white;color:black}body:has(#invoice-preview) #invoice-preview .no-print{display:none!important}}

/* Support conversations and scoped inspection */
.support-ticket-list{display:grid;gap:14px}.support-ticket-row{display:flex;align-items:center;gap:16px;justify-content:space-between;text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer}.support-ticket-row>div{display:grid;gap:7px;min-width:0;flex:1}.support-ticket-row strong{overflow-wrap:anywhere}.support-ticket-row small{color:var(--muted)}.support-conversation{display:grid;gap:14px;margin:24px 0}.support-message{border:1px solid var(--line);border-left:4px solid var(--accent);padding:18px;background:var(--surface)}.support-message.from-support{border-left-color:var(--primary)}.support-message header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px}.support-message header small{color:var(--muted)}.support-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:14px 0 0}.support-access{margin-top:28px;padding-top:20px;border-top:2px solid var(--line)}.support-access h2{font-size:21px}.inspection-row{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;padding:14px 18px;margin:10px 0}.inspection-row span{overflow-wrap:anywhere}
@media(max-width:600px){.support-ticket-row{align-items:flex-start;flex-wrap:wrap;padding:18px}.support-ticket-row>div{flex-basis:100%}.support-message{padding:14px}.support-message header{font-size:12px}}

/* Online (iyzico) satış iadesi durumu */
.online-refund-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;overflow-wrap:anywhere}
.ledger-return .card-head .row.gap{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){.ledger-return .card-head .row.gap{justify-content:stretch}.ledger-return .card-head .row.gap .btn{flex:1 1 100%}}

/* Paraşüt bağlantısı ve e-Arşiv / e-Fatura durumu */
.parasut-card{margin-bottom:24px;display:grid;gap:14px;border-left:4px solid var(--primary)}
.parasut-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.parasut-head h2{margin:4px 0 0}
.parasut-card p{margin:0;line-height:1.6}
.einvoice-state{display:grid;gap:12px;margin-bottom:24px;max-width:760px}
.einvoice-state h2{margin:4px 0}
.einvoice-state p{margin:0;overflow-wrap:anywhere}
@media(max-width:600px){.parasut-card .row.gap .btn,.einvoice-state .row.gap .btn{flex:1 1 100%}}

/* ---------- Eğitim modu ve kullanım kılavuzu ---------- */
.guide-toggle.on { background: var(--yellow); color: var(--ink); }
.guide-target { outline: 3px solid var(--accent); outline-offset: -3px; box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 28%, transparent); animation: guide-pulse 1.6s ease-in-out infinite; position: relative; z-index: 2; }
@keyframes guide-pulse { 0%, 100% { outline-color: var(--accent); } 50% { outline-color: color-mix(in srgb, var(--accent) 30%, transparent); } }
@media (prefers-reduced-motion: reduce) { .guide-target { animation: none; } }
.guide-coach { position: fixed; right: 20px; bottom: 20px; z-index: 60; width: min(380px, calc(100vw - 24px)); background: var(--surface); color: var(--ink); border: 1px solid var(--line-strong, var(--line)); border-left: 5px solid var(--accent); border-radius: var(--radius); box-shadow: 0 10px 34px rgba(0,0,0,.22); padding: .9rem 1rem .8rem; display: flex; flex-direction: column; gap: .45rem; }
.guide-coach header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.guide-coach .kicker { margin: 0; font-size: .68rem; letter-spacing: .1em; }
.guide-head-actions { display: inline-flex; gap: .15rem; }
.guide-coach h3 { margin: 0; font-size: 1.05rem; line-height: 1.25; }
.guide-coach p { margin: 0; font-size: .9rem; line-height: 1.5; }
.guide-tip { display: flex; gap: .4rem; align-items: flex-start; background: var(--primary-soft); padding: .45rem .6rem; font-size: .82rem !important; border-radius: var(--radius-sm, 6px); }
.guide-tip svg { flex-shrink: 0; margin-top: 2px; color: var(--accent); }
.guide-coach footer { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: .2rem; }
.guide-dots { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.guide-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--line); }
.guide-dots i.past { background: var(--primary); opacity: .5; }
.guide-dots i.on { background: var(--accent); transform: scale(1.3); }
.guide-nav, .guide-actions { display: inline-flex; gap: .4rem; flex-wrap: wrap; }
.guide-more { font-size: .78rem; color: var(--muted); align-self: flex-start; }
.guide-welcome h3 { font-size: 1.15rem; }
.guide-pill { position: fixed; right: 20px; bottom: 20px; z-index: 60; display: inline-flex; align-items: center; gap: .4rem; background: var(--primary); color: #fff; border: 0; border-radius: 999px; padding: .5rem .9rem; font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
@media (max-width: 860px) {
  .guide-coach, .guide-pill { right: 10px; bottom: calc(74px + env(safe-area-inset-bottom)); }
  .guide-coach { left: 10px; width: auto; }
}
.help-training, .help-starters, .help-days, .help-glossary, .help-foot { margin-bottom: 1rem; }
.help-train-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.help-train-head h2, .help-days h2, .help-glossary h2, .help-foot h2 { margin: .15rem 0 .3rem; font-size: 1.15rem; }
.help-progress { height: 8px; background: var(--surface-2); border-radius: 999px; overflow: hidden; margin: .4rem 0 .8rem; }
.help-progress i { display: block; height: 100%; background: var(--primary); transition: width .3s; }
.help-progress-n { font-size: 1.3rem; }
.help-starter-list { list-style: none; counter-reset: s; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.help-starter-list li { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .5rem .65rem; border: 1px solid var(--line); background: var(--bg, transparent); }
.help-starter-list li.done { opacity: .6; }
.help-starter-list li.done b { text-decoration: line-through; }
.help-starter-list label.check { display: flex; align-items: flex-start; gap: .55rem; flex: 1; margin: 0; cursor: pointer; }
.help-starter-list label.check span { display: flex; flex-direction: column; }
.help-starter-list small { color: var(--muted); font-size: .78rem; font-weight: 400; }
.help-day-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: .6rem; margin-top: .6rem; }
.help-day { border: 1px solid var(--line); padding: .55rem .75rem; background: var(--bg, transparent); }
.help-day summary { cursor: pointer; display: flex; flex-direction: column; gap: .1rem; }
.help-day summary small { color: var(--muted); font-size: .78rem; }
.help-day ol { margin: .6rem 0 .2rem; padding-left: 1.2rem; display: flex; flex-direction: column; gap: .4rem; font-size: .88rem; line-height: 1.5; }
.help-filter { display: flex; flex-direction: column; gap: .6rem; margin: 1.4rem 0 .6rem; }
.help-group { margin: 1.2rem 0 .5rem; font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.help-list { display: flex; flex-direction: column; gap: .5rem; }
.help-topic { padding: 0; }
.help-topic summary { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; cursor: pointer; list-style: none; }
.help-topic summary::-webkit-details-marker { display: none; }
.help-topic summary b { display: block; }
.help-topic summary small { display: block; color: var(--muted); font-size: .8rem; }
.help-topic[open] summary { border-bottom: 1px solid var(--line); }
.help-icon { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; background: var(--primary-soft); color: var(--primary); flex-shrink: 0; }
.help-steps { margin: 0; padding: .8rem 1rem .2rem 2.3rem; display: flex; flex-direction: column; gap: .8rem; }
.help-steps p { margin: .15rem 0 0; font-size: .9rem; line-height: 1.55; }
.help-topic .row { padding: .6rem 1rem .9rem; }
.help-glossary dl { margin: .5rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .6rem 1.2rem; }
.help-glossary dt { font-weight: 800; }
.help-glossary dd { margin: .1rem 0 0; font-size: .86rem; color: var(--muted); line-height: 1.5; }
@media print { .guide-coach, .guide-pill { display: none !important; } }

/* Sade menü: günlük işler açık, para ve yönetim grupları istendikçe açılır */
.nav-group { display: flex; width: 100%; align-items: center; gap: .5rem; margin: 10px 0 0; padding: 11px 22px 11px 34px; border: 0; background: transparent; color: var(--sidebar-ink, var(--cream, inherit)); font: inherit; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; text-align: left; cursor: pointer; opacity: .8; }
.nav-group > span { flex: 1; }
.nav-group small { font-size: 10px; font-weight: 700; opacity: .7; letter-spacing: 0; }
.nav-group .icon { transition: transform .15s; }
.nav-group.open .icon { transform: rotate(180deg); }
.nav-group:hover { opacity: 1; background: rgba(255,255,255,.06); }
.nav-item.sub { min-height: 42px; }
@media (max-height: 880px) { .manifesto, .pattern:not(.big) { display: none; } .sidebar .ws-picker { margin-top: 16px; } }
.more-menu { position: relative; }
.more-menu > summary { list-style: none; cursor: pointer; }
.more-menu > summary::-webkit-details-marker { display: none; }
.more-pop { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; display: grid; min-width: 260px; padding: .4rem; border: 1px solid var(--line-strong, var(--line, #d8dfdb)); border-radius: 10px; background: var(--surface, #fff); box-shadow: 0 10px 30px #0002; }
.more-pop a { display: grid; grid-template-columns: 22px 1fr; column-gap: .5rem; padding: .55rem .6rem; border-radius: 8px; color: var(--ink); font-weight: 700; font-size: .9rem; text-decoration: none !important; }
.more-pop a small { grid-column: 2; color: var(--muted); font-weight: 400; font-size: .78rem; }
.more-pop a:hover { background: var(--surface-2, rgba(0,0,0,.05)); }
.settings-more, .svc-more { margin-top: 1rem; }
.settings-more > summary, .svc-more > summary { cursor: pointer; font-weight: 700; padding: .6rem 0; color: var(--ink); }
.settings-more > summary small, .svc-more > summary small { display: inline; margin-left: .4rem; font-weight: 400; }
.settings-more[open] > summary { margin-bottom: .6rem; }
.dh-search-btn { margin-left: auto; }
.co-quota { display: flex; gap: .8rem; align-items: flex-start; padding: .9rem 1rem; border: 1px solid var(--line-strong, var(--line)); background: var(--surface-2, rgba(0,0,0,.04)); border-radius: 10px; }
.co-quota p { margin: .3rem 0 0; }
.co-pending { display: flex; gap: .5rem; align-items: center; color: var(--muted); }

/* Cihazlar: giriş ekranında cihaz tanımlama, yönetici kodu ve Ayarlar › Cihazlar */
.device-modes.three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 640px) { .device-modes.three { grid-template-columns: 1fr; } .device-modes.three .device-mode { flex-direction: row; flex-wrap: wrap; align-items: center; } .device-modes.three .device-mode small { flex-basis: 100%; } }
.device-full { margin: .6rem 0; padding: .7rem .9rem; border: 1px solid var(--line-strong, var(--line)); border-radius: var(--radius); background: var(--surface-2, var(--surface)); }
.device-full .list { margin: .4rem 0 0; }
.device-full small, .dv-list small { display: block; color: var(--muted); }
.who-continue { margin-top: .6rem; }
.login-code { font-size: 2.4rem; font-weight: 700; letter-spacing: .18em; text-align: center; padding: .8rem; margin: .6rem 0; border-radius: var(--radius); background: var(--surface-2, var(--surface)); border: 1px dashed var(--line-strong, var(--line)); font-variant-numeric: tabular-nums; }
.dv-quota { display: flex; gap: 1rem; align-items: center; }
.dv-quota p { margin: .2rem 0 0; }
.dv-meter { display: flex; align-items: baseline; gap: .2rem; padding: .5rem .9rem; border-radius: var(--radius); background: var(--primary-soft, var(--surface-2)); }
.dv-meter b { font-size: 1.8rem; line-height: 1; }
.dv-meter span { color: var(--muted); }
.dv-list li { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.dv-list li .grow { min-width: 0; flex: 1 1 12rem; }
.dv-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--surface-2, var(--surface)); color: var(--muted); flex: none; }
.dv-help summary { cursor: pointer; font-weight: 600; }
.dv-help ul { margin: .6rem 0 0; padding-left: 1.1rem; display: grid; gap: .35rem; }
.dv-list .grow > b { margin-right: .45rem; }
label.terms-check { display: flex; flex-direction: row; align-items: flex-start; gap: .6rem; font-size: .88rem; font-weight: 500; line-height: 1.45; letter-spacing: normal; text-transform: none; color: var(--ink); cursor: pointer; }
label.terms-check input { width: 18px; height: 18px; min-height: 0; margin-top: .1rem; flex: none; accent-color: var(--primary); }
.terms-check a { color: var(--primary); font-weight: 700; }

/* ---------- Rapor sadeleştirme: kısa kartlar, katlanır not ---------- */
.report-cards.compact { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .5rem; }
.report-cards.compact .report-card { flex-direction: row; align-items: center; gap: .6rem; padding: .7rem .85rem; }
.report-cards.compact .report-card .icon { margin: 0; flex-shrink: 0; }
.report-cards.compact .report-card b { font-size: .9rem; font-weight: 600; }
details.report-note { display: block; }
details.report-note summary { display: inline-flex; gap: .35rem; align-items: center; cursor: pointer; list-style: none; }
details.report-note summary::-webkit-details-marker { display: none; }
details.report-note summary:hover { color: var(--ink); }
details.report-note p { margin: .4rem 0 0 1.25rem; max-width: 80ch; line-height: 1.5; }

/* ---------- Rapor grafiği ---------- */
.rchart { --c0: #008a7e; --c1: #c99a1c; --c2: #7a5ec8; --c3: #d43d45; margin-bottom: 1rem; }
:root[data-theme="gece"] .rchart { --c0: #1f9d8f; --c1: #b8921c; --c2: #8c6fe0; --c3: #e5484d; }
.rchart-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; margin-bottom: .5rem; }
.rchart-head h3 { font-size: 1rem; margin: 0; }
.rchart-legend { display: flex; flex-wrap: wrap; gap: .3rem 1rem; list-style: none; margin: 0; padding: 0; font-size: .8rem; color: var(--muted); }
.rchart-legend li { display: inline-flex; align-items: center; gap: .35rem; }
.rchart-legend b { color: var(--ink); }
.rchart-key { width: 10px; height: 10px; border-radius: 50%; background: var(--c0); }
.rchart-key.s1, .rchart-dot.s1 { background: var(--c1); fill: var(--c1); }
.rchart-key.s2, .rchart-dot.s2 { background: var(--c2); fill: var(--c2); }
.rchart-key.s3, .rchart-dot.s3 { background: var(--c3); fill: var(--c3); }
.rchart-plot { position: relative; }
.rchart svg { display: block; width: 100%; height: auto; overflow: visible; font-family: var(--font); }
.rchart-bar { fill: var(--primary); }
.rchart-bar.neg { fill: var(--danger); }
.rchart-bar.now { fill: color-mix(in srgb, var(--primary) 70%, var(--surface)); }
.rchart-row:hover .rchart-bar { fill: var(--primary-strong); }
.rchart-row:hover .rchart-bar.neg { fill: color-mix(in srgb, var(--danger) 80%, #000); }
.rchart-hit { fill: transparent; }
.rchart-row:hover .rchart-hit { fill: color-mix(in srgb, var(--ink) 4%, transparent); }
.rchart-label { fill: var(--ink); font-size: 12.5px; }
.rchart-label.small { font-size: 11.5px; }
.rchart-value { fill: var(--ink); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.rchart-tick { fill: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.rchart-axis { stroke: var(--line-strong); stroke-width: 1; }
.rchart-grid { stroke: var(--line); stroke-width: 1; opacity: .6; }
.rchart-axis-label { fill: var(--muted); font-size: 11px; font-weight: 600; }
.rchart-threshold { stroke: var(--muted); stroke-width: 1.2; stroke-dasharray: 4 4; }
.rchart-zone { fill: var(--muted); font-size: 11px; font-weight: 600; opacity: .75; }
.rchart-dot { fill: var(--c0); stroke: var(--surface); stroke-width: 2; }
.rchart-row:hover .rchart-dot { stroke: var(--ink); }
.rchart-tip { position: absolute; transform: translate(-50%, calc(-100% - 10px)); pointer-events: none; z-index: 5; display: flex; flex-direction: column; gap: .1rem;
  background: var(--surface); border: 1px solid var(--line-strong); box-shadow: var(--shadow); padding: .45rem .6rem; font-size: .8rem; white-space: nowrap; color: var(--ink); }
.rchart-tip span { font-variant-numeric: tabular-nums; }
.rchart-tip small { color: var(--muted); }
@media print {
  .rchart { break-inside: avoid; }
  .rchart-tip { display: none; }
  details.report-note p { display: block; }
}

/* Dosya listesi: ilerleme ve kalan ödeme satırda görünür; satırın tamamı dosyayı açar. */
.cx-list.cases li.clickable { cursor: pointer; }
.cx-list.cases li.clickable:hover { background: var(--primary-soft); }
.case-progress { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 0 .3rem; width: 92px; flex: none; font-variant-numeric: tabular-nums; }
.case-progress b { font-size: .9rem; }
.case-progress small { color: var(--muted); font-size: .72rem; }
.case-progress i { grid-column: 1 / -1; display: block; height: 4px; margin-top: 3px; background: var(--surface-2); border-radius: 2px; overflow: hidden; }
.case-progress em { display: block; height: 100%; background: var(--ok); }
.case-money { display: flex; flex-direction: column; align-items: flex-end; width: 128px; flex: none; text-align: right; font-variant-numeric: tabular-nums; }
.case-money b { font-size: .9rem; }
.case-money small { color: var(--muted); font-size: .72rem; }
.case-money.due b { color: var(--warn); }
.case-money.paid b { color: var(--ok); }
@media (max-width: 860px) {
  .case-progress { width: 70px; }
  .case-money { width: auto; }
}

/* Satışlar: gün başlıkları ve arama. */
.sales-search { max-width: 360px; margin-bottom: .8rem; }
.sales-day { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; margin: 1.1rem 0 .35rem; font-size: .8rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--primary); }
.sales-day:first-of-type { margin-top: 0; }
.sales-day span { color: var(--muted); font-weight: 700; letter-spacing: 0; text-transform: none; font-variant-numeric: tabular-nums; }

/* Arayan tanıma: üst çubukta bugünkü aramalar, sağ altta çalan aramanın müşteri kartı. */
.callerid-btn { position: relative; }
.callerid-btn .nav-badge { position: absolute; top: 0; right: -2px; min-width: 17px; height: 16px; font-size: 10px; padding: 0 4px; box-shadow: 0 0 0 2px var(--surface); }
.callerid-btn.has-missed { color: var(--accent); }
.callerid-backdrop { position: fixed; inset: 0; z-index: 60; }
.callerid-panel { position: fixed; right: 16px; top: 76px; z-index: 61; width: min(420px, calc(100vw - 32px)); max-height: min(70vh, 560px); overflow: auto; background: var(--surface); border: 1px solid var(--line-strong); box-shadow: var(--shadow-lg); padding: .6rem .8rem; }
.callerid-panel header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .3rem; }
.callerid-panel ul { list-style: none; margin: 0; padding: 0; }
.callerid-panel li { display: grid; grid-template-columns: auto 1fr auto; gap: .6rem; align-items: center; padding: .5rem 0; border-top: 1px solid var(--line); }
.callerid-panel li.missed .callerid-who strong { color: var(--danger); }
.callerid-time { font-variant-numeric: tabular-nums; color: var(--muted); font-size: .85rem; }
.callerid-who { min-width: 0; display: flex; flex-direction: column; }
.callerid-who strong, .callerid-who small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.callerid-who small { color: var(--muted); }
.callerid-actions { display: flex; gap: .3rem; }
.callerid-stack { position: fixed; right: 1.2rem; bottom: calc(1.2rem + var(--bnav-h, 0px)); z-index: 190; display: flex; flex-direction: column; gap: .6rem; width: min(360px, calc(100vw - 32px)); }
.callerid-card { background: var(--surface); border: 2px solid var(--primary); box-shadow: var(--shadow-lg); padding: .7rem .8rem; display: flex; flex-direction: column; gap: .2rem; }
.callerid-card.missed { border-color: var(--danger); }
.callerid-card.ended, .callerid-card.answered { border-color: var(--line-strong); }
.callerid-head { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--muted); }
.callerid-head span:nth-child(2) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.callerid-head .icon-btn { width: 28px; height: 28px; }
.callerid-dot { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--primary); color: #fff; }
.callerid-card.ringing .callerid-dot { animation: callerid-ring 1.2s ease-in-out infinite; }
.callerid-card.missed .callerid-dot { background: var(--danger); }
.callerid-card.ended .callerid-dot, .callerid-card.answered .callerid-dot { background: var(--line-strong); }
.callerid-name { font-size: 1.15rem; }
.callerid-card small { line-height: 1.35; }
.callerid-next { color: var(--primary); font-weight: 600; }
.callerid-buttons { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .4rem; }
@keyframes callerid-ring { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-14deg); } 40% { transform: rotate(14deg); } 60% { transform: rotate(-8deg); } }
@media (prefers-reduced-motion: reduce) { .callerid-card.ringing .callerid-dot { animation: none; } }
@media (max-width: 600px) { .callerid-stack { right: 16px; left: 16px; width: auto; bottom: calc(.8rem + var(--bnav-h, 0px)); } .callerid-panel { left: 16px; right: 16px; top: calc(64px + env(safe-area-inset-top)); width: auto; } }
.callerid-steps { margin: .3rem 0 .6rem; padding-left: 1.2rem; display: flex; flex-direction: column; gap: .35rem; }
.callerid-sources { list-style: none; margin: 0; padding: 0; }
.callerid-sources li { padding: .55rem 0; border-top: 1px solid var(--line); align-items: center; }

/* Kapalı çekmece ekran dışında dursa da sert gölgesi (10px sağa) sol kenarda şerit bırakıyordu; gölge yalnız açıkken. */
@media (max-width: 860px) {
  .sidebar { box-shadow: none; visibility: hidden; transition: transform .22s ease, visibility .22s; }
  .drawer-open .sidebar { box-shadow: var(--shadow-lg); visibility: visible; }
}
/* KVKK › Çalışan aydınlatma metni: yalnız metin yazdırılır, imza satırlarıyla. */
@media print{body:has(#staff-notice-print) *{visibility:hidden!important}body:has(#staff-notice-print) #staff-notice-print{visibility:visible!important;display:block!important;position:absolute;left:0;top:0;width:100%;padding:14mm;white-space:pre-wrap;font:11pt/1.55 system-ui,"Segoe UI",sans-serif;color:#000;background:#fff}}
