@media(max-width:980px){.mobile-only{display:grid!important}.sidebar{transform:translateX(-105%);transition:.25s;width:min(86vw,320px)}.sidebar.open{transform:none}.sidebar-backdrop.open{display:block;position:fixed;inset:72px 0 0;background:rgba(10,29,77,.45);z-index:30}.app-main{padding:94px 16px 30px}.stats-grid.four{grid-template-columns:1fr 1fr}.experience-grid,.game-actions-grid{grid-template-columns:1fr 1fr}.landing-hero{grid-template-columns:1fr;text-align:center}.landing-logo{margin-left:auto;margin-right:auto}.landing-copy p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.control-layout{grid-template-columns:1fr}.current-card-panel{grid-row:auto;min-height:480px}}
@media(max-width:650px){.topbar{height:64px;padding:0 13px}.brand img{height:47px}.sidebar{top:64px}.sidebar-backdrop.open{inset:64px 0 0}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .btn{width:100%}.stats-grid{grid-template-columns:1fr 1fr}.experience-grid,.game-actions-grid{grid-template-columns:1fr}.form-grid-two{grid-template-columns:1fr}.share-code-card{align-items:stretch;flex-direction:column}.hero-actions{display:grid}.hero-actions .btn{width:100%}.landing{padding:30px 16px}.landing-copy h1{font-size:3rem}.control-buttons{grid-template-columns:1fr}.control-buttons .btn:last-child{grid-column:auto}.caller-actions{grid-template-columns:1fr 1fr}.caller-actions .btn{grid-column:1/-1}.display-header img{height:58px}.display-current h1{font-size:2rem}}

@media(max-width:650px){
 .control-page{padding-bottom:96px}
 .control-page .current-card-panel{min-height:calc(100vh - 190px);padding-bottom:82px}
 .control-page .control-buttons{
  position:fixed;
  left:10px;
  right:10px;
  bottom:calc(10px + env(safe-area-inset-bottom));
  z-index:90;
  display:grid;
  grid-template-columns:1fr 1.22fr .82fr;
  gap:6px;
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(10,29,77,.28);
  border:1px solid rgba(10,29,77,.08);
 }
 .control-page .control-buttons .btn,
 .control-page .control-buttons .btn:last-child{
  grid-column:auto;
  padding:11px 7px;
  font-size:.72rem;
  white-space:nowrap;
 }
 .control-winner-dialog{padding:18px 12px;border-radius:22px}
 #controlWinnerBoards{grid-template-columns:1fr}
 .game-plan-list article{grid-template-columns:48px 1fr}
 .game-plan-list article>.btn{grid-column:1/-1}
 .page-heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
}


/* V3 player responsive */
@media(max-width:1050px){
 .player-live-sidebar{width:188px}
 .player-live-main{margin-left:188px;padding:22px 18px 44px}
 .live-card-overview{grid-template-columns:1fr}
 .live-content-grid{grid-template-columns:minmax(0,1fr) 250px}
}

@media(max-width:760px){
 body:has(.player-live-app){background:#f6f7fb}
 .player-live-sidebar{display:none}
 .player-live-main{margin:0;padding:14px 12px 92px;display:flex;flex-direction:column}

 /* Encabezado compacto: partida a la izquierda, carta EN VIVO pequeña a la derecha */
 .live-page-header{order:1;display:grid;grid-template-columns:minmax(0,1fr) 138px;gap:10px;align-items:start;margin-bottom:10px}
 .live-page-header h1{font-size:1.35rem;line-height:1.05}
 .live-page-header p{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mobile-live-current{display:block;min-width:0}
 .mobile-live-current-card,.mobile-live-current-empty{background:#fff;border:1px solid rgba(10,29,77,.08);border-radius:16px;padding:7px;box-shadow:0 8px 22px rgba(10,29,77,.07)}
 .mobile-live-current-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:7px;align-items:center}
 .mobile-live-current-card img{width:42px;height:58px;object-fit:cover;border-radius:8px}
 .mobile-live-current-card span,.mobile-live-current-card strong,.mobile-live-current-empty span,.mobile-live-current-empty strong{display:block}
 .mobile-live-current-card span,.mobile-live-current-empty span{font-size:.49rem;color:#e34b6f;font-weight:1000;line-height:1.2}
 .mobile-live-current-card strong,.mobile-live-current-empty strong{font-size:.66rem;color:var(--navy);line-height:1.1;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mobile-live-current-empty{min-height:72px;display:grid;align-content:center}

 .live-header-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:1px;gap:6px}
 .live-header-stats>div{min-width:0;padding:7px 6px;display:block;text-align:center;border-radius:14px}
 .live-header-stats>div i{display:none}
 .live-header-stats span{display:block;font-size:.49rem}
 .live-header-stats strong{display:block;font-size:.69rem;margin-top:2px;max-width:none}
 .tiebreak-banner{order:2}

 /* La versión grande de Última carta queda solo en escritorio */
 .live-card-overview{display:contents}
 .live-current-card{display:none}

 /* El CARTÓN es el centro del móvil */
 .live-content-grid{order:3;display:block;margin-top:6px}
 .live-board-panel{padding:10px;border-radius:18px;display:flex;flex-direction:column}
 .live-board-heading{order:1;margin-bottom:8px;align-items:center}
 .live-board-heading .eyebrow{font-size:.66rem}
 .live-board-heading h2{font-size:1rem;margin-top:1px}
 .live-board-heading p{font-size:.64rem;line-height:1.25;margin-top:2px}
 .board-selector-label{padding:5px 8px;border-radius:11px}
 .board-selector-label span{font-size:.5rem}
 .board-selector-label strong{font-size:.73rem}

 .player-live-app .boards-stage{order:2;width:100%;max-width:none;margin:0 auto}
 .player-live-app .lote-board{width:100%;max-width:none;gap:3px;padding:4px;border-radius:16px;box-shadow:0 14px 36px rgba(10,29,77,.13)}
 .player-live-app .lote-cell{border-radius:8px;padding:2px}
 .player-live-app .lote-cell img{height:77%}
 .player-live-app .lote-cell strong{font-size:clamp(.48rem,2.25vw,.64rem)}
 .player-live-app .lote-cell.marked::after{inset:-3%}

 /* Miniaturas después del cartón grande */
 .player-live-app .board-thumbs{order:3;padding:10px 0 2px;gap:7px}
 .player-live-app .board-thumb{flex-basis:72px;padding:5px;border-radius:11px}
 .player-live-app .board-thumb span{font-size:.57rem}
 .player-live-app .board-thumb small{font-size:.49rem}

 .live-side-column{margin-top:8px}
 .live-side-column .live-side-card{display:none}

 /* Historial pequeño y DESPUÉS del cartón */
 .live-recent-card{order:4;padding:10px 11px 11px;border-radius:16px;margin-top:8px}
 .live-recent-card>header{margin-bottom:6px;align-items:center}
 .live-recent-card .eyebrow{font-size:.59rem}
 .live-recent-card h2{font-size:.88rem}
 .pattern-chip{font-size:.56rem;padding:5px 7px}
 .live-recent-list{display:flex;overflow-x:auto;gap:6px;padding-bottom:1px}
 .recent-card-tile{flex:0 0 48px}
 .recent-card-tile img{border-radius:8px}
 .recent-card-tile span{font-size:.46rem;line-height:1.08;margin-top:3px}

 .player-mobile-nav{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:80;background:rgba(255,255,255,.97);border:1px solid rgba(10,29,77,.08);box-shadow:0 16px 44px rgba(10,29,77,.18);border-radius:18px;padding:7px 5px;display:grid;grid-template-columns:repeat(4,1fr);backdrop-filter:blur(14px)}
 .player-mobile-nav a{display:grid;justify-items:center;gap:3px;color:#7b8190;font-size:.58rem;font-weight:900}
 .player-mobile-nav a i{font-size:1rem}
 .player-mobile-nav a.active,.player-mobile-nav a:hover{color:var(--purple)}
}

@media(max-width:650px){
 .topbar-context{display:none}
 .event-access-card{align-items:stretch;flex-direction:column}
 .event-access-actions{display:grid;grid-template-columns:1fr 1fr}
 .event-admin-actions{grid-template-columns:1fr}
 .staff-actions{width:100%;justify-content:flex-end!important}
 .game-plan-actions{grid-column:1/-1}
 .player-identity-card{grid-template-columns:1fr}
}

@media(max-width:760px){
 .mobile-live-floating{
  position:fixed;
  top:max(8px,env(safe-area-inset-top));
  right:10px;
  width:min(172px,46vw);
  z-index:95;
  display:block;
  opacity:0;
  transform:translateY(-12px) scale(.97);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
 }
 .mobile-live-floating[hidden]{display:none}
 .mobile-live-floating.show{
  opacity:1;
  transform:translateY(0) scale(1);
 }
 .mobile-live-floating .mobile-live-current-card,
 .mobile-live-floating .mobile-live-current-empty{
  border-radius:14px;
  padding:6px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 34px rgba(10,29,77,.2);
  border:1px solid rgba(10,29,77,.08);
 }
 .mobile-live-floating .mobile-live-current-card{
  grid-template-columns:36px minmax(0,1fr);
  gap:6px;
 }
 .mobile-live-floating .mobile-live-current-card img{
  width:36px;
  height:49px;
  border-radius:7px;
 }
 .mobile-live-floating .mobile-live-current-card span,
 .mobile-live-floating .mobile-live-current-empty span{
  font-size:.44rem;
 }
 .mobile-live-floating .mobile-live-current-card strong,
 .mobile-live-floating .mobile-live-current-empty strong{
  font-size:.61rem;
 }
 .mobile-live-floating .mobile-live-current-empty{
  min-height:54px;
 }
}

@media(max-width:980px){
 .email-editor-layout{grid-template-columns:1fr}.email-preview-column{position:static}.client-access-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
 .email-template-card{grid-template-columns:42px 1fr}.email-template-card>i:last-child{display:none}.email-template-icon{width:42px;height:42px}.mail-transport-banner{align-items:flex-start}.mail-transport-choice{grid-template-columns:1fr}.email-editor-actions{align-items:stretch;flex-direction:column}.email-editor-actions .btn{width:100%}.email-preview-panel iframe{height:500px}.mail-settings-actions{display:grid}.mail-settings-actions>.btn{width:100%}.mail-test-inline{display:grid}.email-log-row{grid-template-columns:30px 1fr}.email-log-row time{grid-column:2}.email-admin-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.email-admin-tabs a{justify-content:center;padding:9px 6px;font-size:.68rem}.mail-transport-banner span{display:none}
}

/* Barajas / cortador responsive */
@media(max-width:1100px){
 .deck-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .deck-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
 .cutter-layout{grid-template-columns:340px minmax(0,1fr)}
 .cutter-preview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:760px){
 .page-heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .deck-admin-grid{grid-template-columns:1fr}
 .deck-admin-cover{height:155px}
 .deck-scope-choice{grid-template-columns:1fr}
 .deck-action-grid{grid-template-columns:1fr}
 .legacy-deck-box{display:block}.legacy-deck-box form{margin-top:12px}.legacy-deck-box .btn{width:100%}
 .deck-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .deck-card-edit-layout{grid-template-columns:1fr}.deck-card-edit-preview{max-width:240px;margin:0 auto}
 .deck-picker-grid{grid-template-columns:1fr}
 .cutter-layout{display:block}.cutter-controls{position:static;margin-bottom:12px}.cutter-workspace-panel{padding:12px}.cutter-canvas-wrap{min-height:270px}.cutter-margin-grid{grid-template-columns:repeat(2,1fr)}
 .cutter-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .deck-audio-row{grid-template-columns:46px minmax(0,1fr) auto}.deck-audio-thumb{width:46px;height:60px}.deck-audio-info audio{max-width:190px}
}
@media(max-width:440px){
 .deck-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cutter-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cutter-buttons{grid-template-columns:1fr}
 .deck-audio-row{grid-template-columns:42px 1fr}.deck-audio-upload{grid-column:1/-1}.deck-audio-upload .btn{width:100%}.deck-audio-info audio{max-width:100%}
}

@media(max-width:650px){
 .cutter-grid-actions{grid-template-columns:1fr 1fr}
 .cutter-drag-tip{grid-template-columns:32px 1fr;padding:8px}
 .cutter-drag-tip>i{width:32px;height:32px;border-radius:10px}
}

@media(max-width:650px){
 .cutter-template-actions{align-items:stretch;flex-direction:column}
 .cutter-template-actions .btn{width:100%}
}

@media(max-width:650px){
 .cutter-next-sheet{grid-template-columns:32px 1fr}
 .cutter-next-sheet .btn{grid-column:1/-1;width:100%}
}
