:root {
  --navy: #00004c; --navy-2: #0a0a65; --red: #d70f27; --red-dark: #b90920;
  --gold: #caa946; --ink: #1b1c2f; --muted: #696b7d; --line: #e3e4ea;
  --surface: #fff; --background: #f4f5f8; --success: #1f7b51; --warning: #aa6500;
  --sidebar: 244px; font: 15px Inter, Aptos, "Segoe UI", Arial, sans-serif;
  color: var(--ink); background: var(--background);
}
.auth-gate { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 20% 10%, #23335e, #10152b 55%, #090c18); }
.auth-gate[hidden] { display: none; }
.auth-card { width: min(460px, 100%); padding: 30px; border-radius: 16px; background: white; box-shadow: 0 24px 80px #0008; }
.auth-card h2 { margin: 22px 0 6px; color: var(--navy); }.auth-card > p { margin: 0 0 22px; color: var(--muted); }.auth-card form { display: grid; gap: 14px; }
.auth-brand { margin: -30px -30px 0; padding: 20px 30px; display: flex; align-items: center; gap: 14px; border-radius: 16px 16px 0 0; color: white; background: var(--navy); }.auth-brand img { width: 54px; height: 54px; object-fit: contain; }.auth-brand div { display: grid; }.auth-brand small { color: #d7daea; }.auth-brand strong { font-size: 1.05rem; }
.auth-error { min-height: 20px; margin: 0; color: var(--red); font-size: .82rem; }.password-help { display: block; color: var(--muted); font-size: .76rem; }
.auth-actions { display: flex; justify-content: flex-end; gap: 9px; }.topbar-logout { padding: 7px 10px; border: 1px solid #ffffff55; border-radius: 6px; color: white; background: transparent; }.topbar-logout:hover { background: #ffffff18; }
.user-list { display: grid; }.user-row { display: grid; grid-template-columns: minmax(170px, 1.4fr) 110px 100px 150px minmax(190px, auto); align-items: center; gap: 12px; padding: 13px 18px; border-top: 1px solid var(--line); }.user-row:first-child { border-top: 0; }.user-row small { color: var(--muted); }.user-row .user-identity { display: grid; }.user-row .user-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }.role-chip { width: fit-content; padding: 4px 8px; border-radius: 99px; background: #eef1f7; font-size: .72rem; font-weight: 700; }.role-chip.admin { color: #7e1730; background: #fff0f3; }.role-chip.monitor { color: #176144; background: #ebf8f1; }
.temporary-password-dialog { border: 0; border-radius: 14px; padding: 0; box-shadow: 0 20px 70px #0007; }.temporary-password-dialog::backdrop { background: #10152bb5; }.temporary-password-dialog > div { width: min(440px, 90vw); padding: 26px; display: grid; gap: 14px; }.temporary-password-dialog h2,.temporary-password-dialog p { margin: 0; }.temporary-password-dialog output { padding: 14px; border: 1px dashed var(--red); border-radius: 8px; color: var(--navy); background: #fff7f8; font: 700 1rem/1.4 monospace; overflow-wrap: anywhere; user-select: all; }
@media (max-width: 1050px) { .user-row { grid-template-columns: minmax(150px, 1fr) 90px 85px 1fr; }.user-row .user-actions { grid-column: 1 / -1; justify-content: flex-start; } }
* { box-sizing: border-box; }
body { margin: 0; min-width: 1080px; background: var(--background); }
button, input, textarea { font: inherit; } button { cursor: pointer; } button:disabled { cursor: not-allowed; opacity: .57; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -5rem; padding: .7rem 1rem; color: white; background: var(--navy); border-radius: 6px; }
.skip-link:focus { top: 1rem; }

.topbar { position: sticky; z-index: 20; top: 0; height: 74px; display: flex; align-items: center; justify-content: space-between; padding: 0 26px; color: white; background: var(--navy); border-bottom: 3px solid var(--red); box-shadow: 0 3px 14px #00004c2d; }
.brand { display: flex; align-items: center; gap: 13px; }.brand-mark { width: 46px; height: 46px; display: grid; place-items: center; border: 2px solid #ffffffd0; border-radius: 50%; font-weight: 850; font-size: .83rem; }
.brand p { margin: 0 0 2px; color: #dadae8; font-size: .69rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.brand h1 { margin: 0; font: 700 1.47rem/1 Georgia, serif; letter-spacing: -.02em; }
.topbar-status { display: flex; align-items: center; gap: 13px; }.edition { padding-right: 13px; color: #d7d7e5; border-right: 1px solid #ffffff3e; font-size: .82rem; }
.status-pill { display: flex; align-items: center; gap: 7px; padding: 6px 10px; color: #3e3108; background: #f3dc8d; border-radius: 30px; font-size: .67rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.status-pill i { width: 7px; height: 7px; background: var(--warning); border-radius: 50%; }
.user-menu { display: flex; align-items: center; gap: 9px; padding: 4px 8px; color: white; background: transparent; border: 0; border-radius: 7px; text-align: left; }.user-menu:hover { background: #ffffff16; }.user-menu > b { width: 34px; height: 34px; display: grid; place-items: center; background: var(--red); border-radius: 50%; font-size: .72rem; }.user-menu span { display: grid; min-width: 68px; }.user-menu strong { font-size: .78rem; }.user-menu small { color: #c9c9dc; font-size: .67rem; }.user-menu i { font-style: normal; }

.app-shell { display: grid; grid-template-columns: var(--sidebar) 1fr; min-height: calc(100vh - 74px); }.sidebar { position: sticky; top: 74px; height: calc(100vh - 74px); display: flex; flex-direction: column; justify-content: space-between; padding: 13px 12px 11px; background: white; border-right: 1px solid var(--line); }
.nav-title { margin: 0 10px 6px; color: #999aa8; font-size: .64rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }.nav-item { position: relative; width: 100%; min-height: 38px; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px; margin-bottom: 1px; padding: 4px 9px; color: #505265; background: transparent; border: 0; border-radius: 7px; font-size: .79rem; text-align: left; }.nav-item:hover:not(:disabled) { color: var(--navy); background: #f0f0f5; }.nav-item.active { color: white; background: var(--navy); box-shadow: inset 3px 0 var(--red); font-weight: 750; }.nav-item > i { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #d7d8df; border-radius: 6px; font-style: normal; font-size: .57rem; font-weight: 850; }.nav-item.active > i { border-color: #ffffff75; }.nav-item > b { width: 18px; height: 18px; display: grid; place-items: center; color: #8d8f9d; background: #eeeef2; border-radius: 50%; font-size: .62rem; }.nav-item > b.ok { color: white; background: var(--success); }.nav-item > b.warning { color: #674000; background: #f2d276; }.nav-item > b.count { width: auto; min-width: 21px; padding: 0 5px; border-radius: 8px; }.nav-item > b[data-tooltip]::after { content: attr(data-tooltip); position: absolute; z-index: 30; top: 50%; left: calc(100% + 8px); width: max-content; max-width: 280px; padding: 8px 10px; color: white; background: #20213b; border-radius: 6px; box-shadow: 0 5px 16px #14143235; font-size: .66rem; font-weight: 600; line-height: 1.35; text-align: left; white-space: pre-line; opacity: 0; visibility: hidden; transform: translate(5px, -50%); transition: opacity .12s ease, transform .12s ease, visibility .12s; pointer-events: none; }.nav-item > b[data-tooltip]::before { content: ""; position: absolute; z-index: 31; top: 50%; left: calc(100% + 2px); border: 6px solid transparent; border-right-color: #20213b; opacity: 0; visibility: hidden; transform: translateY(-50%); transition: opacity .12s ease, visibility .12s; pointer-events: none; }.nav-item > b[data-tooltip]:hover::after, .nav-item > b[data-tooltip]:hover::before, .nav-item:focus-visible > b[data-tooltip]::after, .nav-item:focus-visible > b[data-tooltip]::before { opacity: 1; visibility: visible; }.nav-item > b[data-tooltip]:hover::after, .nav-item:focus-visible > b[data-tooltip]::after { transform: translate(0, -50%); }
.sidebar-footer { padding: 14px 10px 2px; border-top: 1px solid var(--line); }.sidebar-footer div { display: flex; justify-content: space-between; margin-bottom: 7px; font-size: .71rem; }.sidebar-footer strong { color: var(--navy); }.sidebar-footer progress { width: 100%; height: 6px; display: block; overflow: hidden; accent-color: var(--red); border: 0; }.sidebar-footer small { display: block; margin-top: 7px; color: var(--warning); font-size: .65rem; }

.content { width: 100%; max-width: 1540px; margin: 0 auto; padding: 25px 30px 38px; outline: 0; }.view { display: none; }.view.active { display: block; animation: appear .18s ease; }@keyframes appear { from { opacity: .45; transform: translateY(3px); } }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; }.page-heading h2 { margin: 2px 0 5px; color: var(--navy); font: 700 1.72rem/1.1 Georgia, serif; }.page-heading p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .81rem; }.eyebrow { margin: 0; color: var(--red); font-size: .64rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.actions { display: flex; align-items: center; gap: 9px; }
.button { min-height: 38px; padding: 8px 14px; border: 1px solid transparent; border-radius: 6px; font-size: .74rem; font-weight: 780; }.button.primary { color: white; background: var(--red); }.button.primary:hover:not(:disabled) { background: var(--red-dark); }.button.secondary { color: var(--navy); background: white; border-color: #c8c9d2; }.button.secondary:hover { background: #f2f2f6; }.button.full { width: 100%; color: white; background: var(--navy); }.button.full:hover { background: var(--navy-2); }

.button.success { color: #fff; background: var(--success); border-color: var(--success); }
.button.success:hover:not(:disabled) { background: #17653f; border-color: #17653f; }
.button.danger-solid { color: #fff; background: var(--red); border-color: var(--red); }
.button.danger-solid:hover:not(:disabled) { background: var(--red-dark); border-color: var(--red-dark); }
.document-monitor-pdf { color: #fff; background: #3152a2; border-color: #3152a2; }
.document-monitor-pdf:hover { color: #fff; background: #274385; border-color: #274385; }
.document-speaker-pdf { color: #fff; background: #7b4aa8; border-color: #7b4aa8; }
.document-speaker-pdf:hover { color: #fff; background: #653b8d; border-color: #653b8d; }
.notice-add-button { color: #fff; background: #b06b00; border-color: #b06b00; }
.notice-add-button:hover:not(:disabled) { background: #925900; border-color: #925900; }
.document-add-button { color: #fff; background: #087f8c; border-color: #087f8c; }
.document-add-button:hover:not(:disabled) { background: #066874; border-color: #066874; }
.preparation-control { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center; margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#fafafd; }
.preparation-control h4 { margin:0 0 5px; color:var(--navy); }
.preparation-control p { margin:6px 0 0; color:var(--muted); font-size:.68rem; }
@media(max-width:760px){.preparation-control{grid-template-columns:1fr}.preparation-control .button{justify-self:start}}

.summary-pdf-button { color: #fff; background: var(--navy); border-color: var(--navy); box-shadow: 0 2px 8px rgba(0,0,76,.18); }
.summary-pdf-button:hover { color: #fff; background: var(--navy-2); border-color: var(--navy-2); }
.alert { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; margin-bottom: 17px; padding: 12px 15px; background: #fff9e9; border: 1px solid #ead58e; border-left: 4px solid var(--gold); border-radius: 8px; }.alert > b { width: 29px; height: 29px; display: grid; place-items: center; color: #654400; background: #f4d77a; border-radius: 50%; }.alert strong { font-size: .79rem; }.alert p { margin: 3px 0 0; color: #6c6655; font-size: .7rem; }.alert button, .checklist button { padding: 5px; color: var(--navy); background: transparent; border: 0; font-size: .68rem; font-weight: 800; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 17px; }.metrics article { min-height: 94px; display: flex; align-items: center; gap: 13px; padding: 15px; background: white; border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 2px 7px #14143209; }.metrics i { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; font-style: normal; font-weight: 900; }.metrics i.blue { color: #3152a2; background: #eaf0ff; }.metrics i.red { color: var(--red); background: #ffedf0; }.metrics i.gold { color: #856e18; background: #fff4cd; }.metrics i.navy { color: var(--navy); background: #ededfa; }.metrics div { display: grid; gap: 2px; }.metrics small { color: var(--muted); font-size: .65rem; }.metrics strong { color: var(--navy); font-size: .95rem; }.metrics span { color: var(--muted); font-size: .63rem; }.metrics .warning-text { color: var(--warning); }
.dashboard-grid { display: grid; grid-template-columns: minmax(540px, 1.45fr) minmax(300px, .75fr); gap: 17px; }.card { background: white; border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 3px 10px #14143209; }.card > header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 17px; border-bottom: 1px solid var(--line); }.card header h3 { margin: 0 0 3px; color: var(--navy); font-size: .86rem; }.card header p { margin: 0; color: var(--muted); font-size: .67rem; }.checklist-card > header > span { padding: 5px 8px; color: var(--navy); background: #efeff8; border-radius: 20px; font-size: .67rem; font-weight: 800; }
.checklist { margin: 0; padding: 0; list-style: none; }.checklist li { min-height: 60px; display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 11px; padding: 9px 17px; border-bottom: 1px solid #eeeef2; }.checklist li:last-child { border: 0; }.checklist li > b { width: 23px; height: 23px; display: grid; place-items: center; color: #6d4500; background: #f6dd91; border-radius: 50%; font-size: .65rem; }.checklist li.done > b { color: white; background: var(--success); }.checklist div { display: grid; gap: 3px; }.checklist strong { font-size: .73rem; }.checklist small { color: var(--muted); font-size: .63rem; }
.side-stack { display: grid; align-content: start; gap: 17px; }.tournament-card { padding-bottom: 15px; }.tournament-card header > span { padding: 4px 7px; color: #674400; background: #f7e4a2; border-radius: 20px; font-size: .6rem; font-weight: 850; text-transform: uppercase; }.tournament-card dl { margin: 0; padding: 7px 17px 12px; }.tournament-card dl div { display: grid; grid-template-columns: 85px 1fr; gap: 8px; padding: 7px 0; border-bottom: 1px solid #efeff2; font-size: .68rem; }.tournament-card dl div:last-child { border: 0; }.tournament-card dt { color: var(--muted); }.tournament-card dd { margin: 0; font-weight: 700; }.tournament-card .button { width: calc(100% - 34px); margin: 0 17px; }.empty { min-height: 93px; display: grid; place-items: center; align-content: center; gap: 5px; color: #999aa8; }.empty span { font-size: 1.25rem; }.empty p { margin: 0; font-size: .66rem; }

.demo-label { padding: 6px 9px; color: #56586a; background: #e9e9ef; border-radius: 20px; font-size: .63rem; font-weight: 750; }.form-card { padding: 0 19px 18px; }.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 0 13px; }.section-heading h3 { margin: 0 0 3px; color: var(--navy); font-size: .86rem; }.section-heading p { margin: 0; color: var(--muted); font-size: .67rem; }.section-heading > span { padding: 5px 8px; color: #174d38; background: #e1f3e9; border-radius: 20px; font-size: .61rem; font-weight: 750; }
.form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px 16px; }.form-grid.four { grid-template-columns: repeat(4, 1fr); }.field { position: relative; display: grid; align-content: start; gap: 6px; }.field.wide { grid-column: span 2; }.field > span { color: #3f4052; font-size: .68rem; font-weight: 750; }.field > span small { color: #888a98; font-weight: 500; }.field input, .field textarea, .category-toolbar input { width: 100%; padding: 10px 11px; color: var(--ink); background: white; border: 1px solid #cecfd8; border-radius: 6px; outline: 0; }.field input:focus, .field textarea:focus, .category-toolbar input:focus { border-color: var(--navy); box-shadow: 0 0 0 3px #00004c15; }.field textarea { min-height: 82px; resize: vertical; }.field.private textarea { background: #fffdf7; border-color: #ddd0a5; }.counter { position: absolute; right: 8px; bottom: 6px; padding: 2px 4px; color: #9293a0; background: #ffffffe8; font-size: .57rem; }.form-card hr { margin: 18px 0 0; border: 0; border-top: 1px solid var(--line); }.form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 19px; padding-top: 15px; border-top: 1px solid var(--line); }
.info-strip { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; padding: 10px 13px; background: #ededfa; border-left: 3px solid var(--navy); border-radius: 6px; }.info-strip b { width: 21px; height: 21px; display: grid; place-items: center; color: white; background: var(--navy); border-radius: 50%; font: 700 .68rem Georgia, serif; }.info-strip p { margin: 0; font-size: .69rem; }
.category-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 11px; }.category-toolbar > div { display: grid; gap: 3px; }.category-toolbar strong { color: var(--navy); font-size: .81rem; }.category-toolbar > div span { color: var(--muted); font-size: .65rem; }.category-toolbar label { width: 245px; display: grid; gap: 4px; }.category-toolbar label span { color: var(--muted); font-size: .61rem; font-weight: 750; }.category-toolbar input { padding: 8px 10px; font-size: .7rem; }
.category-list { display: grid; gap: 7px; }.category-row { min-height: 74px; display: grid; grid-template-columns: 5px minmax(310px, 1.8fr) 1fr .7fr auto auto; align-items: center; gap: 14px; overflow: hidden; padding: 10px 12px 10px 0; background: white; border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 2px 7px #14143207; transition: opacity .15s, filter .15s; }.category-row[hidden] { display: none; }.category-row > i { align-self: stretch; border-radius: 0 3px 3px 0; }.c1 { background: #4972c8; }.c2 { background: #1d8b61; }.c3 { background: var(--gold); }.c4 { background: #8c55b7; }.c5 { background: var(--red); }.c6 { background: #d4418a; }.category-heading { display: grid; gap: 8px; }.category-name { display: flex; align-items: center; gap: 8px; }.category-name strong { color: var(--navy); font-size: .8rem; }.category-name span { padding: 3px 6px; color: #315375; background: #e8f0f7; border-radius: 20px; font-size: .55rem; font-weight: 850; text-transform: uppercase; }.category-row.female .category-name span { color: #84345e; background: #f9e3ef; }.category-row.male .category-name span { color: #245d76; background: #e2f2f8; }.category-quick-settings { display: flex; flex-wrap: wrap; gap: 11px; }.category-quick-settings label { display: flex; align-items: center; gap: 5px; color: #555769; font-size: .59rem; font-weight: 700; cursor: pointer; }.category-quick-settings input { margin: 0; accent-color: var(--red); }.category-row > div:not(.category-heading) { display: grid; gap: 4px; }.category-row small { color: var(--muted); font-size: .58rem; }.category-row > div > strong { font-size: .68rem; }.category-row > div:nth-child(3) strong { color: var(--warning); }.category-row > b { padding: 5px 7px; color: #174d38; background: #e1f3e9; border-radius: 20px; font-size: .57rem; }.category-row > button { padding: 7px 9px; color: var(--navy); background: white; border: 1px solid #cecfd8; border-radius: 5px; font-size: .62rem; font-weight: 800; }.category-row > button:hover { background: #f0f0f6; }.category-actions { margin-top: 15px; }
.toast { position: fixed; z-index: 50; right: 22px; bottom: 22px; width: max-content; max-width: min(430px, calc(100vw - 44px)); transform: translateY(120px); padding: 13px 16px; color: white; background: var(--navy); border: 1px solid #ffffff38; border-left: 5px solid var(--red); border-radius: 7px; box-shadow: 0 10px 32px #0006; font-size: .76rem; font-weight: 700; line-height: 1.4; opacity: 0; pointer-events: none; transition: .25s; }.toast.show { transform: translateY(0); opacity: 1; }
.brand-logo { width: 52px; height: 52px; object-fit: contain; flex: 0 0 auto; }
.saved-label { padding: 6px 9px; color: #56586a; background: #e9e9ef; border-radius: 20px; font-size: .63rem; font-weight: 750; }.saved-label.ready { color: #174d38; background: #e1f3e9; }
.field select { width: 100%; padding: 10px 11px; color: var(--ink); background: white; border: 1px solid #cecfd8; border-radius: 6px; outline: 0; }.field select:focus { border-color: var(--navy); box-shadow: 0 0 0 3px #00004c15; }.field [aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 2px #d70f2715; }.field-error { min-height: .75rem; color: var(--red); font-size: .59rem; font-weight: 650; }
.category-row.inactive { opacity: .4; filter: grayscale(.65); background: #f5f5f7; }.category-row.inactive:focus-within,.category-row.inactive:hover { opacity: .58; }.category-row.inactive > b { color: #555769; background: #e5e5eb; }.empty-list { margin: 0; padding: 26px; color: var(--muted); background: white; border: 1px dashed #cfd0d9; border-radius: 7px; font-size: .72rem; text-align: center; }
.category-dialog { width: min(690px, calc(100vw - 40px)); padding: 0; background: white; border: 0; border-radius: 10px; box-shadow: 0 24px 80px #00004c55; }.category-dialog::backdrop { background: #00004c99; backdrop-filter: blur(2px); }.category-dialog header { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; color: white; background: var(--navy); border-bottom: 3px solid var(--red); }.category-dialog header h2 { margin: 3px 0 0; font: 700 1.32rem Georgia, serif; }.category-dialog header .eyebrow { color: #ff9ba8; }.dialog-close { width: 34px; height: 34px; display: grid; place-items: center; color: white; background: #ffffff12; border: 1px solid #ffffff45; border-radius: 50%; font-size: 1.2rem; }.dialog-body { padding: 20px; }.form-grid.two { grid-template-columns: repeat(2, 1fr); }.year-help { margin: 4px 0 15px; color: var(--muted); font-size: .62rem; }.toggle-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.toggle-row label { display: flex; gap: 9px; padding: 11px; background: #f7f7fa; border: 1px solid var(--line); border-radius: 7px; }.toggle-row input { accent-color: var(--red); }.toggle-row span { display: grid; gap: 3px; }.toggle-row strong { color: var(--navy); font-size: .68rem; }.toggle-row small { color: var(--muted); font-size: .58rem; }.category-dialog footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; background: #f5f5f8; border-top: 1px solid var(--line); }
.toast[data-type="error"] { background: #70101c; }.toast[data-type="info"] { border-left-color: var(--gold); }
.field textarea + .counter { bottom: 1.15rem; }
@media (max-height: 720px) { :root { font-size: 14px; }.topbar { height: 66px; }.app-shell { min-height: calc(100vh - 66px); }.sidebar { top: 66px; height: calc(100vh - 66px); padding-top: 9px; }.nav-item { min-height: 35px; }.content { padding-top: 19px; }.metrics article { min-height: 82px; } }
@media (max-width: 1180px) { :root { --sidebar: 218px; }.content { padding-left: 21px; padding-right: 21px; }.metrics { gap: 8px; }.metrics article { padding: 11px; }.metrics i { width: 34px; height: 34px; }.category-row { gap: 9px; } }

.privacy-strip { border-left-color: var(--gold); background: #fffaf0; }
.group-card { overflow: hidden; margin-bottom: 16px; }
.group-card > header .button { padding: 8px 12px; }
.group-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 10px 16px; background: #fafafd; border-bottom: 1px solid var(--line); }
.group-toolbar label { width: 250px; display: grid; gap: 4px; }
.group-toolbar label span { color: var(--muted); font-size: .58rem; font-weight: 750; }
.group-toolbar select { padding: 8px 9px; background: white; border: 1px solid #cecfd8; border-radius: 5px; font-size: .67rem; }
.group-toolbar strong { color: var(--navy); font-size: .7rem; }
.group-list { display: grid; }
.group-row { min-height: 51px; display: grid; grid-template-columns: 1.1fr .9fr 78px .9fr 110px 65px 126px; align-items: center; gap: 10px; padding: 8px 16px; border-bottom: 1px solid #ececf1; font-size: .66rem; }
.group-row:last-child { border-bottom: 0; }
.group-row.inactive { opacity: .58; }
.group-category { display: flex; align-items: center; gap: 7px; color: var(--navy); font-weight: 750; }
.group-category i { width: 8px; height: 8px; border-radius: 50%; }
.group-name { color: var(--ink); }
.shift-chip { justify-self: start; padding: 4px 7px; color: var(--navy); background: #eaeaf4; border-radius: 20px; font-size: .58rem; }
.group-field { color: var(--navy); font-weight: 700; }.group-participants, .group-state { color: var(--muted); }
.group-row button { padding: 6px 8px; color: var(--navy); background: white; border: 1px solid #cecfd8; border-radius: 5px; font-size: .58rem; font-weight: 800; }
.group-actions { display: flex; justify-content: flex-end; gap: 5px; }.group-row .group-toggle { color: #174d38; border-color: #9bc7ae; }.group-row:not(.inactive) .group-toggle { color: #9c1829; border-color: #d9a2aa; }
.group-card > .empty-list { margin: 14px; }.group-card > .empty-list[hidden] { display: none; }
.toggle-row.single { grid-template-columns: 1fr; margin-top: 14px; }
.participant-layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(600px, 1.6fr); gap: 16px; margin-bottom: 16px; }
.import-card > header > span, .preview-card > header > span { padding: 5px 8px; color: #56586a; background: #eeeeF3; border-radius: 20px; font-size: .6rem; font-weight: 750; }
.import-body { display: grid; gap: 12px; padding: 15px 17px 17px; }
.import-body .field textarea { min-height: 134px; font: .7rem/1.45 Consolas, "Courier New", monospace; white-space: pre; }
.import-assignment output { min-height: 38px; display: flex; align-items: center; padding: 9px 10px; color: var(--navy); background: #f4f5f8; border: 1px solid #d2d3db; border-radius: 6px; font-size: .66rem; font-weight: 750; }
.excel-example { display: grid; grid-template-columns: 1fr 1.2fr 1.2fr; overflow: hidden; border: 1px solid #cfd0d8; border-radius: 6px; }
.excel-example span { padding: 7px 8px; color: var(--navy); background: #f0f0f6; border-right: 1px solid #cfd0d8; font-size: .6rem; font-weight: 800; }
.excel-example span:last-child { border: 0; }
.paste-help { margin: -5px 0 0; color: var(--muted); font-size: .6rem; }
.preview-empty { min-height: 265px; display: grid; place-items: center; align-content: center; gap: 7px; color: #9293a0; }
.preview-empty span { font-size: 1.5rem; }.preview-empty p { margin: 0; font-size: .68rem; }
.preview-content { padding: 0 0 13px; }.preview-content[hidden] { display: none; }
.table-scroll { overflow: auto; }
.preview-table, .participant-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.preview-table th, .participant-table th { padding: 8px 9px; color: #606274; background: #f5f5f8; border-bottom: 1px solid var(--line); font-size: .58rem; letter-spacing: .03em; text-align: left; text-transform: uppercase; }
.preview-table td, .participant-table td { padding: 7px 9px; border-bottom: 1px solid #ececf1; font-size: .66rem; vertical-align: middle; }
.preview-table th:first-child, .preview-table td:first-child { width: 48px; text-align: center; }.preview-table th:nth-child(2) { width: 21%; }.preview-table th:nth-child(3), .preview-table th:nth-child(4) { width: 25%; }.preview-table th:nth-child(5) { width: 90px; }.preview-table th:last-child { width: 42px; }
.preview-table input { width: 100%; padding: 7px 8px; border: 1px solid #cfd0d8; border-radius: 5px; font-size: .66rem; outline: 0; }.preview-table input:focus { border-color: var(--navy); box-shadow: 0 0 0 2px #00004c12; }.preview-table tr.invalid input { border-color: var(--red); }.preview-table tr.excluded { opacity: .48; }.preview-table tr.excluded input { text-decoration: line-through; }
.row-status { color: var(--success); font-size: .6rem; font-weight: 800; }.row-status.error { color: var(--red); }.exclude-row { width: 27px; height: 27px; display: grid; place-items: center; color: #6c3040; background: #fff1f3; border: 1px solid #efc4ca; border-radius: 5px; font-size: .78rem; }
.preview-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 15px 0; }
.participant-list-card { overflow: hidden; }.participant-list-card > header > strong { color: var(--navy); font-size: .7rem; }
.participant-toolbar { display: grid; grid-template-columns: 210px 210px minmax(240px, 360px); justify-content: space-between; gap: 14px; padding: 11px 16px; background: #fafafd; border-bottom: 1px solid var(--line); }.participant-toolbar label { display: grid; gap: 4px; }.participant-toolbar span { color: var(--muted); font-size: .58rem; font-weight: 750; }.participant-toolbar select, .participant-toolbar input { width: 100%; padding: 8px 9px; background: white; border: 1px solid #cecfd8; border-radius: 5px; font-size: .67rem; }
.participant-table th:first-child, .participant-table td:first-child { width: 48px; text-align: center; }.participant-table th:nth-child(2) { width: 15%; }.participant-table th:nth-child(3) { width: 18%; }.participant-table th:nth-child(5) { width: 18%; }.participant-table th:last-child { width: 72px; text-align: center; }
.group-assignment { width: 100%; min-width: 125px; padding: 6px 7px; color: var(--navy); background: white; border: 1px solid #cfd0d8; border-radius: 5px; font-size: .61rem; font-weight: 700; }.group-assignment.unassigned { color: #8a1826; border-color: #e2b9bf; background: #fff7f8; }
.participant-table tr.grouped-participant td { background: var(--group-soft); }
.participant-table tr.grouped-participant td:first-child { border-left: 5px solid var(--group-accent); }
.participant-table tr.grouped-participant:hover td { filter: brightness(.985); }
.group-assignment.grouped { border-color: var(--group-accent); border-left-width: 5px; background: white; }
.category-chip { display: inline-flex; align-items: center; gap: 6px; font-weight: 750; }.category-chip i { width: 7px; height: 7px; border-radius: 50%; }.public-name { color: var(--navy); font-weight: 750; }.delete-participant { padding: 6px 8px; color: #8a1826; background: white; border: 1px solid #e2b9bf; border-radius: 5px; font-size: .58rem; font-weight: 800; }.delete-participant:hover { background: #fff0f2; }
.participant-list-card > .empty-list { margin: 14px; }.participant-list-card > .empty-list[hidden] { display: none; }
@media (max-width: 1180px) { .participant-layout { grid-template-columns: 330px minmax(540px, 1fr); }.participant-toolbar { grid-template-columns: 180px 180px 260px; }.group-row { grid-template-columns: 1fr .7fr 65px .7fr 95px 55px 116px; gap: 7px; } }

.shift-time-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.shift-time-card { overflow: hidden; }
.shift-time-card > header { min-height: 62px; }
.shift-field-count { padding: 5px 8px; color: var(--navy); background: #ededfa; border-radius: 20px; font-size: .6rem; font-weight: 800; }
.shift-time-body { display: grid; grid-template-columns: .8fr 1.25fr 1.25fr auto; align-items: start; gap: 12px; padding: 15px 17px 17px; }
.shift-time-body .button { align-self: end; min-height: 37px; white-space: nowrap; }
.unit-input { position: relative; }
.unit-input input { padding-right: 42px; }
.unit-input > span { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: .61rem; font-weight: 750; pointer-events: none; }
.duration-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.duration-field legend { margin-bottom: 5px; color: var(--ink); font-size: .62rem; font-weight: 750; }
.duration-field > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.duration-field .unit-input input { width: 100%; padding: 9px 34px 9px 9px; border: 1px solid #c9cad3; border-radius: 5px; font: inherit; }
.duration-field .field-error { display: block; min-height: 12px; margin-top: 3px; color: var(--red); font-size: .56rem; }
.field-list-card { overflow: hidden; }
.field-summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 16px; color: var(--muted); background: #fafafd; border-bottom: 1px solid var(--line); font-size: .66rem; }
.field-summary strong { color: var(--navy); }
.field-list { display: grid; }
.competition-field-row { min-height: 55px; display: grid; grid-template-columns: 34px 1fr 220px 70px 132px; align-items: center; gap: 12px; padding: 8px 16px; border-bottom: 1px solid #ececf1; font-size: .67rem; }
.competition-field-row:last-child { border-bottom: 0; }
.competition-field-row.inactive { opacity: .58; }
.competition-field-row > i { width: 30px; height: 30px; display: grid; place-items: center; color: var(--navy); background: #ededfa; border-radius: 6px; font-style: normal; }
.competition-field-row > strong { color: var(--navy); }
.availability-chip { justify-self: start; padding: 5px 8px; color: #3152a2; background: #edf2ff; border-radius: 20px; font-size: .59rem; font-weight: 800; white-space: nowrap; }
.field-state { color: var(--muted); }
.field-monitors { color: var(--navy); font-size: .62rem; }
.competition-field-row button { padding: 6px 8px; color: var(--navy); background: white; border: 1px solid #cecfd8; border-radius: 5px; font-size: .58rem; font-weight: 800; }
.field-actions { display: flex; justify-content: flex-end; gap: 6px; }
.competition-field-row .field-delete { color: #a51818; border-color: #e3b6b6; background: #fff7f7; }
.field-list-card > .empty-list { margin: 14px; }
.field-list-card > .empty-list[hidden] { display: none; }
@media (max-width: 1280px) { .shift-time-body { grid-template-columns: 1fr 1fr; }.shift-time-body .button { justify-self: end; } }
.final-times-card { margin-bottom: 16px; overflow: hidden; }.final-time-grid { display: grid; grid-template-columns: repeat(5, minmax(180px, 1fr)); }.final-time-grid > form { display: grid; gap: 9px; padding: 13px; border-right: 1px solid var(--line); }.final-time-grid > form:last-child { border-right: 0; }.final-time-grid > form > strong { color: var(--navy); font-size: .7rem; }.final-start-time { display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 4px; color: var(--muted); font-size: .57rem; }.final-start-time input { min-width: 0; width: 100%; padding: 6px; border: 1px solid #c9cad3; border-radius: 5px; }.compact-duration { display: grid; gap: 7px; }.compact-duration label { display: grid; grid-template-columns: 58px 1fr 22px 1fr 14px; align-items: center; gap: 4px; color: var(--muted); font-size: .57rem; }.compact-duration input { min-width: 0; width: 100%; padding: 6px; border: 1px solid #c9cad3; border-radius: 5px; }.compact-duration small { color: var(--muted); font-size: .52rem; }.final-estimated-end { display: block; padding: 7px 8px; color: #17603a; background: #eaf7ef; border: 1px solid #b9dec8; border-radius: 5px; font-size: .56rem; font-weight: 800; font-variant-numeric: tabular-nums; }.final-estimated-end.is-overlap { color: #8b2a1b; background: #fff0ec; border-color: #efb5a9; }.final-time-grid .field-error { min-height: 12px; color: var(--red); font-size: .54rem; }
.shift-checkboxes { margin: 0; padding: 0; border: 0; }.shift-checkboxes legend { margin-bottom: 6px; font-size: .62rem; font-weight: 750; }.shift-checkboxes > div { display: grid; grid-template-columns: repeat(5, minmax(105px, 1fr)); gap: 6px; }.shift-checkboxes label { display: flex; align-items: center; gap: 6px; padding: 8px; background: #f7f7fa; border: 1px solid var(--line); border-radius: 6px; font-size: .62rem; white-space: nowrap; }.shift-checkboxes input { accent-color: var(--red); }
@media (max-width: 1280px) { .final-time-grid { grid-template-columns: repeat(3, 1fr); }.final-time-grid > form { border-bottom: 1px solid var(--line); } }

.final-phase-toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.final-phase-toolbar > form { grid-template-columns: minmax(220px, 1fr) auto; padding: 10px; background: #fafafd; border: 1px solid var(--line); border-radius: 6px; }
.final-stage-preview.with-matches .final-round-card > header { grid-template-columns: minmax(120px, .55fr) minmax(180px, 1fr) auto; }
@media (max-width: 980px) { .final-phase-toolbar { grid-template-columns: 1fr; } }

.competition-summary-card { overflow: hidden; margin-bottom: 16px; }
.competition-summary-card > header > strong { color: var(--navy); font-size: .7rem; }
.competition-group-list { display: grid; }
.planning-category { border-bottom: 1px solid var(--line); }.planning-category:last-child { border-bottom: 0; }.planning-category-toggle { width: 100%; min-height: 54px; display: grid; grid-template-columns: 1fr auto 24px; align-items: center; gap: 12px; padding: 10px 16px; color: var(--navy); background: #f7f7fa; border: 0; text-align: left; }.planning-category-toggle:hover { background: #efeff5; }.planning-category.open .planning-category-toggle { box-shadow: inset 4px 0 var(--red); }.planning-category-summary { color: var(--muted); font-size: .63rem; }.planning-category.open > .planning-category-toggle .competition-chevron { transform: rotate(180deg); }.planning-category-body { padding-left: 18px; background: #fbfbfd; border-top: 1px solid var(--line); }
.competition-group-row { width: 100%; min-height: 52px; display: grid; grid-template-columns: .8fr 92px .72fr 70px .8fr 1.2fr 22px; align-items: center; gap: 9px; padding: 8px 14px; color: var(--ink); background: white; border: 0; border-bottom: 1px solid #ececf1; font: inherit; font-size: .63rem; text-align: left; }
.competition-group-row:last-child:not(.selected) { border-bottom: 0; }
.competition-group-row.insufficient { background: #fff9ed; }
.competition-group-row:not(:disabled) { cursor: pointer; }
.competition-group-row:not(:disabled):hover { background: #f5f5fa; }
.competition-group-row.selected { background: #ededfa; box-shadow: inset 4px 0 var(--red); }
.competition-group-row:focus-visible { position: relative; outline: 3px solid #00004c35; outline-offset: -3px; }
.competition-group-row:disabled { cursor: default; opacity: .72; }
.competition-group-name, .competition-field { color: var(--navy); }
.competition-participants, .competition-monitor { color: var(--muted); }
.competition-group-state { color: #8a1826; font-size: .58rem; text-align: right; }.competition-group-state.ready { color: var(--success); }
.competition-chevron { color: var(--navy); font-size: .85rem; text-align: center; transition: transform .15s ease; }.competition-group-row.selected .competition-chevron { transform: rotate(180deg); }
.competition-summary-card > .empty-list { margin: 14px; }.competition-summary-card > .empty-list[hidden] { display: none; }
.competition-group-detail { overflow: hidden; background: #fbfbfd; border-bottom: 1px solid #d8d9e2; box-shadow: inset 4px 0 var(--red); }
.competition-detail-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; color: var(--muted); border-bottom: 1px solid #e4e5eb; font-size: .63rem; }
.competition-detail-meta strong { color: var(--navy); }.competition-detail-meta span { color: var(--success); font-variant-numeric: tabular-nums; font-weight: 750; }
.competition-group-detail > .empty-list { margin: 13px 16px; }
.match-table-wrap { overflow-x: auto; }
.match-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.match-table th { padding: 9px 12px; color: #606274; background: #f5f5f8; border-bottom: 1px solid var(--line); font-size: .59rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.match-table td { height: 39px; padding: 7px 12px; border-bottom: 1px solid #ececf1; font-size: .65rem; }
.match-table tbody tr:last-child td { border-bottom: 0; }
.match-table th:nth-child(1), .match-table td:nth-child(1) { width: 52px; text-align: center; }
.match-table th:nth-child(2), .match-table td:nth-child(2) { width: 95px; }
.match-table td:nth-child(1) { color: var(--muted); font-weight: 800; }
.match-time { color: var(--warning); font-variant-numeric: tabular-nums; font-weight: 750; }
.keeper-a, .keeper-b { color: var(--navy); font-weight: 700; }
.competition-selection-help { margin: 0; }
.planning-match-table th:nth-child(1), .planning-match-table td:nth-child(1) { width: 52px; }.planning-match-table th:nth-child(2), .planning-match-table td:nth-child(2), .planning-match-table th:nth-child(3), .planning-match-table td:nth-child(3) { width: 95px; }.match-end-time { color: var(--muted); font-variant-numeric: tabular-nums; font-weight: 750; }.planning-final-card { margin: 12px 14px 14px; overflow: hidden; background: #fff8e8; border: 1px solid #ecd9a6; border-radius: 7px; }.planning-final-toggle { width: 100%; display: grid; grid-template-columns: minmax(180px, .7fr) 1fr 22px; align-items: center; gap: 18px; padding: 13px 15px; color: inherit; background: transparent; border: 0; text-align: left; }.planning-final-toggle:hover { background: #fff3d6; }.planning-final-card.open .planning-final-toggle { box-shadow: inset 4px 0 var(--gold); }.planning-final-card.open .planning-final-toggle .competition-chevron { transform: rotate(180deg); }.planning-final-toggle div { display: grid; gap: 3px; }.planning-final-card strong { color: var(--navy); font-size: .7rem; }.planning-final-card span, .planning-final-card p { margin: 0; color: var(--muted); font-size: .59rem; }.planning-final-detail { padding: 14px 16px 16px; background: white; border-top: 1px solid #ecd9a6; }.planning-final-detail form { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 10px 14px; }.planning-final-detail form label { display: grid; gap: 5px; color: var(--muted); font-size: .59rem; font-weight: 750; }.planning-final-detail select { width: 100%; padding: 9px; background: white; border: 1px solid #c9cad3; border-radius: 6px; font-size: .66rem; }.planning-final-detail .field-error { grid-column: 1 / -1; min-height: 0; color: var(--red); font-size: .57rem; }.qualification-preview, .coefficient-note { margin-top: 13px; padding: 11px 12px; background: #f7f7fa; border: 1px solid var(--line); border-radius: 6px; }.qualification-preview p { margin-top: 5px; }.qualification-issues { margin: 8px 0 0; padding-left: 18px; color: var(--red); font-size: .58rem; }.final-stage-preview { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 10px; }.final-stage-preview div { display: grid; gap: 3px; padding: 9px; background: #f2f5fb; border: 1px solid #d8dfef; border-radius: 6px; text-align: center; }.final-stage-preview span { font-size: .55rem; }.coefficient-note ol { margin: 7px 0 0; padding-left: 19px; color: var(--muted); font-size: .58rem; }.coefficient-note li + li { margin-top: 4px; }
@media (max-width: 1180px) { .competition-group-row { grid-template-columns: .7fr 80px .65fr 62px .7fr 1fr 18px; gap: 6px; padding-inline: 10px; } }

.monitor-list-card { overflow: hidden; }
.monitor-list-card > header > strong { color: var(--navy); font-size: .7rem; }
.monitor-list { display: grid; }
.monitor-row { min-height: 58px; display: grid; grid-template-columns: 1.35fr 1fr 130px 70px 194px; align-items: center; gap: 14px; padding: 9px 16px; border-bottom: 1px solid #ececf1; font-size: .66rem; }
.monitor-row:last-child { border-bottom: 0; }.monitor-row.inactive { opacity: .58; }
.monitor-row > div { display: grid; gap: 3px; }.monitor-row strong { color: var(--navy); }.monitor-row span { color: var(--muted); }.monitor-row code { color: #3152a2; font-size: .64rem; }.monitor-email { color: #3152a2; font-size: .6rem; text-decoration: none; }.monitor-email:hover { text-decoration: underline; }
.dialog-spacer { flex: 1; }
.button.danger { color: #9c1829; background: #fff; border: 1px solid #d9a2aa; }
.result-table { min-width: 940px; table-layout: auto; }
.result-table th:nth-child(1), .result-table td:nth-child(1) { width: 48px; }.result-table th:nth-child(2), .result-table td:nth-child(2) { width: 88px; }.result-table th:nth-child(4), .result-table td:nth-child(4) { width: 112px; }.result-table th:nth-child(6), .result-table td:nth-child(6) { width: 110px; }.result-table th:nth-child(7), .result-table td:nth-child(7) { width: 92px; }
.score-inputs { display: flex; align-items: center; gap: 4px; }.score-inputs input { width: 42px; padding: 6px 4px; border: 1px solid #cfd0da; border-radius: 5px; text-align: center; }.match-status { width: 100%; padding: 6px 4px; border: 1px solid #cfd0da; border-radius: 5px; background: #fff; font-size: .62rem; }.match-save { padding: 6px 8px; color: var(--navy); background: #fff; border: 1px solid #cecfd8; border-radius: 5px; font-size: .58rem; font-weight: 800; }.result-audit { display: block; margin-top: 3px; color: var(--muted); font-size: .48rem; }
.monitor-actions { display: flex !important; grid-template-columns: none !important; gap: 6px !important; justify-content: flex-end; }
.monitor-row button { padding: 6px 8px; color: var(--navy); background: white; border: 1px solid #cecfd8; border-radius: 5px; font-size: .58rem; font-weight: 800; }
.monitor-row .monitor-toggle { color: #174d38; border-color: #9bc7ae; }.monitor-row:not(.inactive) .monitor-toggle { color: #9c1829; border-color: #d9a2aa; }
.monitor-row .monitor-remove { color: #9c1829; border-color: #d9a2aa; }
.monitors-batch-dialog { width: min(1180px, calc(100vw - 32px)); }
.monitors-batch-dialog .dialog-body { padding-bottom: 14px; }
.batch-help { margin: 0 0 12px; color: var(--muted); font-size: .64rem; }
.monitors-batch-scroll { max-height: min(58vh, 520px); overflow: auto; border: 1px solid var(--line); border-radius: 7px; }
.monitors-batch-table { width: 100%; min-width: 1040px; border-collapse: collapse; table-layout: fixed; }
.monitors-batch-table th { position: sticky; top: 0; z-index: 1; padding: 8px 7px; color: #606274; background: #f5f5f8; border-bottom: 1px solid var(--line); font-size: .55rem; letter-spacing: .03em; text-align: left; text-transform: uppercase; }
.monitors-batch-table td { padding: 7px; border-bottom: 1px solid #ececf1; vertical-align: top; }
.monitors-batch-table tbody tr:last-child td { border-bottom: 0; }
.monitors-batch-table th:first-child, .monitors-batch-table td:first-child { width: 42px; color: var(--muted); text-align: center; }
.monitors-batch-table th:nth-child(2), .monitors-batch-table th:nth-child(3) { width: 150px; }
.monitors-batch-table th:nth-child(4) { width: 165px; }
.monitors-batch-table th:nth-child(5) { width: 220px; }
.monitors-batch-table th:nth-child(6) { width: 150px; }
.monitors-batch-table th:last-child, .monitors-batch-table td:last-child { width: 72px; text-align: center; }
.monitors-batch-table input { width: 100%; padding: 8px; border: 1px solid #cfd0d8; border-radius: 5px; font-size: .63rem; outline: 0; }
.monitors-batch-table input:focus { border-color: var(--navy); box-shadow: 0 0 0 2px #00004c12; }
.monitors-batch-table input[aria-invalid="true"] { border-color: var(--red); background: #fff7f8; }
.monitors-batch-table .field-error { display: block; min-height: 0; margin-top: 4px; color: var(--red); font-size: .52rem; line-height: 1.25; }
.batch-row-remove { padding: 7px 8px; color: #9c1829; background: white; border: 1px solid #d9a2aa; border-radius: 5px; font-size: .56rem; font-weight: 800; }
.monitors-batch-add-row { margin-top: 12px; }
.batch-error { min-height: 16px; margin: 9px 0 0; color: var(--red); font-size: .6rem; font-weight: 700; }
.monitor-list-card > .empty-list { margin: 14px; }.monitor-list-card > .empty-list[hidden] { display: none; }

.reset-warning { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; padding: 13px 15px; color: #6f1220; background: #fff3f5; border: 1px solid #e8b6bd; border-radius: 7px; }
.reset-warning > b { width: 24px; height: 24px; display: grid; flex: 0 0 24px; place-items: center; color: white; background: var(--red); border-radius: 50%; }
.reset-warning strong { font-size: .72rem; }.reset-warning p { margin: 3px 0 0; font-size: .62rem; line-height: 1.45; }
.reset-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.reset-impact-card { overflow: hidden; }.reset-impact-card ul { margin: 0; padding: 0; list-style: none; }
.reset-impact-card li { display: flex; justify-content: space-between; gap: 14px; padding: 9px 16px; border-top: 1px solid #ececf1; font-size: .64rem; }
.reset-impact-card li strong { color: var(--navy); font-variant-numeric: tabular-nums; }
.reset-impact-card > p { margin: 0; padding: 11px 16px 14px; color: var(--muted); background: #fafafd; border-top: 1px solid #ececf1; font-size: .58rem; line-height: 1.45; }
.danger-zone { border-color: #e5bcc2; }.danger-zone > header { background: #fff7f8; }.preserve-zone > header { background: #f2faf5; }
.reset-preset-card { margin-bottom: 14px; overflow: hidden; }.reset-preset-card > header > strong { color: var(--navy); font-size: .66rem; }
.reset-preset-columns { display: grid; grid-template-columns: 1.25fr 1fr 1.15fr; }
.reset-preset-columns section { padding: 15px 17px; border-top: 1px solid #ececf1; border-right: 1px solid #ececf1; }
.reset-preset-columns section:last-child { border-right: 0; }
.reset-preset-columns h4 { margin: 0 0 9px; color: var(--navy); font-size: .68rem; }
.reset-preset-columns p { margin: 0 0 7px; color: var(--muted); font-size: .59rem; line-height: 1.45; }
.reset-preset-columns dl { display: grid; gap: 8px; margin: 0; }.reset-preset-columns dl div { display: grid; gap: 2px; }
.reset-preset-columns dt { color: var(--navy); font-size: .59rem; font-weight: 800; }.reset-preset-columns dd { margin: 0; color: var(--muted); font-size: .58rem; }
.reset-confirm-card { max-width: 820px; margin-inline: auto; padding-bottom: 17px; overflow: hidden; border-color: #d9a2aa; }
.reset-confirm-card > .field, .reset-confirm-card > .reset-understood, .reset-confirm-card > .reset-understood-error, .reset-confirm-card > .reset-submit { margin-inline: 17px; }
.reset-confirm-card > .field { margin-top: 15px; }.reset-confirm-card > .field input { text-transform: none; }
.reset-understood { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; color: #4e5061; font-size: .61rem; line-height: 1.4; }
.reset-understood input { margin-top: 1px; accent-color: var(--red); }
.reset-understood-error { display: block; min-height: 14px; color: var(--red); font-size: .56rem; }
.reset-submit { margin-top: 5px; }.reset-submit:not(:disabled) { color: white; background: var(--red); border-color: var(--red); }
@media (max-width: 900px) { .reset-grid, .reset-preset-columns { grid-template-columns: 1fr; }.reset-preset-columns section { border-right: 0; } }

.final-stage-preview.with-matches { display: grid; grid-template-columns: 1fr; gap: 9px; }
.final-stage-preview.with-matches .final-round-card { overflow: hidden; padding: 0; background: white; border: 1px solid #d8dfef; border-radius: 6px; text-align: left; }
.final-stage-preview.with-matches .final-round-card > header { display: grid; grid-template-columns: minmax(120px, .55fr) minmax(180px, 1fr) auto auto; align-items: center; gap: 12px; padding: 9px 11px; background: #f2f5fb; border-bottom: 1px solid #d8dfef; }
.final-stage-preview.with-matches .final-round-card > header div { display: grid; gap: 2px; padding: 0; background: transparent; border: 0; border-radius: 0; text-align: left; }
.final-stage-preview.with-matches .final-round-card > header .final-round-assignment { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.final-round-assignment span { padding: 5px 8px; color: var(--navy); background: #fff; border: 1px solid #d8dfef; border-radius: 5px; font-size: .56rem; font-weight: 750; }
.final-stage-preview.with-matches .final-round-card > header small { color: var(--navy); font-size: .58rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.final-field-button { padding: 6px 8px; font-size: .56rem; white-space: nowrap; }
.final-field-form { display: grid; grid-template-columns: minmax(240px, 1fr) auto; align-items: end; gap: 10px; padding: 10px 11px; background: #fff9ed; border-bottom: 1px solid #ecd9a6; }
.final-field-form[hidden] { display: none; }
.final-field-form label { display: grid; gap: 4px; color: var(--muted); font-size: .57rem; font-weight: 750; }
.final-field-form select { width: 100%; padding: 7px; background: #fff; border: 1px solid #c9cad3; border-radius: 5px; font-size: .62rem; }
.final-field-form label .field-error { min-height: 0; color: var(--red); font-size: .54rem; }
.final-field-form > div { display: flex; gap: 6px; padding: 0; background: transparent; border: 0; }
.final-match-table-wrap { overflow-x: auto; }
.final-match-table { width: 100%; min-width: 540px; border-collapse: collapse; table-layout: fixed; }
.final-match-table th { padding: 7px 9px; color: #606274; background: #fafafd; border-bottom: 1px solid var(--line); font-size: .54rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.final-match-table td { padding: 7px 9px; border-bottom: 1px solid #ececf1; color: var(--navy); font-size: .59rem; vertical-align: middle; }
.final-match-table tbody tr:last-child td { border-bottom: 0; }
.final-match-table th:nth-child(1), .final-match-table td:nth-child(1) { width: 42px; text-align: center; }
.final-match-table th:nth-child(2), .final-match-table td:nth-child(2) { width: 82px; font-variant-numeric: tabular-nums; }
.final-match-table td:nth-child(3) { display: grid; grid-template-columns: 1fr 14px 1fr; align-items: center; gap: 6px; }
.final-match-table td:nth-child(3) span { color: var(--navy); font-size: .59rem; }
.final-match-table td:nth-child(3) b { color: var(--muted); text-align: center; }

/* Los selectores de monitor solo existen visualmente al activar su disponibilidad. */
.field[hidden] { display: none; }

/* Fase final: datos de solo lectura y cruces con mayor diferenciación visual. */
.final-stage-preview.with-matches .final-round-card {
  border-left: 4px solid #5376c5;
  border-radius: 7px;
  box-shadow: 0 2px 7px #1c2d5210;
}
.final-stage-preview.with-matches .final-round-card:nth-child(2n) { border-left-color: #b7791f; }
.final-stage-preview.with-matches .final-round-card:last-child { border-left-color: #a51f32; }
.final-stage-preview.with-matches .final-round-card > header {
  grid-template-columns: minmax(120px, .55fr) minmax(360px, 1fr);
  padding: 10px 12px;
  background: linear-gradient(90deg, #f2f5fb, #fbfcff);
}
.final-stage-preview.with-matches .final-round-card > header .final-round-assignment {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.final-round-assignment span {
  position: relative;
  padding: 6px 8px 6px 25px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: .56rem;
  font-weight: 800;
  white-space: nowrap;
}
.final-round-assignment span::before {
  position: absolute;
  left: 8px;
  top: 50%;
  translate: 0 -50%;
  font-size: .62rem;
}
.final-round-field {
  color: #244d92 !important;
  background: #eaf2ff !important;
  border-color: #bfd3f4 !important;
}
.final-round-field::before { content: "▣"; }
.final-round-monitor {
  color: #277044 !important;
  background: #eaf8ef !important;
  border-color: #bfe2cb !important;
}
.final-round-monitor::before { content: "●"; }
.final-round-time {
  color: #8a5513 !important;
  background: #fff2d9 !important;
  border-color: #ecd29d !important;
  font-variant-numeric: tabular-nums;
}
.final-round-time::before { content: "◷"; }
.final-match-table th { background: #f8f8fb; }
.final-match-table td { padding-block: 8px; background: #fff; }
.final-match-table tbody tr:nth-child(even) td { background: #f8faff; }
.final-match-table tbody tr:hover td { background: #fff8e8; }
.final-match-table td:nth-child(1) {
  color: #fff;
  background: #6679a8;
  font-weight: 800;
}
.final-match-table tbody tr:nth-child(even) td:nth-child(1),
.final-match-table tbody tr:hover td:nth-child(1) {
  color: #fff;
  background: #6679a8;
}
.final-match-table td:nth-child(2) {
  color: #8a5513;
  font-weight: 850;
}
.final-match-table td:nth-child(3) span {
  padding: 5px 7px;
  background: #edf2ff;
  border-radius: 5px;
  font-weight: 700;
}
.final-match-table td:nth-child(3) b {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  color: #8a5513;
  background: #fff2d9;
  border-radius: 50%;
}
@media (max-width: 850px) {
  .final-stage-preview.with-matches .final-round-card > header { grid-template-columns: 1fr; }
  .final-stage-preview.with-matches .final-round-card > header .final-round-assignment { grid-template-columns: 1fr; }
  .final-round-assignment span { white-space: normal; }
}

/* Tarjeta 06: categorías plegables y asignación individual de grupo en solo lectura. */
.participant-category-groups { border-bottom: 1px solid var(--line); }
.participant-category-groups:last-child { border-bottom: 0; }
.participant-category-toggle { width: 100%; min-height: 56px; display: grid; grid-template-columns: minmax(220px, 1fr) auto 24px; align-items: center; gap: 14px; padding: 10px 16px; color: var(--navy); background: #f6f7fb; border: 0; text-align: left; }
.participant-category-toggle:hover { background: #eceef6; }
.participant-category-groups.open .participant-category-toggle { background: #eef0f8; box-shadow: inset 5px 0 var(--category-accent, var(--red)); }
.participant-category-title { display: flex; align-items: center; gap: 9px; }
.participant-category-title i { width: 11px; height: 11px; flex: 0 0 auto; border-radius: 50%; }
.participant-category-title strong { font-size: .72rem; }
.participant-category-summary { color: var(--muted); font-size: .62rem; font-weight: 700; }
.participant-category-chevron { font-size: .9rem; transition: transform .15s ease; }
.participant-category-groups.open .participant-category-chevron { transform: rotate(180deg); }
.participant-category-body { padding-left: 14px; background: #fbfbfd; border-top: 1px solid var(--line); }
.participant-category-body[hidden] { display: none; }
.empty-category-groups { margin: 0; padding: 14px 18px; color: var(--muted); font-size: .65rem; }
.participant-group-readonly { display: grid; gap: 2px; padding-left: 12px !important; border-left: 5px solid var(--group-accent, #d6d8e2); }
.participant-group-readonly strong { color: var(--navy); font-size: .64rem; }
.participant-group-readonly small { color: var(--muted); font-size: .57rem; }
.participant-group-readonly.unassigned { color: var(--warning); background: #fff9ed; font-weight: 750; }

.competition-group-format {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 16px;
  color: var(--muted);
  background: #f5f5f8;
  border-bottom: 1px solid #e4e5eb;
  font-size: .59rem;
}

.competition-group-format label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--navy);
  font-size: .63rem;
  font-weight: 750;
  cursor: pointer;
}

.competition-group-format input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--red);
}

.competition-group-format small {
  color: var(--muted);
  font-size: .59rem;
  text-align: right;
}
.web-docs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px}.web-docs-card-wide{grid-column:1/-1}.web-docs-card>header{min-height:68px}.web-docs-body{padding:17px}.status-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.status-metrics>div{padding:13px;border:1px solid var(--line);border-radius:8px;background:#fafafd}.status-metrics span{display:block;color:var(--muted);font-size:.66rem}.status-metrics strong{display:block;margin-top:4px;color:var(--navy);font-size:1.05rem}.info-strip.compact{margin:0}.document-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.document-actions a{text-decoration:none}.web-docs-body h4{margin:0 0 9px;color:var(--navy);font-size:.75rem}.document-list{display:grid;gap:7px}.document-list a{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:7px;color:var(--navy);background:#fafafd;text-decoration:none;font-size:.7rem;font-weight:800}.document-list a::after{content:'PDF';color:var(--red);font-size:.62rem}@media(max-width:900px){.web-docs-grid{grid-template-columns:1fr}}
body.preparation-closed [data-view-panel="generales"] form input,body.preparation-closed [data-view-panel="generales"] form textarea,body.preparation-closed [data-view-panel="categorias"] button:not([data-go]),body.preparation-closed [data-view-panel="participantes"] button:not([data-go]),body.preparation-closed [data-view-panel="participantes"] input,body.preparation-closed [data-view-panel="participantes"] select,body.preparation-closed [data-view-panel="competicion"] button:not([data-go]):not(.planning-category-toggle):not(.competition-group-row):not(.planning-final-toggle),body.preparation-closed [data-view-panel="competicion"] input,body.preparation-closed [data-view-panel="competicion"] select{pointer-events:none;opacity:.58}

.tournament-overview-card{margin-top:17px;overflow:hidden}.tournament-overview-card>header{align-items:center}.tournament-overview-card>header a{text-decoration:none}.tournament-overview-body{padding:17px}.overview-metrics{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-bottom:18px}.overview-metrics>div{padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fafafd}.overview-metrics strong{display:block;color:var(--navy);font-size:1rem}.overview-metrics span{display:block;margin-top:3px;color:var(--muted);font-size:.61rem;font-weight:700}.tournament-overview-body section+section{margin-top:18px}.overview-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.overview-section-heading h4{margin:0;color:var(--navy);font-size:.75rem}.overview-section-heading span{color:var(--muted);font-size:.62rem;font-weight:700}.overview-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.overview-table{width:100%;min-width:850px;border-collapse:collapse;font-size:.65rem}.overview-table th{padding:8px 9px;color:var(--navy);background:#f0f0f5;border-bottom:1px solid var(--line);text-align:left;font-size:.61rem}.overview-table td{padding:8px 9px;border-bottom:1px solid var(--line);vertical-align:top}.overview-table tbody tr:last-child td{border-bottom:0}.overview-table tbody tr:nth-child(even){background:#fafafd}.overview-table .center{text-align:center}.overview-table .pending{color:var(--red);font-weight:800}@media(max-width:1100px){.overview-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.overview-metrics{grid-template-columns:repeat(2,1fr)}}
.competition-nav-title{margin-top:18px!important;padding-top:15px!important;border-top:1px solid rgba(255,255,255,.12)}
.results-card{overflow:hidden}.results-category{border-bottom:1px solid var(--line)}.results-category:last-child{border-bottom:0}.results-category-toggle{width:100%;display:grid;grid-template-columns:minmax(220px,1fr) auto 24px;align-items:center;gap:14px;padding:12px 16px;border:0;background:#f6f7fb;color:var(--navy);text-align:left}.results-category.open .results-category-toggle{background:#eef0f8;box-shadow:inset 5px 0 var(--category-accent,var(--red))}.results-category-name{display:flex;align-items:center;gap:9px}.results-category-name i{width:11px;height:11px;border-radius:50%}.results-category-name strong{font-size:.74rem}.results-category-summary{color:var(--muted);font-size:.62rem;font-weight:750}.results-category-toggle>b,.results-group-toggle>b{transition:transform .15s ease}.results-category.open>.results-category-toggle>b,.results-group.open>.results-group-toggle>b{transform:rotate(180deg)}.results-category-body{padding:10px 14px 14px;background:#fbfbfd}.results-group{margin-top:8px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.results-group-toggle{width:100%;display:grid;grid-template-columns:minmax(180px,1fr) auto 22px;align-items:center;gap:12px;padding:10px 13px;border:0;background:#f4f5f9;color:var(--navy);text-align:left}.results-group-toggle div{display:grid;gap:2px}.results-group-toggle strong{font-size:.68rem}.results-group-toggle span,.results-group-toggle small{color:var(--muted);font-size:.58rem;font-weight:700}.results-match-wrap{overflow-x:auto}.results-match-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.64rem}.results-match-table th{padding:8px;background:#eceef4;color:var(--navy);text-align:left;font-size:.59rem}.results-match-table td{padding:7px 8px;border-top:1px solid var(--line);vertical-align:middle}.results-match-table tbody tr:nth-child(even){background:#fafafd}.result-number,.result-time{white-space:nowrap;color:var(--muted);font-weight:750}.result-player{font-weight:750;color:var(--navy)}.result-score{display:flex;align-items:center;justify-content:center;gap:6px}.result-score input{width:48px;height:32px;padding:4px;text-align:center;border:1px solid #bfc3d1;border-radius:6px;font:inherit;font-weight:850}.result-score input:focus{outline:2px solid rgba(49,82,162,.25);border-color:#3152a2}.result-save-state{font-size:.58rem;font-weight:850;white-space:nowrap}.result-save-state.saved{color:#18764b}.result-save-state.pending{color:var(--muted)}.result-save-state.saving{color:#9a6510}.result-save-state.error{color:var(--red)}.results-final-hidden{display:flex;justify-content:space-between;gap:14px;margin-top:10px;padding:11px 13px;border:1px dashed #c7cad5;border-radius:8px;background:#f5f5f8}.results-final-hidden strong{color:var(--navy);font-size:.66rem}.results-final-hidden span{color:var(--muted);font-size:.6rem;text-align:right}@media(max-width:750px){.results-category-toggle{grid-template-columns:1fr 22px}.results-category-summary{grid-column:1/2}.results-category-toggle>b{grid-column:2;grid-row:1/3}.results-final-hidden{display:grid}.results-final-hidden span{text-align:left}}


/* Competición: clasificación provisional y fase final genérica */
.results-standings{border-top:1px solid var(--line);background:#fff}.results-standings-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 13px;background:#f7f8fb}.results-standings-heading>div:first-child{display:grid;gap:2px}.results-standings-heading strong{font-size:.66rem;color:var(--navy)}.results-standings-heading span{font-size:.56rem;color:var(--muted)}.results-qualification-legend{display:flex;gap:8px;flex-wrap:wrap}.results-qualification-legend span{padding:4px 7px;border-radius:999px;font-size:.53rem;font-weight:800}.results-qualification-legend .direct{background:#dff3e8;color:#17623d}.results-qualification-legend .coefficient{background:#fff1cc;color:#805800}.results-standings-wrap{overflow-x:auto}.results-standings-table{width:100%;min-width:860px;border-collapse:collapse;font-size:.61rem}.results-standings-table th{padding:7px;background:#eceef4;color:var(--navy);text-align:center;font-size:.56rem}.results-standings-table th:nth-child(2){text-align:left}.results-standings-table td{padding:7px 8px;border-top:1px solid var(--line);text-align:center}.results-standings-table .standing-player{text-align:left;font-weight:800;color:var(--navy)}.results-standings-table tr.qualification-direct{background:#e8f7ee}.results-standings-table tr.qualification-coefficient-candidate{background:#fff8e5}.results-standings-table tr.qualification-coefficient-selected{background:#ffedba}.results-standings-note{margin:0;padding:8px 13px 10px;color:var(--muted);font-size:.55rem;background:#fbfbfd}.results-final-phase{margin-top:10px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.results-final-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 13px;background:#f1f2f7}.results-final-heading>div{display:grid;gap:2px}.results-final-heading strong{font-size:.68rem;color:var(--navy)}.results-final-heading span{font-size:.57rem;color:var(--muted)}.results-final-heading>b{font-size:.54rem;color:#805800;background:#fff1cc;padding:5px 8px;border-radius:999px}.results-final-rounds{display:grid;gap:10px;padding:11px}.results-final-round{border:1px solid var(--line);border-radius:7px;overflow:hidden}.results-final-round h4{margin:0;padding:8px 10px;background:#f7f8fb;color:var(--navy);font-size:.62rem}.results-final-match-list{display:grid}.results-final-match{display:grid;grid-template-columns:95px minmax(150px,1fr) 46px minmax(150px,1fr) 120px;gap:9px;align-items:center;padding:8px 10px;border-top:1px solid var(--line);font-size:.58rem}.results-final-match:first-child{border-top:0}.results-final-match .final-match-number{color:var(--muted);font-weight:800}.results-final-match strong{color:var(--navy)}.results-final-match i{text-align:center;color:var(--muted);font-style:normal}.results-final-match small{text-align:right;color:var(--muted)}
@media(max-width:800px){.results-standings-heading,.results-final-heading{display:grid}.results-final-match{grid-template-columns:1fr 32px 1fr}.results-final-match .final-match-number,.results-final-match small{grid-column:1/-1;text-align:left}}

/* Fase final plegable en Resultados */
.results-final-heading {
  width: 100%;
  border: 0;
  cursor: pointer;
  text-align: left;
}
.results-final-heading > i {
  font-style: normal;
  transition: transform .18s ease;
}
.results-final-phase.open .results-final-heading > i {
  transform: rotate(180deg);
}
.results-final-body[hidden] {
  display: none;
}

.results-subcard{margin:12px;border:1px solid #d8dfef;border-radius:8px;overflow:hidden;background:#fff}.results-subcard .results-standings-heading{background:#f1f4fa;border-bottom:1px solid #d8dfef}.results-subcard .results-standings-note{border-top:1px solid var(--line)}
.results-group-actions,.results-final-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line);background:#fafbfe}.results-group-actions span,.results-final-controls span{font-size:.57rem;color:var(--muted)}
.results-group.open>.results-group-toggle small::after{content:''}.results-group.open>.results-group-toggle small{font-weight:800}.results-final-phase.open .results-final-heading i{transform:rotate(180deg)}.results-final-heading i{font-style:normal;transition:transform .15s ease}
@media(max-width:800px){.results-group-actions,.results-final-controls{align-items:stretch;flex-direction:column}.results-group-actions .button,.results-final-controls .button{width:100%}}

/* Resultados de eliminatorias */
.results-final-match{grid-template-columns:95px minmax(145px,1fr) 112px minmax(145px,1fr) 135px}
.final-result-score{display:flex;align-items:center;justify-content:center;gap:5px}
.final-result-score input{width:43px;height:31px;padding:4px;text-align:center;border:1px solid #bfc3d1;border-radius:6px;font:inherit;font-weight:850;background:#fff}
.final-result-score input:focus{outline:2px solid rgba(49,82,162,.25);border-color:#3152a2}
.final-result-score input:disabled{background:#f1f2f5;color:#808493}
.final-match-meta{display:grid;justify-items:end;gap:3px}
.final-result-state{font-size:.53rem;font-weight:850;white-space:nowrap}
.final-result-state.saved{color:#18764b}.final-result-state.pending{color:var(--muted)}.final-result-state.saving{color:#9a6510}.final-result-state.error{color:var(--red)}
@media(max-width:800px){.results-final-match{grid-template-columns:1fr 108px 1fr}.results-final-match .final-match-number,.final-match-meta{grid-column:1/-1;justify-items:start}.final-result-score{grid-column:2}.final-source-a{text-align:right}.final-source-b{text-align:left}}

/* Resultados: selector de participante y resaltado */
.results-group-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;background:#f4f5f9;border-bottom:1px solid var(--line)}
.results-group-header .results-group-toggle{grid-template-columns:minmax(180px,1fr) auto 22px;border-radius:0}
.results-group-tools{display:grid;align-content:center;gap:3px;min-width:190px;padding:7px 12px;border-left:1px solid var(--line);background:#f4f5f9}
.results-group-tools>span{color:var(--muted);font-size:.55rem;font-weight:800}
.results-group-tools select{width:100%;min-width:170px;padding:5px 26px 5px 8px;border:1px solid #c7cad5;border-radius:6px;background:#fff;color:var(--navy);font:inherit;font-size:.61rem;font-weight:750}
.result-player.participant-highlighted{background:#fff3b8;color:#5c4300;box-shadow:inset 3px 0 #d7a900,inset -3px 0 #d7a900}
@media(max-width:750px){.results-group-header{grid-template-columns:1fr}.results-group-tools{min-width:0;border-left:0;border-top:1px solid var(--line)}.results-group-tools select{min-width:0}}

.results-cross-ranking{margin-top:12px;border:1px solid #b9bfd0;border-radius:9px;overflow:hidden;background:#fff}.results-cross-ranking-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 13px;background:#e9ecf4;border-bottom:1px solid #cdd1dc}.results-cross-ranking-heading>div:first-child{display:grid;gap:2px}.results-cross-ranking-heading strong{color:var(--navy);font-size:.68rem}.results-cross-ranking-heading span{color:var(--muted);font-size:.58rem;font-weight:700}.cross-ranking-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.cross-ranking-legend span{padding:3px 7px;border-radius:999px;background:#fff;border:1px solid #cdd1dc;white-space:nowrap}.cross-ranking-legend .selected{color:#765700}.cross-ranking-legend .playing{color:#a35c00}.cross-ranking-legend .finished{color:#18764b}.results-standings-table.cross{min-width:900px}.results-standings-table.cross tr.cross-provisional-selected{background:#fff4c8}.results-standings-table.cross .cross-player{font-weight:850;color:var(--navy)}.results-standings-table.cross .cross-status{font-size:.57rem;font-weight:850;white-space:nowrap}.results-standings-table.cross .cross-status.playing{color:#a35c00}.results-standings-table.cross .cross-status.finished{color:#18764b}@media(max-width:750px){.results-cross-ranking-heading{display:grid}.cross-ranking-legend{justify-content:flex-start}}

.results-group-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:205px}.results-group-summary small{white-space:nowrap}.results-group-summary em{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:4px 8px;border-radius:999px;font-size:.56rem;font-style:normal;font-weight:900;white-space:nowrap}.results-group-summary em.open{color:#17643d;background:#dff3e7;border:1px solid #a9d7ba}.results-group-summary em.closed{color:#a0232f;background:#fde4e7;border:1px solid #efb3ba}@media(max-width:750px){.results-group-summary{justify-content:flex-start;min-width:0;flex-wrap:wrap}.results-group-header .results-group-toggle{grid-template-columns:minmax(0,1fr) 22px}.results-group-summary{grid-column:1}.results-group-toggle>b{grid-column:2;grid-row:1/3}}

/* Estado general de cada categoría en 01 Resultados */
.results-category-toggle { grid-template-columns: minmax(0,1fr) auto auto 22px; }
.results-category-state { display:inline-flex; align-items:center; min-height:26px; padding:4px 9px; border-radius:999px; font-size:.7rem; font-style:normal; font-weight:900; white-space:nowrap; }
.results-category-state.groups-open { color:#155c37; background:#dff3e7; border:1px solid #9fcfb0; }
.results-category-state.groups-closed { color:#7a4a00; background:#fff0c7; border:1px solid #e4c56f; }
.results-category-state.final-open { color:#244f8f; background:#dfeaff; border:1px solid #a9c1e8; }
.results-category-state.category-closed { color:#9a1f31; background:#f7dfe4; border:1px solid #d9a5af; }
@media (max-width:760px){.results-category-toggle{grid-template-columns:minmax(0,1fr) 22px}.results-category-summary,.results-category-state{grid-column:1}.results-category-state{justify-self:start}.results-category-toggle>b{grid-column:2;grid-row:1 / span 3}}


/* Parche 18: acción de reapertura diferenciada. */
.button.reopen-group { color: #6f4b00; background: #f4cf63; border: 1px solid #d5a72d; }
.button.reopen-group:hover:not(:disabled) { background: #e9bd43; }

/* Selector de modo de trabajo */
.mode-switch { display: inline-flex; align-items: center; padding: .18rem; border: 1px solid rgba(255,255,255,.35); border-radius: .7rem; background: rgba(255,255,255,.1); }
.mode-switch button, .mode-switch a { border: 0; border-radius: .52rem; padding: .48rem .68rem; font: inherit; font-size: .78rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.mode-switch button.active { background: #fff; color: #00004d; }
.mode-switch a { color: #fff; }
.mode-switch a:hover, .mode-switch a:focus-visible { background: rgba(255,255,255,.18); }
@media (max-width: 900px) { .topbar-status .competition-state { display: none; } }
.compact-form{display:grid;gap:8px}.compact-form textarea{width:100%;resize:vertical;border:1px solid #cbd3df;border-radius:8px;padding:9px;font:inherit}.public-admin-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #e5e9f0}.public-admin-row:last-child{border-bottom:0}.public-admin-row small{display:block;color:#687386}.public-admin-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.public-file-input{max-width:220px;font-size:.75rem}

.public-document-dropzone{border:1px dashed transparent;border-radius:8px;padding:10px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.public-document-dropzone.is-dragging{border-color:var(--red);background:#fff4f5;box-shadow:0 0 0 3px rgba(215,15,39,.08)}.public-document-dropzone.is-dragging small{color:var(--red);font-weight:800}@media(max-width:680px){.public-document-dropzone{grid-template-columns:1fr}.public-document-dropzone .public-admin-actions{justify-content:flex-start}.public-file-input{max-width:100%;width:100%}}
.public-document-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:center;margin-bottom:10px}.public-document-form input{min-width:0;border:1px solid #cbd3df;border-radius:8px;padding:9px;font:inherit}.public-document-title{width:min(360px,100%);border:1px solid #cbd3df;border-radius:7px;padding:7px 8px;font:inherit;font-weight:700}.public-document-order{display:flex;gap:4px}.public-document-order .button{min-width:34px}.public-document-system{background:#f7f8fb;border-radius:9px;padding:10px}.public-document-hidden{opacity:.68}@media(max-width:760px){.public-document-form{grid-template-columns:1fr}.public-admin-row{grid-template-columns:1fr}.public-admin-actions{justify-content:flex-start}}

/* Documentos públicos: presentación compacta y acciones diferenciadas */
.web-docs-card-wide .web-docs-body{padding-top:10px;padding-bottom:10px}
.web-docs-card-wide .public-document-form{margin-bottom:6px}
.web-docs-card-wide .info-strip.compact{margin:6px 0;padding:6px 9px}
.web-docs-card-wide .public-admin-row{padding:5px 0}
.web-docs-card-wide .public-document-dropzone{padding:6px 8px}
.web-docs-card-wide .public-document-title{padding:5px 7px}
.web-docs-card-wide .public-admin-actions{gap:5px}
.web-docs-card-wide .button.small{padding:5px 8px}
.button.document-save{color:#123d72;background:#dcecff;border:1px solid #91b9e8}
.button.document-save:hover:not(:disabled){background:#c9e0fb}
.button.document-show{color:#4b2d78;background:#eee4ff;border:1px solid #bca2e5}
.button.document-show:hover:not(:disabled){background:#e2d3fb}
.button.document-publish{color:#155d39;background:#dff4e8;border:1px solid #8bc7a5}
.button.document-publish:hover:not(:disabled){background:#caead8}
.button.document-unpublish{color:#8a2f24;background:#ffe5df;border:1px solid #e6a095}
.button.document-unpublish:hover:not(:disabled){background:#ffd5cc}
.button.document-order-button{color:#705000;background:#fff2c7;border:1px solid #dfbf58}
.button.document-order-button:hover:not(:disabled){background:#ffe9a3}
.public-document-system .public-file-input{max-width:270px;padding:5px;border:1px solid #9fb3cc;border-radius:7px;background:#eef5fc;color:var(--navy)}

/* Estados reales de preparación y publicación */
.status-pill[data-state="preparing"], .tournament-card header > span[data-state="preparing"] { color: #674400; background: #f7e4a2; }
.status-pill[data-state="preparing"] i { background: var(--warning); }
.status-pill[data-state="closed"], .tournament-card header > span[data-state="closed"] { color: #123f29; background: #dcefe3; }
.status-pill[data-state="closed"] i { background: var(--success); }
.status-pill[data-state="published"], .tournament-card header > span[data-state="published"] { color: #fff; background: var(--red); }
.status-pill[data-state="published"] i { background: #fff; }
.reset-operations-card { margin-bottom: 14px; overflow: hidden; }
.reset-operations-card ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; counter-reset: reset-step; }
.reset-operations-card li { position: relative; min-height: 88px; padding: 14px 14px 14px 45px; border-top: 1px solid #ececf1; border-right: 1px solid #ececf1; counter-increment: reset-step; }
.reset-operations-card li:nth-child(3n) { border-right: 0; }
.reset-operations-card li::before { content: counter(reset-step); position: absolute; top: 14px; left: 14px; width: 23px; height: 23px; display: grid; place-items: center; color: #fff; background: var(--navy); border-radius: 50%; font-size: .58rem; font-weight: 800; }
.reset-operations-card strong { display: block; color: var(--navy); font-size: .64rem; }
.reset-operations-card span { display: block; margin-top: 4px; color: var(--muted); font-size: .57rem; line-height: 1.4; }
@media (max-width: 900px) { .reset-operations-card ol { grid-template-columns: 1fr; }.reset-operations-card li { min-height: 0; border-right: 0; } }

/* Navegación principal dividida por áreas de trabajo. */
.competition-nav-title,
.maintenance-nav-title {
  margin-top: 15px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.competition-nav-title {
  color: #9eb8ff;
}

.maintenance-nav-title {
  color: #e1b35d;
}

.maintenance-nav-item {
  color: #6f511f;
  background: #fff9ec;
  border: 1px solid #f0dfb8;
}

.maintenance-nav-item:hover:not(:disabled) {
  color: #5d400e;
  background: #fff3d5;
}

.maintenance-nav-item.active {
  color: white;
  background: #79551a;
  box-shadow: inset 3px 0 #d9a62e;
}
.status-metrics-expanded{grid-template-columns:repeat(3,minmax(0,1fr))}.status-metrics strong.status-ok{color:#18723b}.status-metrics strong.status-warning{color:var(--red)}.competition-status-message{margin:-2px 0 14px;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:#fafafd;color:var(--muted);font-size:.68rem}.competition-status-message.ok{border-color:#b9d9c4;background:#f2faf4;color:#176b37}.competition-status-message.warning{border-color:#edc3c8;background:#fff6f7;color:#9d1425}.category-results-summary{margin:0 0 14px}.category-results-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.category-results-heading h4{margin:0}.category-results-heading span{font-size:.64rem;color:var(--muted);font-weight:800}.category-results-list{display:grid;gap:6px}.category-result-row{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#fafafd;font-size:.67rem}.category-result-row strong{color:var(--navy)}.category-result-row span{white-space:nowrap;color:var(--muted)}.category-result-row span b{color:var(--navy)}.category-results-empty{padding:10px;border:1px dashed var(--line);border-radius:7px;color:var(--muted);font-size:.68rem}@media(max-width:700px){.status-metrics-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.category-result-row{grid-template-columns:1fr}.category-result-row span{white-space:normal}}

.publication-control-list{display:grid;gap:12px}.publication-control-block{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fafafd}.publication-control-block h4{margin:0 0 4px;color:var(--navy)}.publication-control-block p{margin:5px 0 0;color:var(--muted);font-size:.68rem}.publication-control-block .saved-label{display:inline-block;margin-top:2px}.publication-control-block .document-actions{justify-content:flex-end}@media(max-width:760px){.publication-control-block{grid-template-columns:1fr}.publication-control-block .document-actions{justify-content:flex-start}}


/* M1 Eliminar resultados */
.result-deletion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.result-deletion-card{padding:0 0 20px;overflow:hidden}.result-deletion-card>header{padding:18px 20px;border-bottom:1px solid var(--line,#d9dee8);display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.result-deletion-card>header strong{white-space:nowrap}.result-deletion-card>.field,.result-deletion-card>.reset-understood,.result-deletion-card>.field-error,.result-deletion-card>.result-delete-submit{margin-left:20px;margin-right:20px}.result-deletion-preview{margin:14px 20px;padding:12px 14px;border-radius:10px;background:#f3f5f8;border:1px solid #d9dee8;font-weight:700}.result-deletion-preview.has-results{background:#fff4dc;border-color:#e5b44a;color:#6c4800}.warning-alert{margin-bottom:18px}@media(max-width:900px){.result-deletion-grid{grid-template-columns:1fr}}

/* Organización de grupos integrada en 03 Categorías */
.category-row-expandable { display: block; padding: 0; opacity: 1; overflow: visible; }
.category-row-expandable.inactive { opacity: .72; }
.category-row-main { min-height: 76px; display: grid; grid-template-columns: 5px minmax(250px,1.7fr) .7fr .55fr minmax(210px,1fr) auto; align-items: center; gap: 12px; padding: 10px 12px 10px 0; }
.category-row-main > i { align-self: stretch; border-radius: 0 3px 3px 0; }
.category-expand { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0; color: inherit; background: transparent; border: 0; text-align: left; cursor: pointer; }
.category-expand .category-heading { min-width: 0; }
.category-organization-summary { display: block; overflow: hidden; color: var(--muted); font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.category-chevron { color: var(--navy); font-size: 1rem; transition: transform .15s ease; }
.category-expand[aria-expanded="true"] .category-chevron { transform: rotate(180deg); }
.category-row-main > div:not(.category-quick-settings) { display: grid; gap: 4px; }
.category-row-main small { color: var(--muted); font-size: .58rem; }
.category-row-main > div > strong { font-size: .68rem; }
.category-row-main .category-edit { padding: 7px 9px; color: var(--navy); background: white; border: 1px solid #cecfd8; border-radius: 5px; font-size: .62rem; font-weight: 800; }
.category-organization-body { display: grid; gap: 6px; padding: 10px 12px 12px 17px; background: #f7f8fb; border-top: 1px solid var(--line); }
.category-organization-group { display: grid; grid-template-columns: minmax(115px,.8fr) auto 100px minmax(145px,1fr) minmax(160px,1fr) auto; align-items: end; gap: 9px; padding: 9px 10px; background: white; border: 1px solid #dedfe7; border-left: 4px solid var(--category-accent,var(--red)); border-radius: 6px; }
.category-organization-group.inactive { background: #f3f3f5; }
.category-group-identity { display: grid; gap: 2px; align-self: center; }
.category-group-identity strong { color: var(--navy); font-size: .69rem; }
.category-group-identity small { color: var(--muted); font-size: .56rem; }
.category-organization-group label { display: grid; gap: 4px; color: #555769; font-size: .56rem; font-weight: 800; }
.category-organization-group select { min-width: 0; height: 34px; padding: 5px 7px; border: 1px solid #cfd1da; border-radius: 5px; background: white; font: inherit; }
.category-group-toggle { align-self: center; display: flex !important; grid-template-columns: none; align-items: center; gap: 5px !important; white-space: nowrap; }
.category-group-toggle input { accent-color: var(--red); }
.category-group-save { height: 34px; white-space: nowrap; }
@media (max-width: 1180px) {
  .category-row-main { grid-template-columns: 5px minmax(220px,1.4fr) .7fr .5fr minmax(180px,1fr) auto; gap: 8px; }
  .category-organization-group { grid-template-columns: minmax(105px,.7fr) auto 88px minmax(125px,1fr) minmax(140px,1fr) auto; gap: 7px; }
}
@media (max-width: 900px) {
  .category-row-main { grid-template-columns: 5px 1fr auto; }
  .category-row-main > div:not(.category-quick-settings), .category-row-main .category-quick-settings { grid-column: 2 / -1; }
  .category-row-main .category-edit { grid-column: 3; grid-row: 1; }
  .category-organization-group { grid-template-columns: 1fr 1fr; align-items: end; }
  .category-group-identity { grid-column: 1 / -1; }
  .category-group-save { grid-column: 1 / -1; }
}

/* Entrega 07: estados y acciones más legibles */
.button.reopen-preparation-button{color:#6b3900;background:#ffd6a0;border-color:#e89b3a}
.button.reopen-preparation-button:hover:not(:disabled){background:#ffc77b}
.button.user-edit-button{color:#174d7a;background:#e7f3ff;border-color:#9dc8e8}
.button.user-edit-button:hover:not(:disabled){background:#d6ebfc}
.button.user-password-button{color:#5c347a;background:#f1e8fa;border-color:#c7a9df}
.button.user-password-button:hover:not(:disabled){background:#e8d9f5}
.button.user-activate-button{color:#176144;background:#e4f6ec;border-color:#8bc7a8}
.button.user-activate-button:hover:not(:disabled){background:#d1eedf}
.button.user-deactivate-button{color:#8a3d00;background:#fff0df;border-color:#e6ae73}
.button.user-deactivate-button:hover:not(:disabled){background:#ffe3c4}
.button.participant-add-button{color:#fff;background:#247787;border-color:#247787}
.button.participant-add-button:hover:not(:disabled){background:#1d6572}
.single-participant-card header{align-items:center}

.role-chip.owner { border-color: #8a6d1d; background: #fff5cc; color: #5f4800; font-weight: 800; }

/* M3 Histórico de competiciones */
.historical-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(520px,1.4fr);gap:18px;align-items:start}.historical-create-card,.historical-list-card{padding:0 0 20px;overflow:hidden}.historical-create-card>header,.historical-list-card>header{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.historical-create-card>.field,.historical-create-card>.historical-current-summary,.historical-create-card>.historical-create-submit{margin-left:20px;margin-right:20px}.historical-create-card>.field{margin-top:14px}.historical-current-summary{margin-top:16px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#f7f8fb;display:grid;gap:6px;font-size:.72rem}.historical-current-summary strong{color:var(--navy)}.historical-current-summary span{color:var(--muted)}.historical-create-submit{margin-top:18px!important;background:var(--navy)!important;border-color:var(--navy)!important}.historical-create-submit:hover{filter:brightness(1.08)}.historical-list{display:grid}.historical-empty{margin:18px 20px;padding:20px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center}.historical-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(330px,auto);gap:16px;padding:15px 20px;border-top:1px solid var(--line);align-items:center}.historical-row:first-child{border-top:0}.historical-row-main{display:grid;gap:4px}.historical-row-main strong{color:var(--navy)}.historical-row-main small{color:var(--muted)}.historical-row-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.historical-row-meta>*{max-width:100%}.historical-chip{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:99px;background:#eef1f7;color:#34405f;font-size:.66rem;font-weight:800;line-height:1.15;white-space:nowrap}.historical-chip.ok{background:#eaf8ef;color:#176b37}.historical-chip.error{background:#fff0f2;color:#9d1425}.historical-row-meta .button{min-width:92px;min-height:32px;padding:6px 11px;font-size:.66rem;line-height:1.1}.historical-create-card[hidden]{display:none}.historical-info{margin-bottom:18px}@media(max-width:1250px){.historical-row{grid-template-columns:1fr}.historical-row-meta{justify-content:flex-start}}@media(max-width:1050px){.historical-grid{grid-template-columns:1fr}}@media(max-width:650px){.historical-row-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.historical-chip,.historical-row-meta .button{width:100%;min-width:0;white-space:normal;text-align:center}}

.historical-delete{padding:5px 9px;font-size:.66rem;line-height:1.1}.historical-row-meta .button{white-space:nowrap}

.historical-delete-dialog { width: min(620px, calc(100vw - 32px)); }
.historical-delete-warning { margin: 0 0 16px; padding: 13px 15px; color: #7d1222; background: #fff1f3; border: 1px solid #efb3bc; border-radius: 8px; font-weight: 700; line-height: 1.45; }
.historical-delete-dialog output { display: block; margin: 8px 0 10px; padding: 12px 14px; color: var(--navy); background: #f7f7fa; border: 1px dashed var(--red); border-radius: 7px; font: 700 .78rem/1.45 monospace; overflow-wrap: anywhere; user-select: all; cursor: text; }
.historical-delete-dialog .field input { font-family: monospace; }

/* Visor privado de competiciones históricas */

.historical-view-dialog{width:min(1240px,calc(100vw - 28px));height:min(900px,calc(100vh - 28px));padding:0;border:0;border-radius:10px;overflow:hidden;background:#f4f4f7;box-shadow:0 22px 65px rgba(7,31,70,.38)}
.historical-view-dialog::backdrop{background:rgba(4,19,43,.72)}
.historical-view-shell{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr)}
.historical-view-header{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(360px,1.25fr) 40px;gap:22px;align-items:center;padding:14px 18px;color:#fff;background:linear-gradient(135deg,#073477 0%,#0b438f 58%,#8c1125 140%);border-bottom:4px solid var(--red)}
.historical-view-brand{display:flex;align-items:center;gap:12px;min-width:0}.historical-view-brand img{width:48px;height:48px;object-fit:contain;flex:0 0 auto}.historical-view-brand div{min-width:0}.historical-view-brand p{margin:0 0 2px;font-size:.57rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.78}.historical-view-brand strong{display:block;font-size:.82rem;line-height:1.15;white-space:normal}
.historical-view-heading{min-width:0;padding-left:20px;border-left:1px solid rgba(255,255,255,.28)}.historical-view-heading>span{display:inline-flex;margin-bottom:4px;padding:3px 7px;border:1px solid rgba(255,255,255,.42);border-radius:99px;background:rgba(255,255,255,.12);font-size:.52rem;font-weight:850;letter-spacing:.07em}.historical-view-heading h2{margin:0 0 3px;color:#fff;font-size:1.03rem;line-height:1.18}.historical-view-heading p{margin:0;color:rgba(255,255,255,.82);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.historical-view-close{width:36px;height:36px;display:grid;place-items:center;padding:0;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);border-radius:7px;font-size:1.28rem;line-height:1;cursor:pointer}.historical-view-close:hover{background:rgba(255,255,255,.22)}
.historical-view-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);overflow:visible}
.historical-view-tabs button{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:11px 12px;color:var(--muted);background:#fff;border:0;border-bottom:3px solid transparent;font:inherit;font-size:.61rem;font-weight:780;text-align:left;cursor:pointer}.historical-view-tabs button+button{border-left:1px solid #ececf1}.historical-view-tabs button i{width:25px;height:25px;display:grid;place-items:center;color:#fff;background:#9ca3af;border-radius:5px;font-style:normal;font-size:.55rem}.historical-view-tabs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.historical-view-tabs button:hover{color:var(--navy);background:#f8f8fb}.historical-view-tabs button.active{color:var(--navy);background:#f7f7fa;border-bottom-color:var(--red)}.historical-view-tabs button.active i{background:var(--red)}
.historical-view-content{min-height:0;padding:16px 18px 28px;overflow:auto;scrollbar-gutter:stable}
.historical-section-heading{margin:0 0 12px;padding:0 2px}.historical-section-heading h3{margin:0;color:var(--navy);font-size:.85rem}.historical-section-heading p{margin:3px 0 0;color:var(--muted);font-size:.59rem}
.historical-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:9px}.historical-summary-card{min-height:72px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 2px 8px rgba(31,40,70,.05);display:flex;flex-direction:column;justify-content:center;gap:4px}.historical-summary-card b{color:var(--muted);font-size:.53rem;text-transform:uppercase;letter-spacing:.04em}.historical-summary-card span{color:var(--navy);font-size:.77rem;font-weight:800;overflow-wrap:anywhere}
.historical-category-block{margin:0 0 10px;padding:0;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 2px 8px rgba(31,40,70,.04)}.historical-category-block>h3{margin:0;padding:11px 14px 11px 16px;color:var(--navy);background:#f7f7fa;border-left:5px solid #777;border-bottom:1px solid var(--line);font-size:.72rem}.historical-category-block h4{margin:0;padding:9px 14px;color:var(--navy);background:#fbfbfd;border-top:1px solid var(--line);border-bottom:1px solid #ececf1;font-size:.62rem}
.historical-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.historical-group-grid article{min-width:0;padding:11px 13px;background:#fff;border-right:1px solid #ececf1;border-bottom:1px solid #ececf1}.historical-group-grid article:nth-child(3n){border-right:0}.historical-group-grid strong{color:var(--navy);font-size:.66rem}.historical-group-grid p,.historical-group-grid small{display:block;margin:3px 0 0;color:var(--muted);font-size:.56rem;line-height:1.35}.historical-inline-empty{margin:0;padding:14px;color:var(--muted);font-size:.6rem}
.historical-table{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 2px 8px rgba(31,40,70,.04)}.historical-table-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(100px,.65fr);gap:10px;padding:9px 13px;border-top:1px solid #ececf1;font-size:.6rem}.historical-table-row:first-child{border-top:0}.historical-table-row.head{color:var(--navy);background:#f1f1f5;font-weight:850;font-size:.56rem;text-transform:uppercase}
.historical-match-list{border:0;border-radius:0;overflow:hidden}.historical-match-row{display:grid;grid-template-columns:68px minmax(240px,1fr) 150px;gap:10px;padding:8px 13px;background:#fff;border-top:1px solid #ececf1;font-size:.59rem}.historical-match-row:first-child{border-top:0}.historical-match-row time{color:var(--navy);font-weight:850;font-variant-numeric:tabular-nums}.historical-match-row small{text-align:right;color:var(--muted);font-size:.55rem}
@media(max-width:980px){.historical-view-header{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr) 38px;gap:14px}.historical-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.historical-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.historical-group-grid article:nth-child(3n){border-right:1px solid #ececf1}.historical-group-grid article:nth-child(2n){border-right:0}}
@media(max-width:700px){.historical-view-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.historical-view-header{grid-template-columns:1fr 36px;padding:12px 14px}.historical-view-brand{grid-column:1}.historical-view-brand img{width:40px;height:40px}.historical-view-heading{grid-column:1 / -1;grid-row:2;padding:9px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.25)}.historical-view-heading p{white-space:normal}.historical-view-close{grid-column:2;grid-row:1}.historical-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.historical-view-tabs button:nth-child(3),.historical-view-tabs button:nth-child(5){border-left:0}.historical-view-tabs button{padding:9px 10px}.historical-view-content{padding:12px}.historical-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.historical-group-grid{grid-template-columns:1fr}.historical-group-grid article,.historical-group-grid article:nth-child(3n){border-right:0}.historical-table-row{grid-template-columns:1fr;gap:3px}.historical-table-row.head{display:none}.historical-table-row span:nth-child(2),.historical-table-row span:nth-child(3){color:var(--muted);font-size:.55rem}.historical-match-row{grid-template-columns:58px minmax(0,1fr);gap:7px}.historical-match-row small{grid-column:2;text-align:left}}


.historical-results-group{margin-top:10px;border:1px solid #dedee6;border-radius:8px;overflow:hidden;background:#fff}
.historical-results-group>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;background:#f3f4f7;border-bottom:1px solid #e3e4e8}
.historical-results-group>header strong{font-size:.7rem;color:var(--navy)}
.historical-results-group>header span{font-size:.56rem;color:var(--muted)}

.historical-standing-card{margin:10px;border:1px solid #dfe1e6;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(31,40,70,.04)}
.historical-standing-card>h4{margin:0;padding:8px 10px;color:var(--navy);background:#f7f7fa;border-bottom:1px solid #e5e6eb;font-size:.62rem}
.historical-standing-card .historical-standing-table{margin:0}
.historical-standing-table{width:100%;border-collapse:collapse;font-size:.58rem}
.historical-standing-table th,.historical-standing-table td{padding:6px 7px;border-bottom:1px solid #ededf1;text-align:center}
.historical-standing-table th:nth-child(2),.historical-standing-table td:nth-child(2){text-align:left}
.historical-standing-table thead{background:#fafafd;color:var(--navy)}
.historical-standing-table tbody tr:last-child td{border-bottom:0}
.historical-result-list{display:grid;gap:5px;padding:8px}
.historical-result-row{display:grid;grid-template-columns:54px minmax(0,1fr) 58px minmax(0,1fr);align-items:center;gap:7px;padding:6px 8px;border:1px solid #ececf1;border-radius:6px;background:#fff;font-size:.58rem}
.historical-result-row time{font-weight:800;color:var(--navy)}
.historical-result-row strong{font-size:.6rem}.historical-result-row strong:nth-of-type(1){text-align:right}.historical-result-row strong:nth-of-type(2){text-align:left}
.historical-result-row b{text-align:center;font-size:.7rem;color:var(--red)}

.historical-cross-ranking{margin-top:12px;padding:10px;border:1px solid #dedee6;border-radius:8px;background:#fff}
.historical-cross-ranking h4{margin:0 0 7px;color:var(--navy);font-size:.68rem}
.historical-cross-ranking .selected{background:#edf8ef}

.historical-final-access{margin:10px;padding:10px;border:1px solid #dedee6;border-radius:8px;background:#fafafd}
.historical-final-access>h4{margin:-10px -10px 10px;padding:8px 10px;color:#fff;background:var(--navy);border:0;font-size:.65rem}
.historical-final-access>strong{display:block;margin:10px 0 6px;color:var(--navy);font-size:.62rem}
.historical-final-access .selected{background:#edf8ef}
.historical-final-round{margin-top:11px}
.historical-final-round>h4{margin:0;padding:7px 9px;color:#fff;background:var(--navy);border-radius:7px 7px 0 0;font-size:.65rem}
.historical-final-list{display:grid;gap:0;border:1px solid #dfe1e6;border-top:0;border-radius:0 0 7px 7px;overflow:hidden}
.historical-final-match{display:grid;grid-template-columns:80px minmax(0,1fr) 58px minmax(0,1fr) 120px;gap:7px;align-items:center;padding:8px 9px;background:#fff;border-bottom:1px solid #ececf1;font-size:.58rem}
.historical-final-match:last-child{border-bottom:0}
.historical-final-match>span:first-child{font-weight:800;color:var(--navy)}
.historical-final-match b{text-align:center;color:var(--red);font-size:.7rem}
.historical-final-match small{text-align:right;color:var(--muted)}
.historical-honor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
.historical-honor-card{padding:11px;border:1px solid #dddfe5;border-left:5px solid var(--red);border-radius:8px;background:#fff}
.historical-honor-card b{display:block;margin-bottom:4px;color:var(--navy);font-size:.68rem}
.historical-honor-card span{display:block;font-size:.62rem}
.historical-honor-card small{display:block;margin-top:3px;color:var(--muted);font-size:.54rem}
@media(max-width:1100px){.historical-view-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.historical-view-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.historical-view-tabs button:nth-child(4){border-left:0}.historical-result-row,.historical-final-match{grid-template-columns:58px minmax(0,1fr) 52px minmax(0,1fr)}.historical-result-row small,.historical-final-match small{grid-column:2 / -1;text-align:left}}
@media(max-width:700px){.historical-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.historical-view-tabs button:nth-child(4){border-left:1px solid #ececf1}.historical-result-row,.historical-final-match{grid-template-columns:48px minmax(0,1fr) 44px minmax(0,1fr);font-size:.54rem}.historical-honor-grid{grid-template-columns:1fr}.historical-standing-table{font-size:.52rem}.historical-standing-table th,.historical-standing-table td{padding:5px 4px}}

/* Visor histórico: monitores y documentos */
.historical-monitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.historical-monitor-grid article{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(220px,1.1fr);gap:18px;align-items:center;min-height:58px;padding:11px 14px;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(31,40,70,.05)}

.historical-monitor-grid strong{display:block;color:var(--navy);font-size:.64rem;line-height:1.25}
.historical-monitor-grid span{display:block;margin:0;color:var(--muted);font-size:.58rem;overflow-wrap:anywhere}
.historical-document-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(31,40,70,.05)}
.historical-document-card strong{display:block;color:var(--navy);font-size:.7rem}
.historical-document-card p{max-width:760px;margin:4px 0 0;color:var(--muted);font-size:.58rem;line-height:1.45}
.historical-document-card .button{flex:0 0 auto;text-decoration:none;white-space:nowrap}
@media(max-width:700px){.historical-monitor-grid{grid-template-columns:1fr}.historical-monitor-grid article{grid-template-columns:1fr;gap:4px}.historical-document-card{align-items:stretch;flex-direction:column}.historical-document-card .button{width:100%;text-align:center}}

/* C2 LIVE */
.live-nav-indicator{color:#8790a3;font-size:.72rem}.nav-item.active .live-nav-indicator{color:#fff}.live-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:16px;align-items:start}.live-timer-card{grid-row:span 2;overflow:hidden}.live-timer-card[data-live-status="match"]{box-shadow:inset 0 5px #23864f}.live-timer-card[data-live-status="break"]{box-shadow:inset 0 5px #2b6cb0}.live-timer-card[data-live-status="ready"]{box-shadow:inset 0 5px #d70f27}.live-timer-header{display:flex;align-items:center;justify-content:center;text-align:center}.live-timer-header h3{margin:0;font-size:1.45rem;letter-spacing:.04em}.live-timer-body{padding:24px 26px 28px;text-align:center}.live-clock{color:var(--navy);font-size:clamp(4.8rem,10vw,8.5rem);font-weight:900;line-height:.95;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.live-timer-card[data-live-status="match"] .live-clock{color:#18723b}.live-timer-card[data-live-status="break"] .live-clock{color:#215f9f}.live-timer-card.live-warning .live-clock{color:#b97900}.live-timer-card.live-critical .live-clock{color:var(--red);animation:livePulse .8s infinite alternate}.live-progress-track{height:20px;margin:24px 0 14px;overflow:hidden;background:#e5e7ed;border-radius:999px}.live-progress-bar{height:100%;width:0;background:#23864f;border-radius:inherit;transition:width .25s linear}.live-timer-card[data-live-status="break"] .live-progress-bar{background:#2b6cb0}.live-timer-card.live-warning .live-progress-bar{background:#d29216}.live-timer-card.live-critical .live-progress-bar{background:var(--red)}.live-message{min-height:28px;margin:0;color:var(--navy);font-size:1.05rem;font-weight:850}.live-duration-data{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin:18px 0 22px;color:var(--muted);font-size:.7rem}.live-duration-data b{color:var(--navy);font-variant-numeric:tabular-nums}.live-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.live-start-button{min-width:230px;padding:14px 22px;font-size:.82rem}.live-match-list{display:grid}.live-match-row{display:grid;grid-template-columns:minmax(95px,.7fr) minmax(0,1.7fr);gap:12px;padding:12px 15px;border-top:1px solid var(--line);font-size:.68rem}.live-match-row:first-child{border-top:0}.live-match-row strong{color:var(--navy)}.live-match-row span{display:block;color:var(--muted);margin-top:3px}.live-match-row p{margin:0;color:var(--ink);font-weight:800;line-height:1.35}.live-match-list.compact .live-match-row{padding-block:9px;font-size:.62rem}.live-matches-card .empty-list,.live-next-card .empty-list{margin:14px}.live-matches-card .empty-list[hidden],.live-next-card .empty-list[hidden]{display:none}@keyframes livePulse{from{opacity:1}to{opacity:.62}}@media(max-width:1050px){.live-layout{grid-template-columns:1fr}.live-timer-card{grid-row:auto}}@media(max-width:650px){.live-timer-body{padding:20px 14px 24px}.live-clock{font-size:4.8rem}.live-match-row{grid-template-columns:1fr}.live-controls{display:grid}.live-start-button{min-width:0}}
.live-start-green{background:#198754;border-color:#198754;color:#fff}.live-start-green:hover:not(:disabled){background:#146c43;border-color:#146c43}.live-reset-button{background:#c81e2f;border-color:#c81e2f;color:#fff}.live-reset-button:hover:not(:disabled){background:#a91827;border-color:#a91827}.live-monitor-list{display:grid}.live-monitor-row{padding:12px 15px;border-top:1px solid var(--line)}.live-monitor-row:first-child{border-top:0}.live-monitor-row-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-monitor-row-top strong{color:var(--navy);font-size:.72rem}.live-monitor-row-top time{color:var(--muted);font-size:.62rem;font-variant-numeric:tabular-nums}.live-operational-line,.live-pairing-line,.live-score-line{margin:4px 0 0}.live-operational-line{color:var(--muted);font-size:.64rem}.live-score-line{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;color:var(--ink);font-size:.74rem;font-weight:900}.live-score-participant{line-height:1.3}.live-score-participant:first-child{text-align:right}.live-score-participant:last-child{text-align:left}.live-score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:4px 10px;border:1px solid #9fd8b6;border-radius:7px;background:#e8f7ee;color:#15723a;font-size:.74rem;font-weight:950;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px rgba(21,114,58,.12)}.live-pairing-line{color:var(--ink);font-size:.69rem;font-weight:800}.live-pending-row small{display:block;margin-top:4px;color:var(--muted);font-size:.6rem}.live-delay-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:3px 8px;border-radius:999px;background:#fff0f1;color:var(--red);font-size:.62rem;font-weight:900}.live-results-card .empty-list,.live-pending-card .empty-list{margin:14px}.live-results-card .empty-list[hidden],.live-pending-card .empty-list[hidden]{display:none}@media(max-width:650px){.live-monitor-row-top{align-items:flex-start}.live-score-line{gap:7px;line-height:1.4}.live-score-badge{min-width:44px;padding-inline:8px}}

/* LIVE: estado principal centrado y más visible dentro de la tarjeta del temporizador. */
.live-timer-card > .live-timer-header{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  text-align:center;
}
.live-timer-card > .live-timer-header > h3{
  width:100%;
  margin:0;
  text-align:center;
  font-size:clamp(1.9rem,3vw,2.5rem);
  line-height:1.1;
  letter-spacing:.06em;
}

/* Fútbol Plaza · Inscripción de equipos */
.team-enrollment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.team-enrollment-summary article{background:#fff;border:1px solid #dfe4ee;border-radius:14px;padding:16px;display:grid;gap:3px}.team-enrollment-summary small{color:#69738a;font-weight:700}.team-enrollment-summary strong{font-size:1.7rem;color:#17213a}.team-enrollment-summary span{color:#69738a}.team-category-list{display:grid;gap:14px}.team-category-card{background:#fff;border:1px solid #dfe4ee;border-radius:16px;overflow:hidden}.team-category-heading{width:100%;border:0;background:#fff;padding:18px 20px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;text-align:left;cursor:pointer}.team-category-heading>span:first-child{display:flex;align-items:center;gap:12px}.team-category-heading i{width:12px;height:12px;border-radius:50%;background:var(--category-color)}.team-category-heading strong{font-size:1rem}.team-category-count{font-weight:700;color:#58647b}.team-category-heading b{font-size:1.3rem;transition:transform .2s}.team-category-heading[aria-expanded="true"] b{transform:rotate(180deg)}.team-category-body{border-top:1px solid #e7eaf0;padding:18px;background:#f8f9fc}.team-quick-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;background:#fff;border:1px solid #dde2ec;border-radius:14px;padding:14px;margin-bottom:14px}.team-quick-form label,.team-member-grid label,.team-name-edit label{display:grid;gap:6px}.team-quick-form span,.team-member-grid span,.team-name-edit span{font-size:.78rem;font-weight:800;color:#566177}.team-quick-form input,.team-member-grid input,.team-name-edit input{min-height:42px;border:1px solid #cfd5e0;border-radius:9px;padding:8px 10px;font:inherit;background:#fff}.team-list{display:grid;gap:10px}.team-row-card{background:#fff;border:1px solid #dde2ec;border-radius:14px;overflow:hidden}.team-row-summary{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:13px}.team-order{width:38px;height:38px;border-radius:10px;background:#eef1f7;display:grid;place-items:center;font-weight:900;color:#34415c}.team-row-name{display:grid;gap:2px}.team-row-name strong{font-size:.98rem}.team-row-name span{font-size:.78rem;color:#707a8e}.team-row-actions{display:flex;gap:8px}.team-details-form{border-top:1px solid #e6e9ef;padding:16px;background:#fbfcfe}.team-name-edit{margin-bottom:14px}.team-members{display:grid;gap:12px}.team-member-row{border:1px solid #e1e5ed;border-radius:12px;padding:13px;background:#fff}.team-member-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.team-member-title span{font-size:.75rem;color:#7a8497}.team-member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.team-member-grid .wide{grid-column:span 2}.team-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}@media(max-width:850px){.team-enrollment-summary{grid-template-columns:1fr}.team-category-heading{grid-template-columns:1fr auto}.team-category-count{grid-column:1/-1}.team-quick-form,.team-row-summary{grid-template-columns:1fr}.team-row-actions{flex-wrap:wrap}.team-member-grid{grid-template-columns:1fr}.team-member-grid .wide{grid-column:auto}}

/* Fútbol Plaza · alta rápida de equipos */
.team-quick-form{display:grid;grid-template-columns:1fr;align-items:stretch;gap:14px;padding:16px}
.team-quick-name{max-width:620px}
.team-quick-name label,.team-quick-member label{display:grid;gap:6px}
.team-quick-name span,.team-quick-member span{font-size:.78rem;font-weight:800;color:#566177}
.team-quick-name input,.team-quick-member input{width:100%;min-height:42px;border:1px solid #cfd5e0;border-radius:9px;padding:8px 10px;font:inherit;background:#fff}
.team-quick-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.team-quick-member{min-width:0;margin:0;border:1px solid #dfe4ed;border-radius:12px;padding:12px;background:#f9fafc;display:grid;gap:9px}
.team-quick-member legend{padding:0 6px;font-weight:900;color:#27344d}
.team-quick-actions{display:flex;justify-content:space-between;align-items:center;gap:14px}
.team-quick-actions small{color:#6d778a}
@media(max-width:1050px){.team-quick-members{grid-template-columns:1fr}.team-quick-actions{align-items:flex-start;flex-direction:column}}
.team-registration-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:9px 11px;border:1px solid #dfe4ec;border-radius:10px;background:#fff}.team-registration-control>div{display:grid;gap:1px}.team-registration-label{font-size:.78rem;color:#263552}.team-registration-help{font-size:.72rem;color:#6d778a}.registrations-closed .team-registration-control{background:#f6f7fa}.registrations-closed .team-category-heading{background:#fafbfc}.registrations-closed .team-category-count{color:#9a4a34}@media(max-width:720px){.team-registration-control{align-items:stretch;flex-direction:column}.team-registration-toggle{width:100%}}

/* Fútbol Plaza · Inscripciones compactas y estados visuales */
.team-category-body{padding:12px;background:#f6f8fb}
.team-registration-control{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:7px 9px;border:1px solid #dce2eb;border-radius:10px;background:#fff}
.team-registration-status{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border-radius:999px;background:#eaf7ef;color:#17663c;white-space:nowrap}
.team-registration-dot{width:8px;height:8px;border-radius:50%;background:#22a45a;box-shadow:0 0 0 3px rgba(34,164,90,.12)}
.team-registration-label{font-size:.72rem!important;line-height:1;font-weight:900!important;letter-spacing:.025em;color:inherit!important}
.team-registration-help{font-size:.7rem!important;line-height:1.25;color:#667187}
.registrations-closed .team-registration-status{background:#fff0ef;color:#9a2f28}
.registrations-closed .team-registration-dot{background:#d9443b;box-shadow:0 0 0 3px rgba(217,68,59,.12)}
.registrations-closed .team-category-heading{background:linear-gradient(90deg,#fff 0%,#fff7f6 100%)}
.team-registration-toggle{min-height:30px;padding:5px 10px;border-radius:8px;font-size:.72rem;font-weight:900;border:1px solid transparent;cursor:pointer}
.team-registration-toggle.close-registrations{background:#c9342f;color:#fff;border-color:#b62c27}
.team-registration-toggle.close-registrations:hover{background:#ad2925}
.team-registration-toggle.reopen-registrations{background:#fff;color:#197044;border-color:#72b58d}
.team-registration-toggle.reopen-registrations:hover{background:#edf8f2}
.team-enrolled-block{margin-bottom:10px}
.team-enrolled-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 6px}
.team-enrolled-heading strong{font-size:.78rem;color:#263552}
.team-enrolled-heading span{font-size:.7rem;font-weight:800;color:#6a7589}
.team-quick-form{gap:8px!important;padding:10px!important;margin:0!important;border-radius:11px!important}
.team-quick-form-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:1px}
.team-quick-form-title strong{font-size:.8rem;color:#263552}
.team-quick-form-title span{font-size:.68rem;color:#707b8f}
.team-quick-name{max-width:520px}
.team-quick-name label,.team-quick-member label{gap:2px!important}
.team-quick-name span,.team-quick-member span{font-size:.68rem!important;line-height:1.1;font-weight:750!important;color:#58647a!important}
.team-quick-name input,.team-quick-member input{min-height:31px!important;height:31px;padding:4px 7px!important;border-radius:7px!important;font-size:.78rem!important}
.team-quick-members{gap:8px!important}
.team-quick-member{padding:7px!important;border-radius:9px!important;gap:5px!important;background:#fafbfd!important}
.team-quick-member legend{padding:0 4px!important;font-size:.73rem!important;line-height:1;font-weight:850!important;color:#33415b!important}
.team-quick-actions{gap:10px!important;margin-top:1px}
.team-quick-actions small{font-size:.66rem;line-height:1.2}
.team-enroll-button{min-height:31px;padding:5px 13px;border:1px solid #18824b;border-radius:8px;background:#1d9a58;color:#fff;font-size:.74rem;font-weight:900;cursor:pointer}
.team-enroll-button:hover{background:#177f48}
.team-list{gap:7px!important}
.team-row-summary{padding:9px 10px!important;gap:9px!important}
.team-order{width:31px!important;height:31px!important;border-radius:8px!important;font-size:.75rem}
.team-row-name strong{font-size:.85rem!important}.team-row-name span{font-size:.68rem!important}
.team-row-actions .button{min-height:29px;padding:4px 8px;font-size:.7rem}
.team-details-form{padding:10px!important}.team-name-edit{margin-bottom:8px!important}.team-members{gap:7px!important}
.team-member-row{padding:8px!important;border-radius:9px!important}.team-member-title{margin-bottom:5px!important}
.team-member-title strong{font-size:.73rem!important}.team-member-title span{font-size:.65rem!important}
.team-member-grid{gap:6px!important}.team-member-grid label{gap:2px!important}.team-member-grid span{font-size:.66rem!important;line-height:1.1!important}
.team-member-grid input,.team-name-edit input{min-height:31px!important;height:31px;padding:4px 7px!important;border-radius:7px!important;font-size:.76rem!important}
.team-form-actions{margin-top:8px!important;gap:7px!important}.team-form-actions .button{min-height:30px;padding:5px 10px;font-size:.7rem}
@media(max-width:720px){.team-registration-control{grid-template-columns:1fr}.team-registration-status{justify-self:start}.team-registration-toggle{width:100%}.team-quick-form-title{align-items:flex-start;flex-direction:column;gap:2px}}

/* Fútbol Plaza · planificación por categoría */
.fp-planning-list{display:grid;gap:14px}.fp-planning-card{overflow:hidden}.fp-planning-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--border-color,#d9e0e8)}.fp-planning-card>header h3{margin:0 0 2px;font-size:1rem}.fp-planning-card>header p{margin:0;font-size:.78rem;color:#657286}.fp-plan-state{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.fp-plan-state i{width:8px;height:8px;border-radius:50%}.fp-plan-state.open{color:#8a3b00;background:#fff3e6}.fp-plan-state.open i{background:#e98624}.fp-plan-state.closed{color:#17643d;background:#eaf8f0}.fp-plan-state.closed i{background:#20a464}.fp-plan-state.started{color:#8b2020;background:#fdecec}.fp-plan-state.started i{background:#d74444}.fp-planning-body{padding-top:12px}.fp-plan-blocked,.fp-special-case{margin:0;padding:11px 13px;border-radius:8px;background:#f5f7fa;color:#5c697a;font-size:.82rem}.fp-special-case{display:flex;flex-direction:column;gap:2px}.fp-special-case strong{color:#1e2f44}.fp-plan-form fieldset{border:0;margin:0;padding:0}.fp-plan-form legend{margin-bottom:7px;font-size:.78rem;font-weight:800;color:#26384e}.fp-system-options{display:grid;gap:7px}.fp-system-option{display:flex;gap:9px;padding:9px 10px;border:1px solid #dbe2ea;border-radius:8px;cursor:pointer;background:#fff}.fp-system-option:has(input:checked){border-color:#1d5fa7;box-shadow:0 0 0 2px rgba(29,95,167,.09);background:#f7fbff}.fp-system-option input{margin-top:3px}.fp-system-option span{display:flex;flex-direction:column;gap:2px}.fp-system-option strong{font-size:.79rem;color:#20344c}.fp-system-option small{font-size:.7rem;color:#657286}.fp-system-option em{font-style:normal;font-size:.69rem;font-weight:700;color:#1d5fa7}.fp-plan-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.fp-plan-times label{display:flex;flex-direction:column;gap:4px}.fp-plan-times label span{font-size:.7rem;font-weight:750;color:#405269}.fp-plan-times input,.fp-plan-times select{height:34px;padding:0 9px;border:1px solid #cfd8e3;border-radius:7px;background:#fff;font:inherit;font-size:.8rem}.fp-plan-summary{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;margin-top:10px;padding:9px 10px;border-radius:8px;background:#eef5fc;font-size:.75rem;color:#38516d}.fp-plan-summary strong{color:#163f6c}.fp-plan-summary small{width:100%;color:#6a7788}.fp-plan-actions{display:flex;justify-content:flex-end;margin-top:10px}.fp-plan-actions .button{min-height:34px;padding:7px 13px;font-size:.76rem}@media(max-width:850px){.fp-plan-times{grid-template-columns:1fr}.fp-planning-card>header{align-items:flex-start;flex-direction:column}}

/* Fútbol Plaza · Planificación compacta y visual */
.fp-planning-card{padding:0;overflow:hidden}
.fp-planning-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:12px;padding:12px 14px;border:0;background:#fff;color:inherit;text-align:left;cursor:pointer}
.fp-planning-toggle:hover{background:#f7f9fc}
.fp-planning-toggle>span:first-child{display:grid;gap:2px}
.fp-planning-toggle strong{font-size:.82rem;color:#20344c}
.fp-planning-toggle small{font-size:.66rem;color:#657286;font-weight:600}
.fp-planning-chevron{font-size:1rem;color:#718096;transition:transform .18s ease;text-align:center}
.fp-planning-card.open .fp-planning-toggle{background:#f8fbff;box-shadow:inset 4px 0 #1d5fa7}
.fp-planning-card.open .fp-planning-chevron{transform:rotate(180deg)}
.fp-planning-body{padding:11px 12px 13px;border-top:1px solid #dce3eb;background:#f7f9fc}
.fp-planning-body[hidden]{display:none!important}
.fp-plan-form{display:grid;gap:9px}
.fp-plan-subcard{padding:10px 11px;border:1px solid #dce3eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(23,43,77,.04)}
.fp-plan-subcard h4{margin:0 0 8px;font-size:.73rem;line-height:1.2;color:#26384e;text-transform:uppercase;letter-spacing:.025em}
.fp-plan-times{margin-top:0}
.fp-plan-calculation{background:linear-gradient(135deg,#f4f9ff,#eef6ff);border-color:#cfdeef}
.fp-plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;background:transparent}
.fp-plan-metric{display:grid;gap:3px;min-height:62px;padding:9px 10px;border:1px solid #d3e1f0;border-radius:8px;background:#fff;text-align:center;align-content:center}
.fp-plan-metric small{font-size:.62rem;font-weight:750;color:#64748b;text-transform:uppercase;letter-spacing:.035em}
.fp-plan-metric strong{font-size:1rem;color:#123f6d;font-variant-numeric:tabular-nums}
.fp-plan-summary p{grid-column:1/-1;margin:0;padding-top:1px;font-size:.65rem;color:#66758a;text-align:center}
.fp-plan-actions{margin-top:0}
@media(max-width:850px){.fp-planning-toggle{grid-template-columns:minmax(0,1fr) 22px}.fp-planning-toggle .fp-plan-state{grid-column:1/-1;justify-self:start}.fp-plan-summary{grid-template-columns:1fr}.fp-plan-summary p{grid-column:auto}.fp-plan-metric{min-height:54px}}

/* Fútbol Plaza · planificación provisional con inscripciones abiertas */
.fp-plan-open-notice {
  margin: 0;
  padding: .55rem .7rem;
  border: 1px solid #e5c66e;
  border-radius: .55rem;
  background: #fff8df;
  color: #69520e;
  font-size: .78rem;
  line-height: 1.25;
}

.fp-plan-actions .button:disabled {
  opacity: .58;
  cursor: not-allowed;
}

/* Fútbol Plaza · sorteo y distribución de grupos */
.fp-draw-card { margin-top: .7rem; }
.fp-draw-heading { display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-bottom:.55rem; }
.fp-draw-heading h4 { margin:0; }
.fp-draw-heading p { margin:.12rem 0 0; font-size:.72rem; color:var(--muted-text,#667085); }
.fp-draw-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.55rem; }
.fp-draw-group { border:1px solid rgba(20,42,74,.12); border-radius:10px; background:#fff; overflow:hidden; }
.fp-draw-group header { padding:.48rem .58rem; background:linear-gradient(135deg,rgba(19,87,162,.09),rgba(19,87,162,.03)); display:flex; flex-direction:column; gap:.08rem; }
.fp-draw-group header strong { font-size:.78rem; letter-spacing:.035em; }
.fp-draw-group header span { font-size:.68rem; color:#667085; }
.fp-draw-group ol { margin:0; padding:.38rem .55rem .45rem 1.65rem; }
.fp-draw-group li { padding:.18rem .1rem; font-size:.76rem; border-bottom:1px dashed rgba(20,42,74,.1); }
.fp-draw-group li:last-child { border-bottom:0; }
.fp-draw-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.45rem; margin-top:.55rem; }
.fp-draw-actions .button { min-height:30px; padding:.35rem .65rem; font-size:.72rem; }
@media (max-width:700px){.fp-draw-actions{justify-content:stretch}.fp-draw-actions .button{flex:1 1 100%}}


/* Fútbol Plaza · enfrentamientos de la fase de grupos */
.fp-matches-card { padding-bottom: .65rem; }
.fp-matches-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-bottom:.45rem; }
.fp-matches-heading h4 { margin:0; }
.fp-matches-heading p { margin:.12rem 0 0; font-size:.76rem; color:var(--muted-text, #64748b); }
.fp-matches-list { display:grid; gap:.28rem; }
.fp-match-row { display:grid; grid-template-columns:2.1rem 4rem 4.7rem minmax(0,1fr) 1.1rem minmax(0,1fr) 4.4rem; align-items:center; gap:.38rem; min-height:2rem; padding:.28rem .42rem; border:1px solid rgba(148,163,184,.28); border-radius:.55rem; background:rgba(248,250,252,.82); font-size:.78rem; }
.fp-match-number { display:grid; place-items:center; min-height:1.45rem; border-radius:.42rem; background:#e2e8f0; font-weight:800; font-variant-numeric:tabular-nums; }
.fp-match-time { display:grid; place-items:center; min-height:1.45rem; padding:0 .28rem; border-radius:.42rem; background:rgba(22,101,52,.1); color:#166534; font-weight:850; font-variant-numeric:tabular-nums; }
.fp-match-group { color:#475569; font-weight:700; font-size:.72rem; text-transform:uppercase; }
.fp-match-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fp-match-vs { text-align:center; color:#94a3b8; }
.fp-match-row small { text-align:right; color:#64748b; font-size:.68rem; }
.fp-local-balance-note { margin:.45rem 0 0; font-size:.72rem; color:#64748b; }
@media (max-width:760px){
  .fp-match-row { grid-template-columns:2rem 3.65rem minmax(0,1fr) 1rem minmax(0,1fr); }
  .fp-match-group, .fp-match-row small { display:none; }
}

/* Fútbol Plaza · avisos de solapamiento horario */
.fp-plan-overlap-warning { display:flex; align-items:flex-start; gap:.55rem; margin-top:.6rem; padding:.55rem .65rem; border:1px solid rgba(217,119,6,.35); border-radius:.65rem; background:rgba(255,247,237,.96); color:#9a3412; }
.fp-plan-overlap-warning strong { flex:0 0 auto; font-size:.74rem; text-transform:uppercase; letter-spacing:.025em; }
.fp-plan-overlap-warning span { font-size:.75rem; line-height:1.35; }
@media (max-width:700px){.fp-plan-overlap-warning{display:block}.fp-plan-overlap-warning strong{display:block;margin-bottom:.15rem}}

/* Fútbol Plaza · Parche 08.1: enfrentamientos más legibles */
.fp-match-local { text-align:right; }
.fp-match-visitor { text-align:left; }


/* Fútbol Plaza · Parche 08.4: detalle horizontal compacto por grupo */
.fp-system-groups-detail {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  margin-top: .42rem;
}
.fp-system-group-detail {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  flex-wrap: wrap;
  gap: .28rem;
  width: 100%;
  padding: .16rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: .72rem;
  line-height: 1.25;
}
.fp-system-group-detail + .fp-system-group-detail {
  margin-top: .18rem;
}
.fp-system-group-detail b {
  font-size: .73rem;
  color: var(--text-color, #243244);
}
.fp-system-group-detail span {
  display: inline !important;
  color: var(--muted-text, #5f6b7a);
}
.fp-system-group-detail em {
  display: inline;
  margin: 0;
  font-style: normal;
  font-weight: 750;
  color: var(--text-color, #243244);
}
.fp-system-total {
  display: block;
  margin-top: .38rem;
  font-style: normal;
  font-weight: 800;
}
.fp-plan-actions { display:flex; gap:.55rem; flex-wrap:wrap; }


/* Fútbol Plaza · cierre de preparación y fase final */
.button.success{background:#198754;color:#fff;border-color:#157347}.button.success:hover{background:#157347}.fp-close-preparation{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:.7rem;padding-top:.65rem;border-top:1px solid #e1e7ef}.fp-locked-note{font-size:.72rem;font-weight:800;color:#17643d}.fp-planning-card.is-preparation-closed .fp-planning-toggle{background:linear-gradient(90deg,#fff,#f0faf4)}.fp-planning-card.is-preparation-closed .fp-planning-body{background:#f5faf7}.fp-plan-state.final{color:#5b21b6;background:#f3e8ff}.fp-plan-state.final i{background:#7c3aed}.fp-final-phase-card{margin-top:18px;border:1px solid #c9b8ef;box-shadow:0 5px 18px rgba(91,33,182,.08)}.fp-final-phase-card.open .fp-planning-toggle{box-shadow:inset 4px 0 #7c3aed;background:#faf7ff}.fp-final-fixtures-list{display:grid;gap:.35rem}.fp-final-fixture-row{display:grid;grid-template-columns:2rem 4rem 6rem minmax(150px,.8fr) minmax(220px,1.4fr);align-items:center;gap:.5rem;padding:.45rem .55rem;border:1px solid #e0d8f0;border-radius:.55rem;background:#fcfaff;font-size:.74rem}.fp-final-fixture-row>span{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:.4rem;background:#ede9fe;color:#5b21b6;font-weight:900}.fp-final-fixture-row time{font-weight:900;color:#17643d}.fp-final-fixture-row strong{color:#5b21b6}.fp-final-fixture-row b{font-size:.72rem}.fp-final-fixture-row small{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:850px){.fp-close-preparation{align-items:stretch;flex-direction:column}.fp-final-fixture-row{grid-template-columns:2rem 4rem 1fr}.fp-final-fixture-row b,.fp-final-fixture-row small{grid-column:3}.fp-final-fixture-row strong{grid-column:3}}

/* Fútbol Plaza · resultados de grupos */
.fp-results-category .results-category-state.ready{background:#e8f7ed;color:#18723a;border:1px solid #b8e1c5}.fp-results-locked{margin:12px;padding:14px;border-radius:10px;background:#fff5e8;color:#7a4a00;font-size:.86rem}.fp-results-group-body{padding:0 12px 12px}.fp-results-match-list{display:grid;gap:6px;margin:10px 0}.fp-result-match{display:grid;grid-template-columns:62px minmax(120px,1fr) 92px minmax(120px,1fr) 76px;align-items:center;gap:8px;padding:7px 9px;border:1px solid #e2e6ed;border-radius:10px;background:#fff}.fp-result-meta{display:flex;gap:7px;align-items:center;font-size:.78rem;color:#667085}.fp-result-team{font-size:.86rem;font-weight:700}.fp-result-team.local{text-align:right}.fp-result-team.visitor{text-align:left}.fp-result-score{display:grid;grid-template-columns:34px 12px 34px;align-items:center;justify-content:center;gap:4px}.fp-result-score input{width:34px;height:30px;padding:2px;text-align:center;font-weight:800;border:1px solid #cfd5df;border-radius:7px}.fp-results-standings,.fp-best-seconds{margin-top:10px;padding:10px;border-radius:11px;background:#f7f9fc;border:1px solid #e1e6ef}.fp-results-subheading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.fp-results-subheading strong{font-size:.9rem}.fp-results-subheading span{font-size:.74rem;color:#6b7280}.fp-best-seconds{margin:12px}.cross-provisional-selected{background:#edf8ef}@media(max-width:800px){.fp-result-match{grid-template-columns:45px 1fr 82px 1fr}.fp-result-match .button{grid-column:1/-1;justify-self:end}.fp-result-team{font-size:.78rem}}

/* Fútbol Plaza · cierre de grupos y desempates */
.fp-group-close-row{display:flex;align-items:center;gap:.65rem;justify-content:flex-end;margin-top:.7rem;padding-top:.65rem;border-top:1px solid var(--border-color,#d9dee8)}
.fp-group-close-row small{margin-right:auto;color:#697386;font-size:.76rem}
.fp-results-group.is-closed{border-color:#b8d8c5;background:#fbfffc}
.fp-results-group.is-closed .results-group-toggle em{background:#e4f5ea;color:#17683a}
.fp-result-locked{font-size:.68rem;font-weight:800;letter-spacing:.05em;color:#17683a;background:#e4f5ea;border-radius:999px;padding:.3rem .55rem}
.fp-tiebreak-card{margin-top:.7rem;padding:.75rem;border:1px solid #e4c36d;border-radius:10px;background:#fffaf0;display:grid;gap:.55rem}
.fp-tiebreak-card p{margin:.12rem 0 0;color:#6f6243;font-size:.76rem}
.fp-tiebreak-list{display:grid;gap:.3rem}
.fp-tiebreak-list>div{display:grid;grid-template-columns:1.6rem 1fr 2rem 2rem;gap:.35rem;align-items:center;background:#fff;border:1px solid #eadfbf;border-radius:7px;padding:.3rem .4rem}
.fp-tiebreak-list span{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:#f3e5b8;font-weight:800;font-size:.72rem}
.fp-tiebreak-list b{font-size:.8rem}
.fp-tiebreak-list button{height:1.8rem;border:1px solid #d9c98f;background:#fff;border-radius:6px;font-weight:800;cursor:pointer}
.fp-tiebreak-list button:disabled{opacity:.35;cursor:default}
.fp-qualifiers-card{margin-top:.8rem;padding:.8rem;border:1px solid #b8d8c5;border-radius:11px;background:#f7fcf8}
.fp-qualifiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.45rem;margin-top:.55rem}
.fp-qualifiers-grid>div{display:grid;grid-template-columns:1.8rem 1fr;column-gap:.45rem;align-items:center;background:#fff;border:1px solid #d5e8dc;border-radius:8px;padding:.45rem .55rem}
.fp-qualifiers-grid span{grid-row:1/3;display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:#dff2e6;color:#17683a;font-weight:900;font-size:.72rem}
.fp-qualifiers-grid b{font-size:.8rem}.fp-qualifiers-grid small{font-size:.7rem;color:#68766d}
.results-category-state.closed{background:#e4f5ea;color:#17683a}
@media(max-width:700px){.fp-group-close-row{align-items:flex-start;flex-direction:column}.fp-group-close-row small{margin-right:0}.fp-qualifiers-grid{grid-template-columns:1fr}}

/* Fútbol Plaza: cierre único de fase de grupos y resultados finales */
.fp-category-close-card{margin:12px;padding:11px 12px;border:1px solid #e1e6ef;border-radius:11px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:12px}.fp-category-close-card>div{display:grid;gap:2px}.fp-category-close-card strong{font-size:.88rem}.fp-category-close-card span{font-size:.75rem;color:#667085}.fp-category-close-card.is-closed{background:#edf8f0;border-color:#b9dfc5}.fp-final-results-card{margin:16px 0 4px;padding:13px;border:1px solid #d8dee9;border-radius:13px;background:#fff}.fp-final-results-card.is-locked{background:#f8fafc;color:#596579}.fp-final-results-card.is-locked p{margin:8px 0 0;font-size:.82rem}.fp-final-results-list{display:grid;gap:7px}.fp-final-result-match{display:grid;grid-template-columns:190px minmax(120px,1fr) 92px minmax(120px,1fr) 170px 76px;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e1e6ef;border-left:4px solid var(--category-accent);border-radius:10px;background:#fff}.fp-final-result-meta{display:grid;grid-template-columns:28px 44px 1fr;gap:5px;align-items:center;font-size:.73rem;color:#667085}.fp-final-result-meta strong{grid-column:1/-1;font-size:.72rem;color:#344054}.fp-final-penalties{display:grid;grid-template-columns:auto 30px 8px 30px;gap:4px;align-items:center;font-size:.7rem;color:#667085}.fp-final-penalties input{width:30px;height:28px;padding:2px;text-align:center;font-weight:800;border:1px solid #cfd5df;border-radius:6px}.fp-final-penalties b{text-align:center}.fp-result-match .button.danger,.fp-final-result-match .button.danger{background:#b42318;color:#fff;border-color:#b42318}@media(max-width:950px){.fp-final-result-match{grid-template-columns:90px 1fr 82px 1fr}.fp-final-result-meta{grid-column:1/-1;grid-template-columns:28px 44px 1fr}.fp-final-penalties{grid-column:2/4}.fp-final-result-match>.button,.fp-final-result-match>.fp-result-locked{grid-column:4;justify-self:end}}@media(max-width:700px){.fp-category-close-card{align-items:stretch;flex-direction:column}.fp-final-result-match{grid-template-columns:1fr 82px 1fr}.fp-final-result-meta{grid-column:1/-1}.fp-final-penalties{grid-column:1/-1;justify-content:center}.fp-final-result-match>.button,.fp-final-result-match>.fp-result-locked{grid-column:1/-1;justify-self:end}}


/* Fútbol Plaza: ajustes de resultados y fase final */
.fp-category-close-card .button.danger{background:#b42318;color:#fff;border-color:#9f1f16}
.fp-category-close-card.is-closed{background:#fbe9e7;border-color:#e5aaa4}
.fp-category-close-card.is-closed strong{color:#8f1f17}
.fp-reopen-category{background:#e58a22;color:#fff;border-color:#cf7717}
.fp-reopen-category:hover{background:#cf7717;border-color:#b96612}
.fp-result-action{min-height:26px;padding:3px 8px;font-size:.68rem;font-weight:800;line-height:1.05;border-radius:6px;box-shadow:none}
.fp-result-action-save{background:#557a5f;color:#fff;border-color:#4c6d55}
.fp-result-action-save:hover{background:#496a52;border-color:#405e49}
.fp-result-action-delete{background:#c9756d;color:#fff;border-color:#b9655d}
.fp-result-action-delete:hover{background:#b9655d;border-color:#a7554e}
.fp-final-results-card{padding:0;overflow:hidden}
.fp-final-results-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:0;background:#fff;text-align:left;cursor:pointer}
.fp-final-results-toggle span{display:grid;gap:2px}
.fp-final-results-toggle strong{font-size:.9rem;color:#344054}
.fp-final-results-toggle small{font-size:.74rem;color:#667085}
.fp-final-results-toggle b{font-size:1rem;transition:transform .18s ease}
.fp-final-results-card.open .fp-final-results-toggle b{transform:rotate(180deg)}
.fp-final-results-card.is-locked .fp-final-results-toggle{background:#f8fafc}
.fp-final-results-body{padding:0 13px 13px}
.fp-final-results-body>p{margin:0;padding:8px 0;font-size:.82rem;color:#596579}

/* Fútbol Plaza: fase final agrupada y acordeón robusto */
.fp-final-results-list{display:grid;gap:14px}
.fp-final-category-block{padding:10px;border:1px solid color-mix(in srgb,var(--category-accent) 25%,#dfe5ed);border-left:5px solid var(--category-accent);border-radius:11px;background:color-mix(in srgb,var(--category-accent) 5%,#fff)}
.fp-final-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid color-mix(in srgb,var(--category-accent) 22%,#e6eaf0)}
.fp-final-category-heading strong{font-size:.84rem;color:#263548}
.fp-final-category-heading span{padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--category-accent) 13%,#fff);color:#465166;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.fp-final-category-matches{display:grid;gap:7px}
.fp-final-category-block+.fp-final-category-block{margin-top:2px}
.fp-final-category-block .fp-final-result-match{margin:0;background:#fff}
@media(max-width:700px){.fp-final-category-block{padding:8px}.fp-final-category-heading{align-items:flex-start;flex-direction:column;gap:5px}}


/* Fútbol Plaza: cabeceras de categorías C1 como subtarjetas y separación semifinales/finales */
#results-category-list{display:grid;gap:12px}
.fp-results-category{
  border:1px solid color-mix(in srgb,var(--category-accent) 24%,#dfe5ed);
  border-left:5px solid var(--category-accent);
  border-radius:13px;
  overflow:hidden;
  background:color-mix(in srgb,var(--category-accent) 4%,#fff);
  box-shadow:0 3px 12px rgba(15,23,42,.045);
}
.fp-results-category .results-category-toggle{
  padding:11px 14px;
  border:0;
  background:linear-gradient(90deg,color-mix(in srgb,var(--category-accent) 8%,#fff),#fff 72%);
}
.fp-results-category.open .results-category-toggle{
  background:linear-gradient(90deg,color-mix(in srgb,var(--category-accent) 12%,#fff),#fff 72%);
  box-shadow:none;
}
.fp-results-category .results-category-name i{background:var(--category-accent)}
.fp-results-category .results-category-name strong{font-size:.82rem;letter-spacing:.01em}
.fp-results-category .results-category-body{border-top:1px solid color-mix(in srgb,var(--category-accent) 18%,#e7ebf1);background:#fbfcfe}
.fp-results-category .results-category-toggle>b{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--category-accent) 10%,#fff);color:#4b5565}

.fp-final-category-block.is-final:first-of-type,
.fp-final-category-block.is-semifinal + .fp-final-category-block.is-final{
  margin-top:22px;
  position:relative;
}
.fp-final-category-block.is-semifinal + .fp-final-category-block.is-final::before{
  content:"FINALES";
  position:absolute;
  left:0;
  top:-20px;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
  color:#667085;
}
@media(max-width:700px){
  #results-category-list{gap:9px}
  .fp-results-category .results-category-toggle{padding:10px 11px}
  .fp-final-category-block.is-semifinal + .fp-final-category-block.is-final{margin-top:20px}
}

/* Fútbol Plaza · fase final: guardado automático y separación visual */
.fp-final-results-card{
  border-color:#c7b7e8;
  background:linear-gradient(180deg,#f7f2ff 0,#fff 86px);
  box-shadow:0 6px 18px rgba(91,33,182,.08);
}
.fp-final-results-toggle{
  background:linear-gradient(90deg,#eee7ff,#faf8ff);
  border-left:5px solid #7c3aed;
}
.fp-final-results-toggle strong{color:#4c1d95}
.fp-final-results-toggle small{color:#6d5a89}
.fp-final-results-card.open .fp-final-results-toggle{border-bottom:1px solid #ddd2f2}
.fp-final-results-body{background:#fff}

.fp-final-category-block.is-semifinal + .fp-final-category-block.is-final{
  margin-top:42px;
  position:relative;
}
.fp-final-category-block.is-semifinal + .fp-final-category-block.is-final::before{
  content:'FINALES';
  position:absolute;
  left:0;
  top:-30px;
  padding:4px 10px;
  border-radius:999px;
  background:#4c1d95;
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.fp-final-category-block.is-semifinal + .fp-final-category-block.is-final::after{
  content:'';
  position:absolute;
  left:76px;
  right:0;
  top:-20px;
  height:1px;
  background:#d9ceee;
}

.fp-final-result-match{
  grid-template-columns:190px minmax(120px,1fr) 92px minmax(120px,1fr) 170px 104px;
}
.fp-final-result-match.is-saving{opacity:.72}
.fp-final-result-match.is-saved{background:#fbfffc}
.fp-final-autosave-state{
  justify-self:end;
  padding:4px 7px;
  border-radius:999px;
  background:#eef2f6;
  color:#667085;
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.035em;
  white-space:nowrap;
}
.fp-final-result-match.is-saved .fp-final-autosave-state{
  background:#e8f6ec;
  color:#287445;
}
.fp-final-result-match.is-saving .fp-final-autosave-state{
  background:#fff4d8;
  color:#946200;
}
.fp-final-result-match input:not(:disabled){background:#fff}
.fp-final-result-match input:focus{outline:2px solid color-mix(in srgb,var(--category-accent) 35%,#fff);border-color:var(--category-accent)}

@media(max-width:950px){
  .fp-final-result-match{grid-template-columns:90px 1fr 82px 1fr}
  .fp-final-autosave-state{grid-column:4;justify-self:end}
}
@media(max-width:700px){
  .fp-final-category-block.is-semifinal + .fp-final-category-block.is-final{margin-top:38px}
  .fp-final-result-match{grid-template-columns:1fr 82px 1fr}
  .fp-final-autosave-state{grid-column:1/-1;justify-self:end}
}

/* Fútbol Plaza · resultados limpios con guardado automático */
.fp-result-match{
  grid-template-columns:62px minmax(120px,1fr) 92px minmax(120px,1fr);
}
.fp-result-match.is-saving,
.fp-final-result-match.is-saving{opacity:.72}
.fp-result-match.is-saved{background:#fbfffc}
.fp-final-autosave-state{display:none!important}
@media(max-width:800px){
  .fp-result-match{grid-template-columns:45px 1fr 82px 1fr}
}

/* Fútbol Plaza · resultados: estados compactos y marcadores completados */
.fp-group-classification-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.fp-group-classification-head>div{min-width:0}
.fp-group-classification-head>div strong{display:block;font-size:.9rem;color:#344054}
.fp-group-classification-head>div span{display:block;margin-top:2px;font-size:.73rem;color:#667085}
.fp-group-classification-head>em{
  margin-left:auto;
  flex:0 0 auto;
  padding:4px 9px;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  font-size:.68rem;
  font-style:normal;
  font-weight:800;
  letter-spacing:.04em;
}
.fp-group-classification-head>em:first-letter{}
.fp-result-score input.has-result,
.fp-result-match.is-saved .fp-result-score input,
.fp-final-result-match.is-saved .fp-result-score input,
.fp-final-result-match.is-saved .fp-final-penalties input{
  background:#e8f7ed;
  border-color:#95d3aa;
  color:#165f35;
  box-shadow:inset 0 0 0 1px rgba(22,95,53,.05);
}
.fp-result-score input:not(.has-result):not(:disabled),
.fp-final-penalties input:not(.has-result):not(:disabled){background:#fff}
.fp-results-subheading:has(> strong:only-child){justify-content:flex-start}


/* Cuadro de honor de la fase final */
.fp-honor-board {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 2px solid rgba(79, 70, 229, 0.18);
}
.fp-honor-board-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .8rem;
}
.fp-honor-board-title strong {
  font-size: 1rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.fp-honor-board-title span {
  font-size: .78rem;
  color: var(--muted, #64748b);
}
.fp-honor-board-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .75rem;
}
.fp-honor-board-grid article {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: .25rem;
  padding: .85rem .95rem .9rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--category-accent) 30%, white);
  border-left: 5px solid var(--category-accent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--category-accent) 8%, white);
  box-shadow: 0 5px 14px rgba(15, 23, 42, .06);
}
.fp-honor-board-grid > article > span {
  font-size: .72rem;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.fp-honor-board-grid > article > strong {
  font-size: 1rem;
  line-height: 1.2;
  color: #0f172a;
}
.fp-honor-board-grid > article > small {
  width: fit-content;
  padding: .15rem .45rem;
  border-radius: 999px;
  background: var(--category-accent);
  color: #fff;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .05em;
}
@media (max-width: 700px) {
  .fp-honor-board { margin-top: 1.4rem; }
  .fp-honor-board-title { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .fp-honor-board-grid { grid-template-columns: 1fr; }
}


/* Torneo de penaltis dentro del cuadro de honor */
.fp-honor-board-title {
  align-items: center;
  justify-content: flex-start;
}
.fp-honor-medal {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(145deg, #fff7cc, #f3c84b);
  box-shadow: 0 5px 14px rgba(161, 98, 7, .18);
  font-size: 1.25rem;
}
.fp-honor-category {
  padding: 0 !important;
  gap: 0 !important;
}
.fp-honor-category > header {
  display: grid;
  gap: .2rem;
  padding: .85rem 1rem;
  background: color-mix(in srgb, var(--category-accent) 10%, white);
  border-bottom: 1px solid color-mix(in srgb, var(--category-accent) 22%, white);
}
.fp-honor-category > header span {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #475569;
}
.fp-honor-category > header strong {
  font-size: 1.05rem;
  color: #0f172a;
}
.fp-honor-category > header small {
  width: fit-content;
  padding: .14rem .45rem;
  border-radius: 999px;
  background: var(--category-accent);
  color: #fff;
  font-size: .65rem;
  font-weight: 800;
}
.fp-penalty-tournament {
  padding: .85rem 1rem 1rem;
}
.fp-penalty-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .65rem;
}
.fp-penalty-heading strong {
  font-size: .85rem;
  color: #1e293b;
}
.fp-penalty-heading span {
  font-size: .68rem;
  color: #64748b;
  text-align: right;
}
.fp-penalty-members {
  display: grid;
  gap: .55rem;
}
.fp-penalty-member {
  padding: .65rem;
  border: 1px solid #dbe4ee;
  border-radius: 10px;
  background: #fff;
}
.fp-penalty-member-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  margin-bottom: .5rem;
}
.fp-penalty-member-title b {
  font-size: .76rem;
  color: #334155;
}
.fp-penalty-member-title label {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  font-size: .68rem;
  font-weight: 700;
  color: #475569;
}
.fp-penalty-member-title input {
  width: 3.1rem;
  min-height: 1.8rem;
  padding: .2rem .35rem;
  text-align: center;
  font-weight: 800;
}
.fp-penalty-member-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .4rem;
}
.fp-penalty-member-fields label {
  display: grid;
  gap: .16rem;
  margin: 0;
  font-size: .63rem;
  font-weight: 700;
  color: #64748b;
}
.fp-penalty-member-fields label:nth-child(4),
.fp-penalty-member-fields label:nth-child(5) {
  grid-column: span 1;
}
.fp-penalty-member-fields input {
  min-height: 1.8rem;
  padding: .28rem .42rem;
  font-size: .72rem;
}
.fp-penalty-winner {
  display: grid;
  gap: .2rem;
  margin-top: .7rem;
  padding: .7rem .8rem;
  border: 1px solid #e7c64d;
  border-radius: 10px;
  background: #fff9db;
}
.fp-penalty-winner span {
  font-size: .66rem;
  font-weight: 900;
  color: #8a5a00;
  letter-spacing: .05em;
}
.fp-penalty-winner strong {
  font-size: .9rem;
  color: #3f2d00;
}
.fp-penalty-winner small {
  font-size: .7rem;
  color: #6b4f00;
}
.fp-penalty-status {
  margin-top: .6rem;
  padding: .45rem .6rem;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: .7rem;
}
.fp-penalty-status.is-tie {
  background: #fff3cd;
  color: #7c5200;
}
@media (max-width: 900px) {
  .fp-penalty-member-fields { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .fp-penalty-heading { align-items: flex-start; flex-direction: column; gap: .15rem; }
  .fp-penalty-heading span { text-align: left; }
  .fp-penalty-member-fields { grid-template-columns: 1fr; }
}


/* Cuadro de honor compacto y responsable del equipo */
.fp-honor-board-grid{grid-template-columns:1fr;gap:.7rem}
.fp-honor-category>header{padding:.62rem .8rem;gap:.1rem}
.fp-honor-category>header strong{font-size:.92rem}
.fp-honor-category>header span{font-size:.64rem}
.fp-honor-category>header small{font-size:.58rem;padding:.1rem .38rem}
.fp-penalty-tournament{padding:.62rem .78rem .72rem}
.fp-penalty-heading{margin-bottom:.42rem}
.fp-penalty-members{gap:.4rem}
.fp-penalty-member{padding:.48rem .52rem;border-radius:8px}
.fp-penalty-member-title{margin-bottom:.34rem}
.fp-penalty-member-title b{font-size:.69rem}
.fp-penalty-member-title label{font-size:.62rem}
.fp-penalty-member-title input{min-height:1.55rem;width:2.75rem}
.fp-penalty-member-fields{gap:.3rem}
.fp-penalty-member-fields label{font-size:.57rem;gap:.1rem}
.fp-penalty-member-fields input{min-height:1.55rem;padding:.2rem .34rem;font-size:.66rem}
.fp-penalty-contact-fields{display:grid;grid-template-columns:2fr 1fr;gap:.35rem;margin-top:.35rem;padding:.38rem .44rem;border-radius:7px;background:#f0f7ff;border:1px solid #cfe2f6}
.fp-penalty-contact-fields label{display:grid;gap:.1rem;margin:0;font-size:.57rem;font-weight:800;color:#34506b}
.fp-penalty-contact-fields input{min-height:1.55rem;padding:.2rem .34rem;font-size:.66rem;background:#fff;border-color:#b9d2eb}
.fp-penalty-winner{margin-top:.45rem;padding:.5rem .62rem;gap:.12rem}
.fp-penalty-winner span{font-size:.59rem}.fp-penalty-winner strong{font-size:.8rem}.fp-penalty-winner small{font-size:.62rem}
.fp-penalty-status{margin-top:.42rem;padding:.34rem .48rem;font-size:.62rem}
.fp-team-responsible-card{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr);align-items:end;gap:.65rem;margin-top:.5rem;padding:.52rem .62rem;border:1px solid #e0c36b;border-radius:9px;background:#fff9e5}
.fp-team-responsible-card>div:first-child{display:grid;gap:.08rem}
.fp-team-responsible-card strong{font-size:.72rem;color:#6d4b00}
.fp-team-responsible-card span{font-size:.57rem;color:#8a6a1f}
.fp-team-responsible-fields{display:grid;grid-template-columns:2fr 1fr;gap:.35rem}
.fp-team-responsible-fields label{display:grid;gap:.1rem;margin:0;font-size:.57rem;font-weight:800;color:#6d4b00}
.fp-team-responsible-fields input{min-height:1.55rem;padding:.2rem .34rem;font-size:.66rem;background:#fff;border-color:#ddc779}
@media(max-width:700px){.fp-penalty-name-fields,.fp-penalty-contact-fields,.fp-team-responsible-card,.fp-team-responsible-fields{grid-template-columns:1fr}.fp-team-responsible-card{align-items:stretch}}

/* Ajuste compacto del torneo de penaltis: identidad en 3/4 y goles en 1/4 */
.fp-honor-board-title strong{font-size:1rem}
.fp-honor-board-title span{font-size:.72rem}
.fp-honor-category>header{padding:.72rem .9rem}
.fp-honor-category>header span{font-size:.7rem}
.fp-honor-category>header strong{font-size:1rem}
.fp-honor-category>header small{font-size:.62rem}
.fp-penalty-heading strong{font-size:.82rem}
.fp-penalty-member{padding:.5rem .55rem}
.fp-penalty-member-main{display:grid;grid-template-columns:minmax(0,3fr) minmax(76px,1fr);align-items:end;gap:.55rem}
.fp-penalty-identity-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:.5rem}
.fp-penalty-identity-row>b{padding-bottom:.34rem;font-size:.68rem;color:#334155;white-space:nowrap}
.fp-penalty-name-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}
.fp-penalty-name-fields label{display:grid;gap:.08rem;margin:0}
.fp-penalty-name-fields label span{font-size:.01px;color:transparent;height:0;overflow:hidden}
.fp-penalty-name-fields input{min-height:1.72rem;padding:.22rem .36rem;font-size:.68rem}
.fp-penalty-goals{display:grid;gap:.12rem;margin:0;font-size:.6rem;font-weight:800;color:#475569;text-align:center}
.fp-penalty-goals input{width:100%;min-height:2.05rem;padding:.2rem .35rem;text-align:center;font-size:.92rem;font-weight:900;border-radius:7px}
.fp-penalty-goals input.has-result{background:#e8f7ed;border-color:#74bd8a;color:#166534;box-shadow:inset 0 0 0 1px rgba(22,101,52,.08)}
.fp-penalty-contact-fields{margin-top:.28rem}
@media(max-width:760px){.fp-penalty-member-main{grid-template-columns:1fr}.fp-penalty-identity-row{grid-template-columns:1fr}.fp-penalty-identity-row>b{padding-bottom:0}.fp-penalty-name-fields{grid-template-columns:1fr}.fp-penalty-goals{max-width:110px}}


/* Ajustes finales: cuadro de honor y resúmenes horarios */
.fp-penalty-goals{justify-self:end;align-self:end;width:auto;min-width:0;text-align:right}
.fp-penalty-goals input{width:3.15rem;min-width:3.15rem;max-width:3.15rem;min-height:2rem;font-size:1rem;background:#fff0f0;border-color:#e6a3a3;color:#8f2f2f}
.fp-penalty-goals input:not(.has-result){background:#fff0f0;border-color:#e6a3a3;color:#8f2f2f}
.fp-penalty-goals input.has-result{background:#e8f7ed;border-color:#74bd8a;color:#166534}
.fp-team-responsible-card span{font-size:.62rem}
.fp-schedule-strip{align-items:flex-start}
.fp-schedule-summary{display:grid;grid-template-columns:1fr;gap:.34rem;width:100%}
.fp-schedule-summary>p{margin:0}
.fp-schedule-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(115px,.7fr) minmax(115px,.7fr);align-items:center;gap:.65rem;padding:.38rem .58rem;border:1px solid color-mix(in srgb,var(--schedule-accent) 25%,#dbe4ee);border-left:4px solid var(--schedule-accent);border-radius:8px;background:color-mix(in srgb,var(--schedule-accent) 6%,white)}
.fp-schedule-row>strong{font-size:.72rem;color:#1e293b}
.fp-schedule-row>span{display:flex;justify-content:space-between;gap:.35rem;font-size:.64rem;color:#64748b}
.fp-schedule-row b{font-size:.7rem;color:#0f172a}
@media(max-width:700px){.fp-schedule-row{grid-template-columns:1fr 1fr}.fp-schedule-row>strong{grid-column:1/-1}.fp-penalty-goals{justify-self:start}}


/* Cabeceras compactas con horario integrado */
.fp-compact-header{
  display:grid!important;
  grid-template-columns:minmax(180px,1.25fr) minmax(180px,.8fr) minmax(240px,1fr)!important;
  align-items:center!important;
  gap:.65rem!important;
  min-height:54px;
  padding:.55rem .75rem!important;
}
.fp-compact-header .fp-header-zone{min-width:0;display:flex;align-items:center;gap:.55rem}
.fp-compact-header .fp-header-title{display:grid;gap:.08rem;align-content:center}
.fp-compact-header .fp-header-title strong{font-size:.82rem;line-height:1.1}
.fp-compact-header .fp-header-title small{font-size:.64rem;color:#6b7280;line-height:1.1}
.fp-compact-header .fp-header-times{justify-content:center;gap:.8rem;white-space:nowrap}
.fp-compact-header .fp-header-times small{display:flex;align-items:baseline;gap:.28rem;font-size:.64rem;color:#64748b}
.fp-compact-header .fp-header-times b{font-size:.76rem;color:#172033}
.fp-compact-header .fp-header-status{justify-content:flex-end;text-align:right;white-space:nowrap}
.fp-compact-header .fp-header-status small{font-size:.64rem;font-weight:700;color:#556070;overflow:hidden;text-overflow:ellipsis}
.fp-compact-header .fp-header-status>b,.fp-compact-header .fp-planning-chevron{flex:0 0 auto;margin:0}
.fp-final-compact-header{background:linear-gradient(90deg,#fbf8ff,#f5efff)!important}
.fp-final-compact-header .fp-header-title strong{color:#4c1d95}
.fp-final-compact-header .fp-header-times b{color:#5b21b6}
.fp-results-category .results-category-toggle.fp-compact-header{border-radius:11px}
.fp-results-category .results-category-name{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.48rem!important}
.fp-results-category .results-category-name i{flex:0 0 auto}
.fp-penalty-goals{gap:0}
.fp-penalty-goals input{margin:0}
@media(max-width:900px){
  .fp-compact-header{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto;gap:.25rem .6rem!important}
  .fp-compact-header .fp-header-title{grid-column:1}
  .fp-compact-header .fp-header-times{grid-column:1;grid-row:2;justify-content:flex-start}
  .fp-compact-header .fp-header-status{grid-column:2;grid-row:1/3;max-width:280px}
}
@media(max-width:620px){
  .fp-compact-header{grid-template-columns:1fr auto!important;min-height:62px}
  .fp-compact-header .fp-header-status small{display:none}
  .fp-compact-header .fp-header-times{gap:.55rem}
}

/* Parche 13.7: coherencia visual y acordeón de Planificación */
.fp-planning-list{gap:10px}
.fp-planning-card{
  --category-accent:#64748b;
  border:1px solid color-mix(in srgb,var(--category-accent) 28%,#dfe5ec);
  border-left:5px solid var(--category-accent);
  border-radius:12px;
  background:color-mix(in srgb,var(--category-accent) 4%,#fff);
  box-shadow:0 3px 12px color-mix(in srgb,var(--category-accent) 10%,transparent);
}
.fp-planning-card .fp-planning-toggle,
.fp-planning-card.is-preparation-closed .fp-planning-toggle{
  border-radius:10px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--category-accent) 8%,#fff),#fff 72%);
}
.fp-planning-card .fp-planning-toggle:hover{
  background:linear-gradient(90deg,color-mix(in srgb,var(--category-accent) 13%,#fff),#fff 76%);
}
.fp-planning-card.open .fp-planning-toggle,
.fp-planning-card.is-preparation-closed.open .fp-planning-toggle,
.fp-final-phase-card.open .fp-planning-toggle{
  box-shadow:none;
  background:linear-gradient(90deg,color-mix(in srgb,var(--category-accent) 15%,#fff),#fff 78%);
}
.fp-planning-card .fp-header-title{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:.5rem!important;
}
.fp-planning-card .fp-header-title>span{display:grid;gap:.08rem;min-width:0}
.fp-planning-card .fp-header-title>i{
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:999px;
  background:var(--category-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--category-accent) 12%,transparent);
}
.fp-planning-card .fp-planning-chevron{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:color-mix(in srgb,var(--category-accent) 10%,#fff);
  color:color-mix(in srgb,var(--category-accent) 80%,#26384e);
}
.fp-planning-card .fp-planning-body{
  border-top:1px solid color-mix(in srgb,var(--category-accent) 18%,#e7ebf1);
  background:#fbfcfe;
}
.fp-final-phase-card{margin-top:6px}

/* Parche 13.8: correcciones visuales y horarios solapados */
/* Solo gira el chevrón; los valores de Inicio/Final permanecen orientados correctamente. */
.fp-final-results-card.open .fp-final-results-toggle b{transform:none}
.fp-final-results-card.open .fp-final-results-toggle .fp-header-status>b{transform:rotate(180deg)}

/* Da aire entre la cabecera lila y la primera subtarjeta de la fase final. */
.fp-final-results-card.open .fp-final-results-body{padding-top:12px}
.fp-final-results-body .fp-final-results-list{margin-top:0}

/* Resalta únicamente el bloque horario cuando existe un solapamiento. */
.fp-compact-header .fp-header-times.is-overlap{
  justify-self:center;
  padding:.3rem .55rem;
  border:1px solid rgba(220,38,38,.28);
  border-radius:.55rem;
  background:rgba(254,226,226,.88);
  box-shadow:0 1px 3px rgba(127,29,29,.06);
}
.fp-compact-header .fp-header-times.is-overlap small{color:#991b1b}
.fp-compact-header .fp-header-times.is-overlap b{color:#7f1d1d}
@media(max-width:900px){
  .fp-compact-header .fp-header-times.is-overlap{justify-self:start}
}

/* Fútbol Plaza · planificación final por categoría */
.fp-final-category-plans{display:grid;gap:.75rem}
.fp-final-category-plan{border:1px solid color-mix(in srgb,var(--category-accent) 28%,#d7dee8);border-left:4px solid var(--category-accent);border-radius:12px;background:color-mix(in srgb,var(--category-accent) 5%,#fff);padding:.75rem}
.fp-final-category-plan header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}
.fp-final-category-plan header strong{font-size:.9rem}
.fp-final-category-plan header span{font-size:.76rem;color:#64748b}
.fp-final-category-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}
.fp-final-category-fields label{display:grid;gap:.22rem}
.fp-final-category-fields label span{font-size:.72rem;font-weight:700;color:#475569}
.fp-final-category-fields input,.fp-final-category-fields select{min-height:34px;padding:.35rem .5rem}
.fp-final-category-summary{display:flex;align-items:center;gap:.55rem;margin-top:.55rem;font-size:.78rem;color:#64748b}
.fp-final-category-summary strong{font-size:1rem;color:#0f172a}
.fp-final-category-summary strong.is-overlap{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:8px;padding:.2rem .45rem}
@media (max-width:900px){.fp-final-category-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.fp-final-category-fields{grid-template-columns:1fr}}

/* Parche 14.1 · Fase final compacta y coherente */
.fp-final-times-card{padding:10px 12px}
.fp-final-times-card>h4,.fp-final-fixtures>h4{margin:0 0 9px;font-size:.68rem;line-height:1.15;color:#344054}
.fp-final-category-plans{display:grid;gap:8px}
.fp-final-category-plan{padding:9px 10px;border:1px solid color-mix(in srgb,var(--category-accent) 24%,#dfe5ed);border-left:4px solid var(--category-accent);border-radius:9px;background:color-mix(in srgb,var(--category-accent) 4%,#fff)}
.fp-final-category-plan>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.fp-final-category-plan>header strong{font-size:.69rem;line-height:1.1;color:#263548}
.fp-final-category-plan>header span{font-size:.55rem;font-weight:800;color:#667085;background:#fff;padding:3px 7px;border-radius:999px}
.fp-final-category-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 9px;align-items:end}
.fp-final-category-fields label{display:grid;gap:3px;min-width:0}
.fp-final-category-fields label>span{font-size:.54rem;line-height:1.05;font-weight:750;color:#667085}
.fp-final-category-fields input,.fp-final-category-fields select{width:100%;height:30px;min-height:30px;padding:4px 7px;border:1px solid #cfd6df;border-radius:6px;background:#fff;color:#263548;font-size:.64rem;font-weight:750;line-height:1}
.fp-final-category-fields input[type=time]{font-variant-numeric:tabular-nums}
.fp-final-category-fields input:focus,.fp-final-category-fields select:focus{outline:2px solid color-mix(in srgb,var(--category-accent) 28%,#fff);border-color:var(--category-accent)}
.fp-final-category-summary{display:none!important}
.fp-final-actions-card{padding:8px 10px}
.fp-final-actions-card .fp-plan-actions{margin:0}
.fp-final-fixtures-groups{display:grid;gap:12px}
.fp-final-fixture-category{padding:9px;border:1px solid color-mix(in srgb,var(--category-accent) 25%,#dfe5ed);border-left:5px solid var(--category-accent);border-radius:10px;background:color-mix(in srgb,var(--category-accent) 5%,#fff)}
.fp-final-fixture-category+ .fp-final-fixture-category{margin-top:2px}
.fp-final-fixture-category>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--category-accent) 20%,#e7ebf0)}
.fp-final-fixture-category>header strong{font-size:.68rem;color:#263548}
.fp-final-fixture-category>header span{font-size:.54rem;font-weight:800;color:#667085}
.fp-final-fixture-category .fp-final-fixtures-list{gap:5px}
.fp-final-fixture-category .fp-final-fixture-row{grid-template-columns:1.8rem 3.7rem 6.3rem minmax(180px,1fr);padding:.4rem .5rem;border-color:color-mix(in srgb,var(--category-accent) 18%,#e2e7ed);background:#fff;font-size:.65rem}
.fp-final-fixture-category .fp-final-fixture-row strong{color:var(--category-accent)}
.fp-final-fixture-category .fp-final-fixture-row small{font-size:.62rem;color:#5f6b7a}
@media(max-width:900px){.fp-final-category-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.fp-final-category-fields{grid-template-columns:1fr 1fr}.fp-final-fixture-category .fp-final-fixture-row{grid-template-columns:1.8rem 3.6rem 1fr}.fp-final-fixture-category .fp-final-fixture-row small{grid-column:3}}

/* Parche 15: contactos de campeón y subcampeón */
.fp-team-contacts-stack {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.65rem;
}
.fp-team-responsible-card {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(300px, 1.2fr);
  align-items: center;
  gap: 0.75rem;
}
.fp-team-responsible-card.is-runner-up {
  background: rgba(148, 163, 184, 0.10);
  border-color: rgba(100, 116, 139, 0.28);
}
.fp-team-responsible-fields {
  grid-template-columns: minmax(150px, 0.75fr) minmax(120px, 0.45fr);
  justify-content: end;
}
.fp-team-responsible-fields input {
  min-height: 32px;
}
@media (max-width: 900px) {
  .fp-team-responsible-card {
    grid-template-columns: 1fr;
  }
  .fp-team-responsible-fields {
    grid-template-columns: 1fr 1fr;
  }
}

/* Parche 16 · archivo histórico de sedes */
.historical-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 20px}
.historical-form-row .field{margin-top:14px}
.historical-readiness{display:block;margin-top:2px;padding:7px 9px;border-radius:7px;font-size:.64rem;font-weight:750;line-height:1.35}
.historical-readiness.is-ready{color:#176b37;background:#eaf8ef;border:1px solid #b8dfc5}
.historical-readiness.is-pending{color:#8b3d08;background:#fff5e8;border:1px solid #f0c998}
.fp-archive-site-wrap{display:flex;justify-content:center;padding:1.1rem .75rem .25rem}
.fp-archive-site-button{min-width:220px;min-height:44px;font-weight:850;letter-spacing:.025em;text-transform:uppercase;box-shadow:0 8px 20px rgba(7,52,119,.16)}
.fp-honor-board-title>div:last-child{min-width:0}
.fp-honor-board-title strong{display:block}
@media(max-width:700px){.historical-form-row{grid-template-columns:1fr}.fp-archive-site-button{width:100%}}


/* Visor histórico Fútbol Plaza */
.historical-view-header{grid-template-columns:auto minmax(0,1fr) 38px}
.historical-view-brand{min-width:58px}
.historical-view-brand img{width:48px;height:48px;object-fit:contain}
.historical-view-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.fp-historical-category{--category-color:#4972c8;border-radius:10px;overflow:hidden}
.fp-historical-category>h3{border-left:6px solid var(--category-color)!important;background:color-mix(in srgb,var(--category-color) 10%,#fff);padding:10px 12px;margin:0;color:#172445}
.fp-historical-team{margin:10px;border:1px solid #e1e3e9;border-radius:9px;overflow:hidden;background:#fff}
.fp-historical-team>header{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;background:#f7f8fa;border-bottom:1px solid #e5e6eb}
.fp-historical-team>header strong{color:#172445}.fp-historical-team>header span{color:#687086;font-size:.58rem}
.fp-historical-table .historical-table-row{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.fp-historical-finals{margin:12px 10px;border:1px solid #dfe1e6;border-radius:9px;overflow:hidden}
.fp-historical-finals>h4{margin:0;padding:8px 10px;background:#172445;color:#fff;font-size:.65rem}
.fp-historical-finals .historical-final-match{grid-template-columns:130px minmax(0,1fr) 90px minmax(0,1fr)}
.fp-historical-honor{--category-color:#8c1125;margin-bottom:14px;border:1px solid #dddfe5;border-left:6px solid var(--category-color);border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 3px 12px rgba(31,40,70,.06)}
.fp-historical-honor>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 13px;background:color-mix(in srgb,var(--category-color) 10%,#fff)}
.fp-historical-honor>header div{display:flex;align-items:center;gap:8px}.fp-historical-honor>header strong{color:#172445}.fp-historical-honor>header>b{color:var(--category-color)}
.fp-historical-honor>p{margin:8px 13px;color:#5f677a;font-size:.6rem}
.fp-historical-honor>.historical-table{margin:10px 13px}
.fp-historical-penalty-winner{margin:10px 13px;padding:9px 11px;border-radius:8px;background:#edf8ef;color:#176b37;font-weight:800;font-size:.62rem}
.fp-historical-contacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 13px 13px}
.fp-historical-contacts article{padding:9px 10px;border:1px solid #e0e2e7;border-radius:8px;background:#fafbfc}
.fp-historical-contacts strong,.fp-historical-contacts span{display:block}.fp-historical-contacts strong{font-size:.58rem;color:#172445}.fp-historical-contacts span{margin-top:3px;font-size:.56rem;color:#687086}
@media(max-width:700px){.historical-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-historical-contacts{grid-template-columns:1fr}.fp-historical-finals .historical-final-match{grid-template-columns:80px minmax(0,1fr) 62px minmax(0,1fr)}}


/* M3 Histórico · datos actuales bloqueados y visor pulido */
.historical-create-card .field input[readonly]{
  background:#f3f5f8;
  border-color:#d9dde6;
  color:#26324a;
  font-weight:750;
  cursor:default;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.historical-create-card .field input[readonly]:focus{
  border-color:#d9dde6;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.historical-view-content{background:linear-gradient(180deg,#f5f6f9 0%,#f8f9fb 100%)}
.historical-section-heading{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  margin:2px 0 12px;padding:0 2px 9px;border-bottom:1px solid #dfe3ea
}
.historical-section-heading h3{margin:0;color:#16233f;font-size:.86rem;letter-spacing:.01em}
.historical-section-heading p{margin:0;color:#70788a;font-size:.58rem;text-align:right}
.fp-historical-category{
  margin:0 0 16px;border:1px solid #dfe3ea;background:#fff;
  box-shadow:0 6px 18px rgba(31,40,70,.065)
}
.fp-historical-category>h3{
  display:flex;align-items:center;min-height:42px;font-size:.74rem;letter-spacing:.01em
}
.historical-results-group{
  margin:11px;border:1px solid #dde2ea;border-radius:10px;overflow:hidden;
  background:#fbfcfd;box-shadow:0 3px 10px rgba(31,40,70,.045)
}
.historical-results-group>header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 11px;background:#f0f3f8;border-bottom:1px solid #dde2ea
}
.historical-results-group>header div{display:flex;align-items:baseline;gap:8px}
.historical-results-group>header strong{color:#172445;font-size:.68rem}
.historical-results-group>header small{color:#7a8190;font-size:.52rem}
.historical-results-group>header>span{
  padding:4px 8px;border-radius:99px;background:#fff;color:#4e586e;
  border:1px solid #d8dde6;font-size:.52rem;font-weight:800
}
.historical-results-layout{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);
  gap:12px;padding:12px;align-items:start
}
.historical-results-panel{
  min-width:0;border:1px solid #e1e5ec;border-radius:9px;background:#fff;overflow:hidden
}
.historical-results-panel>h4{
  margin:0;padding:8px 10px;background:#f7f8fa;border-bottom:1px solid #e4e7ed;
  color:#34405b;font-size:.58rem;text-transform:uppercase;letter-spacing:.05em
}
.historical-result-list{padding:4px 8px}
.historical-result-row{
  display:grid;grid-template-columns:52px minmax(0,1fr) 54px minmax(0,1fr);
  gap:8px;align-items:center;padding:7px 3px;border-bottom:1px solid #edf0f4;font-size:.58rem
}
.historical-result-row:last-child{border-bottom:0}
.historical-result-row time{color:#6b7488;font-weight:750}
.historical-result-row strong:first-of-type{text-align:right}
.historical-result-row strong:last-child{text-align:left}
.historical-result-row b{
  display:grid;place-items:center;min-height:25px;border-radius:6px;
  background:#eef6ef;color:#176b37;font-size:.64rem
}
.historical-standing-panel{max-width:430px;justify-self:end;width:100%}
.historical-standing-compact{border:0;border-radius:0;box-shadow:none}
.historical-standing-compact .historical-table-row{
  grid-template-columns:38px minmax(112px,1fr) repeat(5,38px);
  gap:4px;padding:7px 8px;font-size:.55rem
}
.historical-standing-compact .historical-table-row.head{font-size:.49rem}
.historical-standing-compact .historical-table-row:not(.head):nth-child(2),
.historical-standing-compact .historical-table-row:not(.head):nth-child(3){
  background:#f0f8f1
}
.fp-historical-finals{
  margin:14px 11px 12px;border-radius:10px;box-shadow:0 3px 10px rgba(31,40,70,.05)
}
.fp-historical-finals>h4{
  padding:9px 11px;background:linear-gradient(135deg,#172445,#273a68);
  font-size:.62rem;letter-spacing:.04em;text-transform:uppercase
}
.fp-historical-finals .historical-final-match{
  display:grid;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid #eceff3;
  background:#fff;font-size:.57rem
}
.historical-summary-grid{gap:10px}
.historical-summary-card{
  min-height:76px;padding:12px;border:1px solid #dde2ea;border-radius:10px;
  background:#fff;box-shadow:0 4px 12px rgba(31,40,70,.05)
}
.historical-summary-card b{color:#737b8d;font-size:.52rem;text-transform:uppercase;letter-spacing:.05em}
.historical-summary-card span{margin-top:6px;color:#172445;font-size:.86rem;font-weight:850}
.fp-historical-team>.fp-historical-table{margin:0;border:0;border-radius:0;box-shadow:none}
.fp-historical-honor{box-shadow:0 6px 18px rgba(31,40,70,.065)}
@media(max-width:1050px){
  .historical-results-layout{grid-template-columns:1fr}
  .historical-standing-panel{max-width:none;justify-self:stretch}
}
@media(max-width:700px){
  .historical-section-heading{align-items:flex-start;flex-direction:column;gap:3px}
  .historical-section-heading p{text-align:left}
  .historical-results-layout{padding:8px;gap:8px}
  .historical-standing-compact .historical-table-row{
    grid-template-columns:30px minmax(92px,1fr) repeat(5,34px)
  }
  .historical-standing-compact .historical-table-row.head{display:grid}
  .historical-standing-compact .historical-table-row span::before{content:none}
}

/* Parche 17.3 · Legibilidad del visor histórico */
.historical-view-content{font-size:.78rem}
.historical-section-heading h3{font-size:1rem}
.historical-section-heading p{font-size:.72rem;line-height:1.4}
.fp-historical-team>header strong,.historical-results-group>header strong,.fp-historical-finals>header strong{font-size:.82rem}
.fp-historical-team>header span,.historical-results-group>header span,.fp-historical-finals>header span{font-size:.7rem}
.historical-table-row{font-size:.72rem;min-height:34px}
.historical-table-row.head{font-size:.66rem}
.historical-result-row{font-size:.76rem;min-height:35px}
.historical-result-row time{font-size:.68rem}
.historical-result-row b{font-size:.8rem}
.historical-final-match{font-size:.76rem;min-height:38px}
.fp-historical-honor h4{font-size:.92rem}
.fp-historical-honor p,.fp-historical-honor li,.historical-contact-card{font-size:.76rem;line-height:1.45}
.historical-inline-empty{font-size:.75rem}
@media(max-width:650px){.historical-view-content{font-size:.75rem}.historical-table-row{font-size:.69rem}}

.fp-historical-comparison {
  margin-top: 1rem;
  padding: .9rem;
  border: 1px solid rgba(0,0,76,.14);
  border-radius: 14px;
  background: linear-gradient(180deg,#f8f9ff 0%,#fff 100%);
}
.fp-historical-comparison-heading { margin-bottom: .7rem; }
.fp-historical-comparison-heading strong { display:block; font-size:1rem; color:#00004c; }
.fp-historical-comparison-heading span { display:block; margin-top:.15rem; font-size:.86rem; color:#65657a; }
.historical-comparison-table { max-width: 760px; margin: 0 auto; }
.historical-comparison-table th,
.historical-comparison-table td { font-size:.88rem; padding:.48rem .55rem; }
.historical-comparison-table tbody tr:first-child { background:#edf6e8; font-weight:700; }
.fp-historical-comparison-selected { margin:.65rem 0 0; text-align:center; font-weight:700; color:#335c28; }
.new-competition-status-card{border-left:6px solid #d59b19}.new-competition-status-card[data-status="success"]{border-left-color:#198754}.new-competition-status-card[data-status="error"]{border-left-color:#c82333}.new-competition-status-card[data-status="outdated"]{border-left-color:#e67817}.new-competition-status-card[data-status="info"]{border-left-color:#3978c5}.new-competition-status-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.new-competition-status-badge{padding:8px 12px;border-radius:999px;background:#fff4d6;color:#735000;font-size:.82rem;white-space:nowrap}.new-competition-status-card[data-status="success"] .new-competition-status-badge{background:#e5f5eb;color:#146c3b}.new-competition-status-card[data-status="error"] .new-competition-status-badge{background:#fde8ea;color:#a61e2b}.new-competition-status-card[data-status="outdated"] .new-competition-status-badge{background:#fff0df;color:#9a4b00}.new-competition-status-card[data-status="info"] .new-competition-status-badge{background:#e8f1fb;color:#285b98}.new-competition-current-grid{display:grid;grid-template-columns:2fr 1fr 1fr .7fr;gap:10px;margin-top:16px}.new-competition-current-grid>div{background:#f6f7f9;border:1px solid #e1e4e8;border-radius:10px;padding:10px 12px}.new-competition-current-grid small{display:block;color:#687080;margin-bottom:3px}.new-competition-current-grid strong{font-size:.95rem}.new-competition-problems{margin-top:12px;padding:10px 12px;background:#fff2f2;border-radius:10px;color:#9c2430}.new-competition-problems p{margin:3px 0}.confirmation-dialog{max-width:520px;border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.28)}.confirmation-dialog::backdrop{background:rgba(0,0,30,.55)}.confirmation-dialog form{padding:24px}.confirmation-dialog h3{margin:0 0 8px}.confirmation-dialog p{line-height:1.5;color:#555d6d}.confirmation-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@media(max-width:800px){.new-competition-current-grid{grid-template-columns:1fr 1fr}.new-competition-status-card header{display:block}.new-competition-status-badge{display:inline-block;margin-top:10px}}

/* Fútbol Plaza · tarjeta 09 Publicación */
.fp-publication-grid{align-items:start}
.fp-publication-metrics{grid-template-columns:repeat(6,minmax(115px,1fr))}
.fp-publication-grid .web-docs-card-wide{grid-column:1/-1}
.fp-publication-grid .publication-control-block{background:linear-gradient(135deg,#fbfbfe,#f4f6fb)}
#public-background-list .public-admin-row{border-left:4px solid var(--navy);background:#f8f9fd}
#fp-publication-stage{font-size:.7rem}
.fp-publication-grid .category-result-row{grid-template-columns:minmax(180px,1fr) auto auto}
@media(max-width:980px){.fp-publication-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:620px){.fp-publication-metrics{grid-template-columns:repeat(2,minmax(110px,1fr))}.fp-publication-grid .category-result-row{grid-template-columns:1fr}}

/* Mantenimiento M1 y M2 · Fútbol Plaza */
[data-view-panel="eliminar-resultados"],
[data-view-panel="nueva-competicion"]{font-family:inherit}
.maintenance-intro-strip{display:flex;gap:14px;align-items:flex-start;margin:0 0 22px;padding:15px 18px;border:1px solid #d8e1ee;border-radius:14px;background:#f5f8fc;color:#334155}
.maintenance-intro-strip>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#244c83;color:#fff;font-weight:900}
.maintenance-intro-strip strong{display:block;margin-bottom:3px;color:#17365f}.maintenance-intro-strip p{margin:0;line-height:1.45}
.maintenance-card-kicker{margin:0 0 5px!important;font-size:.72rem!important;font-weight:900!important;letter-spacing:.11em;text-transform:uppercase;color:#65758a!important}
.result-deletion-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.result-deletion-card{height:100%;border:1px solid #dfe5ee;border-radius:16px;box-shadow:0 8px 24px rgba(30,55,90,.07)}
.result-deletion-card>header{min-height:154px;padding:21px 22px 17px;background:linear-gradient(180deg,#fff,#f8fafc)}
.result-deletion-card>header h3{margin:0 0 7px;font-size:1.08rem;color:#1d3557}.result-deletion-card>header p{margin:0;line-height:1.45;color:#667085;font-size:.88rem}
.result-deletion-card form{display:flex;flex-direction:column;height:calc(100% - 154px);padding:18px 21px 21px;gap:14px}
.result-deletion-card form>.field,.result-deletion-card form>.result-deletion-preview,.result-deletion-card form>.result-delete-submit{margin:0}
.maintenance-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:#edf2f8;color:#244c83;font-weight:900;font-size:.78rem}
.result-deletion-card-final .maintenance-icon{background:#eee9fb;color:#6447a8}.result-deletion-card-category .maintenance-icon{background:#fff0dd;color:#9a5500}.result-deletion-card-all .maintenance-icon{background:#fde9eb;color:#a92131}
.result-deletion-preview{min-height:66px;margin:0;padding:13px 14px;border-radius:11px;line-height:1.4;font-size:.88rem}
.maintenance-scope-list{margin:0;padding:0;list-style:none;display:grid;gap:8px;color:#556274;font-size:.84rem;line-height:1.35}
.maintenance-scope-list li{position:relative;padding-left:19px}.maintenance-scope-list li::before{content:'✓';position:absolute;left:0;top:0;color:#25805a;font-weight:900}
.result-deletion-card .result-delete-submit{width:100%;margin-top:auto;min-height:43px}
.new-competition-layout{display:grid;gap:24px}.new-competition-status-card{padding:22px 24px;border-radius:17px;box-shadow:0 8px 24px rgba(30,55,90,.07)}
.new-competition-status-card header{padding-bottom:17px;border-bottom:1px solid #e5e9f0}.new-competition-status-card header h3{margin:0 0 6px;font-size:1.16rem;color:#1d3557}.new-competition-status-card header p{margin:0;color:#667085}
.new-competition-current-grid{gap:14px;margin-top:19px}.new-competition-current-grid>div{padding:13px 15px;border-radius:12px;background:#f7f9fc;border:1px solid #e1e7ef}.new-competition-current-grid small{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#778397}.new-competition-current-grid strong{display:block;margin-top:5px;font-size:.95rem;color:#243b5a}
.reset-summary-grid-spaced{gap:24px}.reset-summary-card{padding:0;border-radius:17px;overflow:hidden;border:1px solid #dfe5ee;box-shadow:0 8px 24px rgba(30,55,90,.07)}
.reset-summary-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 17px;border-bottom:1px solid #e5e9f0;background:#f9fbfd}.reset-summary-card>header h3{margin:0 0 6px;color:#1d3557}.reset-summary-card>header p{margin:0;color:#667085;font-size:.86rem;line-height:1.4}
.reset-summary-card .status-metrics{padding:19px 21px 13px;gap:11px}.reset-summary-card .status-metrics>div{border-radius:11px;background:#f7f9fc;border:1px solid #e4e9f0;padding:11px 12px}
.reset-summary-delete{border-top:4px solid #c83b4b}.reset-summary-keep{border-top:4px solid #25805a}.reset-summary-delete .maintenance-icon{background:#fde9eb;color:#a92131}.reset-summary-keep .maintenance-icon{background:#e5f5ed;color:#19704c}
.reset-summary-note{margin:0;padding:0 21px 20px;color:#667085;font-size:.82rem;line-height:1.45}
.new-competition-action-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 24px;border-radius:17px;border:1px solid #dfe5ee;box-shadow:0 8px 24px rgba(30,55,90,.07);background:linear-gradient(135deg,#fff,#f7f9fc)}
.new-competition-action-card h3{margin:0 0 6px;color:#1d3557}.new-competition-action-card p{margin:0;color:#667085;line-height:1.45}.new-competition-action{margin:0;flex:0 0 auto}.new-competition-action .reset-submit{min-width:230px;min-height:46px}
.competition-direct-reset-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 24px;border-radius:17px;border:1px solid #efc9c9;border-top:4px solid #b93446;box-shadow:0 8px 24px rgba(120,35,50,.08);background:linear-gradient(135deg,#fffafa,#fff2f3)}
.competition-direct-reset-card h3{margin:0 0 6px;color:#862939}.competition-direct-reset-card p{margin:0;color:#6f5960;line-height:1.45;max-width:780px}
.competition-direct-reset-action{display:grid;gap:7px;justify-items:end;flex:0 0 auto}.competition-direct-reset-action small{font-size:.73rem;font-weight:800;color:#8a6870}.competition-direct-reset-action .button{min-width:230px;min-height:46px}
.competition-direct-reset-action .button:disabled{opacity:.48;cursor:not-allowed}
.competition-direct-reset-dialog form{max-width:590px}.competition-direct-reset-warning{display:grid;gap:4px;margin:14px 0;padding:13px 15px;border:1px solid #efc2c7;border-radius:12px;background:#fff2f3;color:#6f3440}
.competition-direct-reset-warning strong{color:#9d2638}.competition-direct-reset-warning span{font-size:.84rem;line-height:1.45}
.competition-direct-reset-field output{display:block;margin:7px 0 8px;padding:8px 10px;border-radius:9px;background:#f6f7f9;border:1px solid #dce2e9;font-weight:900;letter-spacing:.04em;color:#263b58}
.competition-direct-reset-field input{text-transform:uppercase}
@media(max-width:1100px){.result-deletion-grid-three{grid-template-columns:1fr}.result-deletion-card>header{min-height:auto}.result-deletion-card form{height:auto}.new-competition-current-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.new-competition-current-grid{grid-template-columns:1fr}.reset-summary-grid-spaced{grid-template-columns:1fr}.new-competition-action-card,.competition-direct-reset-card{align-items:stretch;flex-direction:column}.new-competition-action,.new-competition-action .reset-submit,.competition-direct-reset-action,.competition-direct-reset-action .button{width:100%;min-width:0}.competition-direct-reset-action{justify-items:stretch}.result-deletion-grid-three,.new-competition-layout{gap:16px}.new-competition-status-card{padding:18px}.reset-summary-card>header,.result-deletion-card>header{padding:18px}}

/* C2 LIVE - temporizador de Fútbol Plaza */
.live-layout-single{grid-template-columns:minmax(280px,.55fr) minmax(0,1.45fr);gap:22px;align-items:start}
.live-config-card{overflow:hidden}
.live-config-form{display:grid;gap:16px;padding:20px}
.live-config-form label{display:grid;gap:7px}
.live-config-form label span{color:var(--navy);font-size:.72rem;font-weight:900}
.live-config-form select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font:inherit;font-size:.82rem;font-weight:850}
.live-config-form .button{width:100%;margin-top:4px}
.live-layout-single .live-timer-card{grid-row:auto}
@media(max-width:900px){.live-layout-single{grid-template-columns:1fr}}

/* Parche 27 · legibilidad del botón de archivado */
.historical-create-submit{color:#fff!important;}
.historical-create-submit:visited,.historical-create-submit:hover,.historical-create-submit:focus{color:#fff!important;}


.archive-validation-dialog {
  width: min(680px, calc(100vw - 32px));
  max-height: min(82vh, 760px);
  padding: 0;
  border: 0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(18, 31, 58, .28);
}
.archive-validation-dialog::backdrop {
  background: rgba(16, 28, 52, .58);
  backdrop-filter: blur(3px);
}
.archive-validation-shell {
  background: #fff;
  color: #17233c;
}
.archive-validation-shell > header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 24px 26px 20px;
  background: linear-gradient(135deg, #fff7e8 0%, #fff 72%);
  border-bottom: 1px solid #f0dfbd;
}
.archive-validation-shell h2 {
  margin: 2px 0 7px;
  font: 800 clamp(1.2rem, 2vw, 1.55rem)/1.18 var(--font-heading, inherit);
  color: #17233c;
}
.archive-validation-shell header p:last-child {
  margin: 0;
  color: #5c6679;
  line-height: 1.45;
}
.archive-validation-icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #f2a900;
  color: #fff;
  font-size: 1.65rem;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(242, 169, 0, .26);
}
.archive-validation-body {
  padding: 18px 26px 10px;
  overflow: auto;
  max-height: 48vh;
}
.archive-validation-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.archive-validation-body li {
  position: relative;
  padding: 12px 14px 12px 42px;
  border: 1px solid #eadfca;
  border-radius: 12px;
  background: #fffaf1;
  color: #27344e;
  font-size: 1rem;
  line-height: 1.4;
}
.archive-validation-body li::before {
  content: "!";
  position: absolute;
  left: 13px;
  top: 11px;
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #d97d00;
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
}
.archive-validation-shell > footer {
  display: flex;
  justify-content: flex-end;
  padding: 16px 26px 22px;
}
.archive-validation-close {
  min-width: 130px;
}
@media (max-width: 600px) {
  .archive-validation-shell > header { padding: 20px 18px 16px; }
  .archive-validation-body { padding: 14px 18px 8px; max-height: 54vh; }
  .archive-validation-shell > footer { padding: 14px 18px 18px; }
  .archive-validation-body li { font-size: .95rem; }
}

/* Temporizador LIVE permanente en cabecera */
.topbar-live{display:flex;align-items:center;gap:9px;margin-left:auto;margin-right:14px;padding:6px 8px 6px 11px;border:1px solid #ffffff3d;border-radius:10px;background:#ffffff12;box-shadow:inset 0 1px 0 #ffffff15;white-space:nowrap}
.topbar-live-phase{min-width:82px;color:#dfe8ff;font-size:.57rem;font-weight:900;letter-spacing:.08em;text-align:right}
.topbar-live-clock{min-width:62px;color:#fff;font:800 1.12rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;text-align:center}
.topbar-live-actions{display:flex;gap:4px}
.topbar-live-actions button{width:29px;height:29px;display:grid;place-items:center;padding:0;color:#fff;background:#ffffff14;border:1px solid #ffffff3f;border-radius:7px;font-size:.78rem;font-weight:900}
.topbar-live-actions button:hover:not(:disabled){background:#ffffff28}
.topbar-live-actions button:disabled{opacity:.35;cursor:not-allowed}
.topbar-live[data-live-status="match"]{background:#1b7a4938;border-color:#7be2a3aa}
.topbar-live[data-live-status="break"]{background:#bd7b163d;border-color:#ffd17aaa}
.topbar-live[data-live-status="paused"]{background:#8c11254a;border-color:#ff9aa9aa}
.live-pause-button{color:#fff;background:#b97810;border-color:#b97810}
.live-pause-button:hover:not(:disabled){filter:brightness(1.08)}
@media(max-width:1100px){.topbar-live-phase{display:none}.topbar-live{margin-right:6px}.edition{display:none}}
@media(max-width:760px){.topbar-live{gap:4px;padding:5px}.topbar-live-clock{min-width:52px;font-size:.94rem}.topbar-live-actions button{width:26px;height:26px}.topbar-status .user-menu span,.topbar-status .competition-state{display:none}}


/* Parche 29.1 · estados visuales del reloj de cabecera */
.topbar-live{
  background:#162b4b;
  border-color:#55739c;
  box-shadow:0 4px 14px rgba(4,14,31,.28),inset 0 1px 0 rgba(255,255,255,.08);
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.topbar-live[data-live-status="ready"]{background:#263750;border-color:#7186a3}
.topbar-live[data-live-status="match"]{background:#16643d;border-color:#65d395;box-shadow:0 4px 14px rgba(4,55,31,.35),inset 0 1px 0 rgba(255,255,255,.1)}
.topbar-live[data-live-status="break"]{background:#a85c0a;border-color:#ffc46b;box-shadow:0 4px 14px rgba(83,42,0,.34),inset 0 1px 0 rgba(255,255,255,.1)}
.topbar-live[data-live-status="paused"]{background:#6f2740;border-color:#e89bb5;box-shadow:0 4px 14px rgba(70,10,30,.34),inset 0 1px 0 rgba(255,255,255,.1)}
.topbar-live.live-critical{
  background:#b1122a;
  border-color:#ffd0d7;
  animation:topbarLiveCritical .7s ease-in-out infinite alternate;
}
.topbar-live.live-critical .topbar-live-clock{font-weight:950}
@keyframes topbarLiveCritical{
  from{transform:scale(1);box-shadow:0 4px 14px rgba(85,0,18,.35),0 0 0 0 rgba(255,83,105,.18)}
  to{transform:scale(1.025);box-shadow:0 5px 18px rgba(85,0,18,.5),0 0 0 5px rgba(255,83,105,.22)}
}
@media (prefers-reduced-motion:reduce){.topbar-live.live-critical{animation:none}}


/* Parche 29.2 · ciclos continuos y parpadeo cromático sin cambio de tamaño */
.topbar-live{
  transform:none !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.topbar-live[data-live-status="match"]{
  background:#157347;
  border-color:#83e2ad;
}
.topbar-live[data-live-status="break"]{
  background:#b96808;
  border-color:#ffd08a;
}
.topbar-live.live-final-seconds[data-live-phase="match"]{
  animation:topbarLiveMatchBlink .62s steps(1,end) infinite;
}
.topbar-live.live-final-seconds[data-live-phase="break"]{
  animation:topbarLiveBreakBlink .62s steps(1,end) infinite;
}
@keyframes topbarLiveMatchBlink{
  0%,49%{background:#0f6a3d;border-color:#80e5aa;box-shadow:0 4px 14px rgba(4,55,31,.38),inset 0 1px 0 rgba(255,255,255,.11)}
  50%,100%{background:#29a866;border-color:#d1ffe3;box-shadow:0 4px 18px rgba(17,110,62,.52),inset 0 1px 0 rgba(255,255,255,.18)}
}
@keyframes topbarLiveBreakBlink{
  0%,49%{background:#a95605;border-color:#ffd08a;box-shadow:0 4px 14px rgba(83,42,0,.38),inset 0 1px 0 rgba(255,255,255,.11)}
  50%,100%{background:#ec8b1b;border-color:#fff0c7;box-shadow:0 4px 18px rgba(145,71,0,.5),inset 0 1px 0 rgba(255,255,255,.18)}
}
@media (prefers-reduced-motion:reduce){
  .topbar-live.live-final-seconds{animation:none}
}

/* Resumen de sede · Fútbol Plaza */
.summary-main-alert { margin-bottom: 18px; }
.summary-metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.summary-metric-card { background:#fff; border:1px solid #dfe5ee; border-radius:14px; padding:16px 18px; box-shadow:0 6px 18px rgba(20,42,76,.06); }
.summary-metric-card small { display:block; color:#64748b; font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.72rem; }
.summary-metric-card strong { display:block; margin-top:5px; color:#142a4c; font-size:1.45rem; line-height:1.1; }
.summary-metric-card span { display:block; margin-top:5px; color:#697386; font-size:.82rem; }
.summary-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr); gap:18px; align-items:start; }
.summary-main-column,.summary-side-column { display:grid; gap:18px; }
.summary-section-card,.summary-venue-card,.summary-public-card { padding:18px; }
.summary-section-card > header,.summary-venue-card > header,.summary-public-card > header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; }
.summary-card-kicker { margin:0 0 3px; color:#c22632; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.summary-section-card h3,.summary-venue-card h3,.summary-public-card h3 { margin:0; color:#142a4c; }
.summary-section-card header p:not(.summary-card-kicker),.summary-venue-card header p:not(.summary-card-kicker) { margin:4px 0 0; color:#64748b; }
.summary-category-list { display:grid; gap:12px; }
.summary-category-card { border:1px solid #dfe5ee; border-left:6px solid var(--summary-category-color); border-radius:12px; overflow:hidden; background:#fbfcfe; }
.summary-category-card > header { display:flex; justify-content:space-between; gap:12px; padding:13px 14px; background:linear-gradient(90deg,color-mix(in srgb,var(--summary-category-color) 11%,white),#fff); }
.summary-category-card > header strong { display:block; color:#142a4c; font-size:.98rem; }
.summary-category-card > header span { display:block; margin-top:3px; color:#64748b; font-size:.78rem; }
.summary-category-card > header b { align-self:center; color:var(--summary-category-color); font-size:.7rem; }
.summary-category-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:#dfe5ee; border-top:1px solid #dfe5ee; }
.summary-category-progress > div { background:#fff; padding:10px 12px; }
.summary-category-progress small { display:block; color:#6b7280; font-size:.68rem; text-transform:uppercase; font-weight:700; }
.summary-category-progress strong { display:block; margin-top:3px; color:#1e293b; font-size:.82rem; }
.summary-checklist { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.summary-checklist li { display:grid; grid-template-columns:28px 1fr auto; gap:10px; align-items:center; padding:11px 12px; border:1px solid #ead8d8; border-radius:10px; background:#fffafa; }
.summary-checklist li.done { border-color:#cce5d4; background:#f5fcf7; }
.summary-checklist li > b { width:25px; height:25px; border-radius:50%; display:grid; place-items:center; background:#f4d8da; color:#a51f2d; }
.summary-checklist li.done > b { background:#d7f0df; color:#17743a; }
.summary-checklist strong,.summary-checklist small { display:block; }
.summary-checklist strong { color:#172b4d; }
.summary-checklist small { color:#64748b; margin-top:2px; }
.summary-checklist button { border:0; background:transparent; color:#1f4f8f; font-weight:700; cursor:pointer; }
.summary-venue-card header > span { border-radius:999px; padding:6px 9px; background:#edf1f6; color:#526174; font-size:.68rem; font-weight:800; }
.summary-venue-card header > span.is-published { background:#dff3e5; color:#16723a; }
.summary-venue-card dl { margin:0 0 14px; display:grid; gap:1px; background:#e4e9f0; border:1px solid #e4e9f0; border-radius:10px; overflow:hidden; }
.summary-venue-card dl div { display:flex; justify-content:space-between; gap:14px; background:#fff; padding:10px 12px; }
.summary-venue-card dt { color:#6b7280; }
.summary-venue-card dd { margin:0; color:#172b4d; font-weight:700; text-align:right; }
.summary-public-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:14px; }
.summary-public-stats div { border:1px solid #e2e8f0; border-radius:10px; padding:11px; text-align:center; background:#f8fafc; }
.summary-public-stats span,.summary-public-stats strong { display:block; }
.summary-public-stats span { color:#64748b; font-size:.72rem; }
.summary-public-stats strong { margin-top:3px; color:#142a4c; font-size:1.2rem; }
.summary-empty { padding:22px; text-align:center; color:#64748b; border:1px dashed #cbd5e1; border-radius:10px; }
@media (max-width:1100px){.summary-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.summary-dashboard-grid{grid-template-columns:1fr;}.summary-side-column{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:720px){.summary-metrics-grid,.summary-side-column{grid-template-columns:1fr;}.summary-category-progress{grid-template-columns:repeat(2,minmax(0,1fr));}.summary-checklist li{grid-template-columns:28px 1fr}.summary-checklist button{grid-column:2;justify-self:start;padding:0}.summary-section-card,.summary-venue-card,.summary-public-card{padding:14px}}


/* Parche 31 · Datos generales compactos y monitores de sede */
[data-view-panel="generales"] .form-card{padding:18px 20px}
[data-view-panel="generales"] .section-heading{margin-bottom:10px}
[data-view-panel="generales"] .section-heading h3{margin-bottom:2px}
[data-view-panel="generales"] .form-grid{gap:10px 14px}
[data-view-panel="generales"] .field{gap:4px}
[data-view-panel="generales"] .field input,[data-view-panel="generales"] .field textarea{padding-top:8px;padding-bottom:8px}
[data-view-panel="generales"] hr{margin:14px 0}
[data-view-panel="generales"] .form-actions{margin-top:14px}
@media (min-width:900px){[data-view-panel="generales"] .general-compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}[data-view-panel="generales"] .general-compact-grid .wide{grid-column:span 2}}


/* Parche 35 · Control de la pantalla del stand */
.stand-control-card{grid-column:1/-1}
.stand-control-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.stand-control-summary>div{padding:13px 15px;border:1px solid #dce5ef;border-radius:12px;background:#f8fafc}
.stand-control-summary span,.stand-control-summary strong{display:block}
.stand-control-summary span{font-size:.72rem;font-weight:800;text-transform:uppercase;color:#64748b;letter-spacing:.05em}
.stand-control-summary strong{margin-top:4px;color:#142a4c;font-size:1rem}
.stand-mode-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.stand-category-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.stand-category-buttons .button{display:grid;text-align:left;gap:2px;border-left:5px solid var(--stand-category-color);padding:11px 13px}
.stand-category-buttons .button strong{font-size:.86rem}
.stand-category-buttons .button small{font-size:.7rem;opacity:.78}
.stand-actions{justify-content:flex-end;margin-top:12px}
@media(max-width:800px){.stand-category-buttons{grid-template-columns:1fr}.stand-control-summary{grid-template-columns:1fr}}

/* Parche 37 · Gestión de patrocinadores y colaboradores */
.sponsor-management-card{grid-column:1/-1}
.sponsor-upload-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;gap:14px;align-items:end;margin-bottom:14px}
.sponsor-upload-toolbar .field{margin:0}.sponsor-upload-toolbar select{width:100%}
.sponsor-visible-toggle{min-height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d8e1eb;border-radius:10px;background:#f8fafc;font-weight:700;color:#263850}
.sponsor-visible-toggle input{width:18px;height:18px}
.sponsor-drop-zone{position:relative;min-height:132px;border:2px dashed #9db2c8;border-radius:16px;background:linear-gradient(135deg,#f8fbfe,#eef4fa);display:grid;place-content:center;text-align:center;gap:5px;padding:20px;cursor:pointer;transition:.18s ease;color:#294766}
.sponsor-drop-zone strong{font-size:1.08rem;color:#143b65}.sponsor-drop-zone span{font-size:.86rem}.sponsor-drop-zone small{font-size:.72rem;color:#6a7d90}
.sponsor-drop-zone:hover,.sponsor-drop-zone:focus-visible,.sponsor-drop-zone.is-dragover{border-color:#0f6ca8;background:#edf7fd;box-shadow:0 0 0 4px rgba(15,108,168,.1);outline:0}
.sponsor-drop-zone.is-uploading{opacity:.62;pointer-events:none}
.sponsor-admin-list{display:grid;gap:10px;margin-top:14px}
.sponsor-admin-empty{padding:18px;border:1px dashed #c7d3df;border-radius:12px;text-align:center;color:#687b8e;background:#fbfcfd}
.sponsor-admin-item{display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;border:1px solid #dae3ec;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(26,56,88,.05)}
.sponsor-admin-item.is-hidden{opacity:.58;background:#f6f7f8}
.sponsor-admin-preview{height:72px;border-radius:10px;background:#eef3f7;display:grid;place-items:center;overflow:hidden;padding:7px}.sponsor-admin-preview img{max-width:100%;max-height:100%;object-fit:contain}
.sponsor-admin-fields{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(150px,.8fr) auto;gap:10px;align-items:end}
.sponsor-admin-fields label{display:grid;gap:4px}.sponsor-admin-fields label>span{font-size:.69rem;font-weight:800;text-transform:uppercase;color:#66778a;letter-spacing:.04em}
.sponsor-admin-fields input,.sponsor-admin-fields select{min-height:38px}
.sponsor-item-visible{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center;gap:7px;padding:0 8px 8px}.sponsor-item-visible input{width:17px;height:17px}
.sponsor-admin-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.button.compact{padding:7px 9px;min-height:34px;font-size:.74rem}.button.danger{background:#a92a36;color:#fff;border-color:#a92a36}
@media(max-width:900px){.sponsor-upload-toolbar{grid-template-columns:1fr 1fr}.sponsor-visible-toggle{grid-column:1/-1}.sponsor-admin-item{grid-template-columns:90px 1fr}.sponsor-admin-actions{grid-column:1/-1}.sponsor-admin-fields{grid-template-columns:1fr 1fr}.sponsor-item-visible{grid-column:1/-1}}
@media(max-width:600px){.sponsor-upload-toolbar,.sponsor-admin-fields{grid-template-columns:1fr}.sponsor-admin-item{grid-template-columns:1fr}.sponsor-admin-preview{height:90px}}

/* Parche 39.1 · destinos independientes de documentos */
.public-document-destinations{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.public-document-destination{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:4px 9px;border:1px solid #b8c5d6;border-radius:7px;background:#f4f7fb;color:var(--navy);font-size:.62rem;font-weight:800;white-space:nowrap;cursor:pointer}
.public-document-destination:has(input:checked){border-color:#7bb48e;background:#e4f5e9;color:#155d39}
.public-document-destination input{margin:0;accent-color:#17814d}
.public-document-stand-order .document-order-button{color:#5a327d;background:#f0e5ff;border-color:#bea4dc}
.public-document-stand-order .document-order-button:hover:not(:disabled){background:#e4d3f8}
.public-document-order{align-items:center}
.public-document-order::before{font-size:.52rem;font-weight:900;color:var(--muted)}
.public-document-order:not(.public-document-stand-order)::before{content:'Familias'}
.public-document-stand-order::before{content:'Stand'}
@media(max-width:900px){.public-document-destinations{width:100%}.public-document-order{flex-wrap:wrap}}

/* Parche 40 · control del stand y avisos explicativos */
.stand-mode-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.stand-mode-buttons>.button{min-width:0;min-height:48px;justify-content:center;text-align:center}
.stand-category-buttons{display:contents}
.stand-category-buttons .button{display:flex;align-items:center;justify-content:center;text-align:center;gap:0;border-left:5px solid var(--stand-category-color);padding:10px 8px}
.stand-category-buttons .button small{display:none}
.stand-actions{justify-content:flex-start;margin-top:14px}
.stand-open-button{min-width:260px;padding:12px 20px;font-size:.78rem;box-shadow:0 5px 14px rgba(20,42,76,.18)}
@media(max-width:1050px){.stand-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.stand-mode-buttons>.button:last-child{grid-column:1/-1}.stand-category-buttons{display:contents}}
@media(max-width:650px){.stand-mode-buttons{grid-template-columns:1fr}.stand-mode-buttons>.button:last-child{grid-column:auto}.stand-open-button{width:100%;min-width:0}}


/* Parche 40.1 · ajustes de publicación, stand y mantenimiento */
.publication-title-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.publication-title-status h4{margin:0}
.publication-title-status .saved-label{margin:0}
.published-text{color:#16723a!important;background:#e2f4e8!important;border-color:#9bc8aa!important}
.stand-control-card>header{align-items:center}
.stand-preview-button{display:inline-flex;align-items:center;justify-content:center;min-width:235px;padding:10px 16px;color:var(--navy);background:#fff;border:1px solid #9fb3cc;text-align:center;line-height:1.2;box-shadow:0 3px 10px rgba(20,42,76,.10)}
.stand-preview-button:hover{background:#eef5fc;border-color:#6f93bd}
@media(max-width:760px){.stand-control-card>header{align-items:flex-start}.stand-preview-button{width:100%;min-width:0}}

/* Destino exclusivo para la imagen fija LIVE */
.public-document-live-destination{
  border-color:#d51f36;
  background:#fff4f5;
  color:#9f1828;
  font-weight:800;
}

/* Orden manual integrado en la clasificación provisional */
.fp-standing-order-heading{text-align:center;white-space:nowrap}
.fp-standing-order-actions{white-space:nowrap;text-align:center}
.fp-standing-order-actions button{width:1.85rem;height:1.75rem;margin:0 .08rem;border:1px solid #d9c98f;background:#fff;border-radius:6px;font-weight:800;cursor:pointer;line-height:1}
.fp-standing-order-actions button:hover:not(:disabled){background:#fff7dc}
.fp-standing-order-actions button:disabled{opacity:.3;cursor:default}
.fp-results-standings .fp-order-status{display:block;margin-top:.18rem;color:#7a6630;font-size:.72rem;font-weight:600}
@media (max-width:720px){.fp-standing-order-actions button{width:1.65rem;height:1.65rem}.fp-standing-order-heading{font-size:.68rem}}

/* Resultados por categoría: clasificación más legible y fase final integrada */
.fp-results-standings .results-standings-table{font-size:.76rem;min-width:760px}
.fp-results-standings .results-standings-table th{font-size:.72rem;padding:9px 8px}
.fp-results-standings .results-standings-table td{font-size:.76rem;padding:9px 8px}
.fp-results-standings .results-standings-table .standing-player{font-size:.8rem}
.fp-results-standings .fp-standing-position{font-size:.8rem;font-weight:800}
.fp-inline-final-phase{margin:14px 12px 16px;padding:12px;border:1px solid #d8dee9;border-left:4px solid var(--category-accent);border-radius:12px;background:#fff}
.fp-inline-final-phase.is-pending{background:#f8fafc;color:#596579}
.fp-inline-final-phase .fp-final-category-block{margin-top:10px}
.fp-inline-final-phase .fp-honor-board{margin-top:14px}
.fp-archive-site-global{margin:18px 0 4px}
@media(max-width:700px){
  .fp-results-standings .results-standings-table{font-size:.72rem;min-width:680px}
  .fp-results-standings .results-standings-table th,
  .fp-results-standings .results-standings-table td{font-size:.72rem;padding:8px 7px}
}

/* Clasificaciones de grupos: filas de equipos más compactas sin reducir la cabecera */
.fp-results-standings .results-standings-table td{
  padding:5px 8px;
  line-height:1.15;
}
.fp-results-standings .fp-standing-order-actions button{
  width:1.7rem;
  height:1.5rem;
  min-height:0;
  padding:0;
}
@media(max-width:700px){
  .fp-results-standings .results-standings-table td{
    padding:5px 7px;
  }
  .fp-results-standings .fp-standing-order-actions button{
    width:1.55rem;
    height:1.45rem;
  }
}


/* Fútbol Plaza · alta rápida con acción junto al nombre */
.team-quick-name-row{display:grid;grid-template-columns:minmax(0,520px) auto;align-items:end;gap:9px}
.team-quick-name-row .team-quick-name{max-width:none}
.team-quick-name-row .team-enroll-button{white-space:nowrap}
.team-quick-actions{justify-content:flex-start!important}
@media(max-width:720px){.team-quick-name-row{grid-template-columns:1fr}.team-quick-name-row .team-enroll-button{width:100%}}

/* Fútbol Plaza · botón de inscripción más compacto */
.team-quick-name-row .team-enroll-button{
  width:auto;
  min-width:0;
  min-height:27px;
  padding:3px 9px;
  border-radius:7px;
  font-size:.68rem;
  line-height:1.15;
  justify-self:start;
  align-self:end;
}
@media(max-width:720px){
  .team-quick-name-row .team-enroll-button{
    width:auto;
    justify-self:start;
  }
}

/* Fase final: una única secuencia cronológica, primero semifinales y después finales. */
.fp-final-fixtures-chronological .fp-final-fixture-row {
  border-left: 4px solid var(--category-accent, #7c3aed);
}
.fp-finals-common-card .fp-final-category-fields {
  grid-template-columns: minmax(180px, 1.3fr) repeat(2, minmax(150px, 1fr));
}
@media (max-width: 760px) {
  .fp-finals-common-card .fp-final-category-fields {
    grid-template-columns: 1fr;
  }
}

/* Orden cronológico de fase final: más espacio para ronda/categoría y color por categoría. */
.fp-final-fixtures-chronological .fp-final-fixture-row {
  grid-template-columns: 2rem 4rem minmax(285px, 1.35fr) minmax(190px, 1fr);
}
.fp-final-fixtures-chronological .fp-final-fixture-row strong {
  color: var(--category-accent, #7c3aed);
  line-height: 1.2;
}
@media (max-width: 900px) {
  .fp-final-fixtures-chronological .fp-final-fixture-row {
    grid-template-columns: 2rem 4rem minmax(220px, 1.25fr) minmax(160px, 1fr);
  }
}
@media (max-width: 680px) {
  .fp-final-fixtures-chronological .fp-final-fixture-row {
    grid-template-columns: 2rem 4rem minmax(0, 1fr);
  }
  .fp-final-fixtures-chronological .fp-final-fixture-row small {
    grid-column: 3;
    white-space: normal;
  }
}
.historical-grid{grid-template-columns:minmax(300px,.72fr) minmax(300px,.82fr) minmax(520px,1.45fr)}.historical-mail-card{padding:0 0 18px}.historical-mail-card>header{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between}.historical-mail-form,.historical-mail-test{display:grid;gap:10px;padding:16px 20px 0}.historical-recipient-list{display:grid;gap:7px;padding:14px 20px}.historical-recipient-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px}.historical-recipient-row div{display:grid;gap:2px}.historical-recipient-row small{color:var(--muted)}.historical-recipient-actions{display:flex;gap:6px}.historical-recipient-actions button{padding:5px 8px;font-size:.62rem}.historical-mail-type,.historical-mail-dialog fieldset{border:1px solid var(--line);border-radius:9px;padding:12px}.historical-mail-type label,.historical-mail-recipient-options label{display:flex;gap:8px;align-items:center;margin:7px 0}.historical-mail-archive-name{font-weight:800;color:var(--navy)}.historical-mail-error{color:var(--red);font-weight:700}.historical-mail-button{background:#eef4ff!important;color:var(--navy)!important;border-color:#b9c9e8!important}@media(max-width:1450px){.historical-grid{grid-template-columns:1fr 1fr}.historical-list-card{grid-column:1/-1}}@media(max-width:900px){.historical-grid{grid-template-columns:1fr}.historical-list-card{grid-column:auto}}

.historical-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:18px}
.historical-list-primary{grid-column:1}
.historical-create-card{grid-column:2}
.historical-mail-card{grid-column:1/-1}
.historical-mail-card-body{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(480px,1.2fr);gap:0}
.historical-mail-settings{border-right:1px solid var(--line);padding-bottom:18px}
.historical-mail-log-section{min-width:0;padding:16px 20px 20px}
.historical-mail-log-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.historical-mail-log-heading h4{margin:0;color:var(--navy);font-size:.78rem}
.historical-mail-log-heading p{margin:4px 0 0;color:var(--muted);font-size:.6rem}
.historical-mail-log{display:grid;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.historical-mail-log-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border-top:1px solid var(--line);background:#fff}
.historical-mail-log-row:first-child{border-top:0}
.historical-mail-log-row>div{display:grid;gap:3px;min-width:0}
.historical-mail-log-row strong{color:var(--navy);font-size:.68rem}
.historical-mail-log-row span:not(.historical-chip){color:#38435b;font-size:.6rem;overflow-wrap:anywhere}
.historical-mail-log-row small{color:var(--muted);font-size:.55rem}
.historical-mail-log-row.error{background:#fffafb}
@media(max-width:1100px){
  .historical-grid{grid-template-columns:1fr}
  .historical-list-primary,.historical-create-card,.historical-mail-card{grid-column:auto}
  .historical-mail-card-body{grid-template-columns:1fr}
  .historical-mail-settings{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:650px){
  .historical-mail-log-row{grid-template-columns:1fr}
  .historical-mail-log-row .historical-chip{justify-self:start;width:auto}
}

.historical-recipient-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 20px 10px}
.historical-recipient-section-heading h4{margin:0;color:var(--navy);font-size:.78rem}
.historical-recipient-section-heading p{margin:4px 0 0;color:var(--muted);font-size:.6rem}
.historical-recipient-list{padding:4px 20px 16px}
.historical-recipient-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto}
.historical-recipient-row>.historical-chip{min-width:62px;justify-content:center}
.historical-chip.muted{background:#f0f1f4;color:#6e7480;border-color:#d8dbe1}
.historical-recipient-add-panel{border-top:1px solid var(--line);padding:16px 20px 0;display:flex;justify-content:flex-start}
.historical-recipient-dialog{width:min(520px,calc(100vw - 28px))}
.historical-recipient-dialog .dialog-body{display:grid;gap:14px}
.historical-recipient-active{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fafbfd}
.historical-recipient-error{min-height:18px;margin:0;color:var(--red);font-weight:700;font-size:.62rem}
@media(max-width:650px){
  .historical-recipient-row{grid-template-columns:1fr auto}
  .historical-recipient-row>.historical-chip{grid-column:2;grid-row:1}
  .historical-recipient-actions{grid-column:1/-1}
}

.historical-grid{grid-template-columns:minmax(0,1fr)}
.historical-create-card,
.historical-list-primary,
.historical-mail-card{grid-column:1/-1}

/* M3 Histórico: tarjeta de archivado compacta y equilibrada */
.historical-create-card-balanced{
  padding-bottom:16px;
}
.historical-create-card-balanced>header{
  align-items:center;
  padding:15px 20px;
}
.historical-create-card-balanced>header .historical-create-submit{
  margin:0!important;
  flex:0 0 auto;
  white-space:nowrap;
  padding:8px 13px;
}
.historical-create-compact-fields{
  display:grid;
  grid-template-columns:minmax(280px,380px) minmax(170px,230px) minmax(120px,155px) minmax(145px,175px);
  gap:10px;
  align-items:end;
  padding:12px 20px 0;
}
.historical-create-field{
  margin:0;
  gap:5px;
}
.historical-create-field>span{
  font-size:.66rem;
  line-height:1.2;
}
.historical-create-field input{
  height:35px;
  min-height:35px;
  padding:7px 10px;
  font-size:.72rem;
}
.historical-create-card-balanced .historical-current-summary{
  margin:12px 20px 0;
}

/* M3 Histórico: más legibilidad en Últimos envíos */
.historical-mail-log-heading h4{
  font-size:.84rem;
}
.historical-mail-log-heading p{
  font-size:.66rem;
  line-height:1.35;
}
.historical-mail-log-row{
  padding:13px 14px;
}
.historical-mail-log-row strong{
  font-size:.75rem;
}
.historical-mail-log-row span:not(.historical-chip){
  font-size:.68rem;
  line-height:1.35;
}
.historical-mail-log-row small{
  font-size:.63rem;
  line-height:1.35;
}

@media(max-width:1050px){
  .historical-create-compact-fields{
    grid-template-columns:minmax(240px,1.4fr) minmax(170px,1fr) minmax(120px,.65fr) minmax(145px,.8fr);
  }
}
@media(max-width:760px){
  .historical-create-card-balanced>header{
    align-items:flex-start;
    flex-direction:column;
  }
  .historical-create-compact-fields{
    grid-template-columns:1fr 1fr;
  }
  .historical-create-name{
    grid-column:1/-1;
  }
}
@media(max-width:480px){
  .historical-create-compact-fields{
    grid-template-columns:1fr;
  }
  .historical-create-name{
    grid-column:auto;
  }
  .historical-create-card-balanced>header .historical-create-submit{
    width:100%;
  }
}

.topbar-live-clock{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
}
.topbar-live-clock:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.topbar-live-clock:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
  border-radius:4px;
}


/* Publicación rápida del stand en la cabecera */
.topbar-stand-quick{
  display:flex;
  align-items:center;
  gap:4px;
  margin-right:10px;
  padding:5px 6px;
  border:1px solid #ffffff35;
  border-radius:9px;
  background:#ffffff0f;
  white-space:nowrap;
}
.topbar-stand-quick>span{
  padding:0 3px;
  color:#dfe8ff;
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.08em;
}
.topbar-stand-quick button{
  min-height:27px;
  padding:4px 7px;
  border:1px solid #ffffff42;
  border-radius:6px;
  color:#fff;
  background:#ffffff13;
  font-size:.54rem;
  font-weight:850;
  line-height:1;
  cursor:pointer;
}
.topbar-stand-quick button:hover:not(:disabled){
  background:#ffffff2b;
}
.topbar-stand-quick button.active{
  color:var(--navy);
  background:#fff;
  border-color:#fff;
}
.topbar-stand-quick button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.topbar-stand-quick button:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}
@media(max-width:1320px){
  .topbar-stand-quick button{padding:4px 5px;font-size:.49rem}
  .topbar-stand-quick>span{display:none}
}
@media(max-width:1120px){
  .topbar-stand-quick{display:none}
}

/* 09 Publicación · 03 Pantalla del stand:
   misma altura, tamaño y negrita en Información, categorías y Fase final */
.stand-mode-buttons>.button,
.stand-category-buttons .button{
  min-height:48px;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.stand-mode-buttons>.button,
.stand-category-buttons .button strong{
  font-size:.86rem;
  font-weight:700;
  line-height:1.2;
}
.stand-category-buttons .button strong{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

.fp-archive-mail-dialog{width:min(680px,calc(100vw - 28px))}
.fp-archive-mail-warning{margin:5px 0 0;color:var(--muted);font-size:.68rem}
.fp-archive-mail-section{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px}
.fp-archive-mail-section h3{margin:0;color:var(--navy);font-size:.78rem}
.fp-archive-mail-section>p{margin:0;color:var(--muted);font-size:.62rem}
.fp-archive-mail-recipients{display:grid;gap:7px;max-height:230px;overflow:auto}
.fp-archive-mail-recipient{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.fp-archive-mail-recipient span{display:grid;gap:2px}
.fp-archive-mail-recipient strong{font-size:.7rem;color:var(--navy)}
.fp-archive-mail-recipient small{font-size:.6rem;color:var(--muted)}
.fp-archive-mail-section.is-disabled{opacity:.45;pointer-events:none}
.fp-archive-no-email{margin-top:4px;padding:12px;border:1px solid #efc4c9;border-radius:9px;background:#fff7f8;color:#8d1725;font-weight:800}
.fp-archive-mail-error{min-height:18px;margin:0;color:var(--red);font-size:.65rem;font-weight:750}
.fp-archive-mail-empty{margin:0;padding:10px;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}


/* Aviso visible cuando el histórico ya existe y se sobrescribirá */
.fp-archive-mail-warning{
  margin:10px 0 0;
  padding:11px 13px;
  border:1px solid #e6b25f;
  border-radius:8px;
  background:#fff4d8;
  color:#6f3f00;
  font-size:.78rem;
  font-weight:800;
  line-height:1.4;
}


/* Mejor separación visual en el diálogo Archivar sede */
.fp-archive-mail-dialog .dialog-body{
  display:grid;
  gap:16px;
}
.fp-archive-mail-section + .fp-archive-mail-section{
  margin-top:2px;
}
.fp-archive-no-email{
  margin-top:4px;
  position:relative;
  z-index:0;
}


/* Identificación de versión en la pantalla de gestión */
.management-version{
  margin:12px -2px 0;
  padding-top:10px;
  border-top:1px solid #ffffff24;
  color:#dce4f5;
  font-size:.55rem;
  font-weight:650;
  line-height:1.4;
  text-align:left;
  letter-spacing:.015em;
}


/* Ajuste visual de la identificación v2.0 en gestión */
.management-version{
  color:#8f9bb3;
  font-size:.58rem;
  line-height:1.45;
}


/* Menú lateral adaptable a ventanas de poca altura */
.sidebar{
  justify-content:flex-start;
  overflow:hidden;
}
.sidebar > nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:3px;
  scrollbar-width:thin;
  scrollbar-color:#aeb5c4 transparent;
}
.sidebar > nav::-webkit-scrollbar{
  width:7px;
}
.sidebar > nav::-webkit-scrollbar-thumb{
  background:#aeb5c4;
  border-radius:999px;
}
.sidebar-footer{
  flex:0 0 auto;
  padding:8px 10px 2px;
  background:#fff;
}
.management-version{
  margin:0;
  padding-top:8px;
  border-top:1px solid var(--line);
  color:#68738a;
  font-size:.58rem;
  font-weight:700;
  line-height:1.18;
  text-align:left;
  letter-spacing:.01em;
}

.legal-admin-list{display:grid;gap:10px}.legal-editor-card{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.legal-editor-card>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;font-size:.74rem;color:var(--navy);font-weight:800}.legal-editor-body{display:grid;gap:12px;padding:0 14px 14px;border-top:1px solid var(--line)}.legal-editor-grid{display:grid;grid-template-columns:1fr 220px;gap:12px;padding-top:12px}.legal-visible-toggle{justify-self:start}.legal-format-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:7px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:#f4f6fa}.legal-format-toolbar button{min-height:30px;padding:4px 8px;border:1px solid #ccd3df;border-radius:5px;background:#fff;color:#23314c;font-size:.63rem;font-weight:750;cursor:pointer}.legal-rich-editor{min-height:190px;max-height:380px;overflow:auto;padding:13px;border:1px solid var(--line);border-radius:0 0 8px 8px;background:#fff;font-size:.7rem;line-height:1.5}.legal-rich-editor:focus{outline:2px solid #8da8d4;outline-offset:-2px}.legal-rich-editor h2,.legal-rich-editor h3{color:var(--navy)}.legal-link-panel[hidden],.legal-text-panel[hidden]{display:none!important}@media(max-width:760px){.legal-editor-grid{grid-template-columns:1fr}}


/* Encabezado: sede y fecha configuradas */
.topbar-site-date{
  display:block;
  max-width:min(42vw,560px);
  overflow:hidden;
  padding:7px 12px;
  color:#fff;
  background:#16834b;
  border:1px solid #5cc98d;
  border-radius:999px;
  box-shadow:0 1px 0 #ffffff26 inset;
  font-size:.7rem;
  font-weight:850;
  line-height:1;
  letter-spacing:.035em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

/* Tarjeta 02 Datos generales: distribución vertical más compacta */
[data-view-panel="generales"] .page-heading{
  margin-bottom:10px;
}
[data-view-panel="generales"] .form-card{
  padding:0 17px 13px;
}
[data-view-panel="generales"] .section-heading{
  padding:11px 0 8px;
}
[data-view-panel="generales"] .section-heading h3{
  margin-bottom:1px;
}
[data-view-panel="generales"] .general-compact-grid{
  gap:8px 13px;
}
[data-view-panel="generales"] .field{
  gap:3px;
}
[data-view-panel="generales"] .field input,
[data-view-panel="generales"] .field textarea{
  padding:7px 9px;
}
[data-view-panel="generales"] .field textarea{
  min-height:66px;
}
[data-view-panel="generales"] .form-card hr{
  margin-top:11px;
}
[data-view-panel="generales"] .form-actions{
  margin-top:12px;
  padding-top:10px;
}
@media(max-width:900px){
  .topbar-site-date{
    max-width:34vw;
    font-size:.62rem;
  }
}
.password-input-wrap { position: relative; }
.password-input-wrap .field-error { display: none; }
.field .password-input-wrap input { padding-right: 44px; }
.password-visibility-toggle { position: absolute; top: 50%; right: 5px; width: 34px; height: 34px; transform: translateY(-50%); display: grid; place-items: center; padding: 0; color: #666879; background: transparent; border: 0; border-radius: 5px; cursor: pointer; }
.password-visibility-toggle:hover { color: var(--navy); background: #f0f0f6; }
.password-visibility-toggle:focus-visible { outline: 2px solid var(--navy); outline-offset: 1px; }
.password-eye { width: 19px; height: 19px; fill: currentColor; }
.password-eye-hide { display: none; }
.password-visibility-toggle[aria-pressed="true"] .password-eye-show { display: none; }
.password-visibility-toggle[aria-pressed="true"] .password-eye-hide { display: block; }


/* Fútbol Plaza v2.1 · tercer y cuarto puesto opcional */
.fp-third-place-toggle{display:flex;align-items:center;gap:12px;cursor:pointer}.fp-third-place-toggle input{width:20px;height:20px;accent-color:#172445;flex:0 0 auto}.fp-third-place-toggle span{display:flex;flex-direction:column;gap:3px}.fp-third-place-toggle strong{font-size:.9rem;color:#172445}.fp-third-place-toggle small{font-size:.76rem;color:#667085;font-weight:500}

/* Histórico · filtro por fechas y Excel de campeones */
.historical-champions-export{margin:16px 20px 4px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#f7f8fb;display:grid;gap:12px}.historical-champions-export>div:first-child{display:grid;gap:3px}.historical-champions-export strong{color:var(--navy)}.historical-champions-export small{color:var(--muted)}.historical-champions-fields{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.historical-champions-fields label{display:grid;gap:5px}.historical-champions-fields label span{font-size:.65rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.historical-champions-fields input{min-height:36px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}.historical-champions-fields .button{min-height:36px}.historical-champions-fields a[aria-disabled="true"]{pointer-events:none;opacity:.45}@media(max-width:650px){.historical-champions-fields{display:grid;grid-template-columns:1fr 1fr}.historical-champions-fields label,.historical-champions-fields input,.historical-champions-fields .button{width:100%}}

.team-origin-location{font-size:.72em;font-weight:800;color:#7a8497;letter-spacing:.02em;white-space:nowrap}


.final-pamplona-dialog{width:min(900px,calc(100vw - 28px));max-height:92vh}.final-pamplona-dialog-card{display:grid;gap:16px}.final-pamplona-preview{display:grid;gap:14px;max-height:62vh;overflow:auto;padding-right:4px}.final-pamplona-status{border:1px solid #d8deea;border-radius:14px;padding:14px 16px;display:grid;gap:4px;background:#f7f9fc}.final-pamplona-status.ok{border-color:#b9dfcb;background:#f1fbf5}.final-pamplona-status.error{border-color:#efb8bd;background:#fff4f5}.final-pamplona-status span{font-size:.82rem;color:#5e687d}.final-pamplona-timings{display:grid;grid-template-columns:1fr repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.final-pamplona-timings>strong{grid-column:1/-1}.final-pamplona-timings>div{border:1px solid #e0e5ee;border-radius:12px;padding:10px 12px;display:grid;gap:2px;background:#fff}.final-pamplona-timings span{font-size:.76rem;font-weight:800;color:#5e687d}.final-pamplona-timings b{font-size:1.15rem;color:#17213a}.final-pamplona-timings small{font-size:.72rem;color:#7a8497}.final-pamplona-category{border:1px solid #dde2ec;border-radius:14px;overflow:hidden;background:#fff}.final-pamplona-category>header{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#f5f7fb;border-bottom:1px solid #e2e6ed}.final-pamplona-category>header span{font-size:.78rem;color:#657087;font-weight:800}.final-pamplona-team{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 14px;border-bottom:1px solid #eef1f5}.final-pamplona-team:last-child{border-bottom:0}.final-pamplona-team>div{display:grid;gap:1px}.final-pamplona-team small{font-size:.72rem;color:#7a8497;font-weight:700}.final-pamplona-team>span{font-size:.75rem;color:#6d778b}.final-pamplona-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:760px){.final-pamplona-timings{grid-template-columns:1fr}.final-pamplona-team{align-items:flex-start}.historical-champions-fields{align-items:stretch}}

/* Final Pamplona: vista previa compacta y coherente con la interfaz */
.final-pamplona-dialog{
  width:min(1120px,calc(100vw - 28px));
  max-height:94vh;
}
.final-pamplona-dialog-card{
  gap:10px;
  max-height:90vh;
}
.final-pamplona-dialog-card>header{
  padding-bottom:8px;
}
.final-pamplona-dialog-card>header .eyebrow{
  font-size:.68rem;
  margin-bottom:2px;
}
.final-pamplona-dialog-card>header h2{
  font-size:1.22rem;
  line-height:1.12;
  margin:0 0 3px;
}
.final-pamplona-dialog-card>header p:not(.eyebrow){
  font-size:.78rem;
  line-height:1.3;
  margin:0;
}
.final-pamplona-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-height:66vh;
  overflow:auto;
  padding:1px 5px 2px 1px;
  align-items:start;
}
.final-pamplona-status,
.final-pamplona-timings{
  grid-column:1/-1;
}
.final-pamplona-status{
  border-radius:10px;
  padding:8px 10px;
  gap:1px;
}
.final-pamplona-status strong{
  font-size:.84rem;
}
.final-pamplona-status span{
  font-size:.7rem;
  line-height:1.25;
}
.final-pamplona-timings{
  grid-template-columns:auto repeat(3,minmax(0,1fr));
  gap:5px;
  align-items:center;
}
.final-pamplona-timings>strong{
  grid-column:1/-1;
  font-size:.78rem;
  margin-bottom:1px;
}
.final-pamplona-timings>div{
  border-radius:9px;
  padding:6px 8px;
  gap:0;
}
.final-pamplona-timings span{
  font-size:.64rem;
  line-height:1.15;
}
.final-pamplona-timings b{
  font-size:.96rem;
  line-height:1.1;
}
.final-pamplona-timings small{
  font-size:.6rem;
  line-height:1.15;
}
.final-pamplona-category{
  border-radius:10px;
  min-width:0;
}
.final-pamplona-category>header{
  padding:6px 8px;
  min-height:32px;
}
.final-pamplona-category>header strong{
  font-size:.76rem;
  line-height:1.1;
}
.final-pamplona-category>header span{
  font-size:.64rem;
  white-space:nowrap;
}
.final-pamplona-team{
  gap:6px;
  padding:4px 7px;
  min-height:30px;
}
.final-pamplona-team>div{
  min-width:0;
  gap:0;
}
.final-pamplona-team>div>strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.72rem;
  line-height:1.15;
}
.final-pamplona-team small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.58rem;
  line-height:1.12;
}
.final-pamplona-team>span{
  flex:0 0 auto;
  font-size:.6rem;
  white-space:nowrap;
}
.final-pamplona-actions{
  gap:7px;
  padding-top:2px;
}
.final-pamplona-actions .button{
  min-height:34px;
  padding:7px 11px;
  font-size:.76rem;
}
@media(max-width:900px){
  .final-pamplona-preview{grid-template-columns:1fr 1fr}
  .final-pamplona-status,.final-pamplona-timings{grid-column:1/-1}
}
@media(max-width:640px){
  .final-pamplona-dialog{width:calc(100vw - 16px);max-height:96vh}
  .final-pamplona-dialog-card{max-height:93vh}
  .final-pamplona-preview{grid-template-columns:1fr;max-height:68vh}
  .final-pamplona-timings{grid-template-columns:1fr 1fr}
  .final-pamplona-timings>strong{grid-column:1/-1}
  .final-pamplona-team{align-items:center}
}


/* Final Pamplona: refinamiento compacto de revisión */
body.final-pamplona-modal-open{overflow:hidden}
.final-pamplona-dialog-card{gap:8px}
.final-pamplona-dialog-card>header{padding-bottom:2px}
.final-pamplona-dialog-card>header p:not(.eyebrow){max-width:none}
.final-pamplona-preview{gap:6px}
.final-pamplona-status{padding:6px 9px}
.final-pamplona-timings{
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  gap:7px;
}
.final-pamplona-timings>strong{grid-column:1/-1}
.final-pamplona-timings>div{width:100%;box-sizing:border-box}
.final-pamplona-team{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center}
.final-pamplona-team-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#eef1f7;
  color:#34405f;
  font-size:.58rem;
  font-weight:900;
  line-height:1;
}
.historical-row-main strong{font-size:.78rem;line-height:1.18;font-weight:800}
.historical-row-main small{font-size:.66rem;line-height:1.2}
@media(max-width:640px){
  .final-pamplona-timings{grid-template-columns:1fr}
  .final-pamplona-timings>strong{grid-column:1}
}


/* Finalísima: confirmación fuerte antes de sustituir la competición activa */
.finalisima-strong-confirm-dialog{width:min(500px,calc(100vw - 24px))}
.finalisima-strong-confirm-dialog form{display:grid;gap:14px}
.finalisima-strong-confirm-dialog header{display:grid;gap:4px}
.finalisima-strong-confirm-dialog header .eyebrow{margin:0;color:var(--red);font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.finalisima-strong-confirm-dialog header h3{font-size:.92rem;color:var(--navy)}
.finalisima-strong-confirm-dialog header p:not(.eyebrow){margin:0;font-size:.68rem;line-height:1.45}
.finalisima-strong-warning{display:grid;gap:3px;padding:10px 12px;border:1px solid #efb8bd;border-radius:9px;background:#fff4f5}
.finalisima-strong-warning strong{font-size:.68rem;color:#a61e2b}
.finalisima-strong-warning span{font-size:.61rem;line-height:1.4;color:#6c5260}
.finalisima-strong-field{display:grid;gap:5px}
.finalisima-strong-field>span{font-size:.62rem;font-weight:750;color:var(--muted)}
.finalisima-strong-field output{font-size:.72rem;font-weight:900;color:var(--navy);letter-spacing:.025em}
.finalisima-strong-field input{width:100%;box-sizing:border-box}

/* v2.3 · Cuadro de honor específico de la Finalísima */
.fp-finalissima-honor .fp-honor-board-title small{display:block;margin-top:4px;font-size:.62rem;font-weight:600;color:var(--muted);line-height:1.35}
.fp-finalissima-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.fp-finalissima-place{display:grid;gap:5px;padding:12px;border:1px solid #d9dce5;border-radius:10px;background:#fff}
.fp-finalissima-place>span{font-size:.58rem;font-weight:900;letter-spacing:.06em;color:var(--muted)}
.fp-finalissima-place>strong{font-size:.82rem;color:var(--navy)}
.fp-finalissima-place>small{font-size:.64rem;font-weight:800;color:#5b6171}
.fp-finalissima-place ul{display:grid;gap:2px;margin:3px 0 0;padding-left:17px;font-size:.62rem;color:#4f5360}
.fp-finalissima-place.is-champion{border-color:#d7b85e;background:#fffaf0}
.fp-finalissima-place.is-runner{border-color:#c8ccd6;background:#f8f9fb}
.fp-finalissima-place.is-third{border-color:#d7b99c;background:#fff9f3}
.fp-finalissima-penalty{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr);gap:12px;align-items:end;margin-top:12px;padding:13px;border:1px solid #aed8c1;border-radius:10px;background:#f3fbf6}
.fp-finalissima-penalty>div{display:grid;gap:3px}
.fp-finalissima-penalty>div>span{font-size:.58rem;font-weight:900;color:#177245;letter-spacing:.05em}
.fp-finalissima-penalty>div>strong{font-size:.82rem;color:var(--navy)}
.fp-finalissima-penalty>div>small{font-size:.64rem;color:#4d5f55}
.fp-finalissima-penalty>label{display:grid;gap:4px;font-size:.6rem;font-weight:800;color:var(--muted)}
.fp-finalissima-penalty select{width:100%;min-width:0;padding:8px 10px;border:1px solid #cbd2dc;border-radius:7px;background:#fff;color:var(--navy);font:inherit}
.fp-finalissima-save-status{grid-column:1/-1;font-size:.58rem;color:var(--muted)}
@media(max-width:760px){.fp-finalissima-podium{grid-template-columns:1fr}.fp-finalissima-penalty{grid-template-columns:1fr}}


/* v2.3 · Finalísima manual, contactos y buscador de campeón de penaltis */
.fp-finalissima-toggle{padding:.75rem 1rem;border:1px solid var(--line,#d9dee7);border-radius:12px;background:#fff}
.fp-finalissima-toggle .fp-checkbox-line{display:flex;align-items:center;gap:.65rem}
.fp-finalissima-toggle input[type="checkbox"]{width:1.15rem;height:1.15rem;margin:0}
.fp-finalissima-toggle>small{display:block;margin-top:.35rem;color:#667085;line-height:1.35}
.fp-finalissima-contact{display:grid;grid-template-columns:auto 1fr;gap:.16rem .38rem;margin-top:.65rem;padding-top:.55rem;border-top:1px solid rgba(15,23,42,.12);font-size:.64rem;line-height:1.35}
.fp-finalissima-contact b{color:#475467;font-weight:800}.fp-finalissima-contact span{font-weight:650;overflow-wrap:anywhere}
.fp-finalissima-penalty{position:relative}
.fp-finalissima-search-wrap{position:relative;min-width:0}
.fp-finalissima-search-label{min-width:min(100%,560px)}
.fp-finalissima-search-label input{width:100%}
.fp-finalissima-suggestions{position:absolute;z-index:30;left:0;right:0;top:calc(100% + .3rem);background:#fff;border:1px solid #d0d5dd;border-radius:9px;box-shadow:0 10px 24px rgba(15,23,42,.14);max-height:240px;overflow:auto;padding:.3rem}
.fp-finalissima-suggestions button{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:.18rem;padding:.7rem .8rem;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}
.fp-finalissima-suggestions button:hover,.fp-finalissima-suggestions button:focus{background:#f2f4f7;outline:none}
.fp-finalissima-suggestions button strong{font-size:.95rem}.fp-finalissima-suggestions button span,.fp-finalissima-no-results{font-size:.82rem;color:#667085}
.fp-finalissima-no-results{padding:.8rem}


.fp-finalissima-winner-contact{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(160px,.7fr);gap:10px;padding-top:4px}
.fp-finalissima-winner-contact label{display:grid;gap:4px;font-size:.6rem;font-weight:800;color:var(--muted)}
.fp-finalissima-winner-contact input{width:100%;min-width:0;padding:8px 10px;border:1px solid #cbd2dc;border-radius:7px;background:#fff;color:var(--navy);font:inherit}
.fp-finalissima-winner-contact input:focus,.fp-finalissima-search-label input:focus{outline:2px solid rgba(23,114,69,.18);border-color:#79b997}
@media(max-width:760px){.fp-finalissima-winner-contact{grid-template-columns:1fr}}


/* v2.3 parche 04 - combobox compacto de ganador de penaltis */
.fp-finalissima-search-label{display:grid;gap:.18rem;font-size:.6rem;font-weight:800;color:var(--muted);line-height:1.2}
.fp-finalissima-search-label>span:first-child{font-size:.6rem;font-weight:800;color:var(--muted)}
.fp-finalissima-combobox{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:stretch;min-width:0}
.fp-finalissima-combobox input{width:100%;min-width:0;height:1.8rem;padding:.25rem .48rem;border:1px solid #cbd2dc;border-right:0;border-radius:7px 0 0 7px;background:#fff;color:var(--navy);font-size:.68rem;font-weight:600;line-height:1.2}
.fp-finalissima-combobox-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:1.8rem;padding:0;border:1px solid #cbd2dc;border-radius:0 7px 7px 0;background:#fff;color:#475467;font-size:.72rem;cursor:pointer}
.fp-finalissima-combobox-toggle:hover,.fp-finalissima-combobox-toggle:focus{background:#f2f4f7;outline:none}
.fp-finalissima-combobox:focus-within input,.fp-finalissima-combobox:focus-within .fp-finalissima-combobox-toggle{border-color:#79b997}
.fp-finalissima-suggestions button{padding:.46rem .55rem;gap:.1rem}
.fp-finalissima-suggestions button strong{font-size:.68rem;line-height:1.25}
.fp-finalissima-suggestions button span,.fp-finalissima-no-results{font-size:.6rem;line-height:1.25;color:#667085}
.fp-finalissima-no-results{padding:.55rem}

/* v2.3 parche 05 - contactos compactos del campeón de penaltis */
.fp-finalissima-winner-contact{
  grid-template-columns:minmax(240px,420px) minmax(130px,180px);
  justify-content:start;
  align-items:end;
  gap:10px;
}
.fp-finalissima-winner-contact label{width:100%}
@media(max-width:760px){
  .fp-finalissima-winner-contact{
    grid-template-columns:1fr;
    justify-content:stretch;
  }
}

.historical-finalissima-chip{font-weight:800;letter-spacing:.04em;border-color:#d9b34c;background:#fff7d6;color:#725600}

/* Fútbol Plaza v2.3 · desempates entre grupos integrados en la tabla de primeros */
.fp-best-seconds .fp-results-subheading{align-items:flex-end}
.fp-best-seconds .fp-results-subheading .fp-order-status{max-width:34rem;text-align:right;color:#6b7280;font-size:.72rem;font-weight:500;line-height:1.25}
.fp-best-seconds .fp-standing-order-actions{width:5rem}
.fp-best-seconds .fp-standing-order-actions button{border-color:#cfd7e3;background:#fff;color:#344054}
.fp-best-seconds .fp-standing-order-actions button:hover:not(:disabled){background:#f2f6fb;border-color:#9eabbc}
.fp-best-seconds .fp-order-not-needed{color:#98a2b3;font-size:.78rem}
@media(max-width:700px){.fp-best-seconds .fp-results-subheading{align-items:flex-start;flex-direction:column}.fp-best-seconds .fp-results-subheading .fp-order-status{text-align:left}}
/* Escuela de Fútbol: datos y revisión. Reutiliza tarjetas y controles existentes. */
body.school-management { min-width: 0; }
.school-management .app-shell { grid-template-columns: var(--sidebar) minmax(0, 1fr); }
.school-management .content { min-width: 0; }
.school-home > :not(#school-home) { display: none; }
.school-data > section { margin: 24px 0; scroll-margin-top: 95px; }
.school-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.school-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.school-tabs a { color: var(--navy); background: white; padding: 9px 14px; border: 1px solid var(--line); border-radius: 6px; }
.school-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 16px; }
.school-toolbar .field { flex: 1 1 220px; max-width: 400px; }
.school-import-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.school-card-body { padding: 16px; overflow-wrap: anywhere; }
.school-card-body p, .school-zone-card p, .school-case p { font-size: .8rem; line-height: 1.5; }
.school-card-body form { display: grid; gap: 14px; }
.school-zone-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.school-zone-card { padding: 16px; }
.school-zone-card h4 { margin: 0; color: var(--navy); }
.school-table-wrap { overflow-x: auto; }
.school-table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.school-table th, .school-table td { padding: 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.school-table th { color: var(--navy); background: #f5f5f8; }
.school-table td { min-width: 90px; overflow-wrap: anywhere; }
.school-table td:first-child { min-width: 150px; }
.school-table .button { white-space: normal; }
.school-incident-group { margin: 10px 0; }
.school-incident-group > summary { cursor: pointer; padding: 16px; color: var(--navy); }
.school-incident-group > summary strong { float: right; }
.school-case { padding: 14px 0; border-bottom: 1px solid var(--line); }
.school-case .button { margin: 5px 5px 5px 0; }
.school-case dl { display: grid; grid-template-columns: minmax(120px, 1fr) 2fr; gap: 10px; font-size: .8rem; }
.school-case dd { margin: 0; overflow-wrap: anywhere; }
.school-final { padding: 16px; color: var(--navy); font-weight: 700; }
.school-confirm-check { display: flex; align-items: start; gap: 10px; margin: 16px 0; }
.school-dialog { max-height: 90dvh; }
.school-dialog .dialog-body { display: grid; gap: 14px; }
.school-error, .school-dialog-error { color: var(--red); }
@media (max-width: 900px) {
  .school-import-grid { grid-template-columns: 1fr; }
  .school-zone-grid, .school-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .school-zone-grid, .school-metrics { grid-template-columns: 1fr; }
  .school-toolbar .field { max-width: none; }
  .school-case dl { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .school-management .app-shell { display: block; }
  .school-management .sidebar { position: static; height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .school-management .sidebar nav { display: flex; flex-wrap: wrap; gap: 5px; }
  .school-management .nav-title { flex-basis: 100%; margin: 5px 0; }
  .school-management .nav-item { flex: 1 1 45%; min-width: 0; margin: 0; }
  .school-management .sidebar-footer { display: none; }
  .school-management .content { padding: 16px 12px; }
  .school-management .topbar { height: auto; min-height: 74px; flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
  .school-management .brand h1 { font-size: 1.2rem; }
  .school-management .brand-logo { width: 38px; height: 38px; }
  .school-management .topbar-status { flex-wrap: wrap; gap: 8px; }
  .school-management #topbar-site-date { display: none; }
  .school-data .page-heading, .school-home .page-heading { flex-wrap: wrap; }
}
