
*{box-sizing:border-box}body{margin:0;font-family:system-ui;background:#07111f;color:#f5f8ff}main{max-width:1050px;margin:auto;padding:24px}.card{background:#0d1b2d;border:1px solid #24344b;border-radius:22px;padding:22px;margin:16px 0}h1{font-size:42px}button,input,select{font:inherit;border-radius:12px;padding:12px;border:1px solid #31445f}input,select{background:#071522;color:white;width:100%;margin:6px 0 12px}button{background:#2979ff;color:white;font-weight:700;cursor:pointer}.danger{background:#9f3131}.row{display:flex;gap:10px;flex-wrap:wrap}.hidden{display:none!important}.qr{background:white;padding:10px;width:260px;border-radius:16px}.stage{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px}.stage h1{font-size:clamp(42px,10vw,100px)}.pulse{animation:p .8s}@keyframes p{20%{filter:brightness(4)}50%{filter:brightness(.5)}}.fab{position:fixed;right:18px;bottom:18px}.chat{position:fixed;right:18px;bottom:75px;width:min(360px,90vw);background:#0d1b2d;padding:15px;border-radius:18px}.msg{padding:8px;border-bottom:1px solid #263850}.poll button{display:block;width:100%;margin:10px 0}.metric{font-size:42px;font-weight:900}.media{max-width:92vw;max-height:70vh}

.webwrap{position:fixed;inset:0;background:#07111f;z-index:30;padding-top:44px}
.webwrap iframe{width:100%;height:calc(100% - 44px);border:0;background:#fff}
#webBanner{position:absolute;left:0;right:0;top:0;height:44px;display:grid;place-items:center;background:#0d1b2d;font-weight:800;z-index:32}
.webshield{position:absolute;left:0;right:0;top:44px;bottom:0;z-index:31;background:transparent;touch-action:none}
.small{font-size:.88rem;opacity:.75}


/* ===== SyncStage Live v2.3 · Admin móvil ===== */
.admin-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.admin-head h1{margin:0}
.eyebrow{font-size:.78rem;letter-spacing:.14em;opacity:.62;font-weight:800}
.live-pill{white-space:nowrap;padding:10px 14px;border:1px solid #31445f;border-radius:999px;font-weight:800;background:#071522}
.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#35d07f;margin-right:7px}
.session-grid{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}
.session-actions{min-width:0}
.session-actions button{display:block;width:100%;margin:8px 0}
.urlbox{overflow-wrap:anywhere;background:#071522;border:1px solid #24344b;border-radius:12px;padding:10px;font-size:.85rem;opacity:.85}
.private-admin-card{border-color:#66511e}
.private-url{font-size:.72rem}
.admin-qr{width:210px}
.qr-overlay{position:fixed;inset:0;z-index:1000;background:rgba(3,8,15,.94);display:grid;place-items:center;padding:20px}
.qr-stage{text-align:center}
.qr-stage img{width:min(78vw,480px);background:#fff;padding:16px;border-radius:22px}
.big-code{font-size:clamp(26px,7vw,48px);font-weight:900;margin-top:14px}
.qr-close{position:absolute;right:18px;top:18px;width:48px;height:48px;border-radius:50%;padding:0}
.no-scroll{overflow:hidden}
.mobile-dock{display:none}

@media (max-width:700px){
  body{padding-bottom:84px}
  main{padding:12px}
  .card{padding:16px;border-radius:18px;margin:10px 0}
  h1{font-size:27px;line-height:1.05}
  h2{font-size:20px}
  .admin-head{display:block}
  .live-pill{display:inline-block;margin-top:10px}
  .metric{font-size:32px}
  .session-grid{grid-template-columns:1fr}
  .qr{width:min(76vw,270px);display:block;margin:0 auto}
  .admin-qr{width:min(62vw,220px)}
  button,input,select{min-height:48px}
  .row{display:grid;grid-template-columns:1fr 1fr}
  .row button{width:100%}
  .control-card{scroll-margin-top:10px}
  #voiceCard button,#impactCard button,#chatCard button,#revealCard button{width:100%;margin:5px 0}
  .mobile-dock{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    position:fixed;
    left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));
    z-index:900;
    background:rgba(13,27,45,.96);
    border:1px solid #31445f;
    border-radius:18px;
    padding:7px;
    box-shadow:0 10px 35px rgba(0,0,0,.45)
  }
  .mobile-dock button{
    background:transparent;border:0;padding:7px 3px;min-height:52px;font-size:20px
  }
  .mobile-dock button span{display:block;font-size:11px;margin-top:3px}
}
