:root{
  --ink:#2B1B29; --paper:#FBF3E7; --paper-2:#F3E7D6;
  --plum:#4A1F42; --plum-2:#5E2A54; --gold:#E7A93C; --coral:#E2543A;
  --line: rgba(43,27,41,0.14); --shadow: 0 14px 30px -14px rgba(43,27,41,0.35);
}
*{box-sizing:border-box;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:'Inter',sans-serif;}
button{font-family:inherit; cursor:pointer;}
.wrap{max-width:900px; margin:0 auto; padding:0 24px;}

/* ---------- LOGIN ---------- */
.login-screen{min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--plum); padding:20px;}
.login-box{background:var(--paper); border-radius:18px; padding:32px; max-width:360px; width:100%; box-shadow:var(--shadow);}
.login-logo{font-family:'Archivo Black',sans-serif; font-size:22px; text-align:center; margin-bottom:4px;}
.login-logo span{color:var(--gold);}
.login-sub{text-align:center; font-size:13px; color:#8a7e83; margin:0 0 22px;}
.field{margin-bottom:14px;}
.field label{display:block; font-size:12.5px; font-weight:700; margin-bottom:5px;}
.field input{width:100%; padding:10px 12px; border:1.5px solid var(--line); border-radius:9px; font-family:'Inter',sans-serif; font-size:14px; background:#fff; color:var(--ink);}
.field input:focus{outline:none; border-color:var(--coral);}
.login-submit{width:100%; background:var(--plum); color:var(--paper); border:none; padding:12px; border-radius:999px; font-weight:800; font-size:14px; margin-top:6px;}
.login-submit:hover{background:var(--coral);}
.login-msg{font-size:13px; padding:10px 12px; border-radius:9px; margin-top:12px; display:none;}
.login-msg.err{display:block; background:#F6D9D3; color:#7A2E1E;}

/* ---------- PANEL ---------- */
.panel-header{background:var(--plum); color:var(--paper); display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:3px solid var(--gold);}
.panel-logo{font-family:'Archivo Black',sans-serif; font-size:19px;}
.panel-logo span{color:var(--gold);}
.panel-logo small{font-family:'Space Mono',monospace; font-size:11px; opacity:.7; margin-left:6px;}
.logout-btn{background:none; border:1.5px solid rgba(251,243,231,0.4); color:var(--paper); padding:8px 16px; border-radius:999px; font-size:13px; font-weight:700;}
.logout-btn:hover{border-color:var(--gold); color:var(--gold);}

.panel-tabs{display:flex; gap:6px; max-width:900px; margin:20px auto 0; padding:0 24px;}
.panel-tab{background:var(--paper-2); border:1px solid var(--line); padding:9px 18px; border-radius:999px; font-weight:700; font-size:13px; color:#8a7e83;}
.panel-tab.active{background:var(--plum); color:var(--paper); border-color:var(--plum);}
.count-badge{background:var(--coral); color:#fff; font-size:11px; font-weight:700; padding:1px 7px; border-radius:999px; margin-left:4px;}

.panel-body{padding:20px 24px 60px;}
.admin-list{display:flex; flex-direction:column; gap:12px;}
.admin-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.admin-card-info{flex:1; min-width:200px;}
.admin-card-shop{font-size:11px; color:var(--coral); font-weight:700; text-transform:uppercase; letter-spacing:0.4px;}
.admin-card-name{font-size:15px; font-weight:700; margin:2px 0;}
.admin-card-meta{font-size:12.5px; color:#8a7e83;}
.admin-card-price{font-family:'Space Mono',monospace; font-weight:700; font-size:15px; color:var(--plum);}
.admin-actions{display:flex; gap:8px;}
.admin-btn{border:none; padding:9px 16px; border-radius:999px; font-weight:700; font-size:13px;}
.admin-btn.approve{background:#2C7A3D; color:#fff;}
.admin-btn.approve:hover{background:#255f31;}
.admin-btn.reject{background:#B23A2E; color:#fff;}
.admin-btn.reject:hover{background:#8f2d24;}
.admin-btn.unpublish{background:var(--paper-2); color:var(--ink); border:1px solid var(--line);}
.admin-btn.unpublish:hover{border-color:var(--coral);}
.empty-state{padding:40px 20px; text-align:center; color:#8a7e83; font-size:14px;}