/* ===== QR Cafe · ortak tema (siyah-mavi) ===== */
:root{--bg:#05070f;--bg2:#0a1020;--card:#0e1628;--card2:#131d33;--line:#1d2a47;--muted:#8a9bc0;--ok:#22c58b;--warn:#ffb020;--danger:#ff4d6d;--primary:#2f7bff;--accent:#19c3ff;--text:#e9f0ff;--r:16px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent);text-decoration:none}
h1,h2,h3,h4{margin:0}
input,select,textarea,button{font:inherit;color:inherit}
input,select,textarea{width:100%;padding:11px 12px;background:#080d19;border:1px solid var(--line);border-radius:12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(47,123,255,.2)}
input[type=checkbox]{width:auto}input[type=color]{padding:3px;height:42px}
label{display:block;font-size:12px;color:var(--muted)}label input,label select{margin-top:5px;color:var(--text);font-size:15px}
.soluk{color:var(--muted);font-size:13px}
.no-print{}

/* butonlar */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border:0;border-radius:12px;font-weight:650;cursor:pointer;background:var(--card2);color:var(--text);transition:.15s;white-space:nowrap}
.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}
.btn-ana{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:0 6px 18px rgba(47,123,255,.3)}
.btn-ikinci{background:var(--card2);border:1px solid var(--line)}
.btn-ok{background:var(--ok);color:#04150e}.btn-uyari{background:var(--warn);color:#241700}.btn-tehlike{background:rgba(255,77,109,.14);color:#ff8fa3;border:1px solid rgba(255,77,109,.35)}
.btn-kucuk{padding:7px 12px;font-size:13px;border-radius:10px}.btn-blok{width:100%}
.btn-grup{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.uyari{padding:11px 14px;border-radius:12px;margin-bottom:14px;font-size:14px}
.uyari-ok{background:rgba(34,197,139,.12);color:#7ff0c0;border:1px solid rgba(34,197,139,.3)}.uyari-hata{background:rgba(255,77,109,.12);color:#ff9db0;border:1px solid rgba(255,77,109,.3)}

/* giriş */
.giris-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(900px 500px at 15% -10%,rgba(47,123,255,.35),transparent 60%),radial-gradient(700px 400px at 100% 110%,rgba(25,195,255,.18),transparent 60%),var(--bg)}
.giris-kutu{width:100%;max-width:400px;background:rgba(14,22,40,.85);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:24px;padding:32px 28px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.giris-kutu form{text-align:left}.giris-kutu label{margin-top:14px}
.giris-kutu h1{font-size:24px;margin-top:10px}.alt{color:var(--muted);font-size:13px;margin:4px 0 18px}
.giris-logo{display:flex;justify-content:center}
.logo{width:34px;height:34px;object-fit:contain;border-radius:9px}.logo-emoji{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--accent));font-size:18px}
.logo-buyuk{width:72px;height:72px;object-fit:contain;border-radius:20px;font-size:36px;display:inline-flex;align-items:center;justify-content:center}
.logo-buyuk.logo-emoji{background:linear-gradient(135deg,var(--primary),var(--accent))}
.acik-oturumlar{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);text-align:left}
.acik-satir{display:flex;justify-content:space-between;align-items:center;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.acik-satir a b{color:var(--text)}.etiket{font-size:11px;color:var(--accent);background:rgba(25,195,255,.1);padding:2px 8px;border-radius:99px;margin-left:6px}.cikis-mini{font-size:12px;color:#ff8fa3}

/* panel iskeleti */
.ust{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(5,7,15,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.ust-marka{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--text);font-size:16px}
.ust-rol{font-size:11px;padding:3px 10px;border-radius:99px;background:rgba(47,123,255,.15);color:var(--accent);font-weight:700;letter-spacing:.04em}
.ust-sag{margin-left:auto;display:flex;align-items:center;gap:10px}.ust-kisi{color:var(--muted);font-size:13px}
.sekmeler{display:flex;gap:6px;padding:10px 16px;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--bg2);scrollbar-width:none}
.sekmeler a{display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:11px;color:var(--muted);font-weight:600;white-space:nowrap;font-size:14px}
.sekmeler a i{font-style:normal}.sekmeler a.aktif{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}
.rozet-sayi{background:var(--danger);color:#fff;border-radius:99px;font-size:11px;padding:1px 7px}
.icerik{padding:18px 16px 90px;max-width:1280px;margin:0 auto}
.bolum-baslik{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 12px}.bolum-baslik:first-child{margin-top:4px}
.bolum-baslik h2{font-size:18px}.alt-baslik{margin:18px 0 8px;font-size:15px;color:var(--accent)}
.sayi{display:inline-block;min-width:24px;text-align:center;background:var(--card2);border:1px solid var(--line);border-radius:99px;padding:0 8px;font-size:13px;margin-left:4px}
.bos{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;grid-column:1/-1}
.ses-banner{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;background:var(--primary);color:#fff;padding:12px 18px;border-radius:99px;font-weight:650;box-shadow:0 10px 30px rgba(0,0,0,.5);cursor:pointer;font-size:14px}
.toast{position:fixed;left:50%;top:70px;transform:translate(-50%,-20px);opacity:0;pointer-events:none;background:#fff;color:#0a1020;padding:11px 18px;border-radius:12px;font-weight:650;z-index:90;transition:.25s;max-width:92vw;box-shadow:0 10px 30px rgba(0,0,0,.5)}.toast.goster{opacity:1;transform:translate(-50%,0)}

/* kartlar */
.kart{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:12px}
.kart h3{font-size:15px;margin-bottom:12px}
.kart-izgara{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}.kart-izgara .kart{margin:0}
.kart-ust{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.kart-ust .rozet{margin-left:auto}
.masa-ad{font-size:17px}
.kart-alt{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.kalemler{list-style:none;padding:0;margin:0}.kalemler li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;padding:6px 0;border-bottom:1px dashed var(--line);font-size:15px}
.kalemler li:last-child{border:0}.kalemler li b{color:var(--accent);min-width:28px}.kalemler li em{flex-basis:100%;margin-left:34px;font-style:normal;font-size:13px;color:var(--warn)}
.kalemler li em::before{content:"↳ "}.kalemler li span{margin-left:auto;color:var(--muted)}
.sip-notu{margin-top:8px;padding:8px 10px;background:rgba(255,176,32,.1);border-radius:10px;color:#ffd27a;font-size:13px}
.sip-kart{border-left:4px solid var(--primary)}.sip-kart.d-yeni{border-left-color:var(--danger)}.sip-kart.d-hazirlaniyor{border-left-color:var(--warn)}.sip-kart.d-hazir{border-left-color:var(--ok)}.sip-kart.d-iptal{opacity:.5}
.rozet{font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--card2);color:var(--muted);white-space:nowrap}
.r-yeni{background:rgba(255,77,109,.18);color:#ff8fa3}.r-hazirlaniyor{background:rgba(255,176,32,.18);color:#ffc95c}.r-hazir{background:rgba(34,197,139,.18);color:#6fe8b8}.r-servis_edildi{background:rgba(47,123,255,.18);color:#8db7ff}.r-iptal{background:rgba(138,155,192,.15);color:var(--muted)}
.cagri-kart{border-left:4px solid var(--warn)}.cagri-kart.onaylandi{border-left-color:var(--primary)}

/* masa ızgarası */
.masa-izgara{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.masa-kart{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;min-height:130px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.masa-kart.dolu{border-color:rgba(47,123,255,.6);background:linear-gradient(160deg,rgba(47,123,255,.16),var(--card))}
.masa-kart.hazir{border-color:var(--ok)}.masa-kart.cagri{border-color:var(--warn);animation:nabiz 1.4s infinite}
@keyframes nabiz{50%{box-shadow:0 0 0 5px rgba(255,176,32,.18)}}
.mk-ust{display:flex;justify-content:space-between;font-size:16px}.mk-durum{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.dolu .mk-durum{color:var(--accent)}
.mk-kalem{font-size:13px;color:var(--muted);flex:1;line-height:1.35}.mk-toplam{font-weight:800;font-size:16px}

/* mutfak */
.mutfak-izgara{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
.kolon-baslik{font-weight:800;padding:12px 14px;border-radius:14px;margin-bottom:10px}
.k-yeni{background:rgba(255,77,109,.14);color:#ff9db0}.k-haz{background:rgba(255,176,32,.14);color:#ffc95c}.k-hazir{background:rgba(34,197,139,.14);color:#6fe8b8}
.kolon .kart{margin-bottom:10px}
.durum-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.durum-urun{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:650}
.durum-urun span{font-size:24px}.durum-urun small{color:var(--ok)}.durum-urun.kapali{opacity:.55;border-color:var(--danger)}.durum-urun.kapali small{color:#ff8fa3}

/* modal (masa penceresi) */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:70;display:flex;align-items:flex-end;justify-content:center}
.modal-ic{width:100%;max-width:720px;max-height:92vh;overflow:auto;background:var(--bg2);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:18px}
@media(min-width:760px){.modal{align-items:center}.modal-ic{border-radius:22px}}
.modal-ust{display:flex;align-items:center;gap:12px;margin-bottom:6px}.modal-ust h3{font-size:22px}.toplam-buyuk{margin-left:auto;font-size:22px;color:var(--accent)}
.md-bolum{margin-top:16px}.md-bolum h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.md-sip{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:8px}
.md-sip-ust{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.md-sip-ust .btn-grup{margin-left:auto}
.x-btn{border:0;background:rgba(255,77,109,.15);color:#ff8fa3;border-radius:8px;width:28px;height:28px;cursor:pointer}.x-btn.buyuk{width:36px;height:36px;margin-left:8px;background:var(--card2);color:var(--text)}
.md-urunler{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;max-height:230px;overflow:auto;padding:2px}
.md-urun{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:13px;font-weight:600;text-align:left}
.md-urun span{font-size:20px}.md-urun small{color:var(--accent)}
.md-ekle-liste{margin-top:10px;padding:10px;background:var(--card);border-radius:14px;border:1px solid var(--primary)}
.md-ekle-satir{display:flex;gap:8px;align-items:center;margin-bottom:8px}.md-ekle-satir input{padding:8px 10px;font-size:13px}
.odendi{text-align:center;padding:24px 10px}.buyuk-ikon{width:70px;height:70px;border-radius:50%;background:var(--ok);color:#04150e;font-size:38px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}

/* kategori çubuğu */
.kat-seridi{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none}
.kat{flex:none;padding:9px 16px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-weight:650;cursor:pointer;font-size:14px}
.kat.aktif{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent}.kat-seridi.mini .kat{padding:6px 12px;font-size:12px}

/* özet / tablolar / formlar */
.ozet-seridi{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;align-items:stretch}
.ozet{flex:1 1 150px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.ozet span{display:block;font-size:12px;color:var(--muted)}.ozet b{font-size:24px}.ozet small{display:block;color:var(--muted);font-size:12px}
.ozet-seridi.buyuk .ozet b{font-size:30px;background:linear-gradient(135deg,#fff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.ozet-sec{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--text);font-size:14px;padding:0 6px}
.iki-kolon{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.iki-kolon .kart{margin:0}
.cubuk{height:6px;background:var(--card2);border-radius:99px;overflow:hidden;margin-top:5px}.cubuk i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:99px}
.cubuk-satir{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px;align-items:center;padding:7px 0}.cubuk-satir .cubuk{margin:0}
.grafik{display:flex;align-items:flex-end;gap:10px;height:180px}.g-kolon{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%;font-size:11px;color:var(--muted)}.g-kolon i{display:block;width:100%;background:linear-gradient(180deg,var(--accent),var(--primary));border-radius:8px 8px 3px 3px}
.tablo-kart{padding:6px 14px;overflow-x:auto}.tablo{width:100%;border-collapse:collapse}.tablo th{font-size:12px;color:var(--muted);text-align:left;padding:10px 6px;font-weight:600}.tablo td{padding:11px 6px;border-top:1px solid var(--line)}.sag{text-align:right!important}
.filtre{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filtre label{flex:0 1 170px}.filtre .hizli{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.form-izgara{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.form-izgara .tam,.tam{grid-column:1/-1}
.form-alt{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.onay{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text)}
.satir-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}.satir-form:last-child{border:0}.satir-form input,.satir-form select{flex:1 1 150px;width:auto;padding:9px 10px;font-size:14px}.satir-form .mini{flex:0 0 74px}.satir-form .ik{font-size:22px}.satir-form.yeni{border:0;padding:0}
.acilir summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:650}.acilir summary::-webkit-details-marker{display:none}.acilir[open] summary{margin-bottom:14px}
.urun-satir.pasif{opacity:.6}.urun-satir .fiyat{margin-left:auto;color:var(--accent);font-weight:800}.u-g{width:46px;height:46px;border-radius:12px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}.u-g img{width:100%;height:100%;object-fit:cover}
.logo-onizle{display:flex;align-items:center;gap:14px}
.qr-izgara{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.qr-kart{background:#fff;color:#0a1020;border-radius:18px;padding:16px;text-align:center;border:3px solid var(--primary)}.qr-baslik{font-weight:800;margin-bottom:8px}.qr-masa{font-size:22px;font-weight:800;margin-top:6px}.qr-alt{font-size:12px;color:#55607a;margin-bottom:8px}
.qr-islem input{background:#f2f5fc;color:#0a1020;border-color:#cfd8ee;margin-bottom:8px;padding:8px}.qr-islem .btn-grup{justify-content:center}.qr-islem .btn-ikinci{color:#0a1020;background:#e6ecf9}

/* fiş / Z raporu (POS slip) */
.fis{width:302px;max-width:100%;margin:0 auto 20px;background:#fff;color:#000;font-family:"Courier New",Consolas,monospace;font-size:12.5px;line-height:1.55;padding:16px 14px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.fis .fm{text-align:center}.fis .fb{font-size:15px}.fis .fh{border-top:1px dashed #000;margin:7px 0}.fis .fh.cift{border-top:3px double #000}
.fis .fr{display:flex;justify-content:space-between;gap:10px}.fis .fr span:last-child{white-space:nowrap}.fis .kalin{font-weight:700;font-size:14px}.fis .kucuk{font-size:10px;margin-top:6px}
.fis-sayfa{background:#dfe4ee;padding:20px}.fis-araclar{text-align:center}
@media print{.ust,.sekmeler,.no-print,.ses-banner,.toast,.uyari{display:none!important}body,.fis-sayfa{background:#fff!important}.icerik{padding:0}.fis{box-shadow:none;margin:0;width:100%}.qr-kart{break-inside:avoid;box-shadow:none}.qr-izgara{grid-template-columns:repeat(3,1fr)}}

/* responsive */
@media(max-width:900px){.mutfak-izgara{grid-template-columns:1fr}.ust-kisi{display:none}.filtre .hizli{margin-left:0}}

/* ---------- Dış sipariş (panel) ---------- */
.r-yolda{background:rgba(25,195,255,.18);color:#7fdcff}
.sip-kart.d-yolda{border-left-color:var(--accent)}
.dis-musteri{margin:6px 0 8px;padding:8px 10px;border-radius:10px;background:rgba(47,123,255,.1);font-size:13px;line-height:1.55}
.dis-musteri a{color:var(--accent)}
.dis-kart{border-left:4px solid var(--accent)}
.dis-ozet{display:flex;justify-content:space-between;color:var(--muted);font-size:14px;padding:3px 0}.dis-ozet.genel{color:var(--text);font-weight:800;font-size:17px;border-top:1px dashed var(--line);margin-top:4px;padding-top:8px}
.dis-eylem{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.dis-ayar-izgara{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px}.dis-ayar-izgara label{display:block;font-size:13px;color:var(--muted)}.dis-ayar-izgara label input{margin-top:4px}
.dis-qr-kart{border:2px solid var(--accent)}
