/* Paleta de referencia: carbón #111111 / #1e1e20, violeta #7950f2 y lavanda. */
:root,[data-bs-theme="light"]{
  color-scheme:light;--ui-bg:#f5f4f9;--ui-sidebar:#fff;--ui-surface:#fff;--ui-raised:#f9f8fc;--ui-input:#fff;--ui-text:#242133;--ui-muted:#6a647b;--ui-line:#e4e0ed;--ui-hover:#f1edf8;--ui-accent:#7040df;--ui-accent-hover:#5f2dc7;--ui-accent-soft:#eee5ff;--ui-link:#6636cd;--ui-sidebar-text:#635d70;--ui-shadow:0 6px 24px #36245008;--ui-focus:#956af0;--ui-success:#197a45;--ui-warning:#986800;--ui-danger:#b72c46;--ui-info:#246d97;
  --bs-body-bg:var(--ui-bg);--bs-body-color:var(--ui-text);--bs-secondary-color:var(--ui-muted);--bs-tertiary-bg:var(--ui-raised);--bs-border-color:var(--ui-line);--bs-link-color:var(--ui-link);--bs-link-hover-color:var(--ui-accent-hover);--bs-primary-rgb:112,64,223;
}
[data-bs-theme="dark"]{
  color-scheme:dark;--ui-bg:#1e1e20;--ui-sidebar:#111113;--ui-surface:#171719;--ui-raised:#232326;--ui-input:#202023;--ui-text:#f4f2fa;--ui-muted:#b2adbf;--ui-line:#303034;--ui-hover:#29252f;--ui-accent:#a78bfa;--ui-accent-hover:#c4b5fd;--ui-accent-soft:#2c1e39;--ui-link:#bd9cff;--ui-sidebar-text:#aaa6b1;--ui-shadow:0 8px 24px #00000013;--ui-focus:#b392ff;--ui-success:#84db98;--ui-warning:#f5ce67;--ui-danger:#ff91a4;--ui-info:#8bc7f3;--bs-primary-rgb:167,139,250;
  --bs-body-bg:var(--ui-bg);--bs-body-color:var(--ui-text);--bs-secondary-color:var(--ui-muted);--bs-tertiary-bg:var(--ui-raised);--bs-border-color:var(--ui-line);--bs-link-color:var(--ui-link);--bs-link-hover-color:var(--ui-accent-hover);
}
body{background:var(--ui-bg);color:var(--ui-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.55}a{color:var(--ui-link)}a:hover{color:var(--ui-accent-hover)}.sidebar{background:var(--ui-sidebar);color:var(--ui-text);border-right:1px solid var(--ui-line)}.sidebar-head,.sidebar-logout{border-color:var(--ui-line)}.brand-text small,.nav-group{color:var(--ui-muted)}.brand-mark{background:var(--ui-accent-soft);width:44px;height:44px;border-radius:13px;text-align:center;font-size:26px}.sidebar-nav a,.logout-btn{color:var(--ui-sidebar-text);font-size:10px;letter-spacing:.45px;padding:13px 11px;margin-bottom:3px;font-weight:650}.sidebar-nav a:hover,.logout-btn:hover{background:var(--ui-hover);color:var(--ui-text)}.sidebar-nav a.active{color:var(--ui-accent);background:var(--ui-accent-soft);box-shadow:inset 3px 0 0 var(--ui-accent)}.sidebar-toggle,.mobile-menu-toggle{background:var(--ui-raised);border:1px solid var(--ui-line);color:var(--ui-text)}.sidebar-toggle:hover,.mobile-menu-toggle:hover{background:var(--ui-hover)}.app-main{padding-top:25px}.page-header{gap:18px;padding-bottom:22px;border-bottom:1px solid var(--ui-line);flex-wrap:wrap}.page-header h1{font-size:24px;letter-spacing:-.5px}.page-header p,.dashboard-intro p,.dashboard-note,.section-heading span,.metric-title{color:var(--ui-muted)}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.appearance-control{display:flex;align-items:center;gap:8px;margin:0}.appearance-control small{font-size:10px;color:var(--ui-warning);max-width:140px}.theme-toggle{display:flex;align-items:center;gap:9px;background:var(--ui-raised);color:var(--ui-text);border:1px solid var(--ui-line);padding:9px 12px;border-radius:100px;font-size:10px;font-weight:750;letter-spacing:.4px;white-space:nowrap;transition:background .15s,border-color .15s}.theme-toggle:hover{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.theme-icon{color:var(--ui-accent);font-size:19px;line-height:1}.card,.metric-card{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line);box-shadow:var(--ui-shadow);border-radius:16px}.card-header,.card-footer{background:var(--ui-raised);border-color:var(--ui-line)}.metric-card{min-height:175px;position:relative;overflow:hidden}.metric-card:hover{background:var(--ui-raised);border-color:var(--ui-accent);color:var(--ui-text);box-shadow:0 7px 25px #7950f21b}.metric-icon{background:var(--ui-accent-soft);color:var(--ui-accent);width:43px;height:43px;border-radius:13px}.metric-link{color:var(--ui-link)}.metric-card strong{font-weight:750}.section-heading{margin-top:28px}.period-filter label{color:var(--ui-muted)}.period-filter input{background:var(--ui-input);color:var(--ui-text);border-color:var(--ui-line)}.period-filter button{background:var(--ui-accent-soft);color:var(--ui-accent);border:1px solid var(--ui-line)}
.table{--bs-table-bg:var(--ui-surface);--bs-table-color:var(--ui-text);--bs-table-border-color:var(--ui-line);--bs-table-striped-bg:var(--ui-raised);--bs-table-striped-color:var(--ui-text);--bs-table-hover-bg:var(--ui-hover);--bs-table-hover-color:var(--ui-text);font-size:13px;border-color:var(--ui-line)}.table th{font-size:11px;font-weight:750;letter-spacing:.35px;background:var(--ui-raised);color:var(--ui-muted);padding:14px 12px}.table td{padding:13px 12px;vertical-align:middle}.table-light{--bs-table-bg:var(--ui-raised);--bs-table-color:var(--ui-text);--bs-table-border-color:var(--ui-line)}.table-responsive{border:1px solid var(--ui-line);border-radius:14px;margin-bottom:20px}.table-responsive .table{margin-bottom:0}.table th a{color:var(--ui-link)}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea{background-color:var(--ui-input);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:9px;padding:9px 11px;max-width:100%;font:inherit}.form-control:focus,.form-select:focus,input:focus-visible,select:focus-visible,textarea:focus-visible{background-color:var(--ui-input);color:var(--ui-text);border-color:var(--ui-focus);box-shadow:0 0 0 3px #956af024;outline:0}input::placeholder,textarea::placeholder{color:var(--ui-muted)!important;opacity:.85}input[readonly],textarea[readonly],input:disabled,select:disabled{background-color:var(--ui-raised)!important;color:var(--ui-muted)!important;opacity:1}input[type=checkbox],input[type=radio]{accent-color:#7950f2}.form-check-input{background-color:var(--ui-input);border-color:var(--ui-muted)}.form-check-input:checked{background-color:#7950f2;border-color:#7950f2}label{font-size:12px;color:var(--ui-muted);font-weight:600}label .form-control,label .form-select,label input:not([type=checkbox]),label textarea{display:block;width:100%;margin-top:6px;font-weight:400}.form-control::file-selector-button{background:var(--ui-raised);color:var(--ui-text)}option{background:var(--ui-input);color:var(--ui-text)}
.btn{font-weight:650;font-size:12px;border-radius:9px;padding:9px 14px;transition:background .15s,box-shadow .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.btn-sm{font-size:11px;padding:6px 10px}.btn-primary{background:linear-gradient(110deg,#7a24a6,#7351ed);border-color:#7945ce;color:#fff}.btn-primary:hover{background:linear-gradient(110deg,#8c30bb,#8562fa);border-color:#9773fa;color:#fff;box-shadow:0 3px 15px #7950f233}.btn-outline-primary{color:var(--ui-accent);border-color:var(--ui-accent)}.btn-outline-primary:hover{color:var(--ui-text);background:var(--ui-accent-soft);border-color:var(--ui-accent)}.btn-secondary,.btn-outline-secondary{color:var(--ui-muted);border-color:var(--ui-line);background:var(--ui-raised)}.btn-secondary:hover,.btn-outline-secondary:hover{color:var(--ui-text);background:var(--ui-hover);border-color:var(--ui-muted)}.btn-success,.btn-outline-success{background:#287d4c;color:#fff;border-color:#338a55}.btn-success:hover,.btn-outline-success:hover{background:#33955f;color:#fff}.btn-danger{background:#ad314b;border-color:#ad314b;color:#fff}.btn-outline-danger{color:var(--ui-danger);border-color:var(--ui-danger)}.btn-outline-danger:hover{background:#ad314b;color:#fff;border-color:#ad314b}.btn-warning{background:#f5ce67;color:#392a02;border-color:#f5ce67}.btn-outline-warning{color:var(--ui-warning);border-color:var(--ui-warning)}.btn-outline-warning:hover{background:#f5ce67;color:#392a02}.btn-info,.btn-outline-info{background:var(--ui-accent-soft);color:var(--ui-info);border-color:var(--ui-info)}
.text-muted,.text-secondary{color:var(--ui-muted)!important}.text-success{color:var(--ui-success)!important}.text-warning{color:var(--ui-warning)!important}.text-danger,.errorlist{color:var(--ui-danger)!important}.text-info{color:var(--ui-info)!important}.text-dark{color:var(--ui-text)!important}.bg-white,.bg-light{background-color:var(--ui-surface)!important}.border,.border-top,.border-bottom{border-color:var(--ui-line)!important}hr{border-color:var(--ui-line);opacity:1}.alert{border:1px solid var(--ui-line);border-radius:11px;background:var(--ui-raised);color:var(--ui-text);border-left-width:4px}.alert-info{border-left-color:var(--ui-info);color:var(--ui-info)}.alert-success{border-left-color:var(--ui-success);color:var(--ui-success)}.alert-warning{border-left-color:var(--ui-warning);color:var(--ui-warning)}.alert-danger,.alert-error{border-left-color:var(--ui-danger);color:var(--ui-danger)}.badge{font-weight:650;border-radius:100px;padding:6px 10px}.text-bg-primary{background:var(--ui-accent-soft)!important;color:var(--ui-accent)!important}.text-bg-success{background:#237449!important;color:#fff!important}.text-bg-warning{background:#f5ce67!important;color:#392a02!important}.text-bg-danger{background:#ad314b!important;color:#fff!important}.text-bg-secondary{background:var(--ui-raised)!important;color:var(--ui-muted)!important}.text-bg-info{background:#265e87!important;color:#fff!important}
.modal-content,.dropdown-menu,.popover,.list-group-item{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line)}.modal-header,.modal-footer{border-color:var(--ui-line)}.dropdown-item{color:var(--ui-text)}.dropdown-item:hover{background:var(--ui-accent-soft);color:var(--ui-accent)}.modal-backdrop{--bs-backdrop-opacity:.7}.pagination{--bs-pagination-bg:var(--ui-surface);--bs-pagination-color:var(--ui-link);--bs-pagination-border-color:var(--ui-line);--bs-pagination-hover-bg:var(--ui-hover);--bs-pagination-hover-color:var(--ui-text)}details summary{font-weight:650;cursor:pointer;color:var(--ui-text)}details[open] summary{margin-bottom:14px}::selection{background:#7950f255}*:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}[hidden]{display:none!important}
.modality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modality-option{display:flex;align-items:center;gap:9px;padding:13px;background:var(--ui-raised);border:1px solid var(--ui-line);border-radius:11px;color:var(--ui-text)}.modality-option:has(input:checked){border-color:var(--ui-accent);background:var(--ui-accent-soft)}.technical-auto{background:var(--ui-raised);border:1px solid var(--ui-line);padding:13px 16px;border-radius:11px;margin:12px 0}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.result-box{padding:15px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-raised)}.result-box h6{color:var(--ui-accent);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.tournament-tag{display:inline-block;background:var(--ui-accent-soft);color:var(--ui-accent);padding:4px 8px;border-radius:7px;font-size:11px;margin:2px}.result-list{padding-left:18px;margin:6px 0;font-size:12px}
@media(max-width:767px){.page-header h1{font-size:20px}.header-actions{margin-left:0}.appearance-control{flex-wrap:wrap}.table{min-width:620px}.card{padding:16px}.modality-grid{grid-template-columns:1fr}.theme-label{font-size:9px}.page-header{margin-bottom:20px}.app-main{overflow-x:hidden}.result-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{html,body,.card,.table,.metric-card{background:#fff!important;color:#111!important;box-shadow:none!important}.sidebar,.page-header .header-actions,.mobile-menu-toggle,.btn,form:not(.print-form){display:none!important}.app-main{padding:0}.table{--bs-table-bg:#fff;--bs-table-color:#111;--bs-table-striped-bg:#fff;min-width:0}.table th,.table td{color:#111!important;border-color:#ccc!important}.table-responsive{overflow:visible}.text-muted{color:#444!important}details{break-inside:avoid}}
.brand-mark{display:grid;place-items:center;color:var(--ui-accent);flex-shrink:0}.brand-mark svg{width:26px;height:26px}.nav-icon{display:inline-flex;align-items:center;justify-content:center}.nav-icon svg{flex-shrink:0}
