@font-face{font-family:PP Cirka;src:url(/fonts/PPCirka-Variable.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--helios-orange: #E33902;--helios-green: #1A3124;--helios-navy: #293C65;--helios-burgundy: #4B0D22;--helios-blue: #3492E9;--helios-lavender: #C5BEE9;--helios-black: #000000;--helios-white: #FFFFFF;--orange-50:#FFF1EB;--orange-100:#FFDFCF;--orange-200:#FFBE9E;--orange-300:#FB9367;--orange-400:#F26535;--orange-500:#E33902;--orange-600:#BE2D00;--orange-700:#962200;--orange-800:#6E1900;--green-50:#EEF3F0;--green-100:#D2E0D9;--green-200:#A2BCB0;--green-300:#6E9483;--green-400:#406458;--green-500:#1A3124;--green-600:#14271C;--green-700:#0E1C14;--ink-900:#0B0F0D;--ink-800:#1A211D;--ink-700:#313A35;--ink-600:#51605A;--ink-500:#76847E;--ink-400:#9DA8A3;--ink-300:#C3CBC7;--ink-200:#E0E5E2;--ink-100:#EFF2F0;--ink-50:#F7F9F8;--bg: var(--helios-white);--bg-subtle: var(--ink-50);--bg-sunken: var(--ink-100);--bg-inverse: var(--helios-green);--fg: var(--ink-900);--fg-muted: var(--ink-600);--fg-subtle: var(--ink-500);--fg-on-dark: var(--helios-white);--fg-on-dark-muted: rgba(255,255,255,.66);--accent: var(--helios-orange);--accent-hover: var(--orange-600);--accent-press: var(--orange-700);--accent-fg: var(--helios-white);--border: var(--ink-200);--border-strong: var(--ink-300);--border-on-dark: rgba(255,255,255,.16);--danger: var(--helios-burgundy);--info: var(--helios-blue);--success: #1F8A5B;--warning: #E3A302;--font-display: "PP Cirka", "Times New Roman", serif;--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-4xl:3.052rem;--text-5xl:3.815rem;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-snug:-.01em;--tracking-wide:.04em;--tracking-caps:.12em;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--shadow-xs:0 1px 2px rgba(11,15,13,.06);--shadow-sm:0 2px 6px rgba(11,15,13,.07);--shadow-md:0 8px 24px rgba(11,15,13,.09);--shadow-lg:0 18px 48px rgba(11,15,13,.13);--shadow-accent:0 10px 30px rgba(227,57,2,.28);color-scheme:light}.h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--fg)}.h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--fg)}.h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);color:var(--fg)}.h4{font-family:var(--font-sans);font-weight:600;font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--fg)}.lead{font-family:var(--font-sans);font-weight:400;font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--fg-muted)}.body{font-family:var(--font-sans);font-weight:400;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--fg)}.small{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--fg-muted)}.eyebrow,.label{font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent)}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.panel h3{font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.01em}.panel .psub{font-size:13px;color:var(--fg-muted);margin-top:4px}.btn{font-family:var(--font-sans);font-weight:600;font-size:13.5px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-md);padding:9px 14px;background:var(--accent);color:#fff;transition:all .15s}.btn:hover{background:var(--accent-hover)}.btn:active{background:var(--accent-press)}.btn.ghost{background:#fff;color:var(--fg);border:1px solid var(--border-strong)}.btn.ghost:hover{background:var(--ink-100)}.btn.block{width:100%}.chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--fg-muted);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:8px 12px;background:#fff}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.03em;padding:3px 9px;border-radius:var(--radius-pill);white-space:nowrap}.b-ok{background:#1f8a5b1f;color:#1f8a5b}.b-warn{background:#e3a30229;color:#9a6e00}.b-danger{background:#4b0d221a;color:#7a1733}.b-accent{background:var(--orange-100);color:var(--orange-700)}.b-info{background:#3492e91f;color:#1f6fb8}.b-neutral{background:var(--ink-100);color:var(--fg-muted)}.seg{display:inline-flex;gap:6px}.segbtn{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;padding:5px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:#fff;cursor:pointer;color:var(--fg-muted)}.segbtn.on{background:var(--accent);border-color:var(--accent);color:#fff}.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px;position:relative}.kpi .val{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-.02em;line-height:1;margin-top:16px}.kpi .val small{font-size:15px;color:var(--fg-subtle);font-weight:500}.kpi .delta{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500}.note{display:flex;gap:13px;padding:14px 16px;border-radius:var(--radius-md);background:var(--green-50);border:1px solid var(--ink-200)}.note .ni{width:30px;height:30px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex:none;color:var(--helios-green)}.note .nt{font-size:13px;line-height:1.55;color:var(--fg-muted)}.note .nt b{color:var(--fg);font-weight:600}.insight{display:flex;gap:13px;padding:13px 14px;border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border)}.insight .ii{width:34px;height:34px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex:none;color:var(--accent)}.insight .id{font-size:13px;color:var(--fg-muted);margin-top:2px;line-height:1.5}.bar-row{display:flex;align-items:center;gap:12px;margin-bottom:11px}.bar-row .bl{font-size:13px;color:var(--fg-muted);width:170px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{flex:1;height:10px;background:var(--ink-100);border-radius:var(--radius-pill);overflow:hidden}.bar-fill{height:100%;border-radius:var(--radius-pill)}.bar-val{font-family:var(--font-mono);font-size:12px;width:84px;text-align:right}@font-face{font-family:PP Cirka;src:url(/fonts/PPCirka-Variable.ttf) format("truetype");font-weight:100 900;font-display:swap}body{margin:0;font-family:var(--font-sans);background:var(--bg-subtle);color:var(--fg)}.topbar{background:var(--bg-inverse);color:#fff;padding:14px 24px;display:flex;align-items:center;gap:16px}.topbar .brand{font-family:var(--font-display);font-size:20px;letter-spacing:.02em}.topbar .brand em{font-style:normal;color:var(--helios-blue)}.topbar .brand-logo{height:24px;width:auto;display:block}.topbar .wordmark{font-family:var(--font-sans);font-weight:400;font-size:14px;letter-spacing:.16em;color:#fff}.topbar .soho-logo{height:22px;width:auto;display:block}.maintabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.maintab{background:none;border:none;border-bottom:2px solid transparent;color:var(--fg-muted);font-family:var(--font-sans);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em;padding:8px 14px;margin-bottom:-1px;cursor:pointer}.maintab:hover{color:var(--fg)}.maintab.on{color:var(--fg);border-bottom-color:var(--accent)}.subtabrow{display:flex;align-items:center;gap:12px}.runbar{display:flex;align-items:center;gap:10px}.runbar-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle)}.runbar select{font-family:var(--font-mono);font-size:12px;padding:6px 10px;background:var(--bg);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.wrap{max-width:1440px;margin:0 auto;padding:20px 24px 64px;display:flex;flex-direction:column;gap:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.toolbar select,.toolbar input[type=text]{font-family:var(--font-sans);font-size:13px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg)}.tabla-wrap{overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}table.plan{width:100%;border-collapse:collapse;font-size:13px}table.plan th{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);text-align:left;padding:10px;border-bottom:2px solid var(--border-strong);position:sticky;top:0;background:var(--bg);cursor:pointer;white-space:nowrap}table.plan th[data-tip]{text-decoration:underline dotted var(--border-strong);text-underline-offset:3px}table.plan th[data-tip]:hover:before{content:attr(data-tip);position:absolute;left:8px;top:calc(100% + 2px);z-index:40;width:max-content;max-width:280px;white-space:normal;text-transform:none;letter-spacing:normal;text-align:left;font-family:var(--font-sans);font-size:12px;font-weight:400;line-height:1.4;color:var(--fg);background:var(--bg-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:8px 10px;pointer-events:none}.statrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.stat{display:inline-flex;align-items:baseline;gap:6px;padding:5px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:12.5px;color:var(--fg-muted)}.stat b{font-family:var(--font-mono);color:var(--fg);font-weight:600}.regla-evidencia{border-left:2px solid var(--border-strong);padding-left:10px;margin:8px 0 12px;font-size:12px;color:var(--fg-muted)}.regla-evidencia .eyebrow{display:block;font-size:9.5px;margin-bottom:2px}table.plan td{padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap}table.plan tr.rechazada td{opacity:.45}table.plan tr:hover td{background:var(--bg-subtle)}table.plan th.num,table.plan td.num{text-align:right}table.plan td.num{font-family:var(--font-mono)}table.plan th:hover{color:var(--fg)}table.plan th.sort-asc:after{content:" ▲";font-size:7px}table.plan th.sort-desc:after{content:" ▼";font-size:7px}.acciones{display:flex;gap:4px}.acciones button{border:1px solid var(--border-strong);background:var(--bg);border-radius:var(--radius-sm);width:26px;height:26px;cursor:pointer;font-size:13px;line-height:1;color:var(--fg-muted)}.acciones button:hover{border-color:var(--accent);color:var(--accent)}.acciones button.on-ok{background:var(--success);border-color:var(--success);color:#fff}.acciones button.on-bad{background:var(--danger);border-color:var(--danger);color:#fff}input.qty-edit{width:58px;font-family:var(--font-mono);font-size:13px;padding:4px 6px;border:1px solid var(--accent);border-radius:var(--radius-sm)}.dropzone{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.dropzone label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-muted)}.lk{cursor:pointer}.lk:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.backbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.crumbs{display:flex;align-items:center;gap:4px;font-size:12px;flex-wrap:wrap}.crumb{cursor:pointer;color:var(--fg-muted)}.crumb:hover{color:var(--fg)}.crumb.on{color:var(--fg);font-weight:600;cursor:default}.crumb-sep{color:var(--fg-subtle);margin:0 4px}.selcell{width:26px;text-align:center}table.plan th.selcell{cursor:pointer}.selcell input[type=checkbox]{accent-color:var(--accent);cursor:pointer;margin:0;vertical-align:middle}table.plan tr.sel td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-sm)}.bulkbar select{font-family:var(--font-sans);font-size:12px;padding:5px 8px;background:var(--bg);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.bulkbar .btn.ghost.on{border-color:var(--accent);color:var(--fg)}.det-sec{display:flex;flex-direction:column;gap:8px}.det-head{display:flex;align-items:center;gap:12px}.det-head h3{margin:0;font-size:14px}@font-face{font-family:Soho Sans;src:url(/fonts/HelvNeue55.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Soho Sans;src:url(/fonts/HelvNeue65.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Soho Cond;src:url(/fonts/HelvNeue57.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Soho Heavy;src:url(/fonts/HelvNeue83.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Ronda;src:url(/fonts/RondaEF.ttf) format("opentype");font-weight:400;font-display:swap}:root{--day-violet:#907db9;--day-lila:#ac8cc0;--day-rosa:#e19eb1;--day-durazno:#f7a88f;--day-amarillo:#f6d57d;--night-azul:#a9bbd2;--night-lila:#c4bac6;--night-rosa:#dcadb1;--night-malva:#b081a7;--night-violeta:#7e6fa7;--font-sans: "Soho Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-display: "Soho Heavy", var(--font-sans);--font-mono: "Soho Cond", var(--font-sans);--font-ronda: "Ronda", var(--font-sans);--radius-xs:0;--radius-sm:2px;--radius-md:2px;--radius-lg:2px;--radius-xl:2px;--radius-pill:2px;--shadow-xs:none;--shadow-sm:none;--shadow-md:0 4px 8px rgba(0,0,0,.5);--shadow-lg:0 8px 16px rgba(0,0,0,.6);--text-xs:.625rem;--text-sm:.75rem;--text-base:.8125rem;--text-lg:.875rem;--text-xl:1rem;--text-2xl:1.125rem;--text-3xl:1.25rem;--text-4xl:1.375rem;--text-5xl:1.5rem}:root,[data-theme=night]{color-scheme:dark;--bg: #000000;--bg-subtle: #000000;--bg-sunken: #0d0d0d;--bg-inverse: #000000;--fg: #f0f0f0;--fg-muted: #cccccc;--fg-subtle: #999999;--fg-on-inverse: #f0f0f0;--fg-inverse: #111111;--fg-on-dark: #f0f0f0;--fg-on-dark-muted: rgba(255,255,255,.66);--accent: var(--night-azul);--accent-hover: var(--night-lila);--accent-press: var(--night-violeta);--accent-fg: #111111;--accent2: var(--night-malva);--border: rgba(255,255,255,.12);--border-strong: rgba(255,255,255,.2);--success: #6fae8c;--danger: #e0697f;--warning: var(--day-amarillo);--info: var(--night-azul);--ink-50:#000000;--ink-100:#0d0d0d;--ink-200:rgba(255,255,255,.12);--ink-300:rgba(255,255,255,.2);--ink-400:#777777;--ink-500:#888888;--ink-600:#cccccc;--ink-700:#dddddd;--ink-800:#eeeeee;--ink-900:#f0f0f0;--green-50:#182a21;--helios-green:#000000;--orange-100:rgba(169,187,210,.12);--orange-700:var(--night-azul)}[data-theme=day]{color-scheme:light;--bg: #ffffff;--bg-subtle: #faf9fc;--bg-sunken: #f4f1f8;--bg-inverse: #ffffff;--fg: #2b2733;--fg-muted: #7d7689;--fg-subtle: #a9a3b3;--fg-on-inverse: #2b2733;--fg-inverse: #ffffff;--fg-on-dark: #ffffff;--fg-on-dark-muted: rgba(255,255,255,.66);--accent: var(--day-violet);--accent-hover: var(--day-lila);--accent-press: var(--night-violeta);--accent-fg: #ffffff;--accent2: var(--night-violeta);--border: #e9e5ef;--border-strong: #d8d2e3;--success: #5e8f74;--danger: #b3435a;--warning: #8a6d17;--info: var(--night-violeta);--ink-50:#faf9fc;--ink-100:#f4f1f8;--ink-200:#e9e5ef;--ink-300:#d8d2e3;--ink-400:#a9a3b3;--ink-500:#7d7689;--ink-600:#5f596d;--ink-700:#443f52;--ink-800:#332f3d;--ink-900:#2b2733;--green-50:#e9f1ec;--helios-green:#ffffff;--orange-100:#efecf5;--orange-700:var(--day-violet);--shadow-md:0 4px 12px rgba(43,39,51,.1);--shadow-lg:0 8px 24px rgba(43,39,51,.14)}body{background:var(--bg-subtle);color:var(--fg);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.panel{background:var(--bg);box-shadow:none;border:1px solid var(--border);padding:14px}.panel h3{font-family:var(--font-display);font-weight:400;font-size:13.5px;letter-spacing:.01em}.panel .psub{font-size:12px}.btn{border-radius:2px;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500;height:30px;padding:0 12px}.btn.ghost{background:transparent;color:var(--fg-muted);border:1px solid var(--border-strong)}.btn.ghost:hover{background:var(--bg-sunken);color:var(--fg)}.chip{background:var(--bg)}.kpi{background:var(--bg);box-shadow:none;border:none;padding:12px 14px}.kpi .val{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:400;font-size:24px;letter-spacing:0;margin-top:0;line-height:1.1}.kpi .val small{font-size:13px}.kpi .eyebrow{margin-top:5px}.kpi-sub{font-size:11.5px;font-weight:400;color:var(--fg-subtle);margin-top:2px}.eyebrow,.label,.kpi .eyebrow{color:var(--fg-muted);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em}.segbtn{background:transparent;text-transform:uppercase;font-size:10.5px;padding:5px 10px}.seg .segbtn.on,.segbtn.on{background:var(--fg);color:var(--fg-inverse);border-color:var(--fg)}.badge{border-radius:2px;text-transform:uppercase;border:1px solid var(--border);background:transparent;font-size:9px;padding:2px 6px;letter-spacing:.05em;font-family:var(--font-mono)}.b-ok{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);border-color:color-mix(in srgb,var(--success) 32%,transparent)}.b-warn{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 32%,transparent)}.b-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 32%,transparent)}.b-info{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info);border-color:color-mix(in srgb,var(--info) 32%,transparent)}.b-accent{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%,transparent)}.b-neutral{background:transparent;color:var(--fg-muted);border-color:var(--border)}.note{background:var(--bg);border:1px solid var(--border);padding:10px 12px}.note .ni,.insight .ii{background:var(--bg-sunken);border-color:var(--border)}.topbar{padding:0 20px;min-height:46px;gap:14px;color:var(--fg-on-inverse)}.topbar .wordmark{color:var(--fg-on-inverse);font-size:13px;letter-spacing:.14em;font-weight:400}.topbar .brand-logo{height:20px}.topbar .soho-logo{height:40px}[data-theme=night] .brand-logo{filter:invert(1)}.topbar .soho-logo-night,[data-theme=night] .topbar .soho-logo-day{display:none}[data-theme=night] .topbar .soho-logo-night{display:block}[data-theme=day] .topbar{border-bottom:1px solid var(--border)}.theme-toggle{border:0;background:transparent;padding:0;cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--fg-on-inverse);opacity:.75}.theme-toggle:hover{opacity:1}.theme-toggle svg{width:19px;height:19px}.theme-toggle .ico-day{display:none}[data-theme=night] .theme-toggle .ico-day{display:block}[data-theme=night] .theme-toggle .ico-night{display:none}.wrap{max-width:none;padding:14px 24px 56px;gap:12px}.kpis{gap:1px;background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}table.plan th{font-family:var(--font-mono);font-size:11.5px;font-weight:400;letter-spacing:.06em;padding:5px 8px}table.plan td{font-size:12.8px;padding:4px 8px}table.plan td.num{font-family:var(--font-sans);font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}table.plan th.sort-asc:after{content:"↑";font-size:inherit;margin-left:5px;color:var(--accent);font-weight:700}table.plan th.sort-desc:after{content:"↓";font-size:inherit;margin-left:5px;color:var(--accent);font-weight:700}.toolbar select,.toolbar input[type=text]{font-size:12px;padding:5px 8px}.runbar select{padding:5px 9px}.runbar-label{font-family:var(--font-mono)}.stat{padding:4px 10px;font-size:12px}.stat b,input.qty-edit{font-family:var(--font-sans);font-variant-numeric:tabular-nums}
