.cc,.cc-tokens{--bg:#1b1b1e;--surface:#232327;--s2:#29292f;--b:#323238;--b2:#3d3d45;--acc:#3a9d6a;--acc2:#2f7a5f;--acc-rgb:58,157,106;--acc-tint-t:#7fd9ab;--green:#35c080;--red:#e2685e;--yel:#d9a44d;--pur:#a77bf3;--t:#e9e9ec;--t2:#9a9aa3;--t3:#6f6f78;--sbcto:#3fae8e;--mat:#9385d6;--rrhh:#5b93d6;--otros:#c98e52;--ggm:#c47aa0;--ggo:#7b8ec4;--ggu:#c2a35a;--cy:#5fa9c2;--c1:#3987e5;--c2:#d95926;--c3:#199e70;--c4:#c98500;--c5:#d55181;--c6:#008300;--c7:#9085e9;--c8:#e66767;--hover:rgba(255,255,255,.03);--zebra:rgba(255,255,255,.016);--grupo:#252a2e;--sombra-cc:0 1px 2px rgba(0,0,0,.35),0 8px 24px -8px rgba(0,0,0,.45);--fondo:var(--bg);--panel:var(--surface);--borde:var(--b);--texto:var(--t);--suave:var(--t2);--color-surface:var(--surface);--color-divider:var(--b);--color-text:var(--t);--color-bg:var(--bg);--color-neutral-200:var(--s2);--color-neutral-500:var(--t3);--color-neutral-700:var(--t2);--color-accent:var(--acc);--color-accent-100:rgba(var(--acc-rgb),.14);--color-accent-700:var(--acc-tint-t);--ok:var(--green);--ok-c:var(--green);--ok-soft:rgba(53,192,128,.14);--alerta:var(--yel);--warn:var(--yel);--warn-soft:rgba(217,164,77,.14);--error:var(--red);--err:var(--red);--err-soft:rgba(226,104,94,.14);--sombra:var(--sombra-cc);--primario:var(--acc);--primario-osc:var(--acc2);color-scheme:dark}.cc{position:fixed;inset:0;z-index:30;display:grid;grid-template-columns:236px minmax(0,1fr);background:var(--bg);color:var(--t);font-family:var(--font-sans);font-size:15px}.cc-tokens.claro,.cc.claro{--bg:#f4f5f4;--surface:#ffffff;--s2:#eef0ef;--b:#e2e5e3;--b2:#c9cdca;--acc:#2f7a5f;--acc2:#286b53;--acc-rgb:47,122,95;--acc-tint-t:#235d48;--green:#22704f;--red:#b3392f;--yel:#8a5a00;--pur:#6d3fc0;--t:#1b1c1e;--t2:#5a605d;--t3:#8b918e;--sbcto:#2a6358;--mat:#6a5aa0;--rrhh:#3b6ea5;--otros:#9c6430;--ggm:#a8567c;--ggo:#5d6b8f;--ggu:#ab8a3e;--cy:#4a8aa0;--c1:#2a78d6;--c2:#eb6834;--c3:#1baf7a;--c4:#eda100;--c5:#e87ba4;--c6:#008300;--c7:#4a3aa7;--c8:#e34948;--hover:rgba(24,24,27,.035);--zebra:rgba(24,24,27,.022);--grupo:#eef4f3;--sombra-cc:0 1px 2px rgba(20,24,22,.04),0 6px 18px -10px rgba(20,24,22,.14);color-scheme:light}.cc.sin-lateral{grid-template-columns:0 minmax(0,1fr)}.cc.sin-lateral .cc-lat{visibility:hidden}.cc-lat,.cc.claro .cc-lat{--bg:#1b1b1e;--surface:#232327;--s2:#29292f;--b:#323238;--b2:#3d3d45;--acc:#3a9d6a;--acc2:#2f7a5f;--acc-rgb:58,157,106;--t:#e9e9ec;--t2:#9a9aa3;--t3:#6f6f78;color-scheme:dark}.cc-lat{background:var(--bg);color:var(--t);border-right:1px solid var(--b);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative}.cc-marca{padding:18px 16px 12px;border-bottom:1px solid var(--b)}.cc-marca .logo{font-size:1.15rem;font-weight:700;color:var(--t);display:flex;align-items:center;gap:8px}.cc-marca .logo b{color:var(--acc);font-weight:600}.cc-marca .sub{font-size:.7rem;letter-spacing:.12em;font-weight:700;color:var(--t2);margin-top:6px}.cc-marca .acciones{display:flex;gap:6px;justify-content:flex-end;margin:10px 0 6px}.cc-marca .acciones button{width:26px;height:26px;min-height:0;padding:0;background:var(--surface);border:1px solid var(--b2);color:var(--t2);font-size:12px;border-radius:6px}.cc-marca .acciones button:hover{color:var(--t)}.cc-marca .quien{font-size:.72rem;color:var(--t2)}.cc-marca .quien b{color:var(--acc);font-weight:500}.cc-nav{padding:12px 10px;display:grid;grid-gap:2px;gap:2px}.cc-nav a,.cc-nav button{background:none;color:var(--t2);justify-content:flex-start;font-weight:500;font-size:.9rem;min-height:36px;padding:0 12px;border-radius:8px;text-decoration:none;display:flex;align-items:center;gap:10px;border:0;width:100%;text-align:left}.cc-nav a:hover,.cc-nav button.activo,.cc-nav button:hover{background:var(--surface);color:var(--t)}.cc-nav button.activo{font-weight:600;box-shadow:inset 3px 0 0 var(--acc)}.cc-nav .titulo{font-size:.66rem;letter-spacing:.12em;font-weight:700;color:var(--t2);padding:14px 12px 6px}.cc-nav .obra{font-size:.82rem;text-transform:uppercase}.cc-nav .nueva{border:1px dashed var(--b2);justify-content:center;color:var(--t3);font-size:.8rem;margin-top:6px}.cc-plegar{position:absolute;right:-1px;width:22px;height:22px;z-index:2}.cc-desplegar,.cc-plegar{top:18px;min-height:0;padding:0;border-radius:50%;background:var(--surface);border:1px solid var(--b2);color:var(--t2);font-size:11px}.cc-desplegar{position:fixed;left:6px;z-index:31;width:24px;height:24px}.cc-main{overflow-y:auto;min-width:0}.cc-cab{padding:14px 22px 0;border-bottom:1px solid var(--b);background:var(--bg)}.cc-cab h1{font-size:1.25rem;margin:0;letter-spacing:.01em;text-transform:uppercase}.cc-cab .meta{font-size:.72rem;color:var(--t2);margin-top:2px}.cc-tabs{display:flex;flex-wrap:wrap;gap:4px 2px;margin:12px 0;align-items:center}.cc-tabs button{background:none;color:var(--t2);font-weight:500;font-size:.88rem;min-height:32px;padding:0 13px;border-radius:8px;border:0}.cc-tabs button:hover{color:var(--t);background:var(--hover)}.cc-tabs button.activa{background:var(--acc);color:#fff}.cc-tabs .engranaje{border:1px solid var(--b2);width:34px;padding:0;margin-left:4px}.cc-cuerpo{padding:24px 36px 60px;display:grid;grid-gap:16px;gap:16px;align-content:start}.cc-cuerpo>*{margin-bottom:0}.cc .kpi,.cc .tarjeta{background:var(--surface);border:1px solid var(--b);box-shadow:var(--sombra-cc);color:var(--t)}.cc .tarjeta h2{font-size:.95rem;margin:0 0 2px}.cc .tarjeta h3{font-size:.9rem}.cc table{color:var(--t)}.cc th{background:transparent;color:var(--t2);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.cc td,.cc th{border-bottom-color:var(--b)}.cc td.num{font-family:var(--font-mono);font-size:.8rem}.cc tbody tr:hover td{background:var(--hover)}.cc input,.cc select,.cc textarea{background:var(--surface);color:var(--t);border-color:var(--b2)}.cc input:disabled{opacity:.6}.cc :where(button){background:var(--acc);color:#fff}.cc :where(button):hover{background:var(--acc2)}.cc :where(button.secundario,.boton.secundario){background:var(--surface);color:var(--t);border:1px solid var(--b2)}.cc :where(button.secundario):hover{background:var(--s2)}.cc :where(button.vinculo){background:none;color:var(--acc-tint-t)}.cc .chip{background:var(--s2);color:var(--t2)}.cc .chip.ok{background:var(--ok-soft);color:var(--green)}.cc .chip.alerta{background:var(--warn-soft);color:var(--yel)}.cc .chip.error{background:var(--err-soft);color:var(--red)}.cc .pestanas{background:transparent;display:flex;flex-wrap:wrap;gap:2px;padding:0}.cc .pestanas button{background:none;color:var(--t2);flex:0 0 auto;font-weight:500}.cc .pestanas button.activa{background:var(--acc);color:#fff;box-shadow:none}.cc .aviso.info,.cc .aviso:not(.ok):not(.error){background:rgba(var(--acc-rgb),.1);border-color:rgba(var(--acc-rgb),.4);color:var(--acc-tint-t)}.cc .suave,.cc label{color:var(--t2)}.cc h1,.cc h2,.cc h3{color:var(--t)}.cc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.cc-kpi{background:var(--surface);border:1px solid var(--b);border-radius:10px;padding:18px;box-shadow:var(--sombra-cc);min-width:0}.cc-kpi .etq{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);font-weight:600}.cc-kpi .v{font-family:var(--font-mono);font-size:26px;font-weight:500;letter-spacing:-.02em;margin:6px 0 2px}.cc-kpi .s{font-size:.72rem;color:var(--t2);line-height:1.45}.cc-kpi.destacado{border-color:var(--pur);background:linear-gradient(180deg,rgba(167,123,243,.08),rgba(167,123,243,.02))}.cc-kpi.destacado .etq{color:var(--pur)}.v-verde{color:var(--green)}.v-rojo{color:var(--red)}.v-ama{color:var(--yel)}.v-pur{color:var(--pur)}.v-t2{color:var(--t2)}.cc-panel{background:var(--surface);border:1px solid var(--b);border-radius:10px;box-shadow:var(--sombra-cc);overflow:hidden;min-width:0}.cc-panel>.cab{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--b);flex-wrap:wrap}.cc-panel>.cab h2{font-size:.92rem;margin:0}.cc-panel>.cab .s{font-size:.72rem;color:var(--t2)}.cc-panel>.cuerpo{padding:16px}.cc-scroll{overflow:auto;max-width:100%}.cc-tabla{width:100%;border-collapse:collapse}.cc-tabla th{padding:10px 12px;text-align:left;white-space:nowrap}.cc-tabla td{padding:9px 12px;font-size:.85rem;vertical-align:middle}.cc-tabla td.r,.cc-tabla th.r{text-align:right}.cc-tabla td.r{font-family:var(--font-mono);font-size:.78rem;white-space:nowrap}.cc-tabla tr.grupo td{background:var(--grupo)}.cc-tabla tr.total td{font-weight:700;border-top:1px solid var(--b2);background:var(--s2)}.cc-tabla tr.sub td{font-weight:600;background:var(--zebra)}.cc-tabla tr.clic{cursor:pointer}.cc-tabla .cod{font-family:var(--font-mono);font-size:.72rem;color:var(--t2)}.cc-tabla .sticky{position:-webkit-sticky;position:sticky;left:0;background:var(--surface);z-index:1}.cc-tabla tr.grupo .sticky{background:var(--grupo)}.cc-tabla tr.total .sticky{background:var(--s2)}.cc-tipo{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;white-space:nowrap}.cc-pill,.cc-tipo{display:inline-block;font-family:var(--font-mono);border-radius:6px}.cc-pill{font-size:.72rem;padding:2px 8px;border:1px solid}.cc-pill.pos{color:var(--green);border-color:rgba(53,192,128,.4);background:rgba(53,192,128,.08)}.cc-pill.neg{color:var(--red);border-color:rgba(226,104,94,.4);background:rgba(226,104,94,.08)}.cc-pill.ama{color:var(--yel);border-color:rgba(217,164,77,.4);background:rgba(217,164,77,.08)}.cc-barra{height:4px;background:var(--s2);border-radius:2px;overflow:hidden;min-width:80px}.cc-barra>i{display:block;height:100%;background:var(--green);border-radius:2px}.cc-seg{display:inline-flex;gap:2px;flex-wrap:wrap}.cc-seg button{background:none;color:var(--t2);font-weight:500;font-size:.82rem;min-height:30px;padding:0 12px;border-radius:7px;border:0}.cc-seg button:hover{color:var(--t);background:var(--hover)}.cc-seg button.activa{background:var(--acc);color:#fff}.cc-barra-sup{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.cc-barra-sup .s{font-size:.82rem;color:var(--t2)}.cc-dos{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.cc-lista button{display:flex;width:100%;justify-content:space-between;align-items:center;background:none;color:var(--t);border:0;border-bottom:1px solid var(--b);border-radius:0;min-height:58px;padding:6px 14px;text-align:left}.cc-lista button:hover{background:var(--hover)}.cc-lista button.activo{background:rgba(var(--acc-rgb),.12);box-shadow:inset 3px 0 0 var(--acc)}.cc-lista .n{font-weight:600;font-size:.9rem;text-transform:capitalize}.cc-lista .gc{font-family:var(--font-mono);font-size:.68rem;color:var(--t2)}.cc-tira{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--b)}.cc-tira>div{padding:14px 16px;border-right:1px solid var(--b)}.cc-tira>div:last-child{border-right:0}.cc-tira .etq{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t2)}.cc-tira .v{font-size:1.15rem;margin-top:2px}.cc-graf text,.cc-tira .v{font-family:var(--font-mono)}.cc-graf text{fill:var(--t2);font-size:10px}.cc-graf .eje{stroke:var(--b)}.cc-leyenda{display:flex;gap:14px;flex-wrap:wrap;font-size:.78rem;color:var(--t2);padding-top:10px;border-top:1px solid var(--b);margin-top:8px}.cc-leyenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.cc-obras{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:14px;gap:14px}.cc-obra{background:var(--surface);border:1px solid var(--b);border-radius:10px;padding:18px;cursor:pointer;text-align:left;color:var(--t);display:block;min-height:0;font-weight:400;box-shadow:var(--sombra-cc)}.cc .cc-obra:hover{border-color:var(--acc);background:var(--surface)}.cc-obra h3{margin:0;font-size:.95rem;text-transform:uppercase}.cc-obra .meta{font-size:.72rem;color:var(--t2);margin:2px 0 12px}.cc-obra .cifras{display:flex;gap:16px}.cc-obra .cifras div{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--t2)}.cc-obra .cifras b{display:block;font-family:var(--font-mono);font-size:.88rem;font-weight:500;letter-spacing:0;text-transform:none}.cc-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;z-index:40;padding:16px}.cc-modal>div{background:var(--surface);border:1px solid var(--b2);border-radius:12px;padding:20px;width:min(980px,100%);max-height:88vh;overflow:auto;box-shadow:var(--sombra-cc)}@media (max-width:900px){.cc{grid-template-columns:minmax(0,1fr)}.cc-lat{display:none}.cc.lat-movil .cc-lat{display:flex;position:fixed;inset:0 30% 0 0;z-index:35}.cc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-cuerpo{padding:16px}.cc-dos{grid-template-columns:minmax(0,1fr)}.cc-desplegar{display:block}}