:root { font-family: system-ui, Arial; }

body {
  margin:0;
  background:#0b0f14;
  color:#e7eef7;
}

.wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 18px;
}

.small { opacity:.8; font-size:13px; }

.card {
  background:#121a24;
  border:1px solid #223041;
  border-radius:12px;
  padding:14px;
  margin:10px 0;
}

label { font-size:13px; }

select,input {
  width:100%;
  background:#0d141d;
  color:#e7eef7;
  border:1px solid #223041;
  border-radius:10px;
  padding:10px;
  margin-top:6px;
}

.row {
  display:flex;
  gap:8px;
  margin-top:10px;
}

.row input { flex:1; }

button {
  padding:10px 14px;
  border:0;
  border-radius:10px;
  background:#f0b429;
  color:#111;
  font-weight:700;
  cursor:pointer;
}

.tabs {
  display:flex;
  gap:8px;
  margin-bottom:10px;
}

.tabs button {
  background:#223041;
  color:#e7eef7;
}

.tabs button.active {
  background:#f0b429;
  color:#111;
}

.result {
  margin-top:12px;
  padding:14px;
  background:#0e1621;
  border:1px solid #223045;
  border-radius:12px;
  font-size:18px;
}

.result strong {
  display:block;
  font-size:26px;
}

.ok { color:#7bffb0; }
.warn { color:#ffd36b; }
.err { color:#ff7b7b; }

/* Scanner */
.scanner-card {
  padding:0;
  overflow:hidden;
}

#readerBox {
  position:relative;
  width:100%;
  height:70vh;
  background:#000;
}

#reader video {
  width:100%;
  height:100%;
  object-fit:cover;
}

.barcode-overlay {
  display:none;
  position:absolute;
  left:5%;
  right:5%;
  top:50%;
  height:100px;
  transform:translateY(-50%);
  border:4px solid #00ff88;
  border-radius:14px;
  box-shadow:0 0 20px rgba(0,255,136,.5);
  pointer-events:none;
}

/* Footer fixo */
.scanner-footer {
  position: sticky;
  bottom: 0;
  background: #0d141d;
  padding: 12px;
  display: flex;
  gap: 10px;
  z-index: 10;
}
