/* V26 · Renovación visual aprobada. Solo presentación: no modifica lógica ni datos. */
:root{--v26-bg:#0b0911;--v26-shell:#121019;--v26-card-a:#251f30;--v26-card-b:#17141f;--v26-line:rgba(255,255,255,.09);--v26-text:#f8f6fb;--v26-muted:#aaa5b4;--v26-yellow:#f0dc20;--v26-violet:#9e63f4;--v26-green-a:#2fbd74;--v26-green-b:#176442;--v26-amber-a:#f2cd43;--v26-amber-b:#987111;--v26-red-a:#f46a74;--v26-red-b:#96303b}
html{color-scheme:dark}
body{background:radial-gradient(circle at 90% 0%,rgba(158,99,244,.14),transparent 30%),radial-gradient(circle at 8% 35%,rgba(240,220,32,.045),transparent 25%),var(--v26-bg);color:var(--v26-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-shell{background:radial-gradient(circle at 88% 3%,rgba(158,99,244,.16),transparent 30%),radial-gradient(circle at 8% 58%,rgba(240,220,32,.035),transparent 26%),var(--v26-bg)}
.topbar{min-height:86px;height:auto;border:0;border-bottom:1px solid var(--v26-line);background:linear-gradient(110deg,rgba(16,13,23,.92),rgba(11,9,17,.82));box-shadow:0 12px 34px rgba(0,0,0,.2);backdrop-filter:blur(18px) saturate(1.2)}
.brand-mark{border:0!important;border-radius:17px;transform:none;color:#181209!important;background:linear-gradient(145deg,#fff66a 0%,var(--v26-yellow) 52%,#c79400 100%);box-shadow:0 10px 25px rgba(240,220,32,.18),inset 0 1px rgba(255,255,255,.6)}
.dashboard,.scoring-shell,.results-shell{width:min(1380px,92vw)}
.status-row h2,.admin-section-heading h3,.standalone-context h2,.score-form-heading h2{letter-spacing:-.035em}
.online-badge,.athlete-count,.athlete-judge-state,.skills-course-badge,.allaround-state,.note-state{border-radius:999px!important}
.online-badge{border:1px solid rgba(82,217,138,.2);background:linear-gradient(145deg,rgba(82,217,138,.15),rgba(82,217,138,.045));box-shadow:inset 0 1px rgba(255,255,255,.06)}

/* Botones redondeados con profundidad suave */
.ghost-button,.primary-button,.send-athlete-button,.save-judge-button,.dns-athlete-button,.delete-athlete-button,.registered-edit-button,.speed-start-button,.speed-stop-button,.speed-reset-button,.tie-resolve-button,.results-button,.result-detail-button,.detail-tabs button,.skills-count-control button,.skills-attempts button,.skills-choice button,.export-selection-button,.catalog-sync-button,.import-button,.deduction-add button,.deduction-row button{border-radius:999px!important;box-shadow:0 9px 23px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.11);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.primary-button,.save-judge-button,.send-athlete-button,.results-button,.skills-save-button,.skills-send-button{border:1px solid rgba(255,244,106,.38);color:#181309!important;background:linear-gradient(135deg,#fff36a 0%,var(--v26-yellow) 55%,#c79100 100%)!important;box-shadow:0 11px 28px rgba(240,220,32,.18),inset 0 1px rgba(255,255,255,.62),inset 0 -1px rgba(72,51,0,.28)!important}
.ghost-button,.registered-edit-button,.result-detail-button,.detail-tabs button,.skills-clear-button,.catalog-sync-button,.import-button{color:var(--v26-text)!important;border:1px solid rgba(255,255,255,.11)!important;background:linear-gradient(145deg,rgba(49,42,61,.98),rgba(27,23,35,.98))!important}
.primary-button:hover,.ghost-button:hover,.send-athlete-button:hover,.save-judge-button:hover,.result-detail-button:hover,.admin-menu button:hover,.skills-choice button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.primary-button:active,.ghost-button:active,.send-athlete-button:active,.save-judge-button:active,.result-detail-button:active,.admin-menu button:active,.execution-value:active,.skills-choice button:active{transform:translateY(1px) scale(.985)}
.dns-athlete-button,.speed-stop-button{color:#fff!important;border:1px solid rgba(255,138,147,.45)!important;background:linear-gradient(145deg,#d74c59,#7f2632)!important;box-shadow:0 9px 24px rgba(244,106,116,.16),inset 0 1px rgba(255,255,255,.2)!important}
.delete-athlete-button{color:#ff99a1!important;border:1px solid rgba(244,106,116,.25)!important;background:linear-gradient(145deg,rgba(126,38,50,.38),rgba(35,17,24,.9))!important}
.send-athlete-button[data-speed-modify="true"],.send-athlete-button[data-modify-athlete="true"],.speed-start-button{color:#fff!important;border-color:rgba(102,239,164,.42)!important;background:linear-gradient(145deg,#2fbd74,#176442)!important;box-shadow:0 10px 26px rgba(47,189,116,.18),inset 0 1px rgba(255,255,255,.2)!important}
.speed-reset-button{color:#241b05!important;border-color:rgba(255,233,116,.45)!important;background:linear-gradient(145deg,#f5dc62,#aa7c0c)!important}

/* Superficies con degradado */
.event-card,.competition-banner{border:1px solid rgba(184,127,255,.25);border-left:0;border-radius:24px;background:linear-gradient(90deg,rgba(27,22,38,.98) 0%,rgba(25,20,36,.92) 45%,rgba(20,15,30,.38) 70%,rgba(80,38,122,.36) 100%) padding-box,url("./SimiosUrbanos.png") right 27% center/660px auto no-repeat padding-box;box-shadow:0 20px 48px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.07);overflow:hidden}
.admin-menu button,.role-card,.manual-athlete-panel,.athletes-panel,.admin-import,.judge-management,.future-panel,.score-form,.results-table-panel,.podium-panel,.skills-admin-panel,.skills-judge-panel,.allaround-admin-panel,.export-panel,.speed-admin-panel,.speed-judge-panel{border:1px solid rgba(255,255,255,.08)!important;border-radius:22px!important;background:radial-gradient(circle at 100% 0%,rgba(158,99,244,.13),transparent 38%),linear-gradient(145deg,rgba(38,31,49,.98),rgba(22,19,29,.98))!important;box-shadow:0 17px 42px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.055)!important}
.admin-menu button{min-height:132px;overflow:hidden}
.admin-menu button:nth-child(even){background:radial-gradient(circle at 100% 0%,rgba(240,220,32,.07),transparent 34%),linear-gradient(145deg,rgba(42,34,53,.98),rgba(22,19,29,.98))!important}
.admin-menu button>.menu-icon,.judge-modality-menu button>.menu-icon{border-radius:18px;background:linear-gradient(145deg,rgba(158,99,244,.17),rgba(158,99,244,.035));box-shadow:inset 0 1px rgba(255,255,255,.065)}
.admin-section-heading .ghost-button,.standalone-context .ghost-button{min-height:44px}
.role-card{border-radius:23px!important}
.role-number{border-radius:20px;transform:none;box-shadow:0 12px 28px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.38)}
.difficulty .role-number{background:linear-gradient(145deg,#fff269,var(--v26-yellow) 58%,#b98700)}
.execution .role-number{background:linear-gradient(145deg,#c28aff,var(--v26-violet) 56%,#5e2db4)}
.next-athlete,.scoring-athlete,.athlete-row,.registered-athlete-list article,.skills-admin-athlete-row,.execution-history-row,.export-preview article{border:1px solid rgba(255,255,255,.07)!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(41,34,52,.88),rgba(22,19,29,.92))!important;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.athlete-row,.registered-athlete-list article,.skills-admin-athlete-row{margin-bottom:8px}
.athlete-index,.scoring-type-badge{border-radius:17px;background:linear-gradient(145deg,#332c3f,#201b29);box-shadow:inset 0 1px rgba(255,255,255,.07)}

/* Formularios */
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.file-picker{border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;color:var(--v26-text)!important;background:linear-gradient(145deg,#1c1824,#100e16)!important;box-shadow:inset 0 2px 8px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035)}
input:focus,select:focus,textarea:focus{border-color:rgba(190,147,255,.72)!important;outline:0;box-shadow:0 0 0 4px rgba(158,99,244,.13),inset 0 2px 8px rgba(0,0,0,.2)!important}
select{color-scheme:dark}
select option,select optgroup{color:#fff!important;background:#17131f!important}
select option:disabled{color:#9c95aa!important}
.manual-athlete-form,.skills-admin-config,.fiscal-controls,.results-filters,.export-filters,.speed-calculation,.speed-status-field{border-radius:18px!important}

/* Dificultad y paneles de nota */
.trick-card,.execution-card,.execution-history,.detail-section,.detail-execution-part{border:1px solid rgba(190,147,255,.16)!important;border-radius:21px!important;background:radial-gradient(circle at 100% 0%,rgba(158,99,244,.12),transparent 36%),linear-gradient(145deg,rgba(38,31,49,.98),rgba(22,19,29,.98))!important;box-shadow:0 14px 34px rgba(0,0,0,.21),inset 0 1px rgba(255,255,255,.045)}
.trick-subtotal,.final-score,.detail-summary>div{border-radius:17px!important;border:1px solid rgba(206,173,255,.23)!important;background:linear-gradient(145deg,rgba(167,102,244,.86),rgba(76,38,126,.92))!important;box-shadow:0 12px 30px rgba(158,99,244,.2),inset 0 1px rgba(255,255,255,.18)!important}
.difficulty-final{color:#181309;border-color:rgba(255,238,112,.32)!important;background:linear-gradient(145deg,#fff269,var(--v26-yellow) 55%,#b98700)!important;box-shadow:0 12px 30px rgba(240,220,32,.17),inset 0 1px rgba(255,255,255,.55)!important}

/* Nota E: relleno verde, amarillo o rojo; sin categoría, violeta. */
#executionForm .execution-label{color:#c9a8ff;letter-spacing:.12em}
#executionForm .execution-values{gap:9px}
#executionForm .execution-value{min-height:46px;border-radius:14px;color:#fff;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:0 8px 17px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.24),inset 0 -2px rgba(0,0,0,.14);transition:transform .13s ease,filter .13s ease,box-shadow .13s ease}
#executionForm .execution-value.deduction-low{border:1px solid rgba(126,244,177,.62);background:linear-gradient(145deg,var(--v26-green-a),var(--v26-green-b))}
#executionForm .execution-value.deduction-medium{border:1px solid rgba(255,234,125,.66);color:#251c06;text-shadow:0 1px rgba(255,255,255,.25);background:linear-gradient(145deg,var(--v26-amber-a),var(--v26-amber-b))}
#executionForm .execution-value.deduction-high{border:1px solid rgba(255,160,167,.68);background:linear-gradient(145deg,var(--v26-red-a),var(--v26-red-b))}
#executionForm .execution-value.bonus-value{border:1px solid rgba(220,190,255,.38);background:linear-gradient(145deg,#a568eb,#4f2c7c)}
#executionForm .execution-value:hover{filter:brightness(1.12) saturate(1.04);transform:translateY(-2px)}
#executionForm .execution-value:active{filter:brightness(1.12);transform:translateY(1px) scale(.97);box-shadow:0 0 0 2px #fff,0 9px 22px rgba(158,99,244,.27),inset 0 1px rgba(255,255,255,.2)}
.execution-history-row .ghost-button{border-radius:12px!important;background:linear-gradient(145deg,#3a3046,#211a2a)!important}

/* Speedrun, Skills, resultados y exportación */
.speed-timer-card,.speed-penalty-card,.skills-admin-config,.skills-waiting,.skills-roster-scroll,.results-card,.modality-results,.export-preview{border-radius:20px!important}
.speed-timer,.speed-final strong,#speedJudgeFinal{color:#72e8f2;text-shadow:0 0 23px rgba(66,223,242,.22)}
.skills-choice button{border-radius:13px!important}
.skills-choice button.selected-yes{color:#fff;border-color:rgba(111,239,166,.45);background:linear-gradient(145deg,#2fbd74,#176442);box-shadow:0 8px 20px rgba(47,189,116,.16),inset 0 1px rgba(255,255,255,.18)}
.skills-choice button.selected-no{color:#fff;border-color:rgba(255,144,153,.45);background:linear-gradient(145deg,#e25a67,#852a36);box-shadow:0 8px 20px rgba(244,106,116,.16),inset 0 1px rgba(255,255,255,.18)}
.results-table{border-collapse:separate;border-spacing:0 7px}
.results-table tbody tr{background:linear-gradient(145deg,rgba(42,35,53,.9),rgba(22,19,29,.94))}
.results-table tbody td{border-top:1px solid var(--v26-line);border-bottom:1px solid var(--v26-line)}
.results-table tbody td:first-child{border-left:1px solid var(--v26-line);border-radius:15px 0 0 15px}
.results-table tbody td:last-child{border-right:1px solid var(--v26-line);border-radius:0 15px 15px 0}

/* Diálogos */
.score-detail-dialog,.note-edit-dialog,.athlete-edit-dialog{border:1px solid rgba(191,146,255,.28)!important;border-radius:24px!important;color:var(--v26-text);background:linear-gradient(145deg,#211a2c,#100e16)!important;box-shadow:0 34px 100px rgba(0,0,0,.72),inset 0 1px rgba(255,255,255,.07)!important}
.score-detail-dialog::backdrop,.note-edit-dialog::backdrop,.athlete-edit-dialog::backdrop{background:rgba(5,3,9,.72);backdrop-filter:blur(9px)}
.detail-header,.detail-footer{background:rgba(18,15,25,.74)}
.detail-close{border-radius:50%!important;background:rgba(255,255,255,.055)}
.detail-tabs button[aria-pressed="true"]{border-color:rgba(208,173,255,.45)!important;background:linear-gradient(145deg,#9d63eb,#512d7e)!important}

/* Login y recuperación */
.identity-panel{background:radial-gradient(circle at 78% 16%,rgba(158,99,244,.28),transparent 28%),radial-gradient(circle at 8% 70%,rgba(240,220,32,.05),transparent 22%),linear-gradient(145deg,#0c0a12,#171221 72%,#0c0912)}
.login-panel{background:linear-gradient(145deg,#17131f,#0b0911)}
.login-card,.session-recovery-card{border:1px solid rgba(255,255,255,.09)!important;border-radius:26px!important;background:radial-gradient(circle at 100% 0%,rgba(158,99,244,.14),transparent 36%),linear-gradient(145deg,#241e2e,#15121b)!important;box-shadow:0 28px 80px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.06)!important}

@media(max-width:820px){.topbar{border-radius:0 0 22px 22px}.dashboard{width:94vw;padding-top:26px}.event-card,.competition-banner{border-radius:21px}.admin-menu button{min-height:120px;border-radius:21px!important}.role-card{border-radius:21px!important}}
@media(max-width:700px){.topbar{padding:10px 14px}.brand-mark{border-radius:14px}.admin-section-heading,.standalone-context{gap:12px}.ghost-button,.primary-button,.send-athlete-button,.save-judge-button,.dns-athlete-button,.delete-athlete-button,.registered-edit-button,.result-detail-button{min-height:44px}.score-form{padding:17px 12px}.execution-card{padding:16px 12px!important}#executionForm .execution-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#executionForm .security-values{grid-template-columns:repeat(4,minmax(0,1fr))}#executionForm .execution-value{min-height:46px;border-radius:13px;font-size:15px}.execution-history{padding:15px}.execution-history-row{grid-template-columns:minmax(58px,1fr) auto 44px}.score-detail-dialog,.note-edit-dialog,.athlete-edit-dialog{border-radius:20px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
