.scan-page{max-width:560px;display:flex;flex-direction:column;gap:14px;}

.counter{
  font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;
  background:var(--ink);border:1px solid var(--line);border-radius:100px;padding:6px 12px;
}

/* ---------- caméra ---------- */
.camera{
  position:relative;aspect-ratio:1 / 1;width:100%;
  background:#000;border-radius:22px;overflow:hidden;border:1px solid var(--line);
}
.camera video{width:100%;height:100%;object-fit:cover;display:block;}
.camera-frame{
  position:absolute;inset:16%;border-radius:18px;pointer-events:none;
  box-shadow:0 0 0 9999px rgba(0,0,0,.35);
  border:3px solid rgba(245,243,240,.85);
}
.camera-off{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  background:var(--ink);color:var(--grey);padding:24px;text-align:center;
}
.camera-error{color:var(--no);font-size:13px;max-width:320px;}

.tarif-now{text-align:center;color:var(--grey);font-size:13px;}
.tarif-now b{color:var(--white);}

/* ---------- recherche manuelle ---------- */
.manual h2{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin:6px 0 10px;}
.search{
  display:flex;align-items:center;gap:10px;
  background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:0 14px;color:var(--grey);
}
.search:focus-within{border-color:var(--red);}
.search input{flex:1;min-width:0;background:none;border:0;color:var(--white);padding:13px 0;font-size:16px;}
.search input:focus{outline:none;}

.results{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.results li{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px 14px;
}
.results .r-name{font-weight:700;font-size:15px;}
.results .r-empty{justify-content:center;color:var(--grey);background:none;border-style:dashed;}

/* ---------- résultat plein écran ---------- */
.result{
  position:fixed;inset:0;z-index:70;
  display:flex;align-items:center;justify-content:center;padding:24px;
  color:#fff;text-align:center;
}
.result.is-ok{background:#1f7a45;}
.result.is-already{background:#b7791f;}
.result.is-no{background:#b3261e;}
.result-inner{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:420px;width:100%;}
.result-icon{
  width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:800;line-height:1;
}
.result-title{font-family:'Anton',sans-serif;font-size:44px;line-height:1;text-transform:uppercase;letter-spacing:.01em;margin-top:6px;}
.result-name{font-size:28px;font-weight:800;line-height:1.15;word-break:break-word;}
.result-sub{font-size:16px;opacity:.9;}
.result-tarif{font-size:18px;font-weight:700;background:rgba(0,0,0,.18);border-radius:100px;padding:8px 18px;}
.result-tarif:empty{display:none;}
.result-next{margin-top:18px;background:#fff;color:var(--black);padding:16px 28px;font-size:14px;width:100%;max-width:300px;}
