/* AWB Scanner — CSS fixed centering (reticle kekal di tengah) */
.awb-scanner{max-width:820px;margin:16px auto;padding:12px}

/* Card */
.awb-card{
  background:#111;color:#e5e5e5;border-radius:16px;
  padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.35)
}

/* Video wrapper keeps aspect and provides anchor for overlay */
.awb-video-wrap{
  position:relative;width:100%;border-radius:12px;overflow:hidden;
  background:#000;aspect-ratio:16/9
}
.awb-video-wrap video{
  width:100%;height:100%;object-fit:cover;display:block
}

/* Overlay full cover */
.awb-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
}

/* Reticle sentiasa di tengah (guna absolute + transform) */
.awb-reticle{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:min(70%, 520px);
  height:42%;
  border:2px dashed rgba(255,255,255,.55);
  border-radius:10px;
  box-sizing:border-box;
}

/* Controls & inputs */
.awb-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.awb-select{flex:1;min-width:120px;padding:10px;border-radius:10px;border:1px solid #333;background:#1a1a1a;color:#eee}
.awb-btn{padding:12px 14px;border-radius:10px;background:#2a2a2a;color:#fff;border:1px solid #333;cursor:pointer}
.awb-btn:hover{filter:brightness(1.1)}
.awb-btn-outline{background:transparent}
.awb-btn-primary{background:#3a7afe}
.awb-btn-action{
  min-width:124px;
  white-space:nowrap;
  text-align:center;
}
.awb-btn-lost{
  background:#f59e0b;
  border-color:#b45309;
  color:#111;
}

.awb-result,.awb-photo,.awb-post-fields{margin-top:12px;display:grid;gap:8px}
.awb-result input,.awb-post-fields textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #333;background:#1a1a1a;color:#eee}

.awb-previews{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.awb-previews img{width:110px;height:110px;object-fit:cover;border-radius:8px;border:1px solid #333}

.awb-actions{margin-top:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.awb-actions .awb-status{flex:1 0 100%}
.awb-status{font-size:.95rem}
.awb-status.info{color:#c0c0c0}
.awb-status.success{color:#86efac}
.awb-status.error{color:#f87171}

.awb-find-my-claim{
  margin:16px 0;
  padding:14px;
  border:1px solid #d6d6d6;
  border-radius:12px;
  background:#fff;
  color:#111;
}
.awb-find-my-claim label{display:block;margin-top:10px;font-weight:600}
.awb-find-my-claim input[type="text"],
.awb-find-my-claim input[type="tel"],
.awb-find-my-claim textarea{
  width:100%;
  padding:10px;
  margin-top:6px;
  border:1px solid #ccc;
  border-radius:8px;
  box-sizing:border-box;
}
.awb-find-my-id{margin:0 0 10px}
.awb-claim-owner{
  margin:8px 0 0;
  padding:10px;
  background:#eefaf0;
  border:1px solid #b7e2bf;
  border-radius:8px;
}
.awb-claim-notice{
  margin:0 0 12px;
  padding:10px;
  border-radius:8px;
}
.awb-claim-notice.success{
  background:#eefaf0;
  color:#14532d;
  border:1px solid #b7e2bf;
}
.awb-claim-notice.error{
  background:#fff1f1;
  color:#7f1d1d;
  border:1px solid #f2b5b5;
}
.awb-claim-form,
.awb-wrong-claim-form{display:grid;gap:8px}
.awb-find-my-claim .awb-btn{
  width:100%;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:normal;
  text-align:center;
  font-weight:600;
}
.awb-find-my-claim .awb-claim-submit-btn{
  background:#2563eb;
  border-color:#1d4ed8;
  color:#fff;
}
.awb-find-my-claim .awb-report-submit-btn,
.awb-find-my-claim .awb-btn-outline{
  background:#0f172a;
  border-color:#0f172a;
  color:#fff;
}
.awb-checkbox-line{
  display:flex;
  gap:8px;
  align-items:flex-start;
  font-weight:500;
}
.awb-wrong-claim-form{margin-top:14px}

/* Mobile tweaks */
@media (max-width:480px){
  .awb-btn{flex:1}
  .awb-controls{gap:6px}
  .awb-actions .awb-btn-action{min-width:0}
}
