/* BalkanLoop - kamera (snimanje i slikanje), prenos uživo i namještanje slike profila.
   Osnova (boje, dugmad) je u style.css, a prozorčići i ekrani u screens.css. */

/* ------------------------------------------------------------ prozorčić preko cijelog ekrana (selfi, namještanje slike) */
.sheet.full { top: 0; height: 100%; max-height: none; border-radius: 0; border-top: 0; box-shadow: none; overflow: hidden; background: #000; }
.sheet.full::before { display: none; }

/* ------------------------------------------------------------ kamera */
.screen.cam, .screen.live, .sheet.cam { color: #fff; }
.screen.cam, .screen.live { background: #000; overflow: hidden; }
/* object-fit: contain (ne cover) - NAMJERNO, da se vidi CIJELA slika sa kamere, bez sječenja. Prije je bio "cover", koji
   uvijek ISJEČE sliku do pune širine/visine ekrana - kad telefon (najčešće prednja kamera) ne da tok tačno onog omjera
   koji ekran traži (1080x1920 je samo "ideal" u js/camera.js, kamera ume dati nešto sasvim drugo), taj rez zna biti
   ogroman i slika djeluje mnogo "bliže"/uvećanije nego što stvarno jeste. --dz (postavlja js/camera.js, cam.attachZoom)
   je DIGITALNI zum kad kamera/preglednik ne zna za pravi (optički/senzorski) zum - vidi napomenu dolje. --mx je ogledalo
   (prednja kamera), ista stvar kao i do sad, samo napisana kao promjenljiva da se može sabrati sa --dz u istom transform-u. */
.cam-prev, .lv-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; touch-action: none; transform: scaleX(var(--mx, 1)) scale(var(--dz, 1)); }
.cam-prev.mirror, .lv-video.mirror { --mx: -1; }
/* uživo (i domaćin i gledalac): preko CIJELOG ekrana (cover), bez crnih traka - isto što i ostatak toka
   (.media video u style.css, isti probni video-fajlovi kod gledaoca u js/live.js, BT.openLiveViewer). Za razliku od
   snimanja/slikanja iznad (.cam-prev ostaje "contain" - tamo bi rez sa nepredvidive prave kamere upropastio kadar
   koji korisnik namjerno komponuje), kod uživo prenosa je puni ekran važniji, kao i u drugim aplikacijama za uživo. */
.screen.live .lv-video { object-fit: cover; }
.cam-shade, .lv-shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(rgba(10, 7, 5, .6), transparent 22%, transparent 56%, rgba(10, 7, 5, .74)); }
/* oznaka zuma (dodirni da promijeniš, ili raširi/skupi dva prsta preko slike) - uvijek se prikazuje dok god je kamera
   otvorena (vidi cam.attachZoom u js/camera.js): pravi zum kad ga uređaj/preglednik javi, inače digitalni (CSS) zum
   koji radi svuda, ali samo uvećava - "1×" (normalno) je već cijela slika sa kamere, nema kud dalje "nazad"/šire. */
.cam-zoom { position: absolute; left: 50%; top: calc(64px + var(--sat)); transform: translateX(-50%); z-index: 4; min-width: 44px; padding: 8px 14px; border-radius: 999px; background: var(--glass); border: 1px solid var(--glass-line); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff; font: 800 13px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; text-align: center; touch-action: none; }
.cam-zoom:active { transform: translateX(-50%) scale(.94); }
.cam-top { position: absolute; top: 0; left: 0; right: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; padding: calc(10px + var(--sat)) 12px 0; }
.cam-x { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--glass); border: 1px solid var(--glass-line); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff; transition: transform .1s; }
.cam-x svg { width: 22px; height: 22px; }
.cam-x:active { transform: scale(.94); }
.cam-time { padding: 7px 12px; border-radius: 999px; background: var(--paprika); color: #fff; font: 800 14px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-variant-numeric: tabular-nums; }
.cam-title { font: 700 17px/1 var(--display); text-shadow: 0 1px 10px rgba(0, 0, 0, .7); }

.cam-msg, .lv-msg { position: absolute; left: 20px; right: 20px; top: 50%; z-index: 6; transform: translateY(-50%); display: grid; gap: 8px; padding: 22px 18px 18px; text-align: center; border-radius: 26px; background: rgba(23, 17, 14, .95); border: 1px solid var(--line); box-shadow: 0 20px 60px rgba(0, 0, 0, .6); }
.cam-msg b, .lv-msg b { font: 700 20px/1.2 var(--display); }
.cam-msg p, .lv-msg p { margin: 0; color: var(--dim); font-size: 14px; line-height: 1.45; }
.cam-msgbtns { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }

.cam-count, .lv-count { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; pointer-events: none; font: 800 132px/1 var(--display); color: #fff; text-shadow: 0 8px 50px rgba(0, 0, 0, .65); }
.cam-count.pop, .lv-count.pop { animation: camPop .9s ease both; }
@keyframes camPop { 0% { transform: scale(1.7); opacity: 0; } 25% { transform: scale(1); opacity: 1; } 78% { opacity: 1; } 100% { transform: scale(.86); opacity: 0; } }

.cam-hint { position: absolute; left: 20px; right: 20px; bottom: calc(142px + var(--safe-b)); z-index: 2; margin: 0; text-align: center; font-weight: 700; font-size: 13.5px; text-shadow: 0 1px 10px rgba(0, 0, 0, .85); pointer-events: none; }
.cam-hint:empty { display: none; }
.cam-bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; justify-items: center; padding: 0 22px calc(28px + var(--safe-b)); }
.cam-side { display: grid; justify-items: center; gap: 4px; width: 60px; color: #fff; font-size: 11.5px; font-weight: 800; text-shadow: 0 1px 8px rgba(0, 0, 0, .8); }
.cam-side svg { width: 27px; height: 27px; filter: drop-shadow(0 1px 6px rgba(0, 0, 0, .6)); }
.cam-side.on { color: var(--amber2); }
.cam-side.ghost { visibility: hidden; }
.cam-rec { position: relative; width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; }
.cam-rec:disabled { opacity: .45; }
.cam-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.cam-ring circle { fill: none; stroke: rgba(255, 255, 255, .92); stroke-width: 5; }
.cam-ring .cam-prog { stroke: var(--paprika); stroke-width: 6; stroke-linecap: round; transition: stroke-dashoffset .25s linear; }
.cam-rec i { width: 64px; height: 64px; border-radius: 50%; background: var(--paprika); transition: width .18s, height .18s, border-radius .18s, transform .1s; }
.cam-rec:active i { transform: scale(.94); }
.cam-rec.snapbtn i { background: #fff; }
.screen.cam[data-mode="rec"] .cam-rec i { width: 32px; height: 32px; border-radius: 10px; }
.screen.cam[data-mode="boot"] .cam-rec, .screen.cam[data-mode="error"] .cam-rec { opacity: .4; }
.screen.cam[data-mode="rec"] [data-flip], .screen.cam[data-mode="rec"] [data-timer],
.screen.cam[data-mode="saving"] [data-flip], .screen.cam[data-mode="saving"] [data-timer],
.screen.cam[data-mode="count"] [data-timer] { visibility: hidden; }

.cam-review { position: absolute; inset: 0; z-index: 5; background: #000; }
.cam-rv { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
.cam-x.rx { position: absolute; top: calc(10px + var(--sat)); left: 12px; z-index: 2; }
.cam-ract { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1.5fr; gap: 10px; padding: 40px 18px calc(22px + var(--safe-b)); background: linear-gradient(transparent, rgba(0, 0, 0, .78)); }

/* vodič za slikanje (selfi): kvadrat sa zaobljenim uglovima kao na profilu, oko njega je slika zatamnjena */
.cam-frame { position: absolute; left: 50%; top: 44%; width: min(74%, 320px); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 34%; border: 2px solid rgba(255, 255, 255, .82); box-shadow: 0 0 0 100vmax rgba(10, 7, 5, .5); pointer-events: none; }

/* ------------------------------------------------------------ namještanje slike profila */
.sheet.crop { background: var(--page); color: var(--text); }
.crop-stage { flex: 1; min-height: 0; display: grid; place-items: center; padding: 8px 18px; }
.crop-box { position: relative; width: min(100%, 320px, calc(100vh - 330px)); width: min(100%, 320px, calc(100dvh - 330px)); aspect-ratio: 1; border-radius: 34%; overflow: hidden; background: #000; touch-action: none; cursor: grab; box-shadow: 0 0 0 2px rgba(251, 241, 227, .55), 0 18px 50px rgba(0, 0, 0, .55); }
.crop-box:active { cursor: grabbing; }
.crop-cv { width: 100%; height: 100%; display: block; touch-action: none; }
.crop-load { position: absolute; inset: 0; display: grid; place-items: center; color: var(--dim); font-size: 14px; background: #000; }
.crop-ctl { display: flex; align-items: center; gap: 12px; padding: 4px 30px; color: var(--dim); }
.crop-ctl span { width: 18px; text-align: center; font: 700 22px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.crop-zoom { flex: 1; min-width: 0; height: 32px; accent-color: var(--amber); }
.crop-hint { margin: 0; padding: 4px 24px 8px; text-align: center; font-size: 12.5px; color: var(--dim); }
.crop-act { display: grid; grid-template-columns: 1fr 1.5fr; gap: 10px; padding: 8px 18px calc(18px + var(--safe-b)); }
.sgrid.pgr { display: flex; justify-content: center; gap: 18px; }
.sgrid.pgr button { flex: 0 1 96px; }

/* ------------------------------------------------------------ prenos uživo: priprema */
.lv-setup { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; }
.lv-top { display: flex; align-items: center; justify-content: space-between; padding: calc(10px + var(--sat)) 12px 0; }
.lv-h { font: 700 18px/1 var(--display); text-shadow: 0 1px 10px rgba(0, 0, 0, .7); }
.lv-panel { margin-top: auto; display: grid; gap: 12px; max-height: calc(100% - 64px - var(--sat)); overflow-y: auto; overscroll-behavior: contain; padding: 18px 16px calc(18px + var(--safe-b)); border-radius: 28px 28px 0 0; background: rgba(23, 17, 14, .9); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border-top: 1px solid var(--glass-line); }
.lv-panel .lbl { margin: 0; }
.lv-title { width: 100%; height: 46px; padding: 0 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--card2); color: var(--text); outline: none; }
.lv-title:focus { border-color: var(--amber); }
.lv-panel .chips.sug { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 2px; }
.lv-panel .chip { flex: none; white-space: nowrap; }
.lv-note { display: flex; gap: 8px; margin: 0; font-size: 12px; line-height: 1.45; color: var(--dim); }
.lv-note svg { flex: none; width: 16px; height: 16px; margin-top: 1px; color: var(--amber); }
.lv-go { height: 52px; font-size: 16px; }
.lv-go svg { width: 21px; height: 21px; }

/* ------------------------------------------------------------ prenos uživo: traje */
.lv-live { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; pointer-events: none; }
.lv-live > * { pointer-events: auto; }
.lv-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: calc(10px + var(--sat)) 12px 0; }
.lv-me { display: flex; align-items: center; gap: 8px; min-width: 0; }
.lv-r { display: flex; align-items: center; gap: 8px; flex: none; }
.lv-badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 10px; background: var(--paprika); color: #fff; font: 800 12px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; letter-spacing: .06em; }
.lv-badge i { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: lvPulse 1.3s ease-in-out infinite; }
.lv-badge.sm { padding: 4px 7px; gap: 5px; border-radius: 8px; font-size: 10px; }
.lv-badge.sm i { width: 5px; height: 5px; }
@keyframes lvPulse { 50% { opacity: .25; transform: scale(.7); } }
.lv-time { padding: 7px 10px; border-radius: 10px; background: var(--glass); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font: 700 13px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-variant-numeric: tabular-nums; }
.lv-stat { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border-radius: 999px; background: var(--glass); border: 1px solid var(--glass-line); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font: 800 12.5px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.lv-stat svg { width: 15px; height: 15px; }
.lv-stat b { font-weight: 800; font-variant-numeric: tabular-nums; }
.lv-demo { align-self: center; margin: 10px 16px 0; padding: 5px 12px; border-radius: 999px; background: rgba(244, 166, 42, .94); color: var(--ink); font: 800 11px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; text-align: center; }
.lv-tchip { align-self: flex-start; max-width: 80%; margin: 8px 12px 0; padding: 6px 12px; border-radius: 12px; background: var(--glass); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-weight: 700; font-size: 13.5px; overflow-wrap: anywhere; }
.lv-tchip:empty { display: none; }
.lv-row { display: flex; align-items: center; gap: 8px; padding: 10px 12px 0; }

/* ćejfovi koji lebde uz desni rub */
.lv-cups { position: absolute; right: 8px; bottom: calc(76px + var(--safe-b)); width: 64px; height: 240px; pointer-events: none; }
.lcup { position: absolute; bottom: 0; left: 50%; width: 36px; height: 36px; margin-left: -18px; color: var(--amber2); animation: lcupUp 2.6s ease-out both; }
.lcup svg { width: 100%; height: 100%; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .5)); }
.lcup .cpb, .lcc .cpb { fill: var(--amber); stroke: var(--amber); }
@keyframes lcupUp {
  0% { transform: translate(0, 0) rotate(0deg) scale(.6); opacity: 0; }
  12% { opacity: 1; }
  100% { transform: translate(calc(var(--dx, 0px) * 2), -220px) rotate(calc(var(--rot, 0deg) * 2)) scale(1.15); opacity: 0; }
}

/* pokloni koji lebde uz desni rub - isto lebdenje (lcupUp) kao .lcup iznad, ali veća kutija + IZRIČITA veličina
   fonta: pokloni su najčešće običan emoji (ne SVG kao šolja/srce), pa se bez ovoga prikažu sitno (Eminova
   primjedba 24.9. - "da budu malo veći da se vide"). Namjerno posebna klasa, .lcup iznad ostaje netaknut. */
.lgift { position: absolute; bottom: 0; left: 50%; width: 48px; height: 48px; margin-left: -24px; font-size: 38px; line-height: 48px; text-align: center; color: var(--amber2); filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .5)); animation: lcupUp 2.6s ease-out both; }
.lgift svg { width: 100%; height: 100%; }

/* BalkanKing (trenutno najskuplji poklon, vidi g.big u js/coins.js) - posebna, upadljivija animacija na sredini
   CIJELOG ekrana prenosa (ne uz ivicu kao .lgift iznad) - malo duže traje i vidljivija je, dolikuje najskupljem
   poklonu u katalogu (Eminov zahtjev 24.9. - "malo animaciju"). Vidi floatKing u js/live.js. */
.lv-king { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 6px; pointer-events: none; z-index: 5; animation: lkingPop 2.6s cubic-bezier(.2, .9, .25, 1) both; }
.lv-king .lk-ic { font-size: 84px; filter: drop-shadow(0 6px 22px rgba(0, 0, 0, .55)); }
.lv-king .lk-name { padding: 4px 14px; border-radius: 999px; background: linear-gradient(135deg, #ffd76b, #f4a62a); color: #2a1a05; font: 800 13px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; white-space: nowrap; }
@keyframes lkingPop {
  0% { transform: translate(-50%, -50%) scale(.4); opacity: 0; }
  14% { transform: translate(-50%, -50%) scale(1.14); opacity: 1; }
  22% { transform: translate(-50%, -50%) scale(1); }
  80% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
  100% { transform: translate(-50%, -52%) scale(.92); opacity: 0; }
}

/* razgovor */
.lv-chat { margin-top: auto; max-height: 36%; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 6px; padding: 26px 64px 8px 12px; -webkit-mask-image: linear-gradient(transparent, #000 26px); mask-image: linear-gradient(transparent, #000 26px); }
.lc { flex: none; align-self: flex-start; max-width: 100%; display: flex; align-items: flex-start; gap: 8px; padding: 5px 12px 5px 5px; border-radius: 18px; background: rgba(16, 12, 10, .5); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: 13.5px; line-height: 1.35; text-align: left; }
.lc[data-h] { cursor: pointer; }
.lc[data-h]:active { background: rgba(16, 12, 10, .72); }
.lt { min-width: 0; padding-top: 3px; overflow-wrap: anywhere; }
.lt b { font-weight: 800; }
.lt b.me { color: var(--amber2); }
.lt em { font-style: normal; color: rgba(251, 241, 227, .72); }
.lc.join, .lc.cup { background: rgba(16, 12, 10, .34); font-size: 12.5px; }
.lc.host { background: rgba(244, 166, 42, .26); }
.lcc { display: inline-block; vertical-align: -3px; }
.lcc svg { width: 16px; height: 16px; }

.lv-foot { display: flex; align-items: center; gap: 8px; padding: 6px 12px calc(12px + var(--safe-b)); }
.lv-form { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; }
.lv-form input { flex: 1; min-width: 0; height: 44px; padding: 0 16px; border-radius: 22px; border: 1px solid var(--glass-line); background: rgba(16, 12, 10, .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; outline: none; }
.lv-form input::placeholder { color: rgba(251, 241, 227, .6); }
.lv-form input:focus { border-color: var(--amber); }
.lv-tool { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--glass); border: 1px solid var(--glass-line); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff; transition: transform .1s; }
.lv-tool svg { width: 22px; height: 22px; }
.lv-tool:active { transform: scale(.92); }
.lv-tool.off { background: var(--paprika); border-color: transparent; }
.lv-tool.cupb { background: var(--amber); color: var(--ink); border-color: transparent; }
.lv-tool.cupb .cpb { fill: var(--ink); stroke: var(--ink); }

/* ------------------------------------------------------------ prenos uživo: kraj i pregled */
.lv-end { position: absolute; inset: 0; z-index: 7; display: grid; place-items: center; padding: calc(20px + var(--sat)) 20px calc(20px + var(--safe-b)); overflow-y: auto; background: rgba(16, 12, 10, .95); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.lv-endcard { width: 100%; max-width: 360px; display: grid; justify-items: center; gap: 10px; text-align: center; }
.lv-endcard .wico { margin: 0 0 4px; }
.lv-endcard h2 { margin: 0; font: 700 27px/1.15 var(--display); }
.lv-etitle { margin: 0; color: var(--amber2); font-weight: 700; overflow-wrap: anywhere; }
.lv-sum { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; margin: 4px 0; }
.lv-sum > div { padding: 12px 8px; border-radius: 18px; background: var(--card); border: 1px solid var(--line); }
.lv-sum b { display: block; font: 700 24px/1.2 var(--display); }
.lv-sum span { font-size: 12px; color: var(--dim); }
.lv-snote { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--dim); }
.lv-endcard .btn { width: 100%; }

/* gledanje tuđeg prenosa */
.lv-av { flex: none; border-radius: 34%; }
.lv-name { display: grid; min-width: 0; line-height: 1.2; }
.lv-name b { font: 700 italic 15px/1.2 var(--display); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lv-name small { font-size: 11.5px; color: rgba(251, 241, 227, .78); }
.lv-me .fol { margin-left: 4px; }
.lv-me .fol.on { background: rgba(251, 241, 227, .18); color: var(--text); font-weight: 700; }

/* ------------------------------------------------------------ #103+: pravi gosti uživo (zvijezda, vidi js/live-webrtc.js) */
.lv-guests { display: flex; gap: 8px; padding: 10px 12px 0; }
.lv-guests:empty { display: none; }
.lv-gtile { position: relative; width: 84px; height: 112px; flex: none; border-radius: 16px; overflow: hidden; background: rgba(16, 12, 10, .7); border: 1px solid var(--glass-line); }
.lv-gtile video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lv-gwait { position: absolute; inset: 0; display: grid; place-items: center; padding: 6px; text-align: center; font-size: 11.5px; font-weight: 700; line-height: 1.3; color: rgba(251, 241, 227, .82); }

/* prozorčić "Pozovi u uživo" (dugme + u lv-foot) */
.livinv-b { display: grid; gap: 10px; }
.livinv-search input { width: 100%; height: 46px; padding: 0 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--card2); color: var(--text); outline: none; }
.livinv-search input:focus { border-color: var(--amber); }
.livinv-cap { margin: 0; font-size: 12px; color: var(--dim); }
.livinv-empty { margin: 4px 0; font-size: 13px; color: var(--dim); text-align: center; }
.livinv-row { display: flex; align-items: center; gap: 10px; padding: 8px 2px; }
.livinv-row .av { flex: none; }
.livinv-who { min-width: 0; flex: 1; display: grid; line-height: 1.25; }
.livinv-who b { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.livinv-who small { font-size: 12px; color: var(--dim); }
.livinv-st { flex: none; font-size: 12px; font-weight: 700; color: var(--amber2); }
.livinv-guests { display: grid; gap: 2px; }
.livinv-guests:not(:empty) { margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--line); }
.livinv-row .x { flex: none; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--dim); }
.livinv-row .x svg { width: 16px; height: 16px; }
.livinv-row .x:active { background: var(--card2); }

/* prozorčić: dolazni poziv (bilo gdje u aplikaciji) */
.lic-b { display: grid; justify-items: center; gap: 6px; padding-top: 6px; text-align: center; }
.lic-b h3 { margin: 6px 0 0; font: 700 20px/1.2 var(--display); }
.lic-b p { margin: 0; color: var(--dim); }
.lic-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; margin-top: 14px; }

/* ekran: gost u tuđem prenosu uživo (BT.openLiveGuest) */
.lvg-self { position: absolute; right: 12px; bottom: calc(90px + var(--safe-b)); z-index: 4; width: 92px; height: 122px; border-radius: 16px; object-fit: cover; background: #000; border: 2px solid rgba(251, 241, 227, .35); box-shadow: 0 8px 24px rgba(0, 0, 0, .5); transform: scaleX(-1); }
.lvg-status { padding: 7px 10px; border-radius: 10px; background: var(--glass); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font: 700 13px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
