:root{--font-sans:"Ubuntu", system-ui, "Segoe UI", Roboto, sans-serif;--font-heading:"Poppins", var(--font-sans);--brand-navy:#262262;--brand-blue:#2b3990;--brand-magenta:#92278f;--surface-0:#fff;--surface-1:#f4f4f9;--surface-2:#fff;--surface-raised:#fff;--text-primary:#201f2e;--text-secondary:#5d5c6b;--text-muted:#94939f;--border:#e6e5ee;--border-strong:#d2d1e0;--fill-accent:var(--brand-blue);--fill-accent-hover:#23306e;--on-accent:#fff;--bg-accent:#2b399014;--text-accent:var(--brand-blue);--border-accent:#2b399059;--text-success:#1a7a4a;--text-danger:#c0392b;--text-warning:#92600a;--bg-warning:#fdf3d9;--border-warning:#e8cf8a;--shadow-sm:0 1px 2px #201f2e0f;--shadow-md:0 4px 16px #201f2e14;--shadow-lg:0 12px 32px #201f2e24;--chip-futbol-bg:#e8eaf8;--chip-futbol-text:#2b3990;--chip-tenis-bg:#eeeef0;--chip-tenis-text:#58595b;--chip-hockey-bg:#f7e9f5;--chip-hockey-text:#92278f;--chip-estructura-bg:#ece9f8;--chip-estructura-text:#262262;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--surface-0:#131320;--surface-1:#1c1b2c;--surface-2:#232236;--surface-raised:#262538;--text-primary:#f1f0f7;--text-secondary:#aca9c4;--text-muted:#7d7a94;--border:#322f49;--border-strong:#443f63;--fill-accent:#5a6bd8;--fill-accent-hover:#7180e0;--on-accent:#0e0d18;--bg-accent:#5a6bd829;--text-accent:#9aa6f2;--border-accent:#9aa6f266;--text-success:#3fb883;--text-danger:#e06a5a;--text-warning:#e0b84f;--bg-warning:#e0b84f1f;--border-warning:#e0b84f66;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 16px 40px #00000080;--chip-futbol-bg:#5a6bd82e;--chip-futbol-text:#a6b1f0;--chip-tenis-bg:#9492a82e;--chip-tenis-text:#c2c0d4;--chip-hockey-bg:#c43fbe2e;--chip-hockey-text:#e39fdd;--chip-estructura-bg:#7b5fe32e;--chip-estructura-text:#bcabf4}}*{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--surface-0);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0}#root{max-width:1000px;min-height:100svh;margin:0 auto;padding:0 20px}::selection{background:var(--bg-accent);color:var(--text-accent)}.logo-lockup{align-items:center;gap:10px;display:flex}.logo-mark{flex-shrink:0;display:block}.logo-text{font-family:var(--font-heading);color:var(--brand-navy);font-size:15px;font-weight:700;line-height:1.05}@media (prefers-color-scheme:dark){.logo-text{color:#f1f0f7}}#login{flex-direction:column;justify-content:center;align-items:center;min-height:100svh;display:flex}.login-card{background:var(--surface-1);box-shadow:var(--shadow-md);border-radius:20px;flex-direction:column;align-items:center;gap:20px;max-width:320px;padding:40px 36px;display:flex}.login-copy{text-align:center}#login h1{font-family:var(--font-heading);color:var(--text-primary);margin:0 0 6px;font-size:20px;font-weight:700}#login p{color:var(--text-secondary);margin:0;font-size:13px}#login form{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}#login form.shake{animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}#login input{border:1px solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text-primary);font-size:14px;font-family:var(--font-sans);border-radius:10px;padding:11px 14px;transition:border-color .15s,box-shadow .15s}#login input:focus{border-color:var(--fill-accent);box-shadow:0 0 0 3px var(--bg-accent);outline:none}#login button{background:var(--fill-accent);width:100%;color:var(--on-accent);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:10px;padding:11px;transition:background .15s,transform .1s}#login button:hover{background:var(--fill-accent-hover)}#login button:active{transform:scale(.98)}#login .err{color:var(--text-danger);height:14px;font-size:13px}#app{flex-direction:column;min-height:100svh;padding-bottom:48px;display:flex}.app-header{align-items:center;gap:12px;padding:20px 0 12px;display:flex}.app-header-club{border-left:1px solid var(--border-strong);flex-direction:column;padding-left:10px;display:flex}.app-header-club-name{font-family:var(--font-heading);color:var(--text-primary);font-size:14px;font-weight:600}.app-header-club-sub{color:var(--text-muted);font-size:11px}nav{border-bottom:1px solid var(--border);background:var(--surface-0);z-index:10;flex-wrap:wrap;gap:4px;padding:4px 0 12px;display:flex;position:sticky;top:0}.tab{font-size:13px;font-family:var(--font-sans);cursor:pointer;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 15px;transition:background .15s,color .15s,border-color .15s}.tab:hover{background:var(--surface-1);color:var(--text-primary)}.tab.active{background:var(--bg-accent);color:var(--text-accent);border-color:var(--border-accent);font-weight:500}.page{padding-top:20px;animation:.2s fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.status-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100svh;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--fill-accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.err-title{color:var(--text-danger);margin:0;font-weight:500}.err-detail{color:var(--text-secondary);max-width:420px;margin:0;font-size:13px}.status-screen button{border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 16px}.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:20px;display:grid}.card{background:var(--surface-1);border:1px solid #0000;border-radius:12px;padding:15px 17px;transition:transform .15s,box-shadow .15s}.card .lbl{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.card .val{font-family:var(--font-heading);font-size:21px;font-weight:600}.card .sub{color:var(--text-secondary);margin-top:3px;font-size:11px}.pos{color:var(--text-success)}.neg{color:var(--text-danger)}h2{font-family:var(--font-heading);color:var(--text-primary);margin:28px 0 14px;font-size:17px;font-weight:600}h3{font-family:var(--font-heading);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;font-size:13px;font-weight:600}.chart-wrap{background:var(--surface-1);border-radius:16px;margin-bottom:16px;padding:18px 18px 14px}.ranking{flex-direction:column;display:flex}.ranking-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 0;font-size:14px;display:flex}.ranking-row:last-child{border-bottom:none}.ranking-pos{font-family:var(--font-heading);color:var(--text-muted);width:16px;font-size:12px}.ranking-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:9px;height:9px}.ranking-name{color:var(--text-primary);flex:1;font-weight:500}.ranking-value{font-family:var(--font-heading);font-variant-numeric:tabular-nums;font-weight:600}.month-grid,.month-toggle-row{grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:16px;display:grid}.mbtn{text-align:center;border:1px solid var(--border);cursor:pointer;background:var(--surface-1);color:var(--text-secondary);border-radius:9px;padding:9px 4px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.mbtn:hover{border-color:var(--border-accent);color:var(--text-accent)}.mbtn.sel{background:var(--bg-accent);border-color:var(--border-accent);color:var(--text-accent);font-weight:500}.month-hero{background:var(--surface-1);border:1px solid var(--border);text-align:center;border-radius:18px;margin-bottom:16px;padding:22px 24px}.month-hero-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.month-hero-value{font-family:var(--font-heading);font-size:36px;font-weight:700;line-height:1.1}.month-hero.pos .month-hero-value{color:var(--text-success)}.month-hero.neg .month-hero-value{color:var(--text-danger)}.month-hero-sub{color:var(--text-secondary);margin-top:6px;font-size:12px}.act-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.abtn{border:1px solid var(--border);cursor:pointer;background:var(--surface-1);color:var(--text-secondary);border-radius:20px;padding:6px 15px;font-size:13px;transition:background .15s,border-color .15s,color .15s,transform .1s}.abtn:hover{transform:translateY(-1px)}.abtn.sel{border-color:currentColor;font-weight:500}.chip-futbol{background:var(--chip-futbol-bg);color:var(--chip-futbol-text)}.chip-tenis{background:var(--chip-tenis-bg);color:var(--chip-tenis-text)}.chip-hockey{background:var(--chip-hockey-bg);color:var(--chip-hockey-text)}.chip-estructura{background:var(--chip-estructura-bg);color:var(--chip-estructura-text)}.ranking-dot.chip-futbol,.ranking-dot.chip-tenis,.ranking-dot.chip-hockey,.ranking-dot.chip-estructura{background:currentColor}.abtn.chip-futbol,.abtn.chip-tenis,.abtn.chip-hockey,.abtn.chip-estructura{background:var(--surface-1)}.abtn.chip-futbol.sel{background:var(--chip-futbol-bg);color:var(--chip-futbol-text)}.abtn.chip-tenis.sel{background:var(--chip-tenis-bg);color:var(--chip-tenis-text)}.abtn.chip-hockey.sel{background:var(--chip-hockey-bg);color:var(--chip-hockey-text)}.abtn.chip-estructura.sel{background:var(--chip-estructura-bg);color:var(--chip-estructura-text)}.card.chip-futbol,.card.chip-tenis,.card.chip-hockey,.card.chip-estructura{background:var(--surface-1)}.card.chip-futbol .val,.card.chip-futbol .lbl{color:var(--chip-futbol-text)}.card.chip-tenis .val,.card.chip-tenis .lbl{color:var(--chip-tenis-text)}.card.chip-hockey .val,.card.chip-hockey .lbl{color:var(--chip-hockey-text)}.card.chip-estructura .val,.card.chip-estructura .lbl{color:var(--chip-estructura-text)}.card.chip-futbol .sub,.card.chip-tenis .sub,.card.chip-hockey .sub,.card.chip-estructura .sub{color:var(--text-secondary)}.tbl-wrap{border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:var(--surface-1);border-bottom:1px solid var(--border-strong);font-family:var(--font-heading);color:var(--text-secondary);white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}tr:last-child td{border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums}.act-cards{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;display:grid}@media (width<=480px){.act-cards{grid-template-columns:1fr}.month-grid,.month-toggle-row{grid-template-columns:repeat(4,1fr)}}.act-card{border-radius:14px;padding:15px}.act-card .act-name{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:11px;font-weight:600}.act-card .act-res{font-family:var(--font-heading);margin-bottom:4px;font-size:19px;font-weight:700}.act-card .act-sub{color:var(--text-secondary);font-size:11px}.ticker{border-radius:14px;margin-bottom:12px;padding:14px 16px}.ticker-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:600}.ticker-cells{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}@media (width<=480px){.ticker-cells{grid-template-columns:repeat(3,1fr)}}.ticker-cell{text-align:center;background:var(--surface-2);border-radius:8px;padding:6px 2px}.ticker-mes{color:var(--text-muted);margin-bottom:2px;font-size:10px}.ticker-val{font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.control-block{background:var(--surface-1);border-radius:16px;margin-bottom:16px;padding:18px}.control-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.control-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:12px;font-weight:600}.control-actions{gap:10px;display:flex}.link-btn{color:var(--text-accent);cursor:pointer;font-size:12px;font-family:var(--font-sans);background:0 0;border:none;padding:0}.link-btn:hover{text-decoration:underline}.statement-search{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);border-radius:10px;margin-bottom:16px;padding:10px 14px}.statement-card{border:1px solid var(--border);border-radius:16px;margin-bottom:14px;overflow:hidden}.statement-header{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.statement-header-name{font-family:var(--font-heading);font-size:15px;font-weight:700}.statement-header-result{font-family:var(--font-heading);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.statement-section{background:var(--surface-2);padding:6px 18px 12px}.statement-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:10px 0 4px;font-size:11px;font-weight:600}.statement-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;display:flex}.statement-row:last-of-type{border-bottom:none}.statement-concepto{color:var(--text-secondary)}.statement-monto{font-variant-numeric:tabular-nums;color:var(--text-primary)}.statement-subtotal{border-top:1px solid var(--border-strong);color:var(--text-primary);margin-top:4px;padding-top:8px;font-weight:600;border-bottom:none!important}.statement-empty{color:var(--text-muted);padding:10px 0;font-size:12px}.statement-empty-page{text-align:center;padding:32px 0;font-size:13px}.statement-net{background:var(--surface-1);font-family:var(--font-heading);border-radius:14px;justify-content:space-between;align-items:center;margin-top:8px;padding:16px 20px;font-size:16px;font-weight:700;display:flex}.month-toggle-groups{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.month-toggle-year{font-family:var(--font-heading);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:600}.month-toggle-group .month-toggle-row{margin-bottom:0}.compare-toggle{border:1px solid var(--border-accent);background:var(--surface-2);color:var(--text-accent);font-size:13px;font-family:var(--font-sans);cursor:pointer;border-radius:10px;margin-top:16px;padding:9px 16px;transition:background .15s,border-color .15s,color .15s}.compare-toggle:hover{background:var(--bg-accent)}.compare-toggle.active{border-color:var(--text-danger);color:var(--text-danger)}.compare-base{color:var(--text-secondary);margin-bottom:12px;font-size:12px}.compare-base strong{color:var(--text-primary)}.compare-group{margin-bottom:24px}.compare-group-title{font-family:var(--font-heading);border-radius:20px;margin-bottom:10px;padding:5px 14px;font-size:14px;font-weight:700;display:inline-block}.compare-scroll{margin:0 -20px;padding-bottom:8px;padding-left:20px;padding-right:20px;overflow-x:auto}.compare-track{gap:14px;display:flex}.compare-card{border:1px solid var(--border);border-radius:14px;flex:0 0 260px;width:260px;padding:14px 16px 16px}.compare-card.shade-a{background:var(--surface-1)}.compare-card.shade-b{background:var(--surface-2)}.compare-card-header{font-family:var(--font-heading);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:4px;padding-bottom:10px;font-size:14px;font-weight:700;display:flex}.compare-card .statement-row{gap:8px;font-size:12px}.compare-card .statement-concepto{overflow-wrap:break-word}.alert{background:var(--bg-warning);border:1px solid var(--border-warning);color:var(--text-warning);border-radius:10px;margin-top:10px;margin-bottom:20px;padding:10px 14px;font-size:12px}.rule-sec{background:var(--surface-1);border-radius:14px;margin-bottom:12px;padding:16px 18px}.rule-sec h3{text-transform:none;color:var(--text-primary);border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;font-size:13px;display:flex}.rule-badge{background:var(--bg-accent);width:20px;height:20px;color:var(--text-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.rule-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(160px,.9fr) 1.1fr;align-items:flex-start;gap:14px;padding:9px 0;font-size:13px;display:grid}.rule-row:last-child{border:none}.rule-key{color:var(--text-primary);font-weight:500}.rule-val{color:var(--text-secondary)}@media (width<=600px){.rule-row{grid-template-columns:1fr}}
