/**
 * Matchmaking para Veladas — sistema de diseño.
 * Estética elegante negro/grafito (grises), con ROJO y AZUL reservados para las
 * esquinas del combate. Sombras neutras, hairlines finas, mucho aire.
 */

:root {
	--mm-bg:        #0a0a0c;
	--mm-bg-2:      #0d0d10;
	--mm-surface:   #151517;
	--mm-surface-2: #1a1a1e;
	--mm-elev:      #202025;
	--mm-elev-2:    #26262c;
	--mm-line:      rgba(255,255,255,.09);
	--mm-line-2:    rgba(255,255,255,.05);
	--mm-text:      #f3f3f5;
	--mm-muted:     #9a9aa4;
	--mm-faint:     #6a6a74;

	--mm-red:       #ff3b3b;
	--mm-red-soft:  #ff6b6b;
	--mm-red-bg:    rgba(255,59,59,.10);
	--mm-red-line:  rgba(255,59,59,.38);

	--mm-blue:      #3a8dff;
	--mm-blue-soft: #74b0ff;
	--mm-blue-bg:   rgba(58,141,255,.10);
	--mm-blue-line: rgba(58,141,255,.38);

	--mm-green:     #34d399;
	--mm-yellow:    #eac25a;
	--mm-amber:     #f0a43a;

	--mm-shadow:    0 14px 44px rgba(0,0,0,.55);
	--mm-shadow-sm: 0 6px 20px rgba(0,0,0,.4);
	--mm-radius:    16px;
	--mm-radius-sm: 11px;
	--mm-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
}

.mm-neon, .mm-neon * { box-sizing: border-box; }
.mm-neon {
	background:
		radial-gradient(1100px 620px at 50% -18%, #17171c 0%, rgba(23,23,28,0) 60%),
		var(--mm-bg);
	color: var(--mm-text);
	font-family: var(--mm-font);
	line-height: 1.55;
	padding: 26px;
	border-radius: var(--mm-radius);
	-webkit-font-smoothing: antialiased;
}
.wrap.mm-neon { margin: 16px 20px 40px 2px; }

/* -------------------------------------------------------------- Tipografía */
.mm-title { font-weight: 800; letter-spacing: -.02em; font-size: 30px; margin: 0 0 12px; color: #fff; }
.mm-subtitle { font-weight: 700; letter-spacing: .2px; font-size: 17px; margin: 0 0 14px; color: #fff; }
.mm-glow { color: var(--mm-muted); font-weight: 500; }
.mm-lead { color: var(--mm-muted); font-size: 15px; max-width: 720px; }
.mm-muted { color: var(--mm-muted); font-size: 13px; }

/* ------------------------------------------------------------- Botones */
.mm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-weight: 600; letter-spacing: .2px; font-size: 13.5px;
	padding: 11px 18px; border-radius: 11px;
	border: 1px solid var(--mm-line);
	background: linear-gradient(180deg, var(--mm-elev-2), var(--mm-elev));
	color: #fff; cursor: pointer; text-decoration: none;
	transition: transform .14s ease, border-color .14s ease, background .14s ease, box-shadow .14s ease;
}
.mm-btn:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.24); color: #fff; box-shadow: var(--mm-shadow-sm); }
.mm-btn:active { transform: translateY(0); }
.mm-btn--sm { padding: 7px 12px; font-size: 12px; border-radius: 9px; }
.mm-btn--lg { padding: 14px 24px; font-size: 15px; border-radius: 13px; }
.mm-btn--ghost { background: transparent; border-color: var(--mm-line); color: var(--mm-muted); }
.mm-btn--ghost:hover { color: #fff; border-color: rgba(255,255,255,.24); box-shadow: none; }
.mm-btn--red { background: linear-gradient(180deg, #ff4d4d, #e5292a); border-color: transparent; color: #fff; }
.mm-btn--red:hover { box-shadow: 0 8px 26px rgba(255,59,59,.35); }
.mm-btn--blue { background: linear-gradient(180deg, #4d97ff, #2f78e6); border-color: transparent; color: #fff; }
.mm-btn--blue:hover { box-shadow: 0 8px 26px rgba(58,141,255,.35); }
.mm-btn--green { background: linear-gradient(180deg, #3ddba4, #16b981); border-color: transparent; color: #05261b; }
.mm-btn--green:hover { box-shadow: 0 8px 26px rgba(52,211,153,.32); }
.mm-btn[disabled] { opacity: .5; cursor: not-allowed; }
.mm-btn .dashicons { font-size: 17px; width: 17px; height: 17px; }

/* -------------------------------------------------------------- Panel */
.mm-panel { background: linear-gradient(160deg, var(--mm-surface), var(--mm-bg-2)); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); padding: 24px; margin-bottom: 22px; box-shadow: var(--mm-shadow-sm); }

/* -------------------------------------------------------------- Badges */
.mm-badge { display: inline-flex; align-items: center; font-size: 10.5px; font-weight: 700; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--mm-line); background: var(--mm-elev); color: var(--mm-muted); text-transform: uppercase; letter-spacing: .5px; }
.mm-badge--amateur { color: #b9f5dd; border-color: rgba(52,211,153,.35); background: rgba(52,211,153,.08); }
.mm-badge--neo { color: #f3e0a3; border-color: rgba(234,194,90,.35); background: rgba(234,194,90,.08); }
.mm-badge--profesional { color: #ffd7d7; border-color: var(--mm-red-line); background: var(--mm-red-bg); }
.mm-badge--exhib { color: #ffd9ad; border-color: rgba(240,164,58,.45); background: rgba(240,164,58,.1); }
.mm-badge--f { color: var(--mm-blue-soft); border-color: var(--mm-blue-line); background: var(--mm-blue-bg); }

/* -------------------------------------------------------------- Tags */
.mm-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mm-tag { display: inline-block; font-size: 11px; padding: 3px 9px; border-radius: 8px; border: 1px solid var(--mm-line); background: var(--mm-elev); color: #cfcfd6; }

/* -------------------------------------------------------------- Forms */
.mm-form label, .mm-field-grid label, .mm-field-full { display: block; margin-bottom: 15px; }
.mm-form label > span, .mm-field-grid label > span, .mm-field-full > span { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .5px; color: var(--mm-muted); margin-bottom: 7px; }
.mm-neon input[type=text], .mm-neon input[type=email], .mm-neon input[type=url], .mm-neon input[type=password],
.mm-neon input[type=number], .mm-neon input[type=search], .mm-neon input[type=date], .mm-neon input[type=time],
.mm-neon input[type=file], .mm-neon select, .mm-neon textarea {
	width: 100%; box-sizing: border-box;
	height: 46px !important; min-height: 46px !important; line-height: 1.3;
	background: var(--mm-elev); border: 1px solid var(--mm-line); border-radius: 11px; color: #fff;
	padding: 8px 13px; font-size: 14px; font-family: var(--mm-font);
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.mm-neon textarea { height: auto !important; min-height: 66px !important; padding-top: 11px; }
.mm-neon select {
	-webkit-appearance: none; -moz-appearance: none; appearance: none; padding-right: 34px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239a9aa4' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 13px center; background-size: 11px 7px;
}
.mm-neon input:focus, .mm-neon select:focus, .mm-neon textarea:focus { outline: none; border-color: rgba(255,255,255,.32); background: var(--mm-elev-2); box-shadow: 0 0 0 3px rgba(255,255,255,.06); }
.mm-neon input::placeholder, .mm-neon textarea::placeholder { color: var(--mm-faint); }
.mm-neon input[type=number] { -moz-appearance: textfield; appearance: textfield; }
.mm-neon input[type=number]::-webkit-outer-spin-button,
.mm-neon input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mm-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.mm-field-grid .mm-field-full, .mm-field-full { grid-column: 1 / -1; }
.mm-check { display: flex; align-items: center; gap: 9px; margin: 12px 0; }
.mm-check input { width: auto; height: auto !important; min-height: 0 !important; }

/* -------------------------------------------------------------- Notices */
.mm-notice { border-radius: 12px; padding: 13px 16px; margin-bottom: 18px; border: 1px solid var(--mm-line); font-size: 14px; background: var(--mm-surface); }
.mm-notice--ok { border-color: rgba(52,211,153,.4); background: rgba(52,211,153,.07); color: #9df0cf; }
.mm-notice--error { border-color: var(--mm-red-line); background: var(--mm-red-bg); color: var(--mm-red-soft); }
.mm-notice--warn { border-color: rgba(240,164,58,.45); background: rgba(240,164,58,.08); color: #ffcf9a; }

/* --------------------------------------------------------- Soon / empty */
.mm-loginwrap { display: flex; justify-content: center; }
.mm-soon { text-align: center; max-width: 560px; margin: 20px auto; background: linear-gradient(160deg, var(--mm-surface), var(--mm-bg-2)); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); padding: 46px 34px; box-shadow: var(--mm-shadow-sm); }
.mm-soon__ic { font-size: 50px; width: 50px; height: 50px; color: var(--mm-muted); }

/* ---------------------------------------- Pantalla de acceso (banda neón central)
   Mismo diseño que el plugin «Recortes de Peso»: banda central 100% negra (de
   izquierda a derecha) con halo neón y botones neón. NO ocupa toda la pantalla:
   la cabecera/menú del tema queda arriba y el pie abajo, como el resto del panel. */
.mm-gate-wrap {
	position: relative; overflow: hidden; text-align: center;
	display: flex; align-items: center; justify-content: center; min-height: 62vh;
}
.mm-gate-glow {
	position: absolute; top: 50%; left: 50%; width: min(720px, 92vw); aspect-ratio: 1;
	transform: translate(-50%, -50%); pointer-events: none; z-index: 0; filter: blur(20px);
	background: radial-gradient(circle, rgba(255,59,59,.22) 0%, rgba(255,59,59,.06) 38%, transparent 66%);
	animation: mm-gate-pulse 5.5s ease-in-out infinite;
}
@keyframes mm-gate-pulse {
	0%, 100% { opacity: .75; transform: translate(-50%, -50%) scale(1); }
	50%      { opacity: 1;   transform: translate(-50%, -50%) scale(1.08); }
}
.mm-gate {
	position: relative; z-index: 1; width: 100%; max-width: 560px;
	background: none; border: 0; padding: 0; box-shadow: none; overflow: visible;
}
.mm-gate__kicker {
	display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .32em;
	text-transform: uppercase; color: var(--mm-red-soft); margin-bottom: 22px;
	text-shadow: 0 0 18px rgba(255,59,59,.55);
}
.mm-gate__title {
	font-family: 'Space Grotesk', var(--mm-font); font-weight: 700;
	font-size: clamp(34px, 6vw, 56px); line-height: 1.02; letter-spacing: -.03em;
	margin: 0 0 20px; color: #fff;
	text-shadow: 0 0 30px rgba(255,59,59,.35), 0 0 70px rgba(255,59,59,.18);
}
.mm-gate__sub { color: #c5c5d0; font-size: clamp(15px, 1.8vw, 17px); line-height: 1.7; margin: 0 auto 40px; max-width: 460px; }
.mm-gate__actions { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; margin-bottom: 36px; }

.mm-neon-btn {
	--glow: 255,59,59; position: relative; display: inline-flex; align-items: center; justify-content: center;
	flex: 1 1 190px; max-width: 240px; min-height: 58px; padding: 17px 30px; border-radius: 15px;
	font-family: 'Space Grotesk', var(--mm-font); font-weight: 600; font-size: 16px;
	letter-spacing: .01em; text-decoration: none; cursor: pointer;
	transition: transform .18s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.mm-neon-btn span { position: relative; z-index: 2; }
.mm-neon-btn:active { transform: translateY(0) scale(.985); }
.mm-neon-btn--primary {
	color: #fff; border: 1px solid rgba(255,120,110,.6);
	background: linear-gradient(135deg, #ff3b3b 0%, #e11414 100%);
	box-shadow: 0 0 0 1px rgba(var(--glow),.35), 0 10px 34px rgba(var(--glow),.45), 0 0 24px rgba(var(--glow),.5), inset 0 1px 0 rgba(255,255,255,.28);
	text-shadow: 0 1px 8px rgba(120,0,0,.45);
}
.mm-neon-btn--primary:hover {
	transform: translateY(-3px);
	box-shadow: 0 0 0 1px rgba(var(--glow),.5), 0 16px 46px rgba(var(--glow),.6), 0 0 46px rgba(var(--glow),.75), inset 0 1px 0 rgba(255,255,255,.35);
}
.mm-neon-btn--ghost {
	color: #ff6a5e; background: rgba(255,59,59,.04); border: 1.5px solid rgba(var(--glow),.55);
	box-shadow: 0 0 22px rgba(var(--glow),.18), inset 0 0 22px rgba(var(--glow),.09);
	text-shadow: 0 0 14px rgba(var(--glow),.6);
}
.mm-neon-btn--ghost:hover {
	transform: translateY(-3px); color: #fff; background: rgba(255,59,59,.14); border-color: rgba(var(--glow),.9);
	box-shadow: 0 0 0 1px rgba(var(--glow),.5), 0 14px 40px rgba(var(--glow),.4), 0 0 40px rgba(var(--glow),.55), inset 0 0 26px rgba(var(--glow),.14);
}
.mm-gate__foot { color: var(--mm-faint); font-size: 12.5px; line-height: 1.6; margin: 0 auto; max-width: 420px; }
@media (max-width: 460px) {
	.mm-gate__actions { flex-direction: column; gap: 14px; }
	.mm-neon-btn { max-width: none; width: 100%; }
}
/* El gate NO ocupa toda la pantalla (banda central): anula el min-height:100vh que
   body.mm-full aplica al resto del front, dejando cabecera y pie del tema visibles. */
body.mm-full .mm-gate-wrap.mm-front.mm-neon {
	min-height: 62vh;
	padding-top: clamp(40px, 6vw, 88px); padding-bottom: clamp(40px, 6vw, 88px);
}

/* ============================================================= APP LAYOUT */
.mm-app { display: block; }
.mm-app__loading { display: flex; align-items: center; gap: 10px; color: var(--mm-muted); padding: 60px; justify-content: center; }
.mm-spin { animation: mm-spin 1s linear infinite; }
@keyframes mm-spin { to { transform: rotate(360deg); } }

.mm-layout { display: grid; grid-template-columns: 316px 1fr; gap: 26px; align-items: start; max-width: 1360px; margin: 0 auto; }
@media (max-width: 960px) { .mm-layout { grid-template-columns: 1fr; } }

/* ------------------------------------------------------ Sidebar veladas */
.mm-veladas { background: linear-gradient(180deg, var(--mm-surface), var(--mm-bg-2)); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); padding: 18px 14px; position: sticky; top: 20px; box-shadow: var(--mm-shadow-sm); }
.mm-veladas__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; padding: 2px 6px 0; }
.mm-veladas__head h3 { margin: 0; font-weight: 700; font-size: 13px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--mm-muted); }
.mm-velada-item { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; background: transparent; border: 1px solid transparent; border-radius: 13px; padding: 12px 14px 12px 16px; margin-bottom: 8px; cursor: pointer; color: var(--mm-text); transition: background .15s ease, border-color .15s ease; }
.mm-velada-item__cartel { flex: none; width: 42px; height: 56px; border-radius: 8px; overflow: hidden; border: 1px solid var(--mm-line); background: var(--mm-elev); cursor: zoom-in; transition: transform .15s ease, border-color .15s ease; }
.mm-velada-item__cartel:hover { transform: scale(1.05); border-color: rgba(255,255,255,.32); }
.mm-velada-item__cartel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mm-velada-item__content { min-width: 0; flex: 1; display: block; }
.mm-velada-item:hover { background: var(--mm-surface-2); }
.mm-velada-item.is-active { background: var(--mm-elev); border-color: var(--mm-line); }
.mm-velada-item.is-active::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 0 3px 3px 0; background: linear-gradient(180deg, var(--mm-red), var(--mm-blue)); }
.mm-velada-item__name { display: block; font-weight: 700; font-size: 15px; color: #fff; }
.mm-velada-item__meta { font-size: 12px; color: var(--mm-muted); margin-top: 4px; display: flex; flex-wrap: wrap; gap: 4px 10px; }
.mm-empty { text-align: center; color: var(--mm-muted); padding: 30px 12px; font-size: 13px; line-height: 1.6; }

/* ------------------------------------------------------ Cabecera velada */
.mm-vhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 8px; }
.mm-vhead__main { display: flex; gap: 16px; align-items: flex-start; min-width: 0; }
.mm-vhead__title { font-weight: 800; letter-spacing: -.02em; font-size: 26px; color: #fff; margin: 0; line-height: 1.1; }
.mm-vhead__meta { display: flex; flex-wrap: wrap; gap: 7px 18px; color: var(--mm-muted); font-size: 13px; margin-top: 8px; }
.mm-vhead__meta .dashicons { font-size: 15px; width: 15px; height: 15px; vertical-align: text-bottom; color: var(--mm-faint); }
.mm-vhead__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Cartel de la velada (miniatura + ampliar) */
.mm-cartel-thumb { flex: none; width: 62px; height: 84px; border-radius: 10px; overflow: hidden; border: 1px solid var(--mm-line); background: var(--mm-elev); cursor: zoom-in; position: relative; box-shadow: var(--mm-shadow-sm); transition: transform .15s ease, border-color .15s ease; }
.mm-cartel-thumb:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.28); }
.mm-cartel-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mm-cartel-thumb__z { position: absolute; right: 4px; bottom: 4px; width: 20px; height: 20px; border-radius: 6px; background: rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center; color: #fff; }
.mm-cartel-thumb__z .dashicons { font-size: 13px; width: 13px; height: 13px; }
.mm-cartel-add { flex: none; width: 62px; height: 84px; border-radius: 10px; border: 1px dashed var(--mm-line); background: var(--mm-elev); color: var(--mm-faint); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; font-size: 10px; text-align: center; transition: border-color .15s ease, color .15s ease; }
.mm-cartel-add:hover { border-color: rgba(255,255,255,.3); color: var(--mm-muted); }
.mm-cartel-add .dashicons { font-size: 20px; width: 20px; height: 20px; }

/* Lightbox */
.mm-lightbox { position: fixed; inset: 0; z-index: 100002; background: rgba(0,0,0,.9); display: flex; align-items: center; justify-content: center; padding: 40px; cursor: zoom-out; }
.mm-lightbox img { max-width: 92vw; max-height: 90vh; border-radius: 12px; box-shadow: 0 30px 90px rgba(0,0,0,.7); }

/* ------------------------------------------------------ Tarjeta combate */
.mm-bouts { display: flex; flex-direction: column; gap: 18px; margin: 22px 0 26px; }
.mm-bout { background: linear-gradient(160deg, var(--mm-surface), var(--mm-bg-2)); border: 1px solid var(--mm-line); border-radius: 18px; padding: 20px; box-shadow: var(--mm-shadow-sm); }
.mm-bout.is-exhib { border-color: rgba(240,164,58,.4); }
.mm-bout__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.mm-bout__order { font-weight: 800; color: #fff; font-size: 14px; letter-spacing: .3px; }
.mm-bout__order span { color: var(--mm-faint); font-weight: 600; }
.mm-bout__badges { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.mm-bout__del { background: none; border: 0; color: var(--mm-faint); cursor: pointer; display: inline-flex; padding: 4px; border-radius: 8px; }
.mm-bout__del:hover { color: var(--mm-red-soft); background: var(--mm-red-bg); }

.mm-corners { display: grid; grid-template-columns: 1fr 58px 1fr; gap: 12px; align-items: stretch; }
@media (max-width: 640px) { .mm-corners { grid-template-columns: 1fr; } .mm-vs { display: none; } }
.mm-vs { display: flex; align-items: center; justify-content: center; font-weight: 900; color: var(--mm-faint); font-size: 15px; letter-spacing: 1px; }

.mm-corner { border: 1px solid var(--mm-line); border-radius: 14px; padding: 14px; display: flex; gap: 12px; align-items: center; min-height: 96px; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .1s ease; }
.mm-corner.is-empty { justify-content: center; text-align: center; font-size: 13px; font-weight: 600; }
.mm-corner--red.is-empty  { color: #ffd9d9; }
.mm-corner--blue.is-empty { color: #d3e6ff; }
.mm-corner--red.is-empty small  { color: #ffb0b0; opacity: .95; }
.mm-corner--blue.is-empty small { color: #a7caff; opacity: .95; }
/* Acento lateral por esquina */
/* La esquina SIEMPRE se ve roja (o azul), haya luchador o no. El color cubre
 * toda la tarjeta (sin desvanecer a transparente, que era lo que la dejaba gris). */
/* La esquina roja/azul SIEMPRE se ve de su color: borde de color por los 4 lados
 * (más grueso a la izquierda) y fondo del color, haya luchador o no. */
.mm-corner--red  { border: 2px solid #ff3b46; border-left: 6px solid #ff2d3c; background: linear-gradient(150deg, rgba(255,45,55,.46), rgba(150,20,28,.36)); }
.mm-corner--blue { border: 2px solid #3a8dff; border-left: 6px solid #2d7bff; background: linear-gradient(150deg, rgba(48,120,255,.46), rgba(20,60,150,.36)); }
.mm-corner--red.is-filled  { background: linear-gradient(150deg, rgba(255,50,60,.52), rgba(150,20,28,.40)); }
.mm-corner--blue.is-filled { background: linear-gradient(150deg, rgba(48,120,255,.52), rgba(20,60,150,.40)); }
.mm-corner--red.is-dragover  { background: linear-gradient(150deg, rgba(255,50,60,.62), rgba(150,20,28,.48)); }
.mm-corner--blue.is-dragover { background: linear-gradient(150deg, rgba(48,120,255,.62), rgba(20,60,150,.48)); }
.mm-corner.is-dragover { transform: translateY(-1px); }
.mm-corner--red.is-dragover { border-color: var(--mm-red); box-shadow: 0 0 0 2px var(--mm-red-bg) inset; }
.mm-corner--blue.is-dragover { border-color: var(--mm-blue); box-shadow: 0 0 0 2px var(--mm-blue-bg) inset; }

.mm-corner.is-filled { display: block; }
.mm-corner__top { display: flex; gap: 12px; align-items: flex-start; }
.mm-corner__photo { width: 60px; height: 60px; border-radius: 12px; object-fit: cover; flex: none; border: 1px solid var(--mm-line); background: var(--mm-elev); }
.mm-corner__ph { width: 60px; height: 60px; border-radius: 12px; flex: none; display: flex; align-items: center; justify-content: center; background: var(--mm-elev); border: 1px solid var(--mm-line); color: var(--mm-faint); font-size: 28px; }
.mm-corner__info { min-width: 0; flex: 1; }
.mm-corner__name { font-weight: 800; color: #fff; font-size: 15.5px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; line-height: 1.2; }
.mm-corner__palmares { font-weight: 700; font-size: 11.5px; letter-spacing: .5px; border-radius: 7px; padding: 2px 8px; }
.mm-corner--red .mm-corner__palmares { color: var(--mm-red-soft); background: var(--mm-red-bg); border: 1px solid var(--mm-red-line); }
.mm-corner--blue .mm-corner__palmares { color: var(--mm-blue-soft); background: var(--mm-blue-bg); border: 1px solid var(--mm-blue-line); }
.mm-corner__sub { font-size: 12px; color: var(--mm-muted); margin-top: 3px; }
.mm-corner__meta { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; margin-top: 6px; font-size: 12px; color: var(--mm-muted); }
.mm-corner__w { font-weight: 800; padding: 2px 8px; border-radius: 7px; }
.mm-corner--red .mm-corner__w { color: var(--mm-red-soft); background: var(--mm-red-bg); border: 1px solid var(--mm-red-line); }
.mm-corner--blue .mm-corner__w { color: var(--mm-blue-soft); background: var(--mm-blue-bg); border: 1px solid var(--mm-blue-line); }
.mm-corner__x { margin-left: auto; background: none; border: 0; color: var(--mm-faint); cursor: pointer; align-self: flex-start; flex: none; padding: 2px; border-radius: 7px; }
.mm-corner__x:hover { color: #fff; background: var(--mm-elev); }
.mm-corner__block { margin-top: 12px; display: flex; flex-direction: column; gap: 5px; }
.mm-corner__lbl { font-size: 10px; text-transform: uppercase; letter-spacing: .6px; color: var(--mm-faint); }
.mm-corner--red .mm-corner__top .mm-tag { border-color: var(--mm-red-line); color: var(--mm-red-soft); background: var(--mm-red-bg); }
.mm-corner--red .mm-corner__block .mm-tag { border-color: var(--mm-red-line); color: #ffcccc; background: var(--mm-red-bg); }
.mm-corner--blue .mm-corner__block .mm-tag { border-color: var(--mm-blue-line); color: #cfe4ff; background: var(--mm-blue-bg); }

/* ------------------------------------------------------ Parámetros */
.mm-bout__params { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--mm-line-2); }
.mm-bout__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(184px, 1fr)); gap: 16px 18px; align-items: end; }
@media (max-width: 560px) { .mm-bout__grid { grid-template-columns: repeat(2, 1fr); } }
.mm-param { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.mm-param > span { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--mm-muted); }
.mm-param select, .mm-param input { width: 100%; min-width: 0; }

.mm-stepper { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; gap: 8px; }
.mm-stepper button { height: 46px; border-radius: 11px; border: 1px solid var(--mm-line); background: var(--mm-elev); color: #fff; cursor: pointer; font-size: 18px; line-height: 1; transition: border-color .12s ease, background .12s ease; }
.mm-stepper button:hover { border-color: rgba(255,255,255,.28); background: var(--mm-elev-2); }
.mm-stepper input { width: 100% !important; min-width: 0 !important; text-align: center; font-weight: 700; }

.mm-dur { display: grid; grid-template-columns: 1fr auto 1.2fr auto; align-items: center; gap: 7px; }
.mm-dur input, .mm-dur select { width: 100%; min-width: 0; text-align: center; }
.mm-dur select { text-align: left; }
.mm-dur span { font-size: 11px; color: var(--mm-muted); }

.mm-bout__foot { display: flex; justify-content: flex-end; margin-top: 14px; }
.mm-exhib { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: .4px; color: var(--mm-faint); cursor: pointer; }
.mm-exhib:hover { color: var(--mm-muted); }
.mm-exhib input { -webkit-appearance: none; appearance: none; width: 16px; height: 16px !important; min-height: 16px !important; margin: 0; border: 1px solid var(--mm-line); border-radius: 5px; background: var(--mm-elev); cursor: pointer; position: relative; }
.mm-exhib input:checked { background: var(--mm-amber); border-color: var(--mm-amber); }
.mm-exhib input:checked::after { content: "✓"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; color: #1a1206; }

/* ------------------------------------------------------------- Pool */
.mm-pool { margin-top: 34px; }
.mm-pool__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.mm-pool__head h3 { text-transform: uppercase; font-size: 22px; letter-spacing: .04em; }
.mm-pool__filters { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: 4px; }
.mm-pool__filters input, .mm-pool__filters select { min-width: 168px; }
/* Cada ficha ocupa el ancho completo (rectángulo) y se apilan una debajo de otra. */
.mm-pool-grid { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 20px; }
.mm-pool-grid .mm-fighter { width: 100%; }
/* Distribución horizontal: identidad+peso/género a la izquierda; disciplinas y
 * modalidades a la derecha, aprovechando el ancho para no crecer en vertical. */
#mm-pool-grid .mm-fighter {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 12px 26px; align-items: start; position: relative; padding-right: 44px;
}
#mm-pool-grid .mm-fighter__left  { min-width: 0; }
#mm-pool-grid .mm-fighter__right { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
#mm-pool-grid .mm-fighter__right .mm-fighter__block { margin: 0; }
#mm-pool-grid .mm-fighter__notas { grid-column: 1 / -1; margin: 2px 0 0; }
#mm-pool-grid .mm-fighter .mm-fighter__edit { position: absolute; top: 14px; right: 14px; }
@media ( max-width: 720px ) {
	#mm-pool-grid .mm-fighter { grid-template-columns: 1fr; padding-right: 44px; }
}
.mm-fighter {
	display: flex; flex-direction: column; gap: 13px;
	background: linear-gradient(160deg, var(--mm-surface-2), var(--mm-bg-2));
	border: 1px solid var(--mm-line); border-radius: 16px; padding: 17px;
	cursor: grab; box-shadow: var(--mm-shadow-sm);
	transition: border-color .15s ease, transform .12s ease, box-shadow .15s ease;
}
.mm-fighter:hover { border-color: rgba(255,255,255,.22); transform: translateY(-2px); box-shadow: var(--mm-shadow); }
.mm-fighter.is-dragging { opacity: .5; }
.mm-fighter.is-assigned { opacity: .62; }
.mm-fighter__head { display: flex; gap: 13px; align-items: flex-start; }
.mm-fighter__photo { width: 66px; height: 66px; border-radius: 13px; object-fit: cover; flex: none; border: 1px solid var(--mm-line); background: var(--mm-elev); }
.mm-fighter__ph { width: 66px; height: 66px; border-radius: 13px; flex: none; display: flex; align-items: center; justify-content: center; background: var(--mm-elev); border: 1px solid var(--mm-line); color: var(--mm-faint); font-size: 30px; }
.mm-fighter__id { min-width: 0; flex: 1; }
.mm-fighter__name { font-weight: 800; color: #fff; font-size: 17px; line-height: 1.2; }
.mm-fighter__club { font-size: 12.5px; color: var(--mm-muted); margin-top: 3px; }
.mm-fighter__palmares { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-weight: 800; font-size: 13px; color: #fff; letter-spacing: .5px; background: var(--mm-elev); border: 1px solid var(--mm-line); border-radius: 8px; padding: 3px 9px; }
.mm-fighter__palmares .dashicons { font-size: 14px; width: 14px; height: 14px; color: var(--mm-yellow); }
.mm-fighter__edit { background: none; border: 0; color: var(--mm-faint); cursor: pointer; flex: none; padding: 4px; border-radius: 8px; }
.mm-fighter__edit:hover { color: #fff; background: var(--mm-elev); }
.mm-fighter__stats { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
.mm-fighter__stats .mm-fighter__palmares { margin-top: 0; }
.mm-fighter__w { font-weight: 800; color: #fff; font-size: 15px; background: var(--mm-elev); border: 1px solid var(--mm-line); border-radius: 9px; padding: 4px 11px; }
.mm-fighter__gen { font-size: 12px; color: var(--mm-muted); border: 1px solid var(--mm-line); border-radius: 9px; padding: 5px 11px; }
.mm-fighter__block { display: flex; flex-direction: column; gap: 6px; }
.mm-fighter__lbl { font-size: 10px; text-transform: uppercase; letter-spacing: .6px; color: var(--mm-faint); }
.mm-fighter__notas { font-size: 12px; color: var(--mm-muted); font-style: italic; border-top: 1px solid var(--mm-line-2); padding-top: 9px; }

/* --------------------------------------------------------------- Modal */
.mm-modal-back { position: fixed; inset: 0; background: rgba(0,0,0,.74); backdrop-filter: blur(4px); z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: 44px 16px; overflow-y: auto; }
.mm-modal { background: linear-gradient(165deg, var(--mm-surface), var(--mm-bg-2)); border: 1px solid var(--mm-line); border-radius: 20px; width: 100%; max-width: 620px; padding: 26px; box-shadow: var(--mm-shadow); }
.mm-modal--wide { max-width: 840px; }
.mm-modal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.mm-modal__head h3 { margin: 0; font-weight: 800; letter-spacing: -.01em; font-size: 19px; color: #fff; }
.mm-modal__x { background: none; border: 0; color: var(--mm-muted); cursor: pointer; font-size: 22px; line-height: 1; padding: 2px 6px; border-radius: 8px; }
.mm-modal__x:hover { color: #fff; background: var(--mm-elev); }
.mm-modal__foot { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; flex-wrap: wrap; }

/* Chips (disciplinas / modalidades) */
.mm-chipset { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 15px; }
.mm-chip { font-size: 12px; padding: 7px 13px; border-radius: 999px; border: 1px solid var(--mm-line); background: var(--mm-elev); color: var(--mm-muted); cursor: pointer; transition: all .12s ease; }
.mm-chip:hover { border-color: rgba(255,255,255,.28); color: #fff; }
.mm-chip.is-on { border-color: rgba(255,255,255,.5); color: #0c0c0e; background: #fff; font-weight: 600; }
.mm-chipset--grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 10px; margin-bottom: 16px; }
.mm-chipset--grid .mm-chip { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 48px; padding: 8px 12px; border-radius: 12px; font-size: 13px; font-weight: 600; width: 100%; line-height: 1.2; }
@media (max-width: 520px) { .mm-chipset--grid { grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); } }

/* Uploader de foto / cartel */
.mm-photo-up { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.mm-photo-up__preview { width: 88px; height: 88px; border-radius: 15px; object-fit: cover; border: 1px solid var(--mm-line); background: var(--mm-elev); }
.mm-photo-up__ph { width: 88px; height: 88px; border-radius: 15px; display: flex; align-items: center; justify-content: center; border: 1px dashed var(--mm-line); background: var(--mm-elev); color: var(--mm-faint); font-size: 26px; }
.mm-photo-up--cartel .mm-photo-up__preview, .mm-photo-up--cartel .mm-photo-up__ph { width: 74px; height: 100px; }

/* Generador automático */
.mm-suggests { display: flex; flex-direction: column; gap: 11px; }
.mm-suggest { display: grid; grid-template-columns: 1fr auto 1fr auto; gap: 12px; align-items: center; background: var(--mm-surface-2); border: 1px solid var(--mm-line); border-radius: 13px; padding: 12px 14px; }
.mm-suggest__f { font-size: 13px; }
.mm-suggest__f strong { color: #fff; display: block; }
.mm-suggest__f span { color: var(--mm-muted); font-size: 12px; }
.mm-suggest__vs { font-weight: 900; color: var(--mm-faint); }
.mm-suggest__diff { font-size: 11px; color: var(--mm-muted); text-align: right; }

/* --------------------------------------------------- Pie legal / RGPD */
.mm-legal-foot { margin-top: 54px; padding: 14px 2px 4px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 5px; color: var(--mm-faint); font-size: 11px; line-height: 1.5; }
.mm-legal-foot__txt { max-width: 100%; }
.mm-legal-foot__link { background: none; border: 0; color: var(--mm-muted); cursor: pointer; font: inherit; font-size: 11px; text-decoration: underline; padding: 0; }
.mm-legal-foot__link:hover { color: #fff; }

.mm-legal { max-height: 70vh; overflow-y: auto; padding-right: 8px; }
.mm-legal h4 { font-weight: 700; letter-spacing: .2px; font-size: 14px; color: #fff; margin: 22px 0 6px; }
.mm-legal h4:first-child { margin-top: 0; }
.mm-legal p, .mm-legal li { font-size: 13px; color: #c9c9d0; line-height: 1.65; }
.mm-legal ul { margin: 6px 0 6px 18px; }
.mm-legal .mm-legal__lead { color: var(--mm-muted); }

/* ============================================ PANTALLA COMPLETA NEGRA */
body.mm-page { background: var(--mm-bg) !important; }
body.mm-full .mm-front.mm-neon {
	max-width: none; width: 100vw;
	margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
	border-radius: 0; min-height: 100vh;
	padding: 44px max(20px, calc(50vw - 700px));
}
@media (max-width: 782px) { body.mm-full .mm-front.mm-neon { padding: 24px 16px 40px; } }
body.mm-full #primary, body.mm-full .content-area, body.mm-full .site-content,
body.mm-full #content, body.mm-full .content-wrap, body.mm-full .entry-content,
body.mm-full .wp-block-post-content, body.mm-full main {
	width: 100% !important; max-width: 100% !important;
	margin-left: 0 !important; margin-right: 0 !important;
	padding-left: 0 !important; padding-right: 0 !important; float: none !important;
}
body.mm-full #secondary, body.mm-full .widget-area, body.mm-full .sidebar,
body.mm-full #sidebar, body.mm-full aside.sidebar, body.mm-full .sidebar-primary,
body.mm-full .wp-block-sidebar { display: none !important; }

/* ------------------------------------------------- NO COMPARTIR */
body.mm-noshare .sharedaddy, body.mm-noshare .sd-sharing, body.mm-noshare .jp-relatedposts,
body.mm-noshare .addtoany_share_save_container, body.mm-noshare .a2a_kit,
body.mm-noshare .swp_social_panel, body.mm-noshare .swp_social_panelSide,
body.mm-noshare .heateor_sss_sharing_container, body.mm-noshare .heateorSssSharingContainer,
body.mm-noshare .shareaholic-canvas, body.mm-noshare .mashsb-container,
body.mm-noshare .social-warfare, body.mm-noshare .sharethis-inline-share-buttons,
body.mm-noshare .essb_links, body.mm-noshare .ess-widget,
body.mm-noshare [class*="share-buttons"], body.mm-noshare [class*="social-share"] { display: none !important; }

.mm-print-only { display: none; }

/* ======================================================================
 * Reordenar combates (Mejora 1)
 * =================================================================== */
.mm-bout__ordwrap { display: inline-flex; align-items: center; gap: 6px; }
.mm-bout__drag {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 8px; cursor: grab;
	color: var(--mm-faint); background: var(--mm-elev); border: 1px solid var(--mm-line);
}
.mm-bout__drag:hover { color: #fff; border-color: var(--mm-red-line); }
.mm-bout__drag:active { cursor: grabbing; }
.mm-bout__drag .dashicons { font-size: 16px; width: 16px; height: 16px; }
.mm-bout__mv {
	display: inline-flex; align-items: center; justify-content: center;
	width: 24px; height: 24px; border-radius: 7px; cursor: pointer;
	color: var(--mm-muted); background: transparent; border: 1px solid var(--mm-line);
	transition: all .12s;
}
.mm-bout__mv:hover { color: #fff; border-color: var(--mm-red-line); background: var(--mm-red-bg); }
.mm-bout__mv .dashicons { font-size: 14px; width: 14px; height: 14px; }
.mm-bout-ph {
	border: 2px dashed var(--mm-red-line); border-radius: var(--mm-radius);
	background: var(--mm-red-bg); margin-bottom: 16px; height: 90px; list-style: none;
}

/* ======================================================================
 * Enlace de clubes + inscripciones (Mejora 3, panel admin)
 * =================================================================== */
.mm-clubs { max-height: 72vh; overflow-y: auto; }
.mm-linkbox { padding: 4px 2px 12px; border-bottom: 1px solid var(--mm-line); }
.mm-linkrow { display: flex; gap: 8px; margin: 10px 0; }
.mm-linkrow input {
	flex: 1; min-width: 0; background: var(--mm-surface-2); border: 1px solid var(--mm-line);
	border-radius: 10px; color: var(--mm-text); font-family: var(--mm-font); font-size: 13px; padding: 10px 12px;
}
.mm-linkstate { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }
.mm-linkstate a, .mm-linkstate a:hover, .mm-linkstate a.mm-btn { text-decoration: none !important; }
.mm-badge--on  { color: #b9f5dd; border-color: rgba(52,211,153,.4); background: rgba(52,211,153,.1); }
.mm-badge--off { color: #ffd7d7; border-color: var(--mm-red-line); background: var(--mm-red-bg); }

.mm-insgroup { margin-top: 16px; }
.mm-insgroup__club {
	display: flex; align-items: center; gap: 8px; font-weight: 700; color: #fff; font-size: 14px;
	padding: 8px 12px; background: var(--mm-elev); border: 1px solid var(--mm-line);
	border-radius: 10px 10px 0 0;
}
.mm-insgroup__club .dashicons { color: var(--mm-red-soft); }
.mm-count {
	margin-left: auto; font-size: 11px; font-weight: 700; color: var(--mm-muted);
	background: var(--mm-surface-2); border: 1px solid var(--mm-line);
	padding: 2px 9px; border-radius: 999px;
}
.mm-insrow {
	display: flex; align-items: flex-start; gap: 12px; justify-content: space-between;
	padding: 12px; border: 1px solid var(--mm-line); border-top: none; background: var(--mm-surface);
}
.mm-insgroup .mm-insrow:last-child { border-radius: 0 0 10px 10px; }
.mm-insrow.is-accepted { opacity: .72; }
.mm-insrow__info { min-width: 0; }
.mm-insrow__info strong { display: block; color: #fff; font-size: 14px; }
.mm-insrow__info > span { display: block; color: var(--mm-muted); font-size: 12px; margin: 2px 0 6px; }
.mm-insrow__notas { color: var(--mm-faint); font-size: 12px; margin-top: 6px; font-style: italic; }
.mm-insrow__acts { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }

@media ( max-width: 560px ) {
	.mm-insrow { flex-direction: column; }
	.mm-insrow__acts { width: 100%; }
}
