:root{--magenta: #c7208f;--magenta-dark: #a8187a;--plum: #3a0b4f;--yellow: #ffe81a;--blue: #1b3fb5;--red: #e2231a;--accent: var(--yellow);--text: #ffffff;--muted: #ffe3f6;--card: rgba(58, 11, 79, .62);--line: rgba(255, 255, 255, .28);--ok: #49d67d;--warn: #ffd23a;--bad: #ff6b5a;--font: "Baloo Da 2", "Noto Sans Bengali", "Nirmala UI", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;background-color:var(--magenta);background-image:radial-gradient(circle at 12% 18%,rgba(255,232,26,.9) 0 .5vmax,transparent .55vmax),radial-gradient(circle at 86% 12%,rgba(226,35,26,.9) 0 .6vmax,transparent .65vmax),radial-gradient(circle at 78% 72%,rgba(255,232,26,.85) 0 .45vmax,transparent .5vmax),radial-gradient(circle at 18% 82%,rgba(73,214,125,.85) 0 .55vmax,transparent .6vmax),radial-gradient(circle at 45% 6%,rgba(255,140,26,.9) 0 .4vmax,transparent .45vmax),radial-gradient(circle at 93% 45%,rgba(73,214,125,.8) 0 .4vmax,transparent .45vmax),radial-gradient(circle at 5% 52%,rgba(255,140,26,.85) 0 .5vmax,transparent .55vmax),radial-gradient(circle at 50% 38%,rgba(255,255,255,.16),transparent 62%),repeating-conic-gradient(from 0deg at 50% 38%,var(--magenta) 0deg 9deg,var(--magenta-dark) 9deg 18deg);background-attachment:fixed}button,input,select{font:inherit}img,video{max-width:100%;display:block}.logo{display:block;height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.phone{max-width:480px;margin:0 auto;padding:12px 16px 40px;min-height:100dvh;display:flex;flex-direction:column;gap:14px}.phone header{display:flex;justify-content:space-between;align-items:flex-start}.phone header .logo{width:132px}.lang-toggle{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:8px 16px;cursor:pointer;min-height:40px}h1{font-size:30px;line-height:1.15;margin:0;text-shadow:0 2px 0 rgba(0,0,0,.25)}h2{font-size:24px;margin:0}h3{margin:6px 0 0}.sub{color:var(--muted);margin:0;font-size:17px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1}.panel-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.choice{text-align:left;background:var(--card);border:2px solid var(--line);color:var(--text);border-radius:18px;padding:18px;cursor:pointer;display:flex;gap:14px;align-items:center}.choice:disabled{opacity:.45;cursor:not-allowed}.choice.selected{border-color:var(--yellow);background:#ffe81a33}.choice .icon{font-size:40px}.choice b{font-size:21px;display:block}.choice span{color:var(--muted);font-size:15px}label.field{display:flex;flex-direction:column;gap:6px;font-size:16px;color:var(--muted)}input[type=text],input[type=tel],input[type=password],input[type=number],select{background:#fff;color:#111;border:0;border-radius:12px;padding:14px;font-size:19px;width:100%}.otp-input{letter-spacing:12px;text-align:center;font-size:30px!important}.hint{color:var(--muted);font-size:14px;margin:0}.btn{background:var(--yellow);color:var(--blue);border:0;border-bottom:4px solid var(--blue);border-radius:14px;padding:14px 20px;font-size:20px;font-weight:800;cursor:pointer;text-align:center;text-decoration:none;display:inline-block;min-height:48px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:#3a0b4f73;color:var(--text);border:2px solid var(--line)}.btn.small{padding:9px 14px;font-size:16px;border-radius:10px;min-height:44px;border-bottom-width:3px}.btn.ghost.small{border-bottom-width:2px}.btn.danger{background:var(--bad);color:#fff;border-bottom-color:#a3261a}.btn.ok{background:var(--ok);color:#06311a;border-bottom-color:#1c8a48}.btn.block{width:100%}.linkbtn{background:none;border:0;color:var(--yellow);text-decoration:underline;cursor:pointer;padding:6px 0;font-size:16px}.error{background:#780a0a8c;border:1px solid var(--bad);color:#ffe1dc;border-radius:12px;padding:10px 14px}.tc{background:#0000004d;border-radius:12px;padding:14px;max-height:240px;overflow:auto;white-space:pre-wrap;font-size:15px;color:var(--muted)}.check{display:flex;gap:12px;align-items:flex-start;font-size:17px;cursor:pointer}.check input{width:26px;height:26px;flex:none;margin-top:2px;accent-color:var(--yellow)}.command-card{background:var(--yellow);color:var(--blue);border-radius:22px;padding:22px 18px;text-align:center;border-bottom:6px solid var(--blue)}.command-card .icon{font-size:72px}.command-card .text{font-size:26px;font-weight:800;line-height:1.2}.command-card .kw{font-size:18px;opacity:.8;margin-top:8px}.command-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.command-grid .choice{flex-direction:column;text-align:center;padding:12px}.command-grid .choice .icon{font-size:34px}.center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.big-num{font-size:96px;font-weight:800;color:var(--yellow);line-height:1;text-shadow:0 4px 0 var(--blue)}.spinner{width:72px;height:72px;border-radius:50%;border:8px solid var(--line);border-top-color:var(--yellow);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-media{border-radius:18px;overflow:hidden;border:3px solid var(--yellow);width:100%}.pill{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--card);font-size:15px}.pill.ok{background:#0a5028bf;color:#c9ffdc}.pill.warn{background:#6e5000bf;color:#fff0b8}.pill.bad{background:#780a0abf;color:#ffe1dc}.cue{height:100vh;width:100vw;overflow:hidden;display:grid;gap:3vmin;padding:3vmin}.cue .stage{position:relative;border-radius:3vmin;overflow:hidden;background:#1a0524;border:.8vmin solid var(--yellow);box-shadow:0 1.2vmin 0 var(--blue);aspect-ratio:9 / 16}.cue .stage img.live{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.cue .stage .poster{width:100%;height:100%;object-fit:contain}.cue .stage .oval{position:absolute;left:22%;right:22%;top:10%;height:44%;border:.7vmin dashed rgba(255,255,255,.9);border-radius:50%;box-shadow:0 0 0 200vmax #1a052447}.cue .stage .nosignal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:3.4vmin;text-align:center;padding:4vmin}.cue .stage .rec{position:absolute;top:3vmin;left:3vmin;width:4vmin;height:4vmin;background:var(--bad);border-radius:50%;animation:blink 1s infinite}.cue .info{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2.4vmin;min-width:0;min-height:0}.cue .info .logo{width:30vmin}.cue .en{font-size:6.6vmin;font-weight:800;line-height:1.1;text-shadow:0 .5vmin 0 rgba(0,0,0,.25)}.cue .bn{font-size:5vmin;color:var(--muted);line-height:1.25}.cue .icon{font-size:16vmin;line-height:1}.cue .count{font-size:44vmin;font-weight:800;color:var(--yellow);line-height:.9;text-shadow:0 1.6vmin 0 var(--blue);animation:pop 1s ease-out}.cue .go{font-size:24vmin;font-weight:800;color:var(--yellow);line-height:1;text-shadow:0 1.2vmin 0 var(--blue)}.cue .names{font-size:4.4vmin;color:var(--yellow);font-weight:700}.cue .bar{width:86%;height:3.4vmin;background:var(--card);border-radius:999px;overflow:hidden;border:.4vmin solid var(--line)}.cue .bar>div{height:100%;background:var(--ok);transition:width linear}.cue .qr{width:30vmin;height:30vmin;background:#fff;padding:1.4vmin;border-radius:2.4vmin}.cue .title{font-size:7vmin;font-weight:800;color:var(--yellow);text-shadow:0 .7vmin 0 var(--blue)}.cue .spinner{width:16vmin;height:16vmin;border-width:1.6vmin}@keyframes pop{0%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes blink{50%{opacity:.2}}@media (orientation: landscape){.cue{grid-template-columns:auto 1fr;align-items:center}.cue .stage{height:calc(100vh - 8vmin)}}@media (orientation: portrait){.cue{grid-template-rows:auto 1fr;justify-items:center}.cue .stage{height:54vh}.cue .info .logo{width:22vmin}.cue .count{font-size:34vmin}.cue .qr{width:24vmin;height:24vmin}}.rollcall{height:100vh;width:100vw;overflow:hidden;display:grid;grid-template-columns:34vw 1fr;gap:2vw;padding:3vh 2vw}.rollcall .spot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5vh;text-align:center}.rollcall .spot img.poster{height:72vh;border-radius:1.5vw;border:.4vw solid var(--yellow);box-shadow:0 .6vw 0 var(--blue);animation:pop .8s ease-out}.rollcall .spot .n-en{font-size:4.2vh;font-weight:800;color:var(--yellow)}.rollcall .spot .n-bn{font-size:3vh}.rollcall .wall{display:grid;grid-template-columns:repeat(6,1fr);gap:1vw;align-content:start}.rollcall .tile{background:var(--card);border-radius:1vw;overflow:hidden}.rollcall .tile img{width:100%;aspect-ratio:3 / 4;object-fit:contain}.rollcall .tile div{padding:.6vh .6vw;font-size:1.8vh;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rollcall .head{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:2vw}.rollcall .head .logo{height:11vh;width:auto}.rollcall .head .title{font-size:5vh;font-weight:800;color:var(--yellow);text-shadow:0 .5vh 0 var(--blue)}.rollcall .head .bn{font-size:3.2vh;color:var(--muted)}@media (orientation: portrait){.rollcall{grid-template-columns:1fr;grid-template-rows:auto 1fr}.rollcall .spot img.poster{height:46vh}.rollcall .wall{grid-template-columns:repeat(4,1fr)}}.ops{padding:14px;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.ops h1{font-size:24px;margin:0}.ops .topbar .logo{width:84px}.health{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.queue{display:flex;flex-direction:column;gap:10px}.qitem{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.qitem .meta{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.qitem .names{font-size:20px;font-weight:700;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.status{font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:1px;padding:3px 8px;border-radius:6px;background:#00000059;white-space:nowrap}.status.queued{background:#2747d8}.status.done{background:#1f8a47}.status.failed,.status.cancelled{background:#8a2020}.status.retake_needed{background:#a36a00}.status.cueing,.status.capturing{background:#d0304a}.status.selecting,.status.generating,.status.composing{background:#6b3ac2}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.filters label{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--muted)}.filters input,.filters select{width:auto;min-width:130px;padding:8px 10px;font-size:15px;min-height:40px}.filters input[type=password]{min-width:170px}.filters input[type=search]{min-width:240px;border-radius:10px;border:1px solid var(--line);background:#00000040;color:var(--text)}.filters input[type=date]{border-radius:10px;border:1px solid var(--line);background:#00000040;color:var(--text);color-scheme:dark}.reg td{vertical-align:middle}.reg tbody tr{cursor:pointer}.reg tbody tr:hover{background:#ffffff0f}.reg .thumb{width:42px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#fff;display:block}.reg a,.modal a.link{color:var(--yellow);font-weight:700;white-space:nowrap}.reg .mono{font-variant-numeric:tabular-nums;white-space:nowrap}.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:15px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#14001eb3;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:24px 16px;z-index:10}.modal{background:var(--plum);border:1px solid var(--line);border-radius:18px;padding:18px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:12px}.snapshot{width:200px;border-radius:10px;border:2px solid var(--line)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}@media (max-width: 560px){.qitem{grid-template-columns:1fr}.actions{justify-content:flex-start}}
