:root{--bg:#f5f6f2;--surface:#fff;--surface-2:#eef0ea;--line:#dde1d6;--fg:#1d221b;--muted:#5f6859;--accent:#457a27;--accent-ink:#fff;--accent-soft:#e6f2da;--apple:#c8382c;--leaf:#6eab43;--leaf-dark:#517f37;--lemon:#ebe962;--lemon-ink:#6b6500;--lemon-soft:#fbfadc;--c1:#517f37;--c2:#8cbf49;--c3:#d9d24a;--c4:#2f5f8a;--c5:#c8382c;--c6:#a86a00;--c7:#b9c9a8;--ok:#2f7a3d;--warn:#a86a00;--bad:#b3362b;--info:#2f5f8a;--ok-bg:#e3f0e3;--warn-bg:#f6ecd9;--bad-bg:#f6e2df;--info-bg:#e2ebf4;--f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151913;--surface:#1d221b;--surface-2:#252b22;--line:#343c30;--fg:#e8ece4;--muted:#9ba593;--accent:#8cbf49;--accent-ink:#0f1a10;--accent-soft:#26381c;--apple:#e26457;--leaf:#8cbf49;--leaf-dark:#6eab43;--lemon:#e6e15a;--lemon-ink:#e6e15a;--lemon-soft:#33321a;--c1:#8cbf49;--c2:#5f9a3a;--c3:#e6e15a;--c4:#7fb0dc;--c5:#ec7f74;--c6:#e0a944;--c7:#4b5a40;--ok:#7cc787;--warn:#e0a944;--bad:#ec7f74;--info:#7fb0dc;--ok-bg:#1f3523;--warn-bg:#3a2e17;--bad-bg:#3d221f;--info-bg:#1d2d3c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#151913;--surface:#1d221b;--surface-2:#252b22;--line:#343c30;--fg:#e8ece4;--muted:#9ba593;--accent:#8cbf49;--accent-ink:#0f1a10;--accent-soft:#26381c;--apple:#e26457;--leaf:#8cbf49;--leaf-dark:#6eab43;--lemon:#e6e15a;--lemon-ink:#e6e15a;--lemon-soft:#33321a;--c1:#8cbf49;--c2:#5f9a3a;--c3:#e6e15a;--c4:#7fb0dc;--c5:#ec7f74;--c6:#e0a944;--c7:#4b5a40;--ok:#7cc787;--warn:#e0a944;--bad:#ec7f74;--info:#7fb0dc;--ok-bg:#1f3523;--warn-bg:#3a2e17;--bad-bg:#3d221f;--info-bg:#1d2d3c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{grid-template-columns:232px 1fr;min-height:100%;display:grid}aside{background:var(--surface);border-right:1px solid var(--line);padding-block:20px;padding-left:max(14px, env(safe-area-inset-left,0px));flex-direction:column;gap:18px;height:100vh;padding-right:14px;display:flex;position:sticky;top:0;overflow:auto}.brand{font-family:var(--f-display);align-items:center;gap:10px;padding-inline:6px;font-size:19px;font-weight:700;display:flex}.brand svg{flex:none}.navgroup{flex-direction:column;gap:2px;display:flex}.navgroup h6{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;padding-inline:10px;font-size:11px;font-weight:600}.nav{text-align:left;width:100%;color:var(--fg);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.nav:hover{background:var(--surface-2)}.nav.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav .ct{font-family:var(--f-mono);color:var(--muted);margin-left:auto;font-size:11px}.nav svg{stroke:currentColor;fill:none;stroke-width:1.7px;flex:none;width:16px;height:16px}main{flex-direction:column;min-width:0;display:flex}.top{padding-block:14px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.search{border:1px solid var(--line);background:var(--bg);min-width:180px;max-width:420px;color:var(--fg);font:inherit;border-radius:8px;flex:1;padding:8px 12px}.role{border:1px solid var(--line);background:var(--bg);border-radius:999px;margin-left:auto;padding:3px;display:flex}.role button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:13px}.role button.on{background:var(--fg);color:var(--bg);font-weight:600}.me{align-items:center;gap:8px;font-size:13px;display:flex}.av{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.view{padding-block:24px 48px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));flex-direction:column;gap:20px;width:100%;max-width:1240px;display:flex}.vh{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.vh h1{font-family:var(--f-display);text-wrap:balance;margin:0;font-size:28px;font-weight:700;line-height:1.1}.vh p{color:var(--muted);max-width:65ch;margin:4px 0 0}.vh .actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px;font-weight:500}.btn:hover{border-color:var(--muted)}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.sample{letter-spacing:.06em;text-transform:uppercase;color:var(--warn);background:var(--warn-bg);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.kpi .l{color:var(--muted);font-size:12px}.kpi .v{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.kpi .d{color:var(--muted);font-size:12px}.bar{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.grid2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0}.panel>header{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 16px;display:flex}.panel>header h3{margin:0;font-size:14px;font-weight:600}.panel>header .x{color:var(--muted);margin-left:auto;font-size:12px}.pbody{padding:12px 16px}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}tr:last-child td{border-bottom:0}tbody tr.click{cursor:pointer}tbody tr.click:hover td{background:var(--surface-2)}.mono{font-family:var(--f-mono);font-size:12px}.num{text-align:right;font-variant-numeric:tabular-nums}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.ok{color:var(--ok);background:var(--ok-bg)}.warn{color:var(--warn);background:var(--warn-bg)}.bad{color:var(--bad);background:var(--bad-bg)}.info{color:var(--info);background:var(--info-bg)}.neu{color:var(--muted);background:var(--surface-2)}.tag{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:11px}.list{flex-direction:column;display:flex}.li{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.li:last-child{border-bottom:0}.li .t{font-weight:500}.li .s{color:var(--muted);font-size:12px}.li .r{text-align:right;color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 12px;text-decoration:none}.tab.on{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.kanban{grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:6px;display:grid;overflow-x:auto}.col{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:8px;min-height:200px;padding:10px;display:flex}.col h4{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin:0;font-size:12px;font-weight:600;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.card .n{font-weight:600}.card .m{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.partners{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.pcard{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:10px;flex-direction:column;gap:8px;padding:14px;display:flex}.pcard:hover{border-color:var(--accent)}.pcard .h{align-items:center;gap:10px;display:flex}.logo{width:36px;height:36px;font-family:var(--f-display);background:var(--surface-2);border-radius:8px;flex:none;place-items:center;font-weight:700;display:grid}.pcard .meta{color:var(--muted);font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px}.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.doc{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.doc:last-child{border-bottom:0}.pdf{background:var(--bad-bg);width:34px;height:40px;color:var(--bad);font-size:10px;font-weight:700;font-family:var(--f-mono);border-radius:4px;flex:none;place-items:center;display:grid}.doc .t{font-weight:500}.doc .s{color:var(--muted);font-size:12px}.doc .acts{align-items:center;gap:6px;margin-left:auto;display:flex}.new{letter-spacing:.06em;color:var(--apple);text-transform:uppercase;font-size:10px;font-weight:700}.drawer-bg{z-index:30;background:#0a0e096b;position:fixed;inset:0}.drawer{background:var(--bg);z-index:31;border-left:1px solid var(--line);width:min(560px,100%);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer header{border-bottom:1px solid var(--line);background:var(--surface);align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.drawer header h2{font-family:var(--f-display);margin:0;font-size:22px}.drawer .body{flex-direction:column;gap:14px;padding:16px 20px;display:flex;overflow:auto}.close{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:32px;height:32px;margin-left:auto}dl{grid-template-columns:150px 1fr;gap:8px 12px;margin:0;font-size:13px;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;min-width:0;margin:0}.form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.form .full{grid-column:1/-1}.form input,.form select{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.drop{border:1.5px dashed var(--line);text-align:center;color:var(--muted);background:var(--surface);border-radius:10px;padding:22px}.toast{bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);z-index:40;border-radius:8px;padding:10px 16px;font-weight:500;position:fixed;left:50%;transform:translate(-50%)}.note{color:var(--muted);background:var(--surface-2);border-radius:8px;padding:10px 14px;font-size:13px}.lock{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.pin{text-align:right;width:58px;font:inherit;font-family:var(--f-mono);border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;padding:5px 6px;font-size:12px}.tab-wrap{max-height:560px;overflow:auto}.matrix th{background:var(--surface);z-index:1;position:sticky;top:0}.matrix td,.matrix th{padding:6px 8px}.matrix .stick{background:var(--surface);z-index:2;white-space:normal;min-width:190px;position:sticky;left:0}.matrix th.stick{z-index:3}.rank{font-family:var(--f-display);width:24px;color:var(--muted);font-size:16px;font-weight:700}@media (max-width:900px){.app{grid-template-columns:1fr}aside{height:auto;padding:10px max(16px, env(safe-area-inset-right,0px)) 10px max(16px, env(safe-area-inset-left,0px));border-right:0;border-bottom:1px solid var(--line);flex-direction:row;gap:14px;position:static;overflow-x:auto}.navgroup{flex-direction:row;gap:2px}.navgroup h6{display:none}.nav{white-space:nowrap;width:auto}.nav .ct,.brand span{display:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}.top,.view{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.me .who{display:none}.form{grid-template-columns:1fr}dl{grid-template-columns:120px 1fr}}@media (prefers-reduced-motion:no-preference){.drawer{animation:.18s ease-out slide}@keyframes slide{0%{opacity:.6;transform:translate(24px)}}}a{color:inherit}a.nav{text-decoration:none}a.btn{align-items:center;text-decoration:none;display:inline-flex}.brand img{flex:none}.err{color:var(--bad);background:var(--bad-bg);border-radius:8px;padding:8px 12px;font-size:13px}.okmsg{color:var(--ok);background:var(--ok-bg);border-radius:8px;padding:8px 12px;font-size:13px}.login{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login .box{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:16px;width:min(380px,100%);padding:28px;display:flex}.login h1{font-family:var(--f-display);margin:0;font-size:24px}.login .form{grid-template-columns:1fr}.pager{border-top:1px solid var(--line);color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.form textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:70px;padding:8px 10px}.search-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-form select{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.wrap{white-space:normal}.stack{flex-direction:column;gap:16px;display:flex}.top{position:relative}.top:after{content:"";background:linear-gradient(90deg,var(--leaf-dark),var(--leaf) 45%,var(--lemon));height:3px;position:absolute;bottom:-1px;left:0;right:0}.kpi{position:relative;overflow:hidden}.kpi:before{content:"";background:var(--leaf);width:4px;position:absolute;top:0;bottom:0;left:0}.kpi:nth-child(2):before{background:var(--lemon)}.kpi:nth-child(3):before{background:var(--leaf-dark)}.kpi:nth-child(4):before{background:var(--c2)}.kpi .v{color:var(--leaf-dark)}.panel>header h3:before{content:"";background:var(--lemon);width:8px;height:8px;box-shadow:0 0 0 2px var(--leaf);vertical-align:1px;border-radius:50%;margin-right:8px;display:inline-block}.bar i{background:linear-gradient(90deg,var(--leaf-dark),var(--leaf),var(--lemon))}.btn.pri{background:linear-gradient(135deg,var(--leaf-dark),var(--accent));border-color:var(--leaf-dark)}.av{background:var(--lemon-soft);color:var(--leaf-dark);box-shadow:0 0 0 2px var(--leaf)}.vh h1{background:linear-gradient(90deg,var(--fg) 60%,var(--leaf-dark));color:#0000;-webkit-background-clip:text;background-clip:text}.donuts{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;display:grid}.donut{align-items:center;gap:16px;padding:16px;display:flex}.donut svg{flex:none;width:132px;height:132px}.donut .ctr{font-family:var(--f-display);fill:var(--fg);font-size:20px;font-weight:700}.donut .ctrs{fill:var(--muted);font-size:10px}.donut ul{flex-direction:column;flex:1;gap:5px;min-width:0;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.donut li{align-items:center;gap:7px;display:flex}.donut li i{border-radius:3px;flex:none;width:10px;height:10px}.donut li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.donut li b{white-space:nowrap;font-family:var(--f-mono);margin-left:auto;padding-left:8px;font-size:12px;font-weight:500}aside{color:#eef5e6;background:linear-gradient(#1f4a17 0%,#2c5f1f 60%,#3d7a29 100%);border-right:0}aside .brand span{color:#fff}aside .navgroup h6{color:#a9c98f}aside .nav{color:#e3eedb;border-radius:999px;padding:8px 14px;transition:background .15s,color .15s}aside .nav:hover{color:#fff;background:#ffffff17}aside .nav.on{background:var(--lemon);color:#1f3a12;font-weight:600;box-shadow:0 2px 8px #0000002e}aside .nav.on svg{stroke:#1f3a12}aside .nav .ct{color:#a9c98f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) aside{background:linear-gradient(#11200d 0%,#17301a 100%)}}:root[data-theme=dark] aside{background:linear-gradient(#11200d 0%,#17301a 100%)}.linkbtn{color:var(--accent);font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.timeline{border-left:2px solid var(--line);margin:8px 0 0;padding:0 0 0 14px;list-style:none}.timeline li{padding:3px 0 7px 6px;font-size:13px;position:relative}.timeline li:before{content:"";background:var(--muted);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:-21px}.timeline li.fecha:before{background:var(--leaf)}.timeline li.estado:before{background:var(--accent)}.timeline li.dinero:before{background:var(--lemon);border:1px solid #b9b72a}.timeline li.doc:before{background:#7aa7d8}.chat{flex-direction:column;gap:12px;display:flex}.chat-empty{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-empty p{width:100%;color:var(--muted);margin:0;font-size:13px}.bubble{border-radius:12px;max-width:85%;padding:10px 14px;line-height:1.5}.bubble p{margin:0 0 6px}.bubble p:last-child{margin:0}.bubble ul{margin:4px 0 6px;padding-left:20px}.bubble.user{background:var(--lemon);white-space:pre-wrap;align-self:flex-end}.bubble.assistant{background:var(--bg2,#f3f5ef);border:1px solid var(--line,#e3e6dc);align-self:flex-start}.bubble.err{color:#b33}.bubble.muted{color:var(--muted);font-style:italic}.chat-form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.chat-form textarea{min-width:220px;font:inherit;border:1px solid var(--line,#d9dccf);resize:vertical;border-radius:8px;flex:1;padding:8px 10px}.flabel{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.seg{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg label{cursor:pointer;margin:0;display:block}.seg input{opacity:0;pointer-events:none;position:absolute}.seg span{border-right:1px solid var(--line);padding:7px 16px;font-size:14px;display:block}.seg label:last-child span{border-right:none}.seg input:checked+span{background:var(--lemon);font-weight:600}.seg input:focus-visible+span{outline:2px solid var(--leaf);outline-offset:-2px}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface) 50%,var(--surface-2) 75%);background-size:200% 100%;border-radius:10px;animation:1.2s linear infinite skel}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}
