/* Admin dashboard styles — extends style.css tokens */

.hidden{ display:none !important; }
.admin-body{ background:var(--bg); }

.login-screen{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(600px 300px at 85% -10%, rgba(217,164,65,0.14), transparent 60%),
    linear-gradient(180deg, var(--primary-tint) 0%, var(--bg) 70%);
  padding:20px;
}
.login-card{
  width:100%; max-width:400px; background:#fff; border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); padding:34px 32px; border:1px solid var(--line);
}
.login-card h3{ font-family:var(--font-display); font-size:22px; margin:8px 0 4px; }
.login-card .sub{ font-size:13px; color:var(--muted); margin:0 0 22px; }

.admin-header{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 24px; background:#fff; border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:20; flex-wrap:wrap;
}
.admin-tabs{ display:flex; gap:6px; background:var(--surface-2); padding:4px; border-radius:999px; }
.tab-btn{ border:none; background:none; padding:9px 18px; border-radius:999px; font-weight:700; font-size:13.5px; color:var(--ink-soft); }
.tab-btn.active{ background:var(--primary); color:#fff; }

.admin-main{ padding:26px 24px 60px; max-width:1200px; margin:0 auto; }
.panel-split{ display:grid; grid-template-columns: 420px 1fr; gap:22px; align-items:start; }
.panel-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px;
  box-shadow:var(--shadow-sm);
}
.panel-card h3{ font-family:var(--font-display); font-size:19px; margin:0 0 4px; }
.panel-card .sub{ font-size:12.5px; color:var(--muted); margin:0 0 18px; }

.discount-preview{
  font-family:var(--font-mono); font-size:13px; padding:10px 14px; border-radius:10px;
  background:var(--surface-2); color:var(--ink-soft);
}
.discount-preview.has-offer{ background:#FDECEA; color:var(--offer); font-weight:700; }

.image-preview-wrap{ margin-top:10px; }
.image-preview-wrap img{ width:100px; height:100px; object-fit:cover; border-radius:10px; border:1px solid var(--line); }
.upload-status{ font-size:12px; color:var(--muted); margin:8px 0 0; min-height:16px; }
.upload-status.error{ color:var(--offer); }
.upload-status.ok{ color:var(--primary); }

.admin-product-list{ display:flex; flex-direction:column; gap:10px; max-height:640px; overflow-y:auto; }
.admin-row{
  display:flex; align-items:center; gap:12px; padding:10px; border:1px solid var(--line); border-radius:12px;
}
.admin-row img{ width:52px; height:52px; border-radius:8px; object-fit:cover; background:var(--surface-2); flex-shrink:0; }
.admin-row .r-info{ flex:1; min-width:0; }
.admin-row .r-info b{ font-size:13.5px; display:block; }
.admin-row .r-info span{ font-size:12px; color:var(--muted); font-family:var(--font-mono); }
.admin-row .r-actions{ display:flex; gap:8px; flex-shrink:0; }
.mini-btn{ font-size:12px; font-weight:700; padding:7px 12px; border-radius:8px; border:1px solid var(--line); background:#fff; }
.mini-btn:hover{ border-color:var(--primary); color:var(--primary); }
.mini-btn.danger:hover{ border-color:var(--offer); color:var(--offer); }
.badge-out{ font-size:10.5px; font-weight:700; color:var(--offer); background:#FDECEA; padding:2px 7px; border-radius:5px; margin-left:6px; }

@media (max-width:960px){
  .panel-split{ grid-template-columns:1fr; }
}
