.admin-body{ background:var(--paper-dark); }
.admin-shell{ max-width:760px; margin:0 auto; padding:60px 24px 100px; }
.admin-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:30px; max-width:420px; margin:40px auto 0; }
.admin-card h2{ margin-bottom:20px; }
.admin-msg{ margin-top:14px; font-size:14px; }
.admin-msg.error{ color:var(--eraser-dark); }
.admin-msg.success{ color:var(--blue-lead); }

.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:40px; }
.admin-topbar .brand{ font-family:'Fraunces'; font-weight:600; font-size:22px; }

.admin-section{ margin-bottom:56px; }
.admin-section h3{ font-family:'Fraunces'; margin-bottom:18px; font-size:20px; }
.admin-section .admin-card{ margin:0; max-width:none; }

.admin-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:16px; }
.admin-item{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.admin-item img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.admin-item .info{ padding:10px 12px; font-size:13px; }
.admin-item .info strong{ display:block; font-family:'Work Sans'; font-size:14px; margin-bottom:2px; }
.stock-flag{
  display:inline-block; margin-top:4px; padding:2px 8px; border-radius:20px;
  background:#F6DEDA; color:var(--eraser-dark); font-family:'Space Mono'; font-size:10px;
  letter-spacing:.04em; text-transform:uppercase;
}
.admin-item button{
  width:100%; padding:8px; border:none; border-top:1px solid var(--line);
  background:none; color:var(--eraser-dark); font-family:'Space Mono'; font-size:12px; cursor:pointer;
}
.admin-item button.stock-toggle{ color:var(--blue-lead); }
.admin-item button.stock-toggle:hover{ background:var(--blue-lead-soft); }
.admin-item button:hover{ background:#F6DEDA; }

.orders-list{ display:flex; flex-direction:column; gap:14px; }
.delete-order-btn{
  margin-top:12px; padding:8px 14px; border:1px solid var(--line); border-radius:var(--radius);
  background:none; color:var(--eraser-dark); font-family:'Space Mono'; font-size:12px; cursor:pointer;
}
.delete-order-btn:hover{ background:#F6DEDA; border-color:var(--eraser-dark); }
.delete-order-btn:disabled{ opacity:.6; cursor:not-allowed; }
@media (max-width:480px){
  .admin-shell{ padding:40px 16px 80px; }
  .admin-topbar{ flex-wrap:wrap; gap:12px; }
  .admin-topbar .brand{ font-size:19px; }
}
.order-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; }
.order-card .top{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.order-card .name{ font-weight:600; }
.order-card .meta{ font-family:'Space Mono', monospace; font-size:12px; color:var(--graphite-soft); }
.order-card p{ font-size:14px; margin:8px 0; }
.order-card select{ font-family:'Space Mono', monospace; font-size:12px; padding:6px 8px; border-radius:var(--radius); border:1px solid var(--line); background:var(--paper); }
.ref-thumb-link{ display:inline-block; margin:4px 0 12px; }
.ref-thumb{ width:90px; height:90px; object-fit:cover; border-radius:var(--radius); border:1px solid var(--line); }
.empty{ color:var(--graphite-soft); font-size:14px; }

/* ---- Account requests / messages / payments -------------------------- */
.admin-tabs{ display:flex; gap:6px; border-bottom:1px solid var(--line); margin-bottom:24px; flex-wrap:wrap; }
.admin-tab{
  font-family:'Space Mono', monospace; font-size:12px; letter-spacing:.05em; text-transform:uppercase;
  padding:10px 14px; background:none; border:none; cursor:pointer; color:var(--graphite-soft);
  border-bottom:2px solid transparent; margin-bottom:-1px;
}
.admin-tab.active{ color:var(--graphite); border-color:var(--eraser); }
.admin-tab .badge{
  display:inline-flex; min-width:16px; height:16px; padding:0 4px; margin-left:6px; border-radius:20px;
  background:var(--eraser); color:#fff; font-size:10px; align-items:center; justify-content:center;
}

.request-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; margin-bottom:12px; }
.request-card .top{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.request-card img.avatar{ width:36px; height:36px; border-radius:50%; object-fit:cover; border:1px solid var(--line); flex:none; }
.request-card .name{ font-weight:600; }
.request-card .meta{ font-family:'Space Mono', monospace; font-size:12px; color:var(--graphite-soft); }
.code-row{ display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.code-row input{
  font-family:'Space Mono', monospace; font-size:16px; letter-spacing:.15em; width:120px;
  padding:8px 10px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper);
}
.code-row button{ flex:none; }

.thread-list{ display:flex; flex-direction:column; gap:8px; }
.thread-row{
  display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); padding:12px 14px; cursor:pointer; text-align:left; width:100%;
}
.thread-row:hover{ border-color:var(--blue-lead); }
.thread-row img{ width:34px; height:34px; border-radius:50%; object-fit:cover; border:1px solid var(--line); flex:none; }
.thread-row .info{ flex:1; min-width:0; }
.thread-row .info strong{ display:block; font-size:14px; }
.thread-row .info span{ font-size:12px; color:var(--graphite-soft); display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.thread-row .badge{
  min-width:18px; height:18px; border-radius:20px; background:var(--eraser); color:#fff; font-size:11px;
  display:flex; align-items:center; justify-content:center; flex:none;
}

.admin-thread-view{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px; margin-top:16px; }
.admin-thread-view .back{ background:none; border:none; color:var(--blue-lead); cursor:pointer; font-size:13px; margin-bottom:12px; padding:0; }

.payment-request-form{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:8px; }
.payment-request-form .field{ margin-bottom:0; }
.payment-request-form textarea, .payment-request-form input, .payment-request-form select{
  width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); font-size:14px;
}

@media (max-width:520px){
  .payment-request-form{ grid-template-columns:1fr; }
}
