:root{--bg: #f6f5f1;--surface: #ffffff;--surface-2: #f1efe9;--border: #e3e0d7;--text: #1c1b18;--muted: #6d6a62;--accent: #c98a0b;--accent-strong: #a96f00;--accent-soft: #fbf1db;--pos: #16794c;--pos-soft: #e3f4ea;--neg: #c0392b;--neg-soft: #fbe7e4;--info: #2563eb;--info-soft: #e5edfd;--gray-soft: #ecebe6;--shadow: 0 1px 2px rgba(28, 27, 24, .05), 0 4px 16px rgba(28, 27, 24, .04);--radius: 14px;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--series-1: #2a78d6;--series-2: #eb6834;--div-pos: #2a78d6;--div-neg: #e34948;--chart-grid: #ecebe6;--chart-hover: rgba(28, 27, 24, .05);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #131310;--surface: #1c1c18;--surface-2: #24241f;--border: #33322b;--text: #edebe4;--muted: #9c998e;--accent: #e8a317;--accent-strong: #f2b53a;--accent-soft: #2f2611;--pos: #4ccb8b;--pos-soft: #13291e;--neg: #f0776a;--neg-soft: #33191a;--info: #79a2ff;--info-soft: #18223a;--gray-soft: #2a2a25;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--series-1: #3987e5;--series-2: #d95926;--div-pos: #3987e5;--div-neg: #e66767;--chart-grid: #2c2c27;--chart-hover: rgba(255, 255, 255, .05);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.01em}.wrap{max-width:1240px;margin:0 auto;padding:0 16px}.main{padding-top:24px;padding-bottom:40px}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.pos{color:var(--pos)}.neg{color:var(--neg)}.topbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px}.brand{display:flex;align-items:center;gap:10px;color:var(--text)}.brand:hover{text-decoration:none}.brand-ball{width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f7c44f,var(--accent) 60%,var(--accent-strong));color:#fff;font-weight:700;display:grid;place-items:center;font-family:var(--mono)}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text small{color:var(--muted);font-size:12px}.nav{display:flex;align-items:center;gap:4px}.nav-link{padding:8px 12px;border-radius:8px;color:var(--muted);font-weight:500}.nav-link:hover{background:var(--surface-2);text-decoration:none;color:var(--text)}.nav-link.active{color:var(--text);background:var(--surface-2)}@media(max-width:760px){.brand-text small{display:none}.nav-link{padding:8px}}@media(max-width:560px){.topbar-inner{height:auto;min-height:56px;padding-top:8px;padding-bottom:8px}.nav{gap:0;flex-wrap:wrap;justify-content:flex-end}.nav-link{padding:6px 7px;font-size:13px}.nav .btn-sm{padding:5px 7px;font-size:13px}}.footer{padding-bottom:32px;color:var(--muted);font-size:13px;text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.card-head h2{font-size:17px}.card-body{padding:16px 18px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}.kpi{padding:14px 16px}.kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.kpi-value{font-size:26px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.kpi-hint{font-size:12px;color:var(--muted)}.kpi.highlight{background:var(--accent-soft);border-color:transparent}.kpi.kpi-parcial{background:var(--surface-2);border-style:dashed;box-shadow:none}.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media(max-width:560px){.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:12px}.kpi-value{font-size:20px}.brand-text,.nav .muted{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 14px;border-radius:9px;font:inherit;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong)}.btn-danger{color:var(--neg)}.btn-danger:hover{background:var(--neg-soft)}.btn-danger-solid{background:var(--neg);border-color:var(--neg);color:#fff}.btn-danger-solid:hover{filter:brightness(.92);background:var(--neg)}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{padding:5px 10px;font-size:13px}.btn-icon{padding:6px 8px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:13px;font-weight:600;color:var(--muted)}.input,select.input,textarea.input{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:9px 11px;border-radius:9px;font:inherit}.input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.search{max-width:240px;padding:7px 11px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:560px){.grid-2,.grid-3{grid-template-columns:1fr}}.hint{font-size:12px;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:var(--surface-2);white-space:nowrap}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}td.right,th.right{text-align:right}tr.dim td{opacity:.55}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-pos{color:var(--pos);background:var(--pos-soft)}.pill-neg{color:var(--neg);background:var(--neg-soft)}.pill-info{color:var(--info);background:var(--info-soft)}.pill-gray{color:var(--muted);background:var(--gray-soft)}.pill-accent{color:var(--accent-strong);background:var(--accent-soft)}.balls{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:230px}.ball{min-width:22px;height:22px;padding:0 3px;border-radius:11px;display:inline-grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:700;background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.sep{font-family:var(--mono);font-size:12px;color:var(--muted);padding:0 1px}.layout-2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}@media(max-width:960px){.layout-2{grid-template-columns:minmax(0,1fr)}}.tabs{display:inline-flex;background:var(--surface-2);padding:3px;border-radius:10px;gap:2px}.tab{border:none;background:transparent;padding:6px 12px;border-radius:8px;font:inherit;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer}.tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.alert{padding:10px 14px;border-radius:10px;font-size:14px}.alert-error{background:var(--neg-soft);color:var(--neg)}.alert-ok{background:var(--pos-soft);color:var(--pos)}.alert-info{background:var(--info-soft);color:var(--info)}.empty{padding:32px;text-align:center;color:var(--muted)}.skeleton{height:14px;border-radius:6px;background:var(--surface-2);animation:pulse 1.2s infinite ease-in-out}@keyframes pulse{50%{opacity:.5}}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100;padding:10px 16px;border-radius:10px;box-shadow:0 8px 24px #00000026;font-weight:500;max-width:calc(100% - 32px)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14131073;display:grid;place-items:center;padding:16px;z-index:50}.modal{width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--border)}.stack{display:flex;flex-direction:column;gap:14px}details.info summary{cursor:pointer;font-weight:600;padding:14px 18px;list-style:none;display:flex;justify-content:space-between}details.info summary::-webkit-details-marker{display:none}details.info summary:after{content:"+";color:var(--muted);font-weight:400}details.info[open] summary:after{content:"−"}details.info .content{padding:0 18px 16px;color:var(--muted);font-size:14px}details.info ul{padding-left:18px;margin:0}details.info li{margin-bottom:8px}
