.admin-nav{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:6px; }

.flash{ padding:12px 16px; border-radius:4px; font-size:13.5px; margin-bottom:20px; }
.flash-success{ background:rgba(36,65,58,0.12); color:var(--teal); border:1px solid rgba(36,65,58,0.3); }
.flash-error{ background:rgba(139,74,59,0.12); color:var(--brick); border:1px solid rgba(139,74,59,0.3); }

.login-page{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px; }
.login-card{ background:var(--card); border:1px solid var(--line-strong); border-radius:6px; padding:36px 32px;
  width:min(380px,100%); box-shadow:0 20px 50px rgba(32,29,26,0.12); }
.login-card h1{ font-family:'Fraunces',serif; font-size:22px; margin:0 0 6px; }
.login-card p.sub{ font-size:13px; color:var(--ink-soft); margin:0 0 22px; }
.login-card .field{ margin-bottom:14px; }
.login-card button{ width:100%; }

.admin-table{ width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:4px; }
.table-scroll .admin-table{ min-width:520px; }
.admin-table th, .admin-table td{ text-align:left; padding:12px 14px; font-size:13.5px; border-bottom:1px solid var(--line); white-space:nowrap; }
.admin-table th{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); background:var(--paper); }
.admin-table tr:last-child td{ border-bottom:none; }
.admin-table .actions{ display:flex; gap:8px; }
.admin-table .actions form{ display:inline; }
.admin-table .actions button{ font-size:12px; padding:6px 10px; }

.form-page{ max-width:640px; margin:0 auto; }
.form-page .panel{ width:100%; margin:0; }

.inline-note{ font-size:12px; color:var(--ink-soft); margin-top:6px; }

.file-field{
  border:1.5px dashed var(--line-strong); border-radius:5px; padding:18px 16px;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
  background:var(--card);
}
.file-field svg{ opacity:.55; }
.file-field .hint{ font-size:12px; color:var(--ink-soft); margin:0; }
input[type=file]{
  width:100%; font-family:'Inter',sans-serif; font-size:12.5px; color:var(--ink-soft);
}
input[type=file]::file-selector-button{
  font-family:'Inter',sans-serif; font-weight:600; font-size:12.5px; padding:8px 14px; margin-right:12px;
  border:1px solid var(--line-strong); border-radius:3px; background:#fff; color:var(--ink); cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
input[type=file]::file-selector-button:hover{ background:var(--ink); color:var(--paper); }

.form-page-wide{ max-width:920px; }
.panel-body-product{ grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr); gap:36px; padding:28px 32px 34px; }
@media (max-width:760px){ .panel-body-product{ grid-template-columns:minmax(0,1fr); } }

.radio-row{ display:flex; gap:10px; }
.radio-pill{
  flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
  border:1px solid var(--line-strong); border-radius:3px; padding:10px 12px;
  font-size:13.5px; color:var(--ink-soft); cursor:pointer; background:#fff;
  transition:border-color .15s ease, color .15s ease;
}
.radio-pill input{ width:auto; margin:0; accent-color:var(--ink); }
.radio-pill:has(input:checked){ border-color:var(--ink); color:var(--ink); font-weight:600; background:var(--card); }

.cat-sortable-list{ display:flex; flex-direction:column; gap:8px; max-width:600px; }
.cat-row{
  display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--line);
  border-radius:4px; padding:10px 14px; cursor:grab;
}
.cat-row.dragging{ opacity:0.4; }
.cat-row .drag-handle{ color:var(--ink-soft); letter-spacing:-2px; font-size:14px; user-select:none; flex:none; }
.cat-row .cat-row-name{ flex:1; font-size:14px; }
.cat-row form{ flex:none; }
