:root {
    /* Bazı Android tarayıcıları ve "zorunlu karanlık mod" eklentileri
       renkleri kendiliğinden ters çeviriyor. Bu satır arayüzü tasarlandığı
       gibi tutar (_Layout'taki <meta name="color-scheme"> ile birlikte). */
    color-scheme: light;

    /* Çentikli cihazlarda alt güvenli alan payı.
       Çalışması için _Layout'taki viewport meta'sında viewport-fit=cover olmalı. */
    --mb-alt-guvenli: env(safe-area-inset-bottom, 0px);

    --mb-bg: #0f172a;          /* koyu lacivert kenar çubuğu */
    --mb-bg-2: #1e293b;
    --mb-accent: #2563eb;
    --mb-accent-d: #1d4ed8;
    --mb-text: #e2e8f0;
    --mb-muted: #94a3b8;
    --mb-surface: #f8fafc;
    --mb-border: #e2e8f0;
    --mb-radius: 14px;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background: var(--mb-surface);
    color: #0f172a;
    -webkit-font-smoothing: antialiased;
}

/* ---------- Uygulama kabuğu ---------- */
.mb-shell { display: flex; min-height: 100vh; }

.mb-sidebar {
    width: 250px;
    background: var(--mb-bg);
    color: var(--mb-text);
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 40;
    transition: transform .25s ease;
    padding-bottom: var(--mb-alt-guvenli);
    overscroll-behavior: contain;
}

.mb-brand { padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.08); display: flex; align-items: center; }
.mb-brand a { display: block; line-height: 0; }
.mb-brand img { height: 60px; width: auto; max-width: 100%; }

.mb-nav { padding: 8px; overflow-y: auto; flex: 1; }
.mb-nav::-webkit-scrollbar { width: 6px; }
.mb-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 3px; }
.mb-nav a {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 14px; margin: 2px 4px;
    color: var(--mb-text); text-decoration: none;
    border-radius: 10px; font-size: 15px;
}
.mb-nav a:hover { background: var(--mb-bg-2); }
.mb-nav a.active { background: var(--mb-accent); color: #fff; }
.mb-nav a .ikon, .mb-grup-btn .ikon { width: 20px; text-align: center; opacity: .9; }
.mb-nav > a > i:first-child { width: 20px; text-align: center; }

/* Açılır grup başlığı */
.mb-grup-btn {
    display: flex; align-items: center; gap: 12px; width: calc(100% - 8px);
    padding: 11px 14px; margin: 2px 4px; border: 0; background: transparent;
    color: var(--mb-text); border-radius: 10px; font-size: 15px; cursor: pointer; text-align: left;
}
.mb-grup-btn:hover { background: var(--mb-bg-2); }
.mb-grup-btn .ok { margin-left: auto; font-size: 12px; transition: transform .2s; }
.mb-grup-btn.collapsed .ok { transform: rotate(-90deg); }

/* Alt menü */
.mb-alt { margin: 0 4px 4px; }
.mb-alt a {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 14px 9px 34px; margin: 2px 0;
    color: #cbd5e1; text-decoration: none; border-radius: 8px; font-size: 14px;
}
.mb-alt a i { width: 18px; text-align: center; opacity: .85; }
.mb-alt a:hover { background: var(--mb-bg-2); color: #fff; }
.mb-alt a.active { background: var(--mb-accent); color: #fff; }

.mb-main { flex: 1; margin-left: 250px; display: flex; flex-direction: column; min-width: 0; transition: margin-left .25s ease; }

.mb-topbar {
    height: 60px; background: #fff; border-bottom: 1px solid var(--mb-border);
    display: flex; align-items: center; gap: 14px; padding: 0 18px;
    position: sticky; top: 0; z-index: 30;
    flex-shrink: 0;
}
.mb-topbar .baslik { font-size: 18px; font-weight: 600; }
.mb-topbar .sag { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.mb-hamburger { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #f1f5f9; border: 0; border-radius: 10px; font-size: 18px; cursor: pointer; color: #0f172a; }
.mb-hamburger:hover { background: #e2e8f0; }

.mb-firma-rozet { background: #fde68a; color: #92400e; border: 0; border-radius: 999px; padding: 6px 12px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.mb-firma-rozet:hover { background: #fcd34d; }

.mb-user { background: #f1f5f9; border: 0; border-radius: 999px; padding: 7px 14px; font-size: 14px; font-weight: 600; color: #0f172a; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.mb-user:hover { background: #e2e8f0; }
.mb-user .fa-circle-user { color: var(--mb-accent); font-size: 18px; }

/* Masaüstünde daraltılmış (kapalı) durum */
.mb-shell.kapali .mb-sidebar { transform: translateX(-100%); }
.mb-shell.kapali .mb-main { margin-left: 0; }

.mb-content { padding: 22px; max-width: 1280px; width: 100%; }

/* ---------- Kartlar ---------- */
.mb-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.mb-card {
    background: #fff; border: 1px solid var(--mb-border); border-radius: var(--mb-radius);
    padding: 18px 20px; text-decoration: none; color: inherit; display: block;
    transition: box-shadow .15s, transform .15s;
}
.mb-card:hover { box-shadow: 0 6px 20px rgba(2,6,23,.08); transform: translateY(-2px); }
.mb-stat .sayi { font-size: 32px; font-weight: 700; color: var(--mb-accent); }
.mb-stat .etiket { color: var(--mb-muted); font-size: 14px; margin-top: 2px; }

/* ---------- Panel / tablo ---------- */
.mb-panel { background: #fff; border: 1px solid var(--mb-border); border-radius: var(--mb-radius); overflow: hidden; }
.mb-panel-head { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--mb-border); }
.mb-panel-head h2 { margin: 0; font-size: 17px; }
.mb-panel-head .sag { margin-left: auto; display: flex; gap: 8px; }

table.mb-table { width: 100%; border-collapse: collapse; }
.mb-table th, .mb-table td { text-align: left; padding: 13px 18px; border-bottom: 1px solid var(--mb-border); font-size: 15px; }
.mb-table th { background: #f1f5f9; color: #475569; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .03em; }
.mb-table tr:last-child td { border-bottom: 0; }
.mb-table .islem { display: flex; gap: 8px; justify-content: flex-end; }

/* ---------- Rozetler / durum ---------- */
.mb-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.mb-badge.ok { background: #dcfce7; color: #166534; }
.mb-badge.pasif { background: #fee2e2; color: #991b1b; }
.mb-badge.info { background: #dbeafe; color: #1e40af; }

/* ---------- Butonlar ---------- */
.mb-btn {
    display: inline-flex; align-items: center; gap: 8px; justify-content: center;
    padding: 11px 18px; border-radius: 10px; border: 1px solid transparent;
    font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; line-height: 1;
}
.mb-btn-primary { background: var(--mb-accent); color: #fff; }
.mb-btn-primary:hover { background: var(--mb-accent-d); }
.mb-btn-ghost { background: #fff; border-color: var(--mb-border); color: #0f172a; }
.mb-btn-ghost:hover { background: #f1f5f9; }
.mb-btn-danger { background: #fff; border-color: #fecaca; color: #b91c1c; }
.mb-btn-danger:hover { background: #fef2f2; }
.mb-btn-sm { padding: 8px 12px; font-size: 14px; }

/* ---------- Formlar ---------- */
.mb-form { background: #fff; border: 1px solid var(--mb-border); border-radius: var(--mb-radius); padding: 22px; max-width: 640px; }
.mb-form .satir { margin-bottom: 16px; }
.mb-form label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; color: #334155; }
.mb-form input[type=text], .mb-form input[type=email], .mb-form input[type=password],
.mb-form input[type=number], .mb-form input[type=color], .mb-form textarea, .mb-form select {
    width: 100%; padding: 12px 13px; border: 1px solid #cbd5e1; border-radius: 10px;
    font-size: 15px; background: #fff; color: #0f172a;
}
.mb-form input:focus, .mb-form textarea:focus, .mb-form select:focus {
    outline: none; border-color: var(--mb-accent); box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}
.mb-form .checkbox { display: flex; align-items: center; gap: 10px; }
.mb-form .checkbox input { width: 20px; height: 20px; }
.mb-form .ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mb-form .uclu { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.mb-form .aksiyon { display: flex; gap: 10px; margin-top: 8px; }
.field-validation-error, .text-danger { color: #dc2626; font-size: 13px; margin-top: 4px; display: block; }
.validation-summary-errors ul { margin: 0; padding-left: 18px; color: #dc2626; }

/* ---------- Uyarı mesajları ---------- */
.mb-alert { padding: 13px 16px; border-radius: 10px; margin-bottom: 18px; font-size: 15px; }
.mb-alert.basari { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.mb-alert.hata { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }

.mb-empty { text-align: center; color: var(--mb-muted); padding: 40px 20px; }

/* ---------- Giriş ekranı ---------- */
.mb-login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0f172a, #1e3a8a); padding: 20px; }
.mb-login { background: #fff; border-radius: 18px; padding: 34px; width: 100%; max-width: 400px; box-shadow: 0 20px 50px rgba(2,6,23,.35); }
.mb-login .logo { font-size: 26px; font-weight: 800; text-align: center; margin-bottom: 4px; }
.mb-login .logo span { color: var(--mb-accent); }
.mb-login .alt { text-align: center; color: var(--mb-muted); margin-bottom: 24px; font-size: 14px; }

.renk-nokta { display: inline-block; width: 14px; height: 14px; border-radius: 4px; vertical-align: middle; margin-right: 6px; border: 1px solid rgba(0,0,0,.1); }

/* ---------- Mobil ---------- */
.mb-backdrop { display: none; position: fixed; inset: 0; background: rgba(2,6,23,.5); z-index: 35; }

/* Kenar çubuğu açıkken arka planın kaymasını engeller.
   _Layout'taki mbSidebar() bu sınıfı body'ye ekler/çıkarır. */
body.mb-menu-acik { overflow: hidden; }

@media (max-width: 992px) {
    .mb-sidebar { transform: translateX(-100%); }
    .mb-shell.acik .mb-sidebar { transform: translateX(0); }
    .mb-shell.acik .mb-backdrop { display: block; }
    .mb-main { margin-left: 0 !important; }
    .mb-content { padding: 16px; padding-bottom: calc(16px + var(--mb-alt-guvenli)); }
    .mb-form .ikili, .mb-form .uclu { grid-template-columns: 1fr; }

    /* NOT: Aşağıdaki kural HER tablonun 3. sütununu gizler. Sütun sırası
       tablodan tabloya değiştiği için bazen yanlış veriyi gizleyebilir.
       Uzun vadede tablo bazında "d-none d-md-table-cell" tercih edilmeli. */
    .mb-table th:nth-child(3), .mb-table td:nth-child(3) { display: none; }

    /* Parmakla basılabilir minimum ölçü */
    .mb-btn { min-height: 44px; }
    .mb-btn-sm { min-height: 38px; }
    .mb-hamburger { width: 44px; height: 44px; }
}

/* Dokunmatik cihazlarda 300ms gecikmeyi ve çift dokunuşla yakınlaşmayı kapatır */
.mb-btn, .mb-nav a, .mb-alt a, .mb-grup-btn, .mb-hamburger, .mb-user { touch-action: manipulation; }

/* ============================================================
   POS / Operasyonel ekranlar (Satış, Kasa, Mutfak)
   ============================================================ */

/* Genel yardımcı input (mb-form dışındaki formlar için) */
.mb-inp { width:100%; padding:11px 12px; border:1px solid #cbd5e1; border-radius:10px; font-size:15px; background:#fff; color:#0f172a; }
.mb-inp:focus { outline:none; border-color:var(--mb-accent); box-shadow:0 0 0 3px rgba(37,99,235,.15); }

/* ---- Masa haritası ---- */
.pos-legend { display:flex; gap:18px; flex-wrap:wrap; margin-bottom:14px; color:#475569; font-size:14px; }
.pos-legend .nokta { display:inline-block; width:12px; height:12px; border-radius:4px; margin-right:5px; vertical-align:middle; }
.pos-legend .nokta.bos { background:#22c55e; } .pos-legend .nokta.dolu { background:#ef4444; }
.pos-legend .nokta.odeme { background:#f59e0b; } .pos-legend .nokta.rezerve { background:#6366f1; }

.pos-bolge { margin-bottom:22px; }
.pos-bolge h3 { margin:0 0 12px; font-size:16px; color:#334155; }
.masa-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:14px; }
.masa-kart {
    display:flex; flex-direction:column; gap:6px; min-height:110px; padding:16px;
    border-radius:16px; text-decoration:none; color:#0f172a; border:2px solid transparent;
    background:#fff; box-shadow:0 2px 8px rgba(2,6,23,.06); transition:transform .12s, box-shadow .12s;
}
.masa-kart:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(2,6,23,.12); }
.masa-kart .ust { display:flex; justify-content:space-between; align-items:center; }
.masa-kart .ad { font-size:20px; font-weight:800; }
.masa-kart .kap { font-size:12px; color:#64748b; }
.masa-kart .durum { font-size:13px; font-weight:600; }
.masa-kart .sure { font-size:12px; font-weight:700; color:#475569; display:flex; align-items:center; gap:5px; }
.masa-kart .sure.uzun { color:#dc2626; }
.masa-kart .tutar { margin-top:auto; font-size:18px; font-weight:800; }
.masa-kart.bos { border-color:#bbf7d0; background:#f0fdf4; }
.masa-kart.bos .durum { color:#16a34a; }
.masa-kart.dolu { border-color:#fecaca; background:#fef2f2; }
.masa-kart.dolu .durum { color:#dc2626; }
.masa-kart.odeme { border-color:#fde68a; background:#fffbeb; }
.masa-kart.odeme .durum { color:#d97706; }
.masa-kart.rezerve { border-color:#c7d2fe; background:#eef2ff; }
.masa-kart.rezerve .durum { color:#4f46e5; }
.masa-kart.kapali { opacity:.55; }

/* ---- Adisyon ekranı ---- */
.adisyon-ekran { display:grid; grid-template-columns:1fr 380px; gap:16px; align-items:start; }
.urun-panel { background:#fff; border:1px solid var(--mb-border); border-radius:var(--mb-radius); padding:14px; }
.urun-baslik { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; font-size:16px; }
.garson-sec { margin-left:auto; padding:8px 10px; border:1px solid #cbd5e1; border-radius:8px; font-size:14px; }
.kategori-cubuk { display:flex; gap:8px; overflow-x:auto; padding-bottom:8px; margin-bottom:10px; }
.kat-btn { flex:0 0 auto; padding:9px 16px; border:2px solid #cbd5e1; background:#fff; border-radius:999px; font-weight:600; font-size:14px; cursor:pointer; }
.kat-btn.aktif { background:var(--mb-accent); color:#fff; border-color:var(--mb-accent); }
.urun-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(130px,1fr)); gap:10px; }
.urun-btn {
    display:flex; flex-direction:column; justify-content:space-between; gap:8px; min-height:84px;
    padding:12px; border:1px solid #e2e8f0; border-radius:12px; background:#f8fafc; cursor:pointer; text-align:left;
    transition:transform .1s, box-shadow .1s;
}
.urun-btn:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(2,6,23,.1); background:#fff; }
.urun-btn .ad { font-weight:700; font-size:15px; line-height:1.25; }
.urun-btn .fiyat { font-weight:800; color:var(--mb-accent); }

.adisyon-panel { background:#fff; border:1px solid var(--mb-border); border-radius:var(--mb-radius); display:flex; flex-direction:column; position:sticky; top:78px; max-height:calc(100vh - 96px); }
.adisyon-head { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border-bottom:1px solid var(--mb-border); font-weight:700; }
.kalem-liste { flex:1; overflow-y:auto; padding:8px 10px; min-height:120px; }
.bos-adisyon { text-align:center; color:#94a3b8; padding:36px 12px; }
/* DÜZELTME: eskiden 3 kolonlu grid idi. Satırda 4 çocuk kullanan sayfalarda
   (ad / adet / tutar / sil) dördüncü eleman ızgaranın dışına taşıyordu.
   Esnek kutu düzeni çocuk sayısından bağımsız çalışır. */
.kalem { display:flex; align-items:center; gap:8px; padding:10px 6px; border-bottom:1px solid #f1f5f9; }
.kalem .k-ad { flex:1 1 auto; min-width:0; font-weight:600; font-size:15px; } .kalem .k-ad small { display:block; color:#94a3b8; font-weight:500; }
.kalem .k-adet, .kalem .k-tutar { flex:0 0 auto; }
.kalem .k-adet { display:flex; align-items:center; gap:6px; }
.kalem .k-adet span { min-width:22px; text-align:center; font-weight:700; }
.kalem .k-tutar { font-weight:700; white-space:nowrap; }
.mini { width:30px; height:30px; border-radius:8px; border:1px solid #cbd5e1; background:#fff; font-size:16px; font-weight:700; cursor:pointer; }
.mini.sil { border-color:#fecaca; color:#dc2626; }
.adisyon-ozet { padding:12px 16px; border-top:1px solid var(--mb-border); }
.adisyon-ozet .satir { display:flex; justify-content:space-between; padding:4px 0; color:#475569; }
.adisyon-ozet .satir.indirim { color:#dc2626; }
.adisyon-ozet .satir.toplam { font-size:20px; font-weight:800; color:#0f172a; border-top:1px dashed #cbd5e1; margin-top:6px; padding-top:10px; }
.adisyon-aksiyon { padding:12px 16px; display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--mb-border); }
.mb-btn.big { padding:15px; font-size:17px; }

/* ---- Kasa ---- */
.kasa-liste { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:14px; }
.kasa-kart { display:flex; flex-direction:column; gap:8px; padding:16px; border-radius:16px; background:#fff; border:2px solid #e2e8f0; text-decoration:none; color:#0f172a; box-shadow:0 2px 8px rgba(2,6,23,.06); }
.kasa-kart:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(2,6,23,.12); }
.kasa-kart.odendi { border-color:#bbf7d0; background:#f0fdf4; }
.kasa-kart .k-ust { display:flex; justify-content:space-between; align-items:center; }
.kasa-kart .k-masa { font-size:18px; font-weight:800; }
.kasa-kart .k-tutar { font-size:24px; font-weight:800; color:var(--mb-accent); }
.kasa-kart .k-alt { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; color:#64748b; }
.kasa-kart .k-alt .kalan { color:#dc2626; font-weight:700; }

.kasa-ekran { display:grid; grid-template-columns:1fr 400px; gap:16px; align-items:start; }
.kasa-sol, .kasa-sag { background:#fff; border:1px solid var(--mb-border); border-radius:var(--mb-radius); padding:16px; }
.kasa-sag { position:sticky; top:78px; }
.kasa-kalemler { margin-top:10px; }
.kasa-kalem { display:flex; align-items:center; gap:10px; padding:10px 6px; border-bottom:1px solid #f1f5f9; cursor:pointer; }
.kasa-kalem input { width:20px; height:20px; }
.kasa-kalem .ad { flex:1; font-weight:600; }
.kasa-kalem .tutar { font-weight:700; }
.ozet-kutu { background:#f8fafc; border-radius:12px; padding:14px; margin-bottom:14px; }
.ozet-kutu .satir { display:flex; justify-content:space-between; padding:5px 0; color:#475569; }
.ozet-kutu .satir.indirim { color:#dc2626; }
.ozet-kutu .satir.toplam { font-size:22px; font-weight:800; color:#0f172a; border-top:1px dashed #cbd5e1; margin-top:6px; padding-top:10px; }
.bolum { margin-bottom:16px; }
.bolum > label { display:block; font-weight:700; margin-bottom:8px; font-size:14px; color:#334155; }
.iskonto-satir { display:flex; gap:8px; }
.iskonto-satir select, .iskonto-satir input { padding:9px; border:1px solid #cbd5e1; border-radius:8px; }
.iskonto-satir input { flex:1; }
.tutar-input { width:100%; padding:14px; font-size:22px; font-weight:800; text-align:right; border:2px solid #cbd5e1; border-radius:12px; }
.odeme-turleri { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ode-btn { padding:16px; font-size:16px; font-weight:700; border:2px solid #cbd5e1; background:#f8fafc; border-radius:12px; cursor:pointer; }
.ode-btn:hover { background:var(--mb-accent); color:#fff; border-color:var(--mb-accent); }
.odeme-liste { display:flex; flex-direction:column; gap:6px; }
.odeme-sat { display:flex; justify-content:space-between; padding:8px 10px; background:#f8fafc; border-radius:8px; font-size:14px; }
.odeme-sat small { color:#94a3b8; }

/* ---- Mutfak ---- */
.mutfak-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:16px; }
.mutfak-kart { background:#fff; border:2px solid #e2e8f0; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.mutfak-kart.hazir { border-color:#22c55e; }
.mk-head { display:flex; align-items:center; gap:10px; padding:12px 14px; background:#0f172a; color:#fff; }
.mk-head strong { font-size:17px; } .mk-head .sure { margin-left:auto; font-size:12px; color:#cbd5e1; }
.mk-kalemler { padding:8px 10px; }
.mk-kalem { display:flex; flex-direction:column; gap:8px; padding:12px 8px; border-bottom:1px solid #f1f5f9; }
.mk-kalem.durum-hazirlaniyor { background:#fffbeb; }
.mk-ad { font-size:16px; font-weight:600; } .mk-ad .miktar { color:var(--mb-accent); font-weight:800; }
.mk-not { font-size:13px; color:#b45309; margin-top:4px; }
.mk-aksiyon { display:flex; gap:8px; }

@media (max-width: 980px) {
    .adisyon-ekran, .kasa-ekran { grid-template-columns:1fr; }
    .adisyon-panel, .kasa-sag { position:static; max-height:none; }
    .odeme-turleri { grid-template-columns:1fr 1fr; }
}

/* ---------- Raporlar ---------- */
.rapor-period { display:inline-flex; gap:4px; background:#f1f5f9; border-radius:10px; padding:4px; }
.rapor-period a { padding:6px 14px; border-radius:8px; text-decoration:none; color:#475569; font-weight:600; font-size:14px; }
.rapor-period a.aktif { background:var(--mb-accent); color:#fff; }
.rapor-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:18px; }
.rapor-baslik { margin:0 0 12px; font-size:15px; color:#334155; }
@media (max-width: 900px){ .rapor-grid { grid-template-columns:1fr; } }

/* ============================================================
   Faz 6 — Sekmeler, mobil adisyon, rezervasyon, yeni raporlar
   ============================================================ */

/* ---- Şık sekmeler ---- */
.mb-tabs { display:flex; gap:8px; flex-wrap:wrap; padding:14px 18px; border-bottom:1px solid var(--mb-border); }
.mb-tab { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#f1f5f9; color:#475569; font-weight:600; font-size:14px; text-decoration:none; border:1px solid transparent; transition:background .15s, color .15s, box-shadow .15s; }
.mb-tab:hover { background:#e2e8f0; color:#0f172a; }
.mb-tab.aktif { background:linear-gradient(135deg, var(--mb-accent), #4f46e5); color:#fff; box-shadow:0 4px 12px rgba(37,99,235,.28); }
.mb-tab i { opacity:.9; }
.mb-tab-say { min-width:22px; height:22px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(15,23,42,.08); color:inherit; font-size:12px; font-weight:800; }
.mb-tab.aktif .mb-tab-say { background:rgba(255,255,255,.25); }

/* Uyarı rozeti */
.mb-badge.warn { background:#fef3c7; color:#92400e; }

/* ---- Mobil adisyon "sepet" (bottom sheet) ---- */
.mb-sepet-bar { display:none; }
.mb-sepet-zemin { display:none; }
/*
 * ESKİ SİSTEM — yalnızca .mb-sepet-bar sayfada gerçekten varsa devreye girer.
 *
 * Bu çekmece mb-adisyon.js tarafından sürülüyordu. O script artık _Layout'tan
 * kaldırıldı (yalnızca ihtiyacı olan view kendi Scripts bölümünde yüklüyor).
 * Kurallar body:has(.mb-sepet-bar) ile koşullandırıldı; script çalışmadıysa
 * panel sayfa akışında normal şekilde görünür — eskiden translateY(100%) ile
 * kalıcı olarak ekran dışında kalıyor ve panele hiç ulaşılamıyordu.
 *
 * Satis/Masa/Adisyon ekranı bu sistemi KULLANMAZ; kendi izole "mbz-" önekli
 * düzenine sahiptir ve buradaki hiçbir seçici ona değmez.
 */
@media (max-width: 980px) {
    body:has(.mb-sepet-bar) .adisyon-ekran .adisyon-panel {
        position:fixed; left:0; right:0; bottom:0; top:auto; width:100%;
        max-height:82vh; border-radius:18px 18px 0 0; z-index:60;
        transform:translateY(100%); transition:transform .28s ease;
        box-shadow:0 -10px 30px rgba(2,6,23,.28);
        padding-bottom:var(--mb-alt-guvenli);
    }
    body:has(.mb-sepet-bar) .adisyon-ekran.sepet-acik .adisyon-panel { transform:translateY(0); }
    .adisyon-ekran .kalem-liste { max-height:44vh; }
    body:has(.mb-sepet-bar) .adisyon-ekran .urun-panel { padding-bottom:76px; }

    .mb-sepet-bar {
        display:flex; align-items:center; justify-content:space-between; gap:10px;
        position:fixed; left:0; right:0; bottom:0; z-index:55; border:0;
        padding:13px 16px calc(13px + var(--mb-alt-guvenli)); background:linear-gradient(135deg, var(--mb-accent), #4f46e5);
        color:#fff; font-weight:700; font-size:15px; box-shadow:0 -6px 20px rgba(2,6,23,.25); cursor:pointer;
    }
    .mb-sepet-bar .sb-sol { display:flex; align-items:center; gap:8px; }
    .mb-sepet-bar .sb-sag { display:flex; align-items:center; gap:8px; }
    .mb-sepet-bar .sb-tutar { font-size:17px; font-weight:800; }
    .mb-sepet-bar .ok { transition:transform .2s; }
    body.sepet-acik-body .mb-sepet-bar .ok { transform:rotate(180deg); }
    body.sepet-acik-body .mb-sepet-zemin { display:block; position:fixed; inset:0; background:rgba(2,6,23,.45); z-index:58; }

    /* Dokunma hedeflerini büyüt */
    .urun-btn { min-height:94px; }
    .kat-btn { padding:11px 18px; font-size:15px; }
    .urun-grid { grid-template-columns:repeat(auto-fill, minmax(120px,1fr)); }
    .mini { width:38px; height:38px; font-size:18px; }
    .mb-btn.big { padding:16px; font-size:17px; }
}

/* ---- Rezervasyon ---- */
.rez-serit { background:#eef2ff; border:1px solid #c7d2fe; border-radius:14px; padding:12px 14px; margin-bottom:18px; }
.rez-serit-bas { font-weight:700; color:#3730a3; margin-bottom:8px; font-size:14px; }
.rez-serit-liste { display:flex; gap:10px; flex-wrap:wrap; }
.rez-cip { display:flex; flex-direction:column; background:#fff; border:1px solid #c7d2fe; border-radius:10px; padding:8px 12px; min-width:120px; }
.rez-cip .saat { font-weight:800; color:#4f46e5; }
.rez-cip .ad { font-weight:600; font-size:14px; }
.rez-cip .det { font-size:12px; color:#64748b; }
.masa-kart .masa-rez { font-size:12px; font-weight:700; color:#4f46e5; display:flex; align-items:center; gap:5px; }
.rez-arac { padding:14px 0; }
.rez-gun { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rez-gun-etiket { color:#475569; font-weight:600; margin-left:6px; }

/* ---- Rapor filtresi ---- */
.rapor-filtre { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; background:#fff; border:1px solid var(--mb-border); border-radius:14px; padding:16px; }
.rapor-filtre .ff { display:flex; flex-direction:column; gap:6px; }
.rapor-filtre .ff label { font-size:13px; font-weight:600; color:#334155; }
.rapor-filtre .ff .mb-inp { min-width:150px; }
.rapor-filtre .ff-btn { justify-content:flex-end; }

/* ---- Kanal ödeme kartları ---- */
.kanal-kartlar { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px,1fr)); gap:14px; margin-top:18px; }
.kanal-kart { background:#fff; border:1px solid var(--mb-border); border-radius:14px; padding:16px; }
.kanal-kart .kk-ust { display:flex; align-items:center; gap:8px; color:#475569; font-weight:600; font-size:14px; }
.kanal-kart .kk-ust i { color:var(--mb-accent); }
.kanal-kart .kk-tutar { font-size:24px; font-weight:800; margin-top:8px; color:#0f172a; }
.kanal-kart .kk-alt { font-size:12px; color:#94a3b8; margin-top:4px; }
.kanal-kart.toplam { background:linear-gradient(135deg, #0f172a, #1e3a8a); }
.kanal-kart.toplam .kk-ust, .kanal-kart.toplam .kk-alt { color:#cbd5e1; }
.kanal-kart.toplam .kk-ust i, .kanal-kart.toplam .kk-tutar { color:#fff; }

/* ---- Yazdırma ---- */
@media print {
    .mb-sidebar, .mb-topbar, .mb-sepet-bar, .rapor-filtre, .mb-panel-head .sag,
    .mbz-altbar, .mbz-cekmece, .mb-backdrop { display:none !important; }
    .mb-main { margin-left:0 !important; }
    .mb-content { padding:0; }
    .mb-panel { border:0; }
}
