/* ============================================================================
   NFC Yönetici editör arayüzü — yalnızca giriş yapılınca aktif (body.nfc-edit).
   Tüm sınıflar nfc-adm-/nfc-edit önekli → menü stilleriyle çakışmaz.
   ========================================================================== */
:root { --nfc-adm-y:#FADE00; --nfc-adm-b:#050505; }

/* --- Üst araç çubuğu --- */
.nfc-adm-bar {
  position:fixed; top:0; left:0; right:0; z-index:2147482500;
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:8px 14px; background:var(--nfc-adm-b); color:#fff;
  font-family:'Sansation',system-ui,sans-serif; font-size:14px;
  box-shadow:0 4px 18px rgba(0,0,0,.35); border-bottom:2px solid var(--nfc-adm-y);
}
.nfc-adm-bar .nfc-adm-badge { background:var(--nfc-adm-y); color:var(--nfc-adm-b);
  font-weight:700; padding:4px 10px; border-radius:7px; letter-spacing:.3px; }
.nfc-adm-bar .nfc-adm-status { color:#bbb; font-size:13px; }
.nfc-adm-bar .nfc-adm-spacer { flex:1; }
.nfc-adm-bar button { font-family:inherit; font-size:13px; font-weight:700; cursor:pointer;
  border:none; border-radius:9px; padding:8px 14px; transition:opacity .15s, transform .1s; }
.nfc-adm-bar button:active { transform:scale(.96); }
.nfc-adm-bar .nfc-adm-publish { background:var(--nfc-adm-y); color:var(--nfc-adm-b); }
.nfc-adm-bar .nfc-adm-publish:hover { opacity:.9; }
.nfc-adm-bar .nfc-adm-publish.dirty { box-shadow:0 0 0 3px rgba(250,222,0,.35); }
.nfc-adm-bar .nfc-adm-ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.35); }
.nfc-adm-bar .nfc-adm-ghost:hover { border-color:#fff; }
/* araç çubuğu için sayfayı aşağı it */
body.nfc-edit { padding-top:52px; }

/* --- Kart kontrolleri (her ürün kartında) --- */
body.nfc-edit .card { position:relative; }
.nfc-adm-card-ctl { position:absolute; top:6px; right:6px; z-index:5; display:flex; gap:5px; }
.nfc-adm-card-ctl button { width:30px; height:30px; border-radius:8px; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:14px; line-height:1;
  background:rgba(5,5,5,.82); color:#fff; box-shadow:0 2px 8px rgba(0,0,0,.3); transition:transform .1s, background .15s; }
.nfc-adm-card-ctl button:hover { background:var(--nfc-adm-b); }
.nfc-adm-card-ctl button:active { transform:scale(.9); }
.nfc-adm-card-ctl .nfc-adm-del:hover { background:#c0392b; }
.nfc-adm-card-ctl .nfc-adm-act.on { background:#1e9e54; }
.nfc-adm-card-ctl .nfc-adm-act.off { background:#888; }
/* pasif ürün: editör görünümünde soluk + "PASİF" rozeti */
body.nfc-edit .card.nfc-adm-inactive { opacity:.5; outline:2px dashed #c0392b; outline-offset:-2px; }
.nfc-adm-inactive-badge { position:absolute; top:6px; left:6px; z-index:5; background:#c0392b; color:#fff;
  font-size:10px; font-weight:700; padding:3px 7px; border-radius:6px; letter-spacing:.5px;
  font-family:'Sansation',system-ui,sans-serif; }

/* kategori başına "+ Ürün Ekle" */
.nfc-adm-add-row { margin:10px 0 4px; }
.nfc-adm-add-btn { font-family:'Sansation',system-ui,sans-serif; font-weight:700; font-size:13px; cursor:pointer;
  background:transparent; color:var(--nfc-adm-b); border:2px dashed rgba(5,5,5,.3); border-radius:11px;
  padding:9px 16px; transition:border-color .15s, background .15s; }
.nfc-adm-add-btn:hover { border-color:var(--nfc-adm-y); background:rgba(250,222,0,.12); }

/* --- Modal düzenleme formu --- */
.nfc-adm-modal { position:fixed; inset:0; z-index:2147483200; display:none;
  align-items:center; justify-content:center; padding:18px; background:rgba(5,5,5,.55); }
.nfc-adm-modal.open { display:flex; }
.nfc-adm-box { width:100%; max-width:560px; max-height:92dvh; overflow:auto; background:#fff; color:var(--nfc-adm-b);
  border-radius:18px; padding:22px 22px 18px; font-family:'Sansation',system-ui,sans-serif;
  box-shadow:0 24px 70px rgba(0,0,0,.4); }
.nfc-adm-box h2 { margin:0 0 16px; font-size:18px; }
.nfc-adm-field { margin-bottom:13px; }
.nfc-adm-field label { display:block; font-size:12.5px; color:#666; margin-bottom:5px; font-weight:700; }
.nfc-adm-field input, .nfc-adm-field textarea, .nfc-adm-field select {
  width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #ddd; border-radius:10px;
  font-family:inherit; font-size:14px; color:var(--nfc-adm-b); background:#fafafa; }
.nfc-adm-field input:focus, .nfc-adm-field textarea:focus, .nfc-adm-field select:focus {
  outline:none; border-color:var(--nfc-adm-y); background:#fff; }
.nfc-adm-field textarea { resize:vertical; min-height:54px; }
.nfc-adm-row2 { display:flex; gap:12px; } .nfc-adm-row2 > * { flex:1; }
/* dil sekmeleri */
.nfc-adm-tabs { display:flex; gap:4px; margin:4px 0 10px; flex-wrap:wrap; }
.nfc-adm-tab { font-family:inherit; font-size:12px; font-weight:700; cursor:pointer; border:1px solid #ddd;
  background:#f4f4f4; color:#555; border-radius:8px; padding:6px 11px; }
.nfc-adm-tab.active { background:var(--nfc-adm-b); color:#fff; border-color:var(--nfc-adm-b); }
.nfc-adm-lang { display:none; } .nfc-adm-lang.active { display:block; }
.nfc-adm-hint { font-size:11.5px; color:#999; margin-top:3px; }
/* görsel */
.nfc-adm-img-prev { width:90px; height:90px; border-radius:12px; object-fit:cover; background:#f0f0f0; border:1px solid #eee; }
.nfc-adm-img-wrap { display:flex; align-items:center; gap:14px; }
/* aktif anahtarı */
.nfc-adm-switch { display:flex; align-items:center; gap:8px; font-size:14px; }
/* form alt aksiyon */
.nfc-adm-actions { display:flex; gap:10px; margin-top:18px; }
.nfc-adm-actions button { flex:1; font-family:inherit; font-weight:700; font-size:14px; cursor:pointer;
  border:none; border-radius:11px; padding:12px; transition:opacity .15s; }
.nfc-adm-save { background:var(--nfc-adm-y); color:var(--nfc-adm-b); } .nfc-adm-save:hover { opacity:.9; }
.nfc-adm-cancel { background:#eee; color:#333; } .nfc-adm-cancel:hover { background:#e2e2e2; }
.nfc-adm-modal-err { color:#c0392b; font-size:13px; min-height:16px; margin-top:8px; text-align:center; }

/* küçük toast */
.nfc-adm-toast { position:fixed; bottom:22px; left:50%; transform:translateX(-50%); z-index:2147483300;
  background:var(--nfc-adm-b); color:#fff; padding:11px 20px; border-radius:12px; font-family:'Sansation',system-ui,sans-serif;
  font-size:14px; box-shadow:0 8px 26px rgba(0,0,0,.4); opacity:0; transition:opacity .25s, transform .25s; pointer-events:none; }
.nfc-adm-toast.show { opacity:1; transform:translateX(-50%) translateY(-4px); }
.nfc-adm-toast.err { background:#c0392b; }

/* --- Sürükle-bırak sıralama --- */
.nfc-adm-card-ctl .nfc-adm-drag {
  width:30px; height:30px; border-radius:8px; background:rgba(5,5,5,.82); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:15px; line-height:1;
  cursor:grab; box-shadow:0 2px 8px rgba(0,0,0,.3); user-select:none; touch-action:none;
}
.nfc-adm-card-ctl .nfc-adm-drag:active { cursor:grabbing; background:var(--nfc-adm-b); }
/* sürüklenen öğenin hayaleti / seçili hali */
.nfc-adm-drag-ghost { opacity:.35; }
.nfc-adm-drag-chosen { outline:2px solid var(--nfc-adm-y); outline-offset:-2px; }
/* edit modunda gruplu kategori sol menüsü */
.nfc-adm-cat-groups { display:flex; flex-direction:column; gap:8px; }
.nfc-adm-catgroup { border:1px dashed #d4d4d4; border-radius:10px; padding:4px 4px 6px; }
.nfc-adm-catgroup-head {
  display:flex; align-items:center; gap:6px; padding:4px 6px;
  font-size:11px; font-weight:700; color:#999; letter-spacing:.5px; text-transform:uppercase;
}
.nfc-adm-ghead-drag { cursor:grab; color:#bbb; font-size:13px; user-select:none; touch-action:none; }
.nfc-adm-catlist { display:flex; flex-direction:column; gap:2px; min-height:10px; }
.nfc-adm-catlist .cat-side-link { cursor:grab; }

/* --- Şube editörü (restoranlar.html) --- */
.nfc-adm-branch-editor { margin:18px 0 8px; padding:14px; border:2px dashed var(--nfc-adm-y); border-radius:14px;
  background:#fffdf0; font-family:'Sansation',system-ui,sans-serif; }
.nfc-adm-be-head { font-size:12.5px; font-weight:700; color:#888; letter-spacing:.4px; text-transform:uppercase; margin-bottom:10px; }
.nfc-adm-brows { display:flex; flex-direction:column; gap:7px; margin-bottom:12px; }
.nfc-adm-brow { display:flex; align-items:center; gap:10px; padding:9px 11px; background:#fff; border:1px solid #eee;
  border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.nfc-adm-brow .nfc-adm-drag { width:26px; height:26px; border-radius:7px; background:rgba(5,5,5,.82); color:#fff;
  display:flex; align-items:center; justify-content:center; cursor:grab; flex-shrink:0; user-select:none; touch-action:none; }
.nfc-adm-brow-name { font-weight:700; font-size:14px; color:var(--nfc-adm-b); }
.nfc-adm-brow-tag { font-size:10px; font-weight:700; padding:2px 7px; border-radius:6px; background:#eee; color:#666; letter-spacing:.3px; }
.nfc-adm-brow-tag.pasif { background:#c0392b; color:#fff; }
.nfc-adm-brow-acts { margin-left:auto; display:flex; gap:6px; }
.nfc-adm-brow-acts button { font-family:inherit; font-size:12px; font-weight:700; cursor:pointer; border:none; border-radius:8px; padding:6px 11px; }
.nfc-adm-bedit { background:var(--nfc-adm-b); color:#fff; }
.nfc-adm-bdel { background:#f0e0e0; color:#c0392b; }
.nfc-adm-bdel:hover { background:#c0392b; color:#fff; }

/* --- Kategori yeniden adlandırma (sol menü editörü) + yeni kategori (ürün formu) --- */
.nfc-adm-catrow { display:flex; align-items:center; gap:4px; }
.nfc-adm-catrow .cat-side-link { flex:1; }
.nfc-adm-catedit { flex-shrink:0; width:26px; height:26px; border:none; border-radius:7px; cursor:pointer;
  background:rgba(5,5,5,.08); color:var(--nfc-adm-b); font-size:13px; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:background .15s; }
.nfc-adm-catedit:hover { background:var(--nfc-adm-y); }
.nfc-adm-newcat { margin-top:8px; padding:11px; border:1px dashed var(--nfc-adm-y); border-radius:10px;
  background:#fffdf0; display:none; }
.nfc-adm-newcat.open { display:block; }
