/* Знакомства по бейджу (владелец 06.11.2026). */
.badge-toast{position:fixed;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:60;margin:0 auto;max-width:480px;padding:14px 16px;border-radius:14px;background:#16351f;color:#fff;font-size:16px;font-weight:600;line-height:1.35;box-shadow:0 10px 30px rgba(0,0,0,.25);text-align:center}
.badge-toast.is-error{background:#5c1a1a}
.badge-toast[hidden]{display:none}
.my-contacts{margin:0 0 16px;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:14px;background:rgba(255,255,255,.6)}
.my-contacts summary{display:flex;justify-content:space-between;gap:12px;align-items:baseline;cursor:pointer;font-weight:700;font-size:17px}
.my-contacts-me{font-weight:500;font-size:14px;opacity:.75}
.my-contacts-hint{margin:10px 0 6px;font-size:14px;opacity:.8}
.my-contacts-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.my-contacts-list button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}
.my-contacts-list button span{font-size:14px;opacity:.75}
.my-contacts-empty{font-size:14px;opacity:.7}
.my-contacts-plain{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px dashed rgba(0,0,0,.15);border-radius:10px}
.my-contacts-plain span{font-size:14px;opacity:.7}
.badge-toast{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.badge-toast[hidden]{display:none}
.badge-undo{padding:8px 14px;border:1.5px solid rgba(255,255,255,.7);border-radius:10px;background:transparent;color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;min-height:40px}
.badge-scan-open{display:block;width:100%;min-height:52px;margin:0 0 12px;border:0;border-radius:14px;background:#163a5c;color:#fff;font:inherit;font-size:18px;font-weight:700;cursor:pointer}
.badge-scan-open[hidden]{display:none}
.badge-scan{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:16px;border:0;border-radius:18px;box-sizing:border-box}
.badge-scan[open]{display:grid;gap:12px}
.badge-scan::backdrop{background:rgba(10,20,30,.7)}
.badge-scan h2{margin:0;font-size:19px;line-height:1.3;text-align:center}
.badge-scan-video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:#0d1b28}
.badge-scan-result{display:grid;gap:4px;min-height:24px;text-align:center}
.badge-scan-result:empty{display:none}
.badge-scan-result strong{font-size:18px}
.badge-scan-result b{font-size:20px}
.badge-scan-result span{font-size:14px;opacity:.75}
.badge-scan-result.is-saved strong{color:#1f6b3a}
.badge-scan-result.is-error strong{color:#9b2f20}
.badge-scan-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.badge-scan-actions:empty{display:none}
.badge-scan-actions button{min-height:44px;padding:8px 16px;border:1px solid rgba(0,0,0,.18);border-radius:10px;background:#fff;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.badge-scan-done{min-height:48px;border:0;border-radius:12px;background:#e8eef4;color:#163a5c;font:inherit;font-size:17px;font-weight:700;cursor:pointer}
