/* D6 Admin Panel */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg:    #0d0a07; --bg-2:  #161009; --bg-3: #1e160e;
  --card:  rgba(255,255,255,0.04);
  --ink:   #f5f0e8; --ink-soft: #c8bfaf; --ink-mute: #8a7d6e;
  --red:   #C41E1E; --red-dim: rgba(196,30,30,.14);
  --gold:  #FBBF24; --gold-2: #d4a017; --gold-dim: rgba(251,191,36,.12);
  --green: #22C55E; --green-dim: rgba(34,197,94,.1);
  --blue:  #3B82F6; --blue-dim: rgba(59,130,246,.12);
  --line:  rgba(255,255,255,0.07); --line-gold: rgba(251,191,36,.15);
  --radius:14px; --sidebar-w:240px;
  --ease-out:cubic-bezier(0.22,1,0.36,1);
}
html,body { height:100%; }
body { background:var(--bg); color:var(--ink); font-family:'Inter',system-ui,sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
img  { display:block; max-width:100%; }
ul   { list-style:none; }
button { cursor:pointer; border:none; background:none; font:inherit; color:inherit; }
h1,h2,h3 { font-family:'Playfair Display','Georgia',serif; }
input,textarea,select { font:inherit; }

/* Layout */
.admin-app { display:flex; min-height:100vh; }

/* Login screen */
.login-screen {
  display:flex; align-items:center; justify-content:center;
  min-height:100vh; background:var(--bg);
  position:fixed; inset:0; z-index:9999;
  transition:opacity .4s;
}
.login-screen.is-hidden { opacity:0; pointer-events:none; }
.login-box {
  background:var(--bg-2); border:1px solid var(--line);
  border-radius:20px; padding:2.5rem; width:100%; max-width:380px;
  display:flex; flex-direction:column; align-items:center; gap:1.5rem; text-align:center;
}
.login-logo  { width:72px; height:72px; object-fit:contain; }
.login-title { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--gold); }
.login-form  { width:100%; display:flex; flex-direction:column; gap:1rem; }
.login-err   { font-size:.82rem; color:var(--red); display:none; }
.login-err.show { display:block; }

/* Sidebar */
.sidebar {
  width:var(--sidebar-w); background:var(--bg-2); border-right:1px solid var(--line);
  display:flex; flex-direction:column; min-height:100vh; position:sticky; top:0;
  flex-shrink:0;
}
.sidebar-logo { display:flex; align-items:center; gap:.6rem; padding:1.25rem 1.25rem 1rem; border-bottom:1px solid var(--line); }
.sidebar-logo-img { width:36px; height:36px; object-fit:contain; }
.sidebar-logo-text { font-family:'Playfair Display',serif; color:var(--gold); font-size:1rem; font-weight:700; }
.sidebar-nav  { flex:1; padding:.75rem .75rem; display:flex; flex-direction:column; gap:.2rem; }
.sidebar-link {
  display:flex; align-items:center; gap:.75rem;
  padding:.65rem .9rem; border-radius:10px;
  font-size:.875rem; font-weight:500; color:var(--ink-soft);
  transition:background .2s, color .2s; cursor:pointer;
}
.sidebar-link:hover { background:var(--line); color:var(--ink); }
.sidebar-link.active { background:var(--gold-dim); color:var(--gold); }
.sidebar-link-icon { font-size:1.1rem; width:1.4rem; text-align:center; }
.sidebar-bottom { padding:.75rem; border-top:1px solid var(--line); }
.logout-btn { width:100%; text-align:left; display:flex; align-items:center; gap:.75rem; padding:.6rem .9rem; border-radius:10px; font-size:.875rem; color:var(--ink-mute); transition:color .2s, background .2s; }
.logout-btn:hover { background:var(--red-dim); color:var(--red); }

/* Main content */
.admin-main { flex:1; display:flex; flex-direction:column; min-height:100vh; overflow:hidden; }
.admin-topbar { padding:1rem 1.75rem; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; background:var(--bg-2); }
.admin-topbar-title { font-family:'Playfair Display',serif; font-size:1.25rem; }
.admin-content { flex:1; padding:2rem 1.75rem; overflow-y:auto; }

/* Tab panels */
.tab-panel { display:none; }
.tab-panel.active { display:block; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; padding:.6rem 1.4rem; border-radius:99px; font-weight:600; font-size:.875rem; transition:all .2s; cursor:pointer; white-space:nowrap; }
.btn-gold  { background:var(--gold); color:#000; }
.btn-gold:hover  { background:var(--gold-2); }
.btn-red   { background:var(--red); color:#fff; }
.btn-red:hover   { background:#a01818; }
.btn-ghost { background:var(--line); color:var(--ink); border:1px solid var(--line); }
.btn-ghost:hover { background:rgba(255,255,255,.1); }
.btn-green { background:var(--green); color:#000; }
.btn-blue  { background:var(--blue); color:#fff; }
.btn-sm    { padding:.4rem .9rem; font-size:.78rem; }
.btn-icon  { padding:.45rem; width:2rem; height:2rem; border-radius:8px; font-size:.85rem; }

/* Cards */
.admin-card { background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); }
.admin-card-header { padding:1rem 1.25rem; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.admin-card-title  { font-size:1rem; font-weight:600; }
.admin-card-body   { padding:1.25rem; }

/* Stats row */
.stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:2rem; }
.stat-card { background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem; }
.stat-val  { font-size:2rem; font-weight:700; color:var(--gold); font-family:'Playfair Display',serif; }
.stat-label{ font-size:.78rem; color:var(--ink-mute); margin-top:.25rem; }

/* Tables */
.admin-table { width:100%; border-collapse:collapse; font-size:.875rem; }
.admin-table th { text-align:left; padding:.6rem .9rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-mute); border-bottom:1px solid var(--line); }
.admin-table td { padding:.8rem .9rem; border-bottom:1px solid var(--line); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.admin-table tr:hover td { background:rgba(255,255,255,.02); }

/* Form elements */
.form-group { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.form-label { font-size:.72rem; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.07em; }
.form-input {
  padding:.65rem 1rem; background:var(--bg-3); border:1px solid var(--line);
  border-radius:10px; color:var(--ink); font-size:.9rem; transition:border-color .2s;
}
.form-input:focus { outline:none; border-color:var(--line-gold); }
.form-input::placeholder { color:var(--ink-mute); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

/* Modal */
.modal {
  position:fixed; inset:0; z-index:500;
  background:rgba(0,0,0,.75); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:1.5rem;
  opacity:0; pointer-events:none; transition:opacity .3s;
}
.modal.is-open { opacity:1; pointer-events:all; }
.modal-box {
  background:var(--bg-2); border:1px solid var(--line); border-radius:20px;
  padding:2rem; width:100%; max-width:520px; max-height:90vh; overflow-y:auto;
  transform:translateY(16px); transition:transform .3s var(--ease-out);
}
.modal.is-open .modal-box { transform:none; }
.modal-title { font-family:'Playfair Display',serif; font-size:1.3rem; margin-bottom:1.5rem; }
.modal-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; }

/* Badges */
.badge { display:inline-flex; padding:.2rem .65rem; border-radius:99px; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.badge-active { background:var(--green-dim); color:var(--green); border:1px solid rgba(34,197,94,.2); }
.badge-off    { background:var(--red-dim); color:var(--red); border:1px solid rgba(196,30,30,.2); }
.badge-soon   { background:var(--gold-dim); color:var(--gold); border:1px solid var(--line-gold); }

/* Order items */
.order-row { padding:.75rem; border:1px solid var(--line); border-radius:10px; margin-bottom:.6rem; }
.order-meta { display:flex; align-items:center; justify-content:space-between; gap:.5rem; flex-wrap:wrap; margin-bottom:.4rem; }
.order-num  { font-weight:700; color:var(--gold); font-size:.95rem; }
.order-date { font-size:.75rem; color:var(--ink-mute); }
.order-total{ font-weight:700; color:var(--ink); }
.order-detail { font-size:.8rem; color:var(--ink-soft); }

/* Toast */
.toast { position:fixed; bottom:1.5rem; left:50%; transform:translateX(-50%) translateY(20px); background:var(--bg-3); border:1px solid var(--line); padding:.65rem 1.4rem; border-radius:99px; font-size:.875rem; z-index:999; opacity:0; pointer-events:none; transition:opacity .3s,transform .3s; white-space:nowrap; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.toast.ok   { border-color:rgba(34,197,94,.3); color:var(--green); }
.toast.err  { border-color:rgba(196,30,30,.3); color:var(--red); }

/* Responsive */
@media (max-width:900px) {
  .sidebar { display:none; }
  .stats-row { grid-template-columns:1fr 1fr; }
  .form-row  { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .stats-row { grid-template-columns:1fr; }
  .admin-content { padding:1.25rem 1rem; }
}

/* ---- Image upload (pizza modal) ------------------------- */
.img-upload { display:flex; gap:1rem; align-items:center; }
.img-upload-preview {
  width:96px; height:96px; flex-shrink:0; border-radius:12px;
  border:1px dashed var(--line-gold); background:var(--bg-3);
  display:flex; align-items:center; justify-content:center;
  font-size:2rem; color:var(--ink-mute); overflow:hidden;
}
.img-upload-preview img { width:100%; height:100%; object-fit:cover; }
.img-upload-side { display:flex; flex-direction:column; gap:.5rem; }
.img-upload-btns { display:flex; gap:.5rem; flex-wrap:wrap; }
.img-upload-hint { font-size:.72rem; color:var(--ink-mute); }
