:root { --pad: 14px; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin: 0; background:#0b0f14; color:#e7eef7; }
header { padding: var(--pad) calc(var(--pad) * 1.5); border-bottom: 1px solid #1b2430; }
h1 { margin: 0 0 6px 0; font-size: 22px; }
.small { color: #9db0c3; font-size: 13px; }
.panel { padding: var(--pad) calc(var(--pad) * 1.5); border-bottom:1px solid #1b2430; }
label { display:block; font-size: 12px; color:#9db0c3; margin-bottom:6px; }
input { width:100%; padding:10px 12px; border:1px solid #283343; border-radius:10px; background:#0f1520; color:#e7eef7; }

/* Buttons */
button { margin-top: 10px; padding:10px 14px; border-radius:10px; border:1px solid #2a384a; background:#162133; color:#e7eef7; cursor:pointer; }
button:focus-visible { outline:2px solid #60a5fa; outline-offset:2px; }
button.warn {
  border-color:#52343a;
  background:#2a1317;
  color:#e7eef7;
  transition: background .15s ease, border-color .15s ease, transform .02s ease;
}
button.warn:hover { background:#7a1d24; border-color:#7a1d24; }
button.warn:active { transform: translateY(1px); }
button.remove { margin-left:14px; vertical-align:middle; }

.grid { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top:10px; }
.columns { display:grid; grid-template-columns: 1fr 1fr; gap: 20px; }
ul { list-style:none; padding:0; margin: 8px 0 0 0; }
li { padding: 8px 10px; border:1px solid #223047; border-radius:10px; margin-bottom:8px; background:#0e1622; font-size: 14px; }
.success { color:#8fe1a2; }
.error { color:#ff9b9b; }
.feedback { margin-top:8px; min-height: 22px; }

/* Modal */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  display: grid;
  place-items: center;
  z-index: 1000;
}
.modal {
  background:#0e1622;
  border:1px solid #223047;
  border-radius:14px;
  padding:20px;
  width:min(520px, calc(100% - 32px));
  box-shadow: 0 20px 60px rgba(0,0,0,.6);
}
.modal h2 { margin:0 0 8px; font-size:24px; }
.modal p  { margin:0 0 16px; color:#c8d6e5; font-size:18px; }
.modal .code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  background:#0f1520;
  border:1px solid #283343;
  padding:2px 6px; border-radius:6px; color:#e7eef7;
}
.modal-actions { display:flex; justify-content:flex-end; gap:10px; }

/* Summary expandable list */
.sku-row {
  display: block;
  padding: 8px 10px;
  border: 1px solid #223047;
  border-radius: 10px;
  margin-bottom: 8px;
  background: #0e1622;
}
.sku-row .toggle {
  border: 1px solid #2a384a;
  background: #162133;
  color: #e7eef7;
  border-radius: 6px;
  padding: 2px 6px;
  cursor: pointer;
  font-size: 12px;
  margin-right: 6px;
}
.sku-row .sku-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}
.sku-badge {
  background: #1f2a3a;
  color: #8fe1a2;
  font-weight: 600;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  line-height: 1.4;
  min-width: 20px;
  text-align: center;
}
.barcode-list {
  list-style: none;
  padding: 8px 0 0 28px;
  margin: 0;
}
.barcode-chip {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
  padding: 6px 10px;
  border: 1px dashed #283343;
  border-radius: 8px;
  background: #0f1520;
  color: #cde1ff;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
}
.barcode-chip:last-child { margin-bottom: 0; }
.barcode-chip .chip-code { font-weight: 600; }
.barcode-chip .chip-remove {
  border: 1px solid #52343a;
  background: #2a1317;
  color: #e7eef7;
  border-radius: 6px;
  padding: 2px 8px;
  cursor: pointer;
  font-size: 12px;
}
.barcode-chip .chip-remove:hover { background:#7a1d24; border-color:#7a1d24; }
.barcode-chip .chip-remove:active { transform: translateY(1px); }

/* 🔐 Password Overlay */
#auth-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: grid;
  place-items: center;
  z-index: 9999;
}
#auth-overlay .auth-box {
  background: #0f1720;
  color: #e7eef7;
  width: min(92vw, 380px);
  border: 1px solid #223047;
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  text-align: center;
}
#auth-overlay h3 {
  margin: 0 0 10px 0;
  font-size: 18px;
}
#auth-password {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #2b3a4f;
  border-radius: 10px;
  background: #0b0f14;
  color: #e7eef7;
}
#auth-submit {
  margin-top: 10px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #2b3a4f;
  background: #151c26;
  color: #e7eef7;
  cursor: pointer;
}
#auth-submit:hover { filter: brightness(1.1); }
#auth-error {
  color: #ff6b6b;
  min-height: 1.2em;
  margin: 8px 0 0 0;
}

/* ✅ FIX: actually hide overlays when hidden */
.modal-overlay[hidden] { display: none !important; }

/* 🔔 Return Mode banner */
.mode-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-bottom: 1px solid #1b2430;
  background: linear-gradient(180deg, #0f1b2b, #0d1624);
  color: #cde1ff;
  font-size: 14px;
}
.mode-banner strong {
  color: #8fe1a2;
}
.mode-banner em {
  color: #e7eef7;
  font-style: normal;
  font-weight: 600;
  text-decoration: underline;
}
