/* ============================================================
   PRIME COLLECTIONS — admin.css  (admin dashboard only)
   ============================================================ */

/* Login screen */
.admin-login{display:none;min-height:100vh;place-items:center;
  background:radial-gradient(circle at 25% 20%, var(--rust-deep), transparent 55%),
             radial-gradient(circle at 80% 80%, var(--teal), transparent 55%),
             linear-gradient(160deg,var(--ink),#1a120b)}
.admin-login.active{display:grid}
.login-card{background:var(--paper);border-radius:24px;padding:42px;width:min(410px,92vw);box-shadow:var(--shadow-lg)}
.login-card .brand{justify-content:center;margin-bottom:8px}
.login-card h2{text-align:center;font-size:1.55rem;color:var(--ink);margin-bottom:4px}
.login-card p{text-align:center;color:var(--ink-soft);font-size:.88rem;margin-bottom:26px}
.login-hint{background:var(--paper-2);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;
  font-size:.78rem;color:#8a6d2a;margin-top:16px;text-align:center}
.login-hint code{background:var(--paper);padding:2px 8px;border-radius:6px;color:var(--rust);font-weight:800}

/* Layout */
.admin{display:none;min-height:100vh;grid-template-columns:252px 1fr}
.admin.active{display:grid}

/* Sidebar */
.sidebar{background:linear-gradient(170deg,var(--forest),var(--forest-3));color:var(--cream);display:flex;flex-direction:column;
  padding:26px 16px;position:sticky;top:0;height:100vh}
.sidebar .brand{color:var(--cream);padding:0 8px 24px;font-size:1.3rem}
.sidebar .brand .mark{background:var(--cream);color:var(--ink)}
.side-nav{display:flex;flex-direction:column;gap:5px;flex:1}
.side-nav button{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:13px;
  color:rgba(246,239,225,.72);font-weight:600;font-size:.92rem;text-align:left;transition:.2s;width:100%}
.side-nav button:hover{background:rgba(246,239,225,.08);color:var(--cream)}
.side-nav button.on{background:var(--rust);color:#fff}
.side-nav .ic{width:20px;text-align:center}
.side-foot{border-top:1px solid rgba(246,239,225,.13);padding-top:16px;display:flex;flex-direction:column;gap:6px}
.side-foot a,.side-foot button{display:flex;align-items:center;gap:11px;padding:11px 15px;border-radius:11px;
  color:rgba(246,239,225,.7);font-size:.86rem;transition:.2s;text-align:left;width:100%}
.side-foot a:hover,.side-foot button:hover{background:rgba(246,239,225,.08);color:var(--cream)}

/* Main */
.admin-main{padding:32px 38px;overflow-y:auto;height:100vh}
.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}
.admin-top h1{font-size:2rem;color:var(--ink)}
.admin-top p{color:var(--ink-soft);font-size:.9rem}
.admin-page{display:none}
.admin-page.active{display:block;animation:fade .35s ease}
.demo-banner{background:var(--paper-2);border:1px solid #f0d9ad;border-radius:13px;padding:12px 16px;
  font-size:.84rem;color:#8a6d2a;margin-bottom:22px;display:flex;gap:10px;align-items:center}

/* Stat cards */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}
.stat{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);padding:22px}
.stat .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.stat .ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:1.25rem}
.stat .ic.g{background:#e6f0e7;color:var(--ok)}
.stat .ic.c{background:#f6e4dc;color:var(--rust)}
.stat .ic.b{background:#e2ebe9;color:var(--teal)}
.stat .ic.y{background:#faedcc;color:#a8842a}
.stat .delta{font-size:.76rem;font-weight:800;padding:3px 9px;border-radius:999px}
.stat .delta.up{background:#e6f0e7;color:var(--ok)}
.stat .delta.down{background:#f6dfdb;color:var(--danger)}
.stat .num{font-family:var(--serif);font-size:2.05rem;color:var(--ink);line-height:1}
.stat .lab{font-size:.82rem;color:var(--ink-soft);margin-top:5px}

/* Panels & charts */
.panels{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-bottom:24px}
.panel{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);padding:24px}
.panel h3{font-size:1.18rem;color:var(--ink);margin-bottom:4px}
.panel .sub{font-size:.82rem;color:var(--ink-soft);margin-bottom:18px}
.chart-box{position:relative;height:262px}
.chart-box.sm{height:244px}

/* Tables */
.table-wrap{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden}
.table-tools{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.table-tools .search{max-width:none;flex:1;min-width:180px}
table{width:100%;border-collapse:collapse}
thead th{text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);
  font-weight:800;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bone)}
tbody td{padding:14px 18px;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--bone)}
.prod-cell{display:flex;align-items:center;gap:12px}
.prod-cell img{width:48px;height:48px;border-radius:11px;object-fit:cover;background:var(--bone-2)}
.prod-cell b{font-size:.92rem}
.prod-cell span{font-size:.76rem;color:var(--ink-soft)}
.row-actions{display:flex;gap:6px}
.row-actions button{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  border:1.5px solid var(--line);transition:.2s;color:var(--ink-soft)}
.row-actions button:hover{border-color:var(--ink);color:var(--ink)}
.row-actions button.del:hover{border-color:var(--danger);color:var(--danger)}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--rust-soft);color:var(--ink);
  display:grid;place-items:center;font-weight:800;font-size:.86rem}
.status-select{border:1.5px solid var(--line);border-radius:9px;padding:6px 9px;font-size:.82rem;background:var(--paper)}

/* Image uploader */
.uploader{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6px}
.up-slot{aspect-ratio:1;border:2px dashed var(--line-2);border-radius:13px;display:grid;place-items:center;
  cursor:pointer;position:relative;overflow:hidden;background:var(--bone);color:var(--ink-soft);font-size:.74rem;
  text-align:center;transition:.2s}
.up-slot:hover{border-color:var(--rust);color:var(--rust)}
.up-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.up-slot .rm{position:absolute;top:5px;right:5px;width:25px;height:25px;border-radius:50%;background:rgba(36,26,17,.72);
  color:#fff;display:grid;place-items:center;font-size:.85rem;z-index:2}
.up-slot .cover-tag{position:absolute;bottom:5px;left:5px;background:var(--amber);color:var(--ink);
  font-size:.6rem;font-weight:800;padding:2px 7px;border-radius:999px;z-index:2;letter-spacing:.04em}
.up-slot .plus{font-size:1.7rem;line-height:1}
.up-hint{font-size:.76rem;color:var(--ink-soft);margin-top:8px}

/* Admin modal */
.admodal-scrim{position:fixed;inset:0;background:rgba(36,26,17,.55);backdrop-filter:blur(4px);z-index:700;
  display:none;align-items:flex-start;justify-content:center;padding:34px 18px;overflow-y:auto}
.admodal-scrim.open{display:flex}
.admodal{background:var(--paper);border-radius:22px;width:min(640px,100%);box-shadow:var(--shadow-lg);animation:pop .3s ease}
.admodal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line)}
.admodal-head h3{font-size:1.4rem;color:var(--ink)}
.admodal-body{padding:24px 26px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:1/-1}
.admodal-foot{display:flex;gap:12px;justify-content:flex-end;padding:18px 26px;border-top:1px solid var(--line)}
.settings-card{max-width:580px}
.settings-card h3{font-size:1.18rem;color:var(--ink)}
.settings-card .sub{font-size:.82rem;color:var(--ink-soft);margin-bottom:18px}
.settings-card code{background:var(--bone-2);padding:2px 7px;border-radius:6px}

.mobile-menu{display:none}

/* Responsive */
@media(max-width:1080px){.stats{grid-template-columns:repeat(2,1fr)}.panels{grid-template-columns:1fr}}
@media(max-width:860px){
  .admin.active{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;z-index:600;transform:translateX(-100%);transition:.3s;width:252px}
  .sidebar.open{transform:none}
  .admin-main{height:auto}.mobile-menu{display:grid}
}
@media(max-width:560px){.stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.uploader{grid-template-columns:repeat(2,1fr)}.admin-main{padding:22px 18px}}
