:root{color-scheme:dark;--bg:#081914;--panel:#10261f;--line:#274137;--text:#f0f5ef;--muted:#9bad9f;--lime:#d6f77d;--green:#2e8060}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 2%,#18382b 0,transparent 37%),var(--bg);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:4px}[hidden]{display:none!important}.top{max-width:1180px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-weight:850;letter-spacing:1.5px}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:2px;margin-top:1px}.brand-mark{height:38px;width:38px;background:var(--lime);color:#10261f;border-radius:11px;display:grid;place-items:center;font-size:25px;position:relative}.brand-mark span{position:absolute;right:1px;top:-4px;font-size:16px}.back{color:#afc1b3;font-size:13px}main{max-width:1040px;margin:48px auto 0;padding:0 32px}.eyebrow{font-size:10px;letter-spacing:2px;color:#b9ccbd;display:flex;gap:10px;align-items:center;font-weight:750}.dot{height:7px;width:7px;background:var(--lime);border-radius:50%}.pilot,.tag{font-size:10px;letter-spacing:1px;border:1px solid var(--line);padding:5px 9px;border-radius:5px;color:var(--muted)}.pilot{margin-left:4px}.title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:22px 0 27px}h1{font-size:clamp(33px,5vw,54px);letter-spacing:-2px;line-height:1.08;margin:0;font-weight:760}h1 em{color:var(--lime);font-style:normal}.intro{color:var(--muted);margin:17px 0 0;font-size:14px}.match-picker{min-width:255px;max-width:320px;display:flex;flex-direction:column;gap:9px}.match-picker label,.label{font-size:10px;font-weight:750;letter-spacing:1.8px;color:var(--muted)}select{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:12px;border-radius:9px;width:100%}#connection{color:var(--muted);font-size:11px}#connection.error{color:#ffba9c}.notice{padding:12px 16px;border:1px solid #695f30;color:#e4d89a;background:#292a19;border-radius:10px;font-size:12px;margin-bottom:15px}.scoreboard{border:1px solid #365542;border-radius:20px;background:linear-gradient(135deg,#18382b,#10251d 68%);position:relative;overflow:hidden}.scoreboard:before{content:"";position:absolute;inset:36px 28%;border:1px solid #ffffff05;border-radius:50%;pointer-events:none}.score-top{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid #ffffff0d;font-size:11px;color:#afc5b5;gap:12px}.phase{font-size:10px;letter-spacing:1px;padding:5px 10px;background:#ffffff08;border-radius:30px;font-weight:800;white-space:nowrap}.phase.playing{background:var(--lime);color:#193020}.score-grid{display:grid;grid-template-columns:1fr 200px 1fr;padding:35px 30px 29px;align-items:center;position:relative}.team{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.crest{height:74px;width:74px;display:grid;place-items:center;font-size:30px;font-weight:850;color:#d6f77d;background:#ffffff06;border-radius:18px;margin-bottom:4px}.crest img{max-height:65px;max-width:65px;object-fit:contain;filter:drop-shadow(0 4px 6px #0003)}.team small{font-size:9px;letter-spacing:2px;color:var(--muted)}.team h2{font-size:clamp(13px,2vw,19px);line-height:1.25;max-width:250px;margin:0}.score-center{text-align:center}.score{display:flex;justify-content:center;align-items:center;gap:20px;font-variant-numeric:tabular-nums;line-height:1}.score strong{font-size:70px;letter-spacing:-4px;font-weight:800}.score>span{color:#64806c;font-size:34px;margin-top:-6px}.clock{font:700 19px/1.4 ui-monospace,SFMono-Regular,monospace;margin-top:17px;color:var(--lime);font-variant-numeric:tabular-nums}.clock-label{font-size:10px;color:var(--muted)}.score-footer{display:flex;justify-content:space-between;padding:16px 25px;background:#00000014;gap:15px;font-size:11px;color:#b0c3b5}.sponsor{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e8efdf;border-radius:12px;color:#1a3225;margin-top:13px;padding:17px 22px}.sponsor-caption{font-size:9px;letter-spacing:1.6px;max-width:130px;color:#5a6b59}.sponsor-name{font-size:26px;letter-spacing:1px;font-weight:850;line-height:1.1}.sponsor-name>span{color:#3c7a44}.sponsor-name small{display:block;font-size:11px;font-weight:500;letter-spacing:0;margin-top:5px}.sponsor a{font-size:11px;border-bottom:1px solid #7a9277;padding-bottom:4px}.sponsor a>span{margin-left:12px}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-top:23px;flex-wrap:wrap}.toolbar-left{display:flex;gap:9px;flex-wrap:wrap}.secondary,.text-btn,.undo{border:1px solid var(--line);border-radius:8px;color:#c9d6ca;background:#ffffff03;padding:10px 13px;font-size:12px}.text-btn{background:none;border-color:transparent;color:var(--muted)}.text-btn[aria-pressed=true]{color:var(--lime)}.small-print{font-size:10px;color:#8b9d8e;margin:10px 0 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}.section-head h2{font-size:24px;line-height:1.3;letter-spacing:-.6px;margin:5px 0 0}.timeline-section{margin-top:50px}.timeline{border-top:1px solid var(--line)}.timeline-event{display:grid;grid-template-columns:55px 36px 1fr;gap:14px;padding:20px 4px;border-bottom:1px solid #ffffff09;align-items:start}.event-minute{font-size:14px;font-weight:750;color:var(--muted);padding-top:5px;font-variant-numeric:tabular-nums}.event-icon{height:32px;width:32px;background:#ffffff05;border-radius:9px;display:grid;place-items:center;font-size:16px}.timeline-event.is-goal .event-icon{background:var(--lime);color:var(--bg)}.timeline-event.is-goal .event-minute{color:var(--lime)}.event-copy strong{font-size:14px}.event-copy small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.event-copy p{margin:7px 0 0;font-size:13px;color:#d4dfd2;overflow-wrap:anywhere}.empty{text-align:center;padding:42px 20px;color:var(--muted);font-size:13px}.empty strong{display:block;color:#d2dece;font-size:17px;margin-bottom:6px}.admin-area{border:1px solid #42603b;background:#11251b;border-radius:16px;padding:25px;margin-top:36px}.login label{display:block;font-size:12px;margin-bottom:10px}.login>div{display:flex;gap:10px}.login input{flex:1;min-width:0}.primary{background:var(--lime);color:#14291a;border:0;border-radius:8px;padding:12px 18px;font-weight:750;font-size:13px}input{background:#06190f;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:11px 12px;min-width:0}.login p,.privacy-hint{font-size:11px;color:var(--muted)}.admin-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--lime);gap:10px}.duration{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:13px 0 20px;font-size:12px;color:#bdcbbb}.duration input{width:75px}.duration small{font-size:10px;color:var(--muted)}.phase-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.phase-action{border:1px solid #416144;border-radius:9px;background:#203c2b;color:#deead9;font-weight:650;padding:14px 6px;font-size:12px}.event-options{display:flex;gap:12px;margin-top:22px}.event-options label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:6px}.event-options input[type=number]{width:95px}.note-label{flex:1}.event-teams{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.event-team h3{font-size:12px;color:#c4d1c0;margin:0 0 12px;min-height:36px}.goal-action{width:100%;background:var(--lime);color:#1c341e;border:0;border-radius:10px;padding:17px 14px;font-size:16px;text-align:left;font-weight:800}.goal-action span{float:right;opacity:.65}.away-goal{background:#c2e9ce}.small-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.small-actions button{background:#ffffff04;border:1px solid var(--line);border-radius:8px;color:#d3dfd0;padding:13px 4px;font-size:12px}.admin-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:24px;flex-wrap:wrap}.undo{color:#eac4a8;border-color:#74523a}.save-status{font-size:12px;color:var(--muted);min-height:20px;margin:15px 0 0}.save-status.error{color:#ffb494}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--lime);color:#112b17;padding:17px 24px;border-radius:12px;box-shadow:0 12px 60px #0007;font-size:16px;font-weight:750;max-width:90vw;z-index:10;text-align:center}footer{display:flex;justify-content:space-between;gap:20px;color:#819681;border-top:1px solid var(--line);padding:26px 0 35px;margin-top:60px;font-size:11px}.footer-brand{letter-spacing:1.5px;font-weight:850;color:#b2c6af}footer a:last-child{font-size:10px}@media(max-width:650px){.top{padding:20px}.back{font-size:11px}.brand{font-size:12px}.brand-mark{height:31px;width:31px;font-size:21px}main{padding:0 18px;margin-top:30px}.title-row{display:block}h1{font-size:37px}.intro{font-size:12px}.match-picker{margin-top:23px;max-width:none;min-width:0}.score-top{padding:15px;font-size:10px}.score-grid{grid-template-columns:1fr 105px 1fr;padding:26px 10px}.score strong{font-size:50px;letter-spacing:-3px}.score{gap:12px}.score>span{font-size:25px}.crest{width:54px;height:54px;border-radius:13px}.crest img{max-width:49px;max-height:49px}.team{gap:7px}.team h2{font-size:12px}.team small{font-size:8px}.clock{font-size:16px}.clock-label{font-size:9px}.score-footer{padding:13px 15px;flex-direction:column;gap:3px;font-size:10px}.sponsor{padding:15px;gap:12px;flex-wrap:wrap}.sponsor-caption{max-width:90px;font-size:8px}.sponsor-name{font-size:24px}.sponsor-name small{font-size:9px}.sponsor a{font-size:10px;margin-left:auto}.toolbar{gap:12px}.toolbar-left{width:100%}.toolbar-left>.secondary{flex:1}.small-print{line-height:1.6}.section-head h2{font-size:20px}.timeline-event{grid-template-columns:36px 30px 1fr;gap:9px}.admin-area{padding:17px}.admin-area>.section-head{align-items:start}.admin-area .tag{display:none}.phase-buttons{grid-template-columns:1fr 1fr}.event-teams{gap:10px}.goal-action{font-size:13px;padding:16px 10px}.small-actions button{font-size:11px}.event-options{gap:9px}.event-options input[type=number]{width:70px}.login>div{flex-direction:column}.admin-bottom>button{width:100%}footer{flex-wrap:wrap;gap:10px}footer>span{order:3;width:100%}.duration small{width:100%}.sponsor-name{margin-left:auto}}

.login .login-user{display:block;width:100%;margin-bottom:16px;color:#b9cbb5}

/* =========================================================
   NEXTCANTERA · ALINEACIONES POR DORSAL
   ========================================================= */

.lineup-admin{
  margin:22px 0;
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}

.lineup-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
}

.lineup-head h3{
  margin:4px 0 0;
  font-size:22px;
}

.lineup-form{
  display:grid;
  grid-template-columns:1fr .7fr 1.3fr auto auto;
  gap:10px;
  align-items:end;
  margin:18px 0 22px;
}

.lineup-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  font-weight:700;
}

.lineup-form input,
.lineup-form select{
  min-height:44px;
  border-radius:10px;
}

.lineup-form .starter-check{
  min-height:44px;
  flex-direction:row;
  align-items:center;
  padding:0 10px;
}

.lineup-form .starter-check input{
  min-height:auto;
  width:20px;
  height:20px;
}

.lineup-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.lineup-columns h4{
  margin:0 0 10px;
  font-size:15px;
}

.lineup-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.lineup-player{
  display:grid;
  grid-template-columns:52px 1fr auto 34px;
  align-items:center;
  gap:8px;
  min-height:50px;
  padding:7px 8px 7px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}

.lineup-player.is-starter{
  border-color:rgba(100,255,160,.35);
  background:rgba(40,180,100,.10);
}

.lineup-player strong{
  font-size:20px;
}

.lineup-player span{
  font-size:13px;
}

.lineup-player small{
  font-size:10px;
  font-weight:800;
  opacity:.75;
}

.lineup-player.is-starter small{
  opacity:1;
}

.lineup-remove{
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  font-size:20px;
  cursor:pointer;
}

.lineup-empty{
  display:block;
  padding:14px;
  border:1px dashed rgba(255,255,255,.15);
  border-radius:12px;
  text-align:center;
  opacity:.6;
  font-size:12px;
}

.lineup-save{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.10);
}

#starterCount{
  font-size:12px;
  font-weight:700;
}

/* MÓVIL · pensado para registrar la alineación desde el campo */
@media(max-width:700px){

  .lineup-admin{
    padding:16px;
    margin:18px 0;
  }

  .lineup-head h3{
    font-size:19px;
  }

  .lineup-form{
    grid-template-columns:1fr 1fr;
  }

  .lineup-form label:nth-child(3){
    grid-column:1 / -1;
  }

  .lineup-form .starter-check{
    justify-content:center;
  }

  #addPlayerBtn{
    min-height:48px;
  }

  .lineup-columns{
    grid-template-columns:1fr;
  }

  .lineup-player{
    grid-template-columns:54px 1fr auto 38px;
    min-height:54px;
  }

  .lineup-player strong{
    font-size:22px;
  }

  .lineup-save{
    flex-direction:column;
    align-items:stretch;
  }

  #starterCount{
    text-align:center;
  }

  #saveLineupBtn{
    width:100%;
    min-height:52px;
    font-size:15px;
  }
}

/* NEXTCANTERA · CARGA RÁPIDA CONVOCATORIA */

.quick-callup{
  margin:18px 0;
  padding:15px;
  border:1px solid rgba(200,255,90,.25);
  border-radius:14px;
  background:rgba(200,255,90,.05);
}

.quick-callup-head strong{
  display:block;
  font-size:15px;
}

.quick-callup-head small{
  display:block;
  margin-top:3px;
  opacity:.7;
}

.quick-callup-row{
  display:grid;
  grid-template-columns:130px 1fr auto;
  gap:8px;
  margin-top:12px;
}

.quick-callup-row select,
.quick-callup-row input,
.quick-callup-row button{
  min-height:46px;
}

@media(max-width:700px){

  .quick-callup-row{
    grid-template-columns:1fr 1fr;
  }

  #quickCallupNumbers{
    grid-column:1 / -1;
  }

  #quickCallupBtn{
    grid-column:1 / -1;
    min-height:50px;
  }
}

/* Tarjeta seleccionable para formar el XI */

.lineup-player{
  cursor:pointer;
  transition:
    border-color .15s ease,
    background .15s ease,
    transform .08s ease;
}

.lineup-player:active{
  transform:scale(.985);
}

.lineup-player.is-starter{
  border-color:#cfff68;
  background:rgba(207,255,104,.12);
}

.lineup-player.is-starter strong{
  color:#cfff68;
}

.lineup-player.is-starter small{
  color:#cfff68;
}

@media(max-width:700px){

  .lineup-player{
    min-height:58px;
  }

  .lineup-player strong{
    font-size:25px;
  }
}

/* NEXTCANTERA · selector rápido de jugador */
.nc-player-picker{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.72);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:12px;
}

.nc-player-sheet{
  width:min(100%,520px);
  max-height:82vh;
  overflow:auto;
  background:#102019;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px 22px 14px 14px;
  padding:18px;
  box-shadow:0 -15px 50px rgba(0,0,0,.45);
}

.nc-player-sheet-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
}

.nc-player-sheet-head small{
  color:#78ef9b;
  font-weight:800;
}

.nc-player-sheet-head h3{
  margin:5px 0 0;
  font-size:23px;
}

.nc-picker-close{
  width:42px;
  height:42px;
  border-radius:50%;
  font-size:25px;
}

.nc-picker-help{
  margin:12px 0;
  opacity:.72;
}

.nc-player-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}

.nc-player-number{
  min-height:70px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.15);
  background:#172a21;
  color:#fff;
}

.nc-player-number strong{
  display:block;
  font-size:24px;
}

.nc-player-number small{
  display:block;
  margin-top:3px;
  font-size:9px;
  opacity:.65;
}

.nc-player-number.is-starter{
  border-color:#55e881;
  background:#173d27;
}

.nc-player-number.is-starter strong{
  color:#73f39a;
}

.nc-picker-cancel{
  width:100%;
  margin-top:14px;
  min-height:46px;
}

@media(max-width:420px){
  .nc-player-grid{
    grid-template-columns:repeat(4,1fr);
  }
}

.lineup-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.lineup-toggle{
  min-height:36px;
  padding:7px 11px;
  font-size:12px;
}

/* =========================================================
   NEXTCANTERA · CONTROLES RÁPIDOS DURANTE EL PARTIDO
   ========================================================= */

.event-team{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.035);
}

.event-team h3{
  margin:0 0 12px;
  font-size:1rem;
  font-weight:800;
  text-align:center;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.07);
}

/* Gol: acción principal */
.event-team button[data-kind="goal"]{
  min-height:62px;
  font-size:1.05rem;
  font-weight:900;
  border:2px solid #39e58c;
  background:rgba(57,229,140,.16);
}

/* Cambio */
.event-team button[data-kind="substitution"]{
  border:1px solid #4ca6ff;
  background:rgba(76,166,255,.14);
}

/* Ocasión */
.event-team button[data-kind="chance"]{
  border:1px solid #ff9f43;
  background:rgba(255,159,67,.14);
}

/* Amarilla */
.event-team button[data-kind="yellow"]{
  border:1px solid #ffd43b;
  background:rgba(255,212,59,.13);
}

/* Roja */
.event-team button[data-kind="red"]{
  border:1px solid #ff5d6c;
  background:rgba(255,93,108,.14);
}

/* Botones secundarios más fáciles de pulsar */
.event-team .small-actions button{
  min-height:52px;
  font-weight:800;
}

/* Separación entre los dos equipos */
.event-teams{
  gap:16px;
}

/* En móvil priorizamos botones grandes */
@media (max-width:700px){

  .event-teams{
    display:block;
  }

  .event-team{
    margin-bottom:18px;
  }

  .event-team .small-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }

  .event-team button{
    width:100%;
  }
}

/* NEXTCANTERA · contraste alto controles de partido */

.event-team button,
.event-team button strong,
.event-team button span{
  color:#f7faef !important;
  opacity:1 !important;
  -webkit-text-fill-color:#f7faef !important;
}

.event-team button[data-kind="goal"]{
  color:#ffffff !important;
  font-weight:900 !important;
}

.event-team button[data-kind="goal"] span{
  color:#ffffff !important;
  font-weight:900 !important;
}

.event-team button[data-kind="chance"],
.event-team button[data-kind="substitution"],
.event-team button[data-kind="yellow"],
.event-team button[data-kind="red"]{
  color:#ffffff !important;
  font-weight:800 !important;
}

/* También cuando el botón está disponible durante el partido */
.event-team button:not(:disabled){
  opacity:1 !important;
}

/* Desactivado: visible pero claramente inactivo */
.event-team button:disabled{
  color:rgba(247,250,239,.42) !important;
  -webkit-text-fill-color:rgba(247,250,239,.42) !important;
}

/* =========================================================
   NEXTCANTERA · PANEL DE EDICIÓN COMPACTO
   Solo se activa con la clase nc-control-panel
   ========================================================= */

body.nc-control-panel main{
  padding-top:18px;
}

/* Cabecera comercial del directo: fuera del panel de control */
body.nc-control-panel .eyebrow,
body.nc-control-panel .title-row > div:first-child,
body.nc-control-panel .sponsor,
body.nc-control-panel .toolbar,
body.nc-control-panel .small-print{
  display:none !important;
}

/* Selector de partido compacto */
body.nc-control-panel .title-row{
  display:block;
  margin-bottom:12px;
}

body.nc-control-panel .match-picker{
  width:100%;
  max-width:none;
  margin:0;
}

body.nc-control-panel .match-picker label{
  font-size:.72rem;
  margin-bottom:6px;
}

/* Marcador bastante más pequeño en el panel */
body.nc-control-panel .scoreboard{
  margin-top:12px;
  margin-bottom:16px;
}

body.nc-control-panel .score-top{
  padding:12px 16px;
}

body.nc-control-panel .score-grid{
  padding:14px 12px;
}

body.nc-control-panel .crest{
  width:48px;
  height:48px;
  font-size:1.25rem;
}

body.nc-control-panel .team h2{
  font-size:.88rem;
  margin-top:5px;
}

body.nc-control-panel .score{
  font-size:3rem;
  line-height:1;
}

body.nc-control-panel .clock{
  margin-top:7px;
  font-size:1.35rem;
}

body.nc-control-panel .clock-label{
  font-size:.72rem;
}

body.nc-control-panel .score-footer{
  display:none;
}

/* Mesa de control más cerca del marcador */
body.nc-control-panel .admin-area{
  margin-top:14px;
}

body.nc-control-panel .admin-area > .section-head{
  margin-bottom:12px;
}

body.nc-control-panel .admin-area > .section-head h2{
  font-size:1.35rem;
}

/* En móvil, todavía más compacto */
@media (max-width:700px){

  body.nc-control-panel main{
    padding-left:14px;
    padding-right:14px;
  }

  body.nc-control-panel .score-grid{
    grid-template-columns:1fr auto 1fr;
    gap:8px;
  }

  body.nc-control-panel .crest{
    width:42px;
    height:42px;
  }

  body.nc-control-panel .team small{
    font-size:.6rem;
  }

  body.nc-control-panel .team h2{
    font-size:.78rem;
    line-height:1.15;
  }

  body.nc-control-panel .score{
    font-size:2.6rem;
  }
}

/* =========================================================
   NEXTCANTERA · PANEL OPERATIVO COMPACTO v2
   ========================================================= */

/* Cabecera de la web mucho más pequeña */
body.nc-control-panel header{
  min-height:auto !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
}

/* Selector: quitamos título y reducimos espacios */
body.nc-control-panel .match-picker label{
  display:none !important;
}

body.nc-control-panel .match-picker select{
  min-height:48px;
  padding-top:8px;
  padding-bottom:8px;
}

body.nc-control-panel .title-row{
  margin-top:8px !important;
  margin-bottom:8px !important;
}

/* Aviso demo: una línea discreta */
body.nc-control-panel #demoNotice{
  padding:8px 12px !important;
  margin:8px 0 10px !important;
  min-height:auto !important;
  font-size:.72rem !important;
  line-height:1.25 !important;
}

body.nc-control-panel #demoNotice{
  font-size:0 !important;
}

body.nc-control-panel #demoNotice::after{
  content:"⚠ DEMO · los eventos no afectan al partido real";
  font-size:.72rem;
}

/* Marcador operativo, no escaparate */
body.nc-control-panel .scoreboard{
  margin:8px 0 10px !important;
}

body.nc-control-panel .score-top{
  padding:7px 12px !important;
}

body.nc-control-panel .score-grid{
  padding:9px 10px !important;
  min-height:0 !important;
}

body.nc-control-panel .crest{
  display:none !important;
}

body.nc-control-panel .score{
  font-size:2.45rem !important;
}

body.nc-control-panel .clock{
  font-size:1.2rem !important;
  margin-top:4px !important;
}

body.nc-control-panel .clock-label{
  display:none !important;
}

body.nc-control-panel .team h2{
  font-size:.72rem !important;
  margin:3px 0 0 !important;
}

body.nc-control-panel .team small{
  font-size:.55rem !important;
}

body.nc-control-panel #competition{
  font-size:.68rem !important;
}

/* Mesa de control: quitamos encabezado grande */
body.nc-control-panel .admin-area{
  margin-top:10px !important;
  padding-top:12px !important;
}

body.nc-control-panel .admin-area > .section-head{
  display:none !important;
}

body.nc-control-panel .admin-heading{
  margin-bottom:8px !important;
}

/* Durante el partido no necesitamos ocupar espacio con duración */
body.nc-control-panel .duration{
  margin:6px 0 10px !important;
}

/* Si el partido ya está en marcha, JS añadirá esta clase */
body.nc-control-panel.nc-match-running .duration{
  display:none !important;
}

/* Alineación/preparación mucho más compacta */
body.nc-control-panel .lineup-admin{
  margin:8px 0 12px !important;
  padding:10px 12px !important;
}

body.nc-control-panel .lineup-head{
  margin:0 !important;
}

body.nc-control-panel .lineup-head .label{
  display:none !important;
}

body.nc-control-panel .lineup-head h3{
  font-size:1rem !important;
  margin:0 !important;
}

body.nc-control-panel .lineup-toggle{
  min-height:38px !important;
  padding:7px 10px !important;
  font-size:.78rem !important;
}

/* Controles de fase algo más compactos */
body.nc-control-panel .phase-buttons{
  margin-top:8px !important;
  gap:7px !important;
}

body.nc-control-panel .phase-buttons button{
  min-height:44px !important;
}

/* Minuto/detalle ocupan menos antes de las acciones */
body.nc-control-panel .event-options{
  margin-top:10px !important;
  margin-bottom:7px !important;
}

body.nc-control-panel .privacy-hint{
  font-size:.68rem !important;
  line-height:1.25 !important;
  margin:5px 0 9px !important;
}


/* =========================================================
   NEXTCANTERA · MODO PARTIDO
   Durante el juego priorizamos SOLO acciones rápidas
   ========================================================= */

/* En partido ocultamos información administrativa */
body.nc-control-panel.nc-match-running .admin-heading{
  display:none !important;
}

/* Alineación completa fuera de la vista operativa */
body.nc-control-panel.nc-match-running .lineup-admin{
  display:none !important;
}

/* Minuto manual y detalle quedan disponibles fuera del modo partido.
   Durante el juego usamos minuto automático y selectores específicos. */
body.nc-control-panel.nc-match-running .event-options{
  display:none !important;
}

body.nc-control-panel.nc-match-running .privacy-hint{
  display:none !important;
}

/* La mesa queda muy pegada al marcador */
body.nc-control-panel.nc-match-running .admin-area{
  margin-top:8px !important;
  padding:10px !important;
}

/* Fases del partido: solo necesitamos destacar la acción disponible */
body.nc-control-panel.nc-match-running .phase-buttons{
  margin:0 0 10px !important;
  grid-template-columns:1fr !important;
}

body.nc-control-panel.nc-match-running .phase-buttons button:disabled{
  display:none !important;
}

body.nc-control-panel.nc-match-running .phase-buttons button:not(:disabled){
  display:block !important;
  min-height:46px !important;
  font-weight:900 !important;
}

/* Equipos más compactos */
body.nc-control-panel.nc-match-running .event-team{
  padding:10px !important;
  margin-bottom:10px !important;
}

body.nc-control-panel.nc-match-running .event-team h3{
  padding:6px 8px !important;
  margin-bottom:8px !important;
  font-size:.88rem !important;
}

/* Gol protagonista pero sin desperdiciar altura */
body.nc-control-panel.nc-match-running .event-team button[data-kind="goal"]{
  min-height:54px !important;
}

/* Resto de acciones compactas y fáciles de pulsar */
body.nc-control-panel.nc-match-running .event-team .small-actions button{
  min-height:46px !important;
}

/* Acciones administrativas al final, discretas */
body.nc-control-panel.nc-match-running .admin-bottom{
  margin-top:8px !important;
}

body.nc-control-panel.nc-match-running #commentBtn{
  display:none !important;
}

body.nc-control-panel.nc-match-running #undoBtn{
  min-height:40px !important;
  font-size:.78rem !important;
}

body.nc-control-panel.nc-match-running .save-status{
  font-size:.68rem !important;
  margin:5px 0 0 !important;
}

/* Timeline también más cerca */
body.nc-control-panel.nc-match-running .timeline-section{
  margin-top:16px !important;
}

@media (max-width:700px){

  body.nc-control-panel.nc-match-running .event-team .small-actions{
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }

  body.nc-control-panel.nc-match-running .event-teams{
    margin-top:0 !important;
  }
}


/* =========================================================
   NEXTCANTERA · SEGUIMIENTO COLABORATIVO
   ========================================================= */

.community-area{
  max-width:1000px;
  margin:18px auto;
  padding:22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.045);
}

.community-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.community-head h2{
  margin:4px 0 5px;
  font-size:clamp(22px,4vw,30px);
}

.community-head p{
  margin:0;
  max-width:620px;
  opacity:.72;
  line-height:1.45;
}

.community-shield{
  flex:none;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  background:rgba(70,220,140,.12);
  border:1px solid rgba(70,220,140,.28);
}

.community-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.community-goal{
  min-height:86px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  text-align:left;
  padding:15px 17px;
  border-radius:16px;
}

.community-goal > span{
  grid-row:1 / 3;
  align-self:center;
  font-size:26px;
}

.community-goal strong{
  font-size:17px;
}

.community-goal small{
  opacity:.7;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.community-phase-actions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:9px;
}

.community-phase-actions button{
  min-height:44px;
}

.community-pending{
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  background:rgba(255,190,40,.09);
  border:1px solid rgba(255,190,40,.25);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.community-pending[hidden]{
  display:none;
}

.community-pending > div{
  display:flex;
  align-items:center;
  gap:10px;
}

.community-pending small{
  display:block;
  margin-top:2px;
  opacity:.72;
}

.community-pulse{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ffc247;
  box-shadow:0 0 0 5px rgba(255,194,71,.12);
}

#communityConfirmBtn{
  flex:none;
  min-height:42px;
  padding:0 16px;
  border-radius:12px;
  font-weight:800;
}

.community-note{
  margin:12px 2px 0;
  font-size:12px;
  opacity:.58;
}

@media(max-width:640px){
  .community-area{
    padding:17px;
    border-radius:18px;
  }

  .community-head{
    display:block;
  }

  .community-shield{
    display:inline-block;
    margin-top:12px;
  }

  .community-actions{
    grid-template-columns:1fr 1fr;
  }

  .community-goal{
    min-height:78px;
    padding:12px;
  }

  .community-goal > span{
    font-size:22px;
  }

  .community-goal strong{
    font-size:15px;
  }

  .community-phase-actions{
    grid-template-columns:1fr 1fr 1fr;
  }

  .community-pending{
    align-items:stretch;
    flex-direction:column;
  }

  #communityConfirmBtn{
    width:100%;
  }
}


/* =========================================================
   NEXTCANTERA · COLORES ACCIONES COLABORATIVAS
   ========================================================= */

/* GOLES · VERDE */
.community-goal{
  background:linear-gradient(135deg,rgba(25,170,100,.24),rgba(12,95,65,.30)) !important;
  border:1px solid rgba(70,225,145,.55) !important;
  color:#fff !important;
}

.community-goal strong{
  color:#69e7a3 !important;
}

.community-goal small{
  color:#d9f8e7 !important;
}

/* INICIO · AZUL */
.community-phase-actions button[data-community-kind="kickoff"]{
  background:rgba(45,135,230,.20) !important;
  border:1px solid rgba(75,160,255,.55) !important;
  color:#9dceff !important;
}

/* DESCANSO · ÁMBAR */
.community-phase-actions button[data-community-kind="halftime"]{
  background:rgba(230,155,30,.20) !important;
  border:1px solid rgba(255,190,65,.60) !important;
  color:#ffd078 !important;
}

/* FINAL · ROJO */
.community-phase-actions button[data-community-kind="fulltime"]{
  background:rgba(215,65,65,.19) !important;
  border:1px solid rgba(255,100,100,.55) !important;
  color:#ff9a9a !important;
}

/* CONFIRMAR · VERDE MÁS INTENSO */
#communityConfirmBtn{
  background:#52d98c !important;
  border-color:#52d98c !important;
  color:#071b12 !important;
}

/* Pulsación clara en móvil */
.community-goal:active,
.community-phase-actions button:active{
  transform:scale(.97);
}


/* Estado de botones colaborativos */
.community-actions button[hidden],
.community-phase-actions button[hidden]{
  display:none !important;
}

.community-finished .community-actions,
.community-finished .community-phase-actions{
  display:none;
}

.community-finished .community-note{
  margin-top:0;
}


/* SEGUNDA PARTE · AZUL */
.community-phase-actions button[data-community-kind="second_half"]{
  background:rgba(45,135,230,.20) !important;
  border:1px solid rgba(75,160,255,.55) !important;
  color:#9dceff !important;
}
