/* Müdavim — işletme paneli. Her gün açılan bir çalışma aracı: sakin ve okunaklı. */

:root{
  --paper:#F3F4EF; --kart:#FFFFFF; --kart2:#F8F9F5; --comuk:#ECEEE7;
  --ink:#1C201A; --ink2:#586053; --ink3:#8A9182;
  --cizgi:#E1E5DB; --cizgi2:#EEF0E9;
  --acc:#B4552B; --acc-soft:#F7E7DC;
  --iyi:#3F7D4E; --iyi-soft:#E1F0E3;
  --uyari:#9C6F14; --uyari-soft:#F7EBD2;
  --kritik:#A63D46; --kritik-soft:#F7E2E3;
  --golge:0 1px 2px rgba(28,32,26,.05), 0 8px 24px -14px rgba(28,32,26,.22);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#151713; --kart:#1D201A; --kart2:#232720; --comuk:#111310;
    --ink:#E8EBE2; --ink2:#A3AB9B; --ink3:#78806F;
    --cizgi:#2E332A; --cizgi2:#262A22;
    --acc:#E08050; --acc-soft:#3A241A;
    --iyi:#69B078; --iyi-soft:#1D2E20;
    --uyari:#D6A344; --uyari-soft:#332818;
    --kritik:#DE7078; --kritik-soft:#33191C;
    --golge:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -16px rgba(0,0,0,.7);
  }
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:15px/1.5 'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2{margin:0; font-family:'Fraunces',ui-serif,Georgia,serif; font-weight:600; line-height:1.15}
p{margin:0}
a{color:inherit}
table{border-collapse:collapse; width:100%}
:focus-visible{outline:2px solid var(--acc); outline-offset:2px; border-radius:6px}
.mono,.kod{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace; font-variant-numeric:tabular-nums}
.kucuk{font-size:12.5px; color:var(--ink3)}
.kritik{color:var(--kritik)}

/* ── Kabuk ─────────────────────────────────────────────────────────── */
.app{display:grid; grid-template-columns:236px minmax(0,1fr); min-height:100vh}
@media(max-width:880px){.app{grid-template-columns:1fr}}

.side{
  background:var(--kart); border-right:1px solid var(--cizgi);
  display:flex; flex-direction:column; gap:22px; padding:20px 14px;
  position:sticky; top:0; height:100vh;
}
@media(max-width:880px){
  .side{position:static; height:auto; border-right:0; border-bottom:1px solid var(--cizgi)}
}
.brand{display:flex; align-items:center; gap:9px; padding:4px 8px 0}
.brand b{font-family:'Fraunces',Georgia,serif; font-size:21px; font-weight:700; letter-spacing:-.015em}
.brand i{width:7px; height:7px; border-radius:50%; background:var(--acc); font-style:normal}
.venue{
  margin:0 4px; padding:11px 12px; border-radius:11px; background:var(--kart2);
  border:1px solid var(--cizgi); display:flex; align-items:center; gap:10px;
}
.venue .av{
  width:32px; height:32px; border-radius:9px; background:var(--acc); color:#fff;
  display:grid; place-items:center; font-family:'Fraunces',Georgia,serif;
  font-weight:700; font-size:15px; flex:none; text-transform:uppercase;
}
.venue .t{min-width:0}
.venue .t b{display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.venue .t span{display:block; font-size:11.5px; color:var(--ink3)}

.side nav{display:flex; flex-direction:column; gap:2px}
@media(max-width:880px){.side nav{flex-direction:row; overflow-x:auto; gap:4px}}
.side nav a{
  display:block; padding:9px 12px; border-radius:10px; text-decoration:none;
  color:var(--ink2); font-size:14.5px; font-weight:500; white-space:nowrap;
}
.side nav a:hover{background:var(--kart2); color:var(--ink)}
.side nav a[aria-current="page"]{background:var(--acc-soft); color:var(--acc); font-weight:600}
.sidefoot{
  margin-top:auto; padding:14px 10px 2px; border-top:1px solid var(--cizgi2);
  font-size:12px; color:var(--ink3); line-height:1.7;
}
.sidefoot .kod{font-size:14px; color:var(--acc)}
@media(max-width:880px){.sidefoot{margin-top:14px}}

.main{min-width:0; padding:26px 30px 60px}
@media(max-width:600px){.main{padding:20px 16px 44px}}

.phead{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:14px; margin-bottom:20px;
}
.phead h1{font-size:27px; letter-spacing:-.015em}
.phead .sub{color:var(--ink3); font-size:14px; margin-top:3px}
.dugmeler{display:flex; gap:8px; flex-wrap:wrap}

/* ── Kartlar ve ızgara ─────────────────────────────────────────────── */
.grid{display:grid; gap:14px; margin-bottom:14px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g21{grid-template-columns:1.5fr 1fr}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))} .g21,.g2{grid-template-columns:1fr}}
@media(max-width:560px){.g4{grid-template-columns:1fr}}

.kart{
  background:var(--kart); border:1px solid var(--cizgi); border-radius:14px;
  box-shadow:var(--golge); padding:18px;
}
.kart-bas{margin-bottom:14px}
.kart-bas h2{font-size:17px}
.kart-bas .sub{font-size:13px; color:var(--ink3); margin-top:2px}
.kart.kpi{display:flex; flex-direction:column; gap:8px}
.kpi .etiket{
  font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3);
}
.kpi .n{
  font-family:'IBM Plex Mono',monospace; font-size:29px; letter-spacing:-.03em;
  line-height:1; font-variant-numeric:tabular-nums;
}
.kpi .alt{font-size:12.5px; color:var(--ink3)}
.bos{color:var(--ink3); text-align:center; padding:28px 16px; font-size:14px}
.etiket{
  font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3);
}

/* ── Tablo ─────────────────────────────────────────────────────────── */
.tablo-kaydir{overflow-x:auto}
.tablo-kaydir table{min-width:600px}
th{
  text-align:left; font-size:10.5px; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--ink3); padding:0 12px 9px; white-space:nowrap;
}
td{padding:11px 12px; border-top:1px solid var(--cizgi2); font-size:14px; vertical-align:middle}
tbody tr:hover{background:var(--kart2)}
td.r,th.r{text-align:right}
td b{display:block; font-weight:600}
td .kucuk{display:block}

.pil{
  display:inline-block; font-size:11.5px; font-weight:600; padding:2px 9px;
  border-radius:999px; background:var(--comuk); color:var(--ink3); white-space:nowrap;
}
.pil.acik,.pil.mudavim{background:var(--iyi-soft); color:var(--iyi)}
.pil.ev-sahibi{background:var(--acc-soft); color:var(--acc)}
.pil.tanidik,.pil.uyari{background:var(--uyari-soft); color:var(--uyari)}
.pil.sonuk,.pil.yeni{background:var(--comuk); color:var(--ink3)}

.sayfalama{display:flex; gap:5px; flex-wrap:wrap; margin-top:16px}
.sayfalama a{
  padding:5px 11px; border:1px solid var(--cizgi); border-radius:8px;
  text-decoration:none; font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--ink2);
}
.sayfalama a.simdi{border-color:var(--acc); color:var(--acc)}

/* ── Düğme ve form ─────────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--acc); color:#fff; border:0; border-radius:10px;
  padding:11px 17px; font:inherit; font-weight:600; font-size:14.5px;
  text-decoration:none; cursor:pointer; transition:filter .15s;
}
.btn:hover{filter:brightness(1.07)}
.btn[disabled]{opacity:.45; cursor:default; filter:none}
.btn.hayalet{background:transparent; color:var(--ink); border:1px solid var(--cizgi)}
.btn.hayalet:hover{background:var(--kart2); filter:none}
.btn.tehlike{color:var(--kritik); border-color:var(--kritik-soft)}
.btn.sm{padding:7px 12px; font-size:13.5px; border-radius:8px}
.btn.genis{width:100%; margin-top:14px}

.alan{display:block; margin-bottom:14px}
.alan span{
  display:block; font-size:10.5px; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--ink3); margin-bottom:6px;
}
.alan input,.alan select,.alan textarea{
  width:100%; border:1px solid var(--cizgi); background:var(--kart2); color:var(--ink);
  border-radius:10px; padding:11px 13px; font:inherit; font-size:15px;
}
.alan textarea{resize:vertical; line-height:1.5}
.alt-alta{display:block}
.ara{display:flex; gap:8px; margin-bottom:14px}
.ara input{
  flex:1; border:1px solid var(--cizgi); background:var(--kart2); color:var(--ink);
  border-radius:10px; padding:9px 13px; font:inherit;
}
.olcut{display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; margin-bottom:16px}
.olcut .alan{margin-bottom:0; flex:1; min-width:130px}
.ipucu{font-size:12.5px; color:var(--ink3); line-height:1.55; margin-top:12px}
.ipucu code,.kart-bas code{
  background:var(--comuk); border-radius:5px; padding:1px 5px;
  font-family:'IBM Plex Mono',monospace; font-size:12px;
}
.kod-blok{
  background:var(--comuk); border:1px solid var(--cizgi); border-radius:10px;
  padding:12px 14px; font-family:'IBM Plex Mono',monospace; font-size:12.5px;
  overflow-x:auto; margin:0; white-space:pre-wrap; word-break:break-all;
}

.bildirim{
  padding:12px 15px; border-radius:11px; font-size:14px; margin-bottom:16px;
  background:var(--comuk); border:1px solid var(--cizgi);
}
.bildirim.basari{background:var(--iyi-soft); border-color:var(--iyi); color:var(--iyi)}
.bildirim.uyari{background:var(--uyari-soft); border-color:var(--uyari); color:var(--uyari)}
.bildirim.hata{background:var(--kritik-soft); border-color:var(--kritik); color:var(--kritik)}

/* ── Ölü saat motoru ───────────────────────────────────────────────── */
.motor{border-color:var(--acc)}
.gunler{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; margin-bottom:14px}
.gun{border-radius:7px; padding:8px 3px; text-align:center; background:var(--comuk)}
.gun .d{display:block; font-size:11px; color:var(--ink3); font-weight:600}
.gun .v{display:block; font-family:'IBM Plex Mono',monospace; font-size:13.5px; margin-top:2px}
.gun.olu{background:var(--kritik-soft); color:var(--kritik)}
.gun.olu .d{color:var(--kritik)}
.gun.dolu{background:var(--iyi-soft); color:var(--iyi)}
.gun.dolu .d{color:var(--iyi)}
.motor-not{font-size:13.5px; color:var(--ink2); line-height:1.55}

.huni{display:flex; flex-direction:column; gap:1px; margin-bottom:18px}
.huni div{
  display:flex; align-items:baseline; gap:12px; padding:10px 0;
  border-top:1px solid var(--cizgi2);
}
.huni div:first-child{border-top:0}
.huni b{
  font-family:'IBM Plex Mono',monospace; font-size:19px; color:var(--ink2);
  min-width:62px; font-variant-numeric:tabular-nums;
}
.huni .son b{color:var(--acc)}
.huni span{font-size:13.5px; color:var(--ink2)}
.olcum{font-size:13px; color:var(--ink3); margin:10px 0 14px}
.olcum b{color:var(--ink); font-family:'IBM Plex Mono',monospace}

.kampanya-kayit{padding:13px 0; border-top:1px solid var(--cizgi2)}
.kampanya-kayit:first-of-type{border-top:0; padding-top:0}
.kampanya-kayit .ust{display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap}
.rakamlar{display:flex; gap:16px; flex-wrap:wrap; margin-top:7px}
.rakamlar span{font-size:12px; color:var(--ink3)}
.rakamlar b{
  display:block; font-family:'IBM Plex Mono',monospace; font-size:16px; color:var(--ink);
}
.rakamlar .iyi b{color:var(--iyi)}

/* ── Menü yönetimi ─────────────────────────────────────────────────── */
.menu-grup{border-top:1px solid var(--cizgi2); padding-top:14px; margin-top:16px}
.menu-grup:first-child{border-top:0; padding-top:0; margin-top:0}
.menu-satir{
  display:flex; align-items:center; gap:12px; padding:9px 0;
  border-top:1px solid var(--cizgi2); flex-wrap:wrap;
}
.menu-satir.pasif{opacity:.45}
.menu-satir .ad{flex:1; min-width:150px}
.menu-satir .ad b{font-weight:500}
.menu-satir .ad span{display:block; font-size:12.5px; color:var(--ink3)}
.menu-satir .fiyat{font-family:'IBM Plex Mono',monospace; font-size:14px; color:var(--ink2)}
.menu-satir .fiyat em{display:block; font-style:normal; font-size:12px; color:var(--acc)}
.satir-islem{display:flex; gap:6px}
.satir-ekle{display:flex; gap:6px; flex-wrap:wrap; margin-top:12px}
.satir-ekle input{
  border:1px solid var(--cizgi); background:var(--kart2); color:var(--ink);
  border-radius:9px; padding:8px 11px; font:inherit; font-size:14px; min-width:110px; flex:1;
}

/* ── Masalar ───────────────────────────────────────────────────────── */
.masa-izgara{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px}
.masa-kart{
  border:1px solid var(--cizgi); border-radius:12px; padding:14px;
  text-align:center; background:var(--kart2);
}
.masa-kart .qr{width:88px; height:88px; margin:0 auto 10px; display:block}
.masa-kart .qr-yok{
  border:1px dashed var(--cizgi); border-radius:9px; padding:10px; margin-bottom:10px;
  font-size:11px; color:var(--ink3); line-height:1.4;
}
.masa-kart .qr-yok code{display:block; word-break:break-all; margin-top:4px; font-size:10px}
.masa-kart b{display:block; font-size:14.5px}
.masa-kart span{display:block; font-size:11px; color:var(--ink3); margin-top:2px; word-break:break-all}
.masa-islem{display:flex; gap:6px; justify-content:center; margin-top:10px}
.fis-kod{
  font-family:'IBM Plex Mono',monospace; font-size:38px; letter-spacing:.16em;
  text-align:center; color:var(--acc); background:var(--acc-soft);
  border-radius:12px; padding:16px;
}

/* ── Ayarlar ───────────────────────────────────────────────────────── */
.profil-secim{display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-bottom:16px}
@media(max-width:560px){.profil-secim{grid-template-columns:1fr}}
.profil{
  border:1px solid var(--cizgi); border-radius:11px; padding:12px 13px;
  background:var(--kart2); cursor:pointer; display:block;
}
.profil.secili{border-color:var(--acc); background:var(--acc-soft)}
.profil input{margin-right:7px; accent-color:var(--acc)}
.profil b{font-size:14px}
.profil span{display:block; font-size:12px; color:var(--ink3); margin-top:3px}

.anahtarlar{display:flex; flex-direction:column; gap:1px; margin-bottom:16px}
.anahtar{
  display:flex; align-items:center; gap:12px; padding:12px 0;
  border-top:1px solid var(--cizgi2);
}
.anahtar:first-child{border-top:0}
.anahtar .t{flex:1; min-width:0}
.anahtar .t b{display:block; font-size:14.5px}
.anahtar .t span{display:block; font-size:12.5px; color:var(--ink3); line-height:1.45}
.anahtar input[type=checkbox]{width:20px; height:20px; accent-color:var(--acc); flex:none}

/* ── Giriş sayfası ─────────────────────────────────────────────────── */
.giris-sayfa{display:grid; place-items:center; min-height:100vh; padding:24px}
.giris-kutu{
  width:100%; max-width:380px; background:var(--kart); border:1px solid var(--cizgi);
  border-radius:16px; padding:28px; box-shadow:var(--golge);
}
.giris-kutu h1{font-size:22px; margin:18px 0 18px}
.giris-kutu .btn{width:100%; margin-top:4px}
.alt-not{font-size:12.5px; color:var(--ink3); line-height:1.6; margin-top:20px; text-align:center}

@media print{
  .side,.phead .btn,.masa-islem,.kart-bas .sub{display:none}
  .app{grid-template-columns:1fr}
  .kart{box-shadow:none; border-color:#ccc}
}
@media(prefers-reduced-motion:reduce){*{transition:none !important}}
