body{font-family:system-ui;margin:16px}
.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.title{font-size:22px;font-weight:800}
.subtitle{font-size:12px;color:#666;margin-top:2px}
.pill{padding:6px 10px;border:1px solid #ddd;border-radius:999px;font-size:12px;color:#333;display:inline-block}

.card{border:1px solid #ddd;border-radius:16px;padding:14px;margin:12px 0;background:#fff}
.row{display:flex;gap:10px}
.row > *{flex:1}

button{
  padding:14px 14px;margin:8px 0;width:100%;
  font-size:16px;border-radius:14px;border:1px solid #ddd;background:#fff;cursor:pointer;
}
button.primary{border-color:#000;background:#000;color:#fff;font-weight:700;}
button.ghost{background:#fff;border-style:dashed;}
button.small{padding:10px 12px;font-size:14px}

input, textarea{padding:10px;width:100%;font-size:16px;margin:6px 0;box-sizing:border-box}
textarea{min-height:90px;resize:vertical}

small{color:#666}
.ok{color:#007a00}
.bad{color:#b00}
.muted{color:#666}

.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.gridHome{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.gridHome button{height:92px;text-align:left;line-height:1.15}
.gridHome small{color:rgba(255,255,255,.85)}
.listBox{border:1px dashed #ddd;border-radius:12px;padding:10px;margin-top:8px}
.tag{display:inline-block;border:1px solid #ddd;border-radius:999px;padding:4px 8px;margin:4px 6px 0 0;font-size:12px}
.topbar{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.topbar .back{width:auto;min-width:90px}
.topbar .grow{flex:1}

/* ===== Fullscreen Scanner Overlay ===== */
.overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,0.65);
  display:none;
  z-index:9999;
  padding:16px;
}
.overlay.show{display:flex; align-items:center; justify-content:center;}
.overlayCard{
  width:min(520px, 100%);
  background:#fff;
  border-radius:18px;
  border:1px solid #ddd;
  padding:14px;
}
.overlayTop{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  margin-bottom:10px;
}
.overlayTitle{font-size:18px;font-weight:800}
.overlayHint{font-size:12px;color:#666;margin-top:2px}
button.bad{border-color:#b00;background:#b00;color:#fff;}
select{padding:8px;border-radius:10px;border:1px solid #ddd;font-size:14px;background:#fff;cursor:pointer;}
#reader{
  width:100%;
  border-radius:14px;
  overflow:hidden;
}
