@font-face{font-family:Work Sans;src:url(/fonts/WorkSans-Light.ttf) format("truetype");font-weight:300;font-display:swap}@font-face{font-family:Work Sans;src:url(/fonts/WorkSans-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Work Sans;src:url(/fonts/WorkSans-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Work Sans;src:url(/fonts/WorkSans-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}:root{--black:#000000;--charcoal:#383e46;--stone:#a59d95;--white:#ffffff;--ink:#16181b;--ink-2:#4a4f56;--ink-3:#7b7f85;--paper:#f5f3f0;--paper-2:#ece8e3;--line:#e3ded8;--line-2:#d4cec6;--card:#ffffff;--side:#17191c;--side-2:#22252a;--plan:#383e46;--real:#1f7a8c;--real-soft:#d9ecef;--ok:#2f8a57;--ok-soft:#e3f2e9;--warn:#c3841a;--warn-soft:#fbf0dc;--bad:#c2452d;--bad-soft:#f9e4df;--info:#3e5c76;--radius:12px;--shadow:0 1px 2px rgba(22,24,27,0.04),0 4px 16px rgba(22,24,27,0.04);--font:"Work Sans",ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--paper);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.num,.tabular,td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.side{background:var(--side);color:#d8d4cf;padding:20px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;overflow-y:auto}.side .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 0}.side .brand img{height:22px;width:auto}.side .brand .os{font-size:11px;letter-spacing:.18em;color:var(--stone);border:1px solid #3a3e44;border-radius:4px;padding:1px 6px}.side h6{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8a857f;margin:0 0 6px 10px;font-weight:500}.nav{flex-direction:column;gap:1px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:#c9c4be;font-size:13.5px}.nav a:hover{background:var(--side-2);color:#fff}.nav a.active{background:#2b2f35;color:#fff}.nav a svg{width:16px;height:16px;opacity:.8}.nav a .meta{margin-left:auto;font-size:11px;color:#8a857f}.side .foot{margin-top:auto;font-size:11.5px;color:#77726c;padding:0 10px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot.ok{background:var(--ok)}.dot.riesgo{background:var(--warn)}.dot.atrasado{background:var(--bad)}.main{min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:16px;padding:12px 28px;background:rgba(245,243,240,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:8px;color:var(--ink-3);font-size:13px}.crumbs b{color:var(--ink);font-weight:500}.searchbtn{margin-left:auto;display:flex;white-space:nowrap;overflow:hidden;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px 10px;width:300px;color:var(--ink-3);cursor:pointer;font-size:13px}.searchbtn kbd,kbd{font-family:var(--font);font-size:11px;border:1px solid var(--line-2);border-radius:4px;padding:0 5px;color:var(--ink-3);background:var(--paper)}.page{padding:26px 28px 60px;max-width:1480px}h1{font-size:26px;letter-spacing:-.015em}h1,h2{font-weight:500;margin:0}h2{font-size:15px;letter-spacing:-.005em}h3{font-size:13px;margin:0}.eyebrow,h3{font-weight:500}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.eyebrow,.muted{color:var(--ink-3)}.small{font-size:12px}.lead{color:var(--ink-2);font-size:14.5px;max-width:760px}.row{display:flex;gap:16px;align-items:center}.between{justify-content:space-between}.grid{display:grid;grid-gap:16px;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}.span2{grid-column:span 2}.stack{display:flex;flex-direction:column;gap:16px}.mt{margin-top:16px}.mt2{margin-top:24px}.mb{margin-bottom:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;min-width:0}.card.flush{padding:0;overflow:hidden}.card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.card-h .takeaway{font-size:12.5px;color:var(--ink-3)}.kpi{display:flex;flex-direction:column;gap:6px}.kpi .v{font-size:28px;font-weight:500;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.kpi .v small{font-size:14px;color:var(--ink-3);font-weight:400;margin-left:2px}.kpi .l{color:var(--ink-3)}.kpi .d,.kpi .l{font-size:12px}.up{color:var(--ok)}.down{color:var(--bad)}.flat{color:var(--ink-3)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:2px 9px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);white-space:nowrap;font-weight:500}.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.pill.riesgo,.pill.warn{background:var(--warn-soft);color:#9a6511;border-color:transparent}.pill.atrasado,.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}.pill.info{background:#e6ecf1;color:var(--info)}.pill.dark,.pill.info{border-color:transparent}.pill.dark{background:var(--charcoal);color:#fff}.prio{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;font-size:11px;font-weight:600;color:#fff;flex:none}.prio.A{background:var(--bad)}.prio.B{background:var(--warn)}.prio.C{background:var(--stone)}.disc{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.disc i{width:8px;height:8px;border-radius:2px;display:inline-block}.avatar{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-size:10.5px;font-weight:600;flex:none;letter-spacing:.02em}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;font-weight:500;color:var(--ink-3);font-size:11.5px;letter-spacing:.02em;padding:9px 12px;border-bottom:1px solid var(--line);background:#faf9f7;position:-webkit-sticky;position:sticky;top:0}table.t td{padding:10px 12px;border-bottom:1px solid #efebe6;vertical-align:middle}table.t tr:last-child td{border-bottom:none}table.t tr.group td{background:#faf9f7;font-weight:500;font-size:12px;color:var(--ink-2)}table.t tr:hover td{background:#fbfaf8}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:var(--card);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;font-weight:500;color:var(--ink);white-space:nowrap}.btn:hover{border-color:var(--stone)}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:#000}.btn.ghost{border-color:transparent;background:transparent}.btn.sm{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.btn svg{width:15px;height:15px}.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--ink-3)}.field input,.field select,.field textarea,.input{border:1px solid var(--line-2);border-radius:8px;padding:7px 10px;background:#fff;font-size:13.5px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--charcoal);box-shadow:0 0 0 3px rgba(56,62,70,.1)}textarea{resize:vertical}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:18px 0 22px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tabs a{white-space:nowrap;padding:9px 14px;font-size:13.5px;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;gap:8px;align-items:center}.tabs a.active,.tabs a:hover{color:var(--ink)}.tabs a.active{border-color:var(--ink);font-weight:500}.tabs a .count{font-size:11px;border-radius:999px;padding:0 7px;color:var(--ink-2)}.bar,.tabs a .count{background:var(--paper-2)}.bar{height:6px;overflow:hidden;position:relative}.bar,.bar>span{border-radius:99px}.bar>span{display:block;height:100%;background:var(--real)}.bar .plan{position:absolute;top:-3px;width:2px;height:12px;background:var(--plan);border-radius:1px}.feed{display:flex;flex-direction:column}.feed-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid #efebe6;align-items:flex-start}.feed-item:last-child{border-bottom:none}.feed-item .t{font-size:13.5px}.feed-item .m{font-size:12px;color:var(--ink-3);margin-top:2px}.pcard{display:grid;grid-template-columns:76px 1fr;grid-gap:16px;gap:16px;align-items:center;transition:border-color .15s,transform .15s}.pcard:hover{border-color:var(--stone);transform:translateY(-1px)}.pcard .stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:12px}.pcard .stats div{font-size:11.5px;color:var(--ink-3)}.pcard .stats b{display:block;font-size:15px;color:var(--ink);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board{display:grid;grid-template-columns:repeat(5,minmax(196px,1fr));grid-gap:12px;gap:12px;align-items:start;overflow-x:auto}.col{background:var(--paper-2);border-radius:12px;padding:10px;min-height:240px}.col.over{outline:2px dashed var(--stone)}.col-h{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 10px;font-size:12.5px;font-weight:500}.col-h small{color:var(--ink-3);font-weight:400}.icard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 11px;margin-bottom:8px;cursor:-webkit-grab;cursor:grab;box-shadow:0 1px 1px rgba(0,0,0,.03)}.icard:active{cursor:-webkit-grabbing;cursor:grabbing}.icard .ttl{font-size:13px;margin:6px 0 8px;line-height:1.35}.icard .meta{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--ink-3)}.sla{font-size:11px;font-weight:500}.sla.late{color:var(--bad)}.sla.soon{color:#9a6511}.sla.fine{color:var(--ink-3)}.heat{display:grid;grid-gap:3px;gap:3px}.heat .cell{height:38px;border-radius:6px;display:grid;place-items:center;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;position:relative}.heat .cell.past{opacity:.88}.heat .hdr{font-size:11px;color:var(--ink-3);text-align:center;padding-bottom:4px}.heat .who{display:flex;gap:10px;align-items:center;font-size:13px;padding-right:10px}.scrim{position:fixed;inset:0;background:rgba(23,25,28,.28);z-index:40}.drawer{right:0;top:0;bottom:0;width:420px;z-index:41;box-shadow:-10px 0 40px rgba(0,0,0,.12);padding:22px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.cmdk,.drawer{position:fixed;background:#fff}.cmdk{left:50%;top:14vh;transform:translateX(-50%);width:620px;max-width:calc(100vw - 32px);border-radius:14px;z-index:61;box-shadow:0 30px 80px rgba(0,0,0,.25);overflow:hidden;border:1px solid var(--line)}.cmdk input{width:100%;border:none;outline:none;padding:16px 18px;font-size:16px;border-bottom:1px solid var(--line)}.cmdk .res{max-height:50vh;overflow-y:auto;padding:6px}.cmdk .res a{display:flex;gap:12px;align-items:center;padding:9px 12px;border-radius:8px;font-size:13.5px}.cmdk .res a.sel,.cmdk .res a:hover{background:var(--paper)}.cmdk .res .k{font-size:11px;color:var(--ink-3);margin-left:auto}.cmdk-scrim{position:fixed;inset:0;background:rgba(23,25,28,.35);z-index:60}.gantt{display:grid;grid-template-columns:430px 1fr;border-top:1px solid var(--line)}.gantt .left{border-right:1px solid var(--line)}.gantt .right{overflow-x:auto;position:relative}.gantt .grow{height:34px;display:flex;align-items:center;border-bottom:1px solid #f0ece7;font-size:13px;padding:0 12px;gap:8px;cursor:pointer;white-space:nowrap}.gantt .grow.hl,.gantt .grow:hover{background:#faf8f5}.gantt .grow.sum{font-weight:500;background:#fbfaf8}.gantt .ghead{height:46px;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;padding:0 12px 7px;font-size:11.5px;color:var(--ink-3);gap:8px;background:#faf9f7}.gantt .wbs{width:34px;color:var(--ink-3);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.gantt .tname{overflow:hidden;text-overflow:ellipsis;flex:1 1}.gantt .cpct{width:44px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-2);flex:none}.empty{padding:40px;text-align:center}.empty,.legend{color:var(--ink-3)}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px}.legend span{display:inline-flex;gap:6px;align-items:center}.legend i{display:inline-block;width:14px;height:4px;border-radius:2px}.callout{border-left:3px solid var(--charcoal);background:#faf9f7;padding:12px 14px;border-radius:0 8px 8px 0;font-size:13.5px;color:var(--ink-2)}.callout.warn{border-color:var(--warn);background:#fdf8ee}.callout.bad{border-color:var(--bad);background:#fdf3f1}@media (max-width:1100px){.shell{grid-template-columns:64px 1fr}.nav a .meta,.nav a span,.side .brand .os,.side .brand img,.side .foot,.side h6{display:none}.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr 1fr}.gantt{grid-template-columns:300px 1fr}.searchbtn{width:200px}}@media (max-width:760px){.g2,.g3,.g4,.g5{grid-template-columns:1fr}.span2{grid-column:auto}.page{padding:18px 16px 40px}.topbar{padding:10px 16px}}.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,1fr)}.auth-art{background:var(--side);color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-logo{height:34px;width:auto;align-self:flex-start}.auth-claim p{font-size:28px;font-weight:300;line-height:1.3;max-width:460px;margin:10px 0 0;letter-spacing:-.01em;color:#ece8e3}.auth-icon{position:absolute;right:-60px;bottom:60px;width:520px;opacity:.22}.auth-form{display:grid;place-items:center;padding:40px 24px;background:var(--paper)}.auth-card{width:100%;max-width:380px}.auth-card h1{font-size:24px}.userchip{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--side-2)}.userchip .who{min-width:0;flex:1 1}.userchip .who div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;color:#e9e5e0}.userchip .who small{color:#8a857f;font-size:11px}.userchip button{background:none;border:none;color:#8a857f;cursor:pointer;padding:4px;border-radius:6px;display:grid}.userchip button:hover{color:#fff;background:#2b2f35}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-art{min-height:200px;padding:28px}.auth-claim p{font-size:20px}.auth-icon{display:none}}@media (max-width:1100px){.side{overflow-x:hidden}.userchip{flex-direction:column;padding:6px 0;gap:6px;background:none}.side .foot>div:last-child,.userchip .who,.userchip>a{display:none}}.admin-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}@media (max-width:1280px){.admin-grid{grid-template-columns:1fr}}.ts td.off,.ts th.off{background:#f7f5f2}.tscell{width:100%;max-width:64px;text-align:center;border:1px solid transparent;border-radius:7px;padding:6px 4px;background:transparent;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13.5px;outline:none}.tscell:hover:not(:disabled){border-color:var(--line-2);background:#fff}.tscell:focus{border-color:var(--charcoal);background:#fff;box-shadow:0 0 0 3px rgba(56,62,70,.1)}.tscell::placeholder{color:#cfc9c2}.tscell.saving{border-color:var(--line-2)}.tscell.saved{box-shadow:inset 0 -2px 0 var(--real)}.tscell.error{border-color:var(--bad);background:var(--bad-soft)}.tscell:disabled{color:var(--ink-2);cursor:not-allowed}.ts tfoot td{border-top:1px solid var(--line);background:#faf9f7;padding:10px 12px}.builder{display:flex;flex-direction:column;height:calc(100vh - 57px)}.bld-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap}.bld-name{font:inherit;font-size:17px;font-weight:500;border:1px solid transparent;border-radius:8px;padding:4px 8px;background:transparent;min-width:220px;outline:none}.bld-name:focus,.bld-name:hover{border-color:var(--line-2);background:#fff}.bld-body{flex:1 1;display:grid;grid-template-columns:250px minmax(0,1fr) 300px;min-height:0}.bld-insp,.bld-lib{overflow-y:auto;padding:16px;background:#fff}.bld-lib{border-right:1px solid var(--line)}.bld-insp{border-left:1px solid var(--line)}.bld-item{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px;margin-bottom:7px;cursor:-webkit-grab;cursor:grab;font-size:13px}.bld-item:hover{border-color:var(--stone);box-shadow:var(--shadow)}.bld-item.blocked{opacity:.45;cursor:not-allowed}.bld-item .small{margin-top:2px;line-height:1.35}.bld-canvas{overflow:auto;background:#e9e5e0;padding:20px 0}.bld-canvas .report{gap:28px}.bld-canvas .rpage{zoom:.62}.bld-page{flex-direction:column;border-radius:6px;position:relative}.bld-page,.bld-pagebar{display:flex;align-items:center;gap:6px}.bld-pagebar{width:calc(11in * .62)}.bld-pagebar .input{padding:4px 8px;font-size:12.5px;width:260px}.bld-page.active .rpage{box-shadow:0 0 0 4px rgba(31,122,140,.35),0 18px 50px rgba(0,0,0,.1)}.bld-empty{position:absolute;top:45%;left:50%;transform:translateX(-50%);font-size:13px;color:var(--ink-3);border:2px dashed var(--line-2);padding:18px 28px;border-radius:12px;background:rgba(255,255,255,.7);pointer-events:none}.bld-sec{position:relative;border-radius:6px;cursor:pointer;outline:2px solid transparent;outline-offset:3px;transition:outline-color .12s}.bld-sec:hover{outline-color:#cfc9c2}.bld-sec.selected{outline-color:var(--real)}.bld-sec.dragging{opacity:.4}.bld-sec.dropbefore{box-shadow:0 -6px 0 -2px var(--real)}.bld-tools{position:absolute;top:-34px;right:0;z-index:3;zoom:1.6;display:flex;align-items:center;gap:2px;background:var(--ink);color:#fff;border-radius:8px;padding:3px 6px;box-shadow:0 6px 18px rgba(0,0,0,.2);white-space:nowrap}.bld-tools b{margin:0 6px 0 2px;font-weight:500}.bld-tools button{background:none;border:none;color:#fff;padding:3px 4px;border-radius:5px;cursor:pointer;display:grid}.bld-tools button:hover:not(:disabled){background:#2b2f35}.bld-tools button:disabled{opacity:.35;cursor:default}@media (max-width:1280px){.bld-body{grid-template-columns:210px minmax(0,1fr) 260px}.bld-canvas .rpage{zoom:.5}.bld-pagebar{width:calc(11in * .5)}.bld-tools{zoom:2}}.drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px;border:2px dashed var(--line-2);text-align:center;cursor:pointer;color:var(--ink-2);box-shadow:none}.drop.over,.drop:hover{border-color:var(--real);background:#f5fafb}.qopt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line-2);background:#fff;border-radius:10px;padding:8px 12px;cursor:pointer;font-size:13px;min-width:120px}.qopt span{font-size:12px;color:var(--ink-3)}.qopt:hover:not(:disabled){border-color:var(--stone)}.qopt[data-on]{border-color:var(--real);background:var(--real-soft);box-shadow:inset 0 0 0 1px var(--real)}.qopt:disabled{cursor:default}.qimp{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.qimp i{font-style:normal;font-size:10.5px;padding:1px 6px;border-radius:99px;background:var(--paper-2);color:var(--ink-2)}.qimp i.ok{background:var(--ok-soft);color:var(--ok)}.qimp i.warn{background:var(--warn-soft);color:#9a6511}.qimp i.bad{background:var(--bad-soft);color:var(--bad)}.bepmx td,.bepmx th{text-align:center}.bepmx td:first-child{text-align:left;font-size:12.5px}.mx{width:44px;height:30px;border-radius:6px;border:1px solid var(--line);font-weight:600;cursor:pointer;background:var(--paper)}.mx.pA{background:var(--bad-soft);color:var(--bad)}.mx.pB{background:var(--warn-soft);color:#9a6511}.mx.pC{background:var(--paper-2)}.mx.pNA{background:#fff;color:var(--ink-3)}.mx:disabled{cursor:default}.ai-fab{position:fixed;right:22px;bottom:22px;z-index:40;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:none;background:var(--ink);color:#fff;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 6px 24px rgba(22,24,27,.22)}.ai-fab:hover{background:#000}.ai-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:45;background:var(--card);border-left:1px solid var(--line);box-shadow:-12px 0 40px rgba(22,24,27,.12);display:flex;flex-direction:column}.ai-body{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-suggest{text-align:left;border:1px solid var(--line);background:#faf9f7;border-radius:10px;padding:9px 12px;font-size:13px;color:var(--ink-2);cursor:pointer}.ai-suggest:hover:not(:disabled){border-color:var(--stone);background:#fff}.ai-suggest:disabled{opacity:.55;cursor:default}.ai-msg{font-size:13.5px;line-height:1.5;color:var(--ink);max-width:100%}.ai-msg p,.ai-msg ul{margin:0 0 8px}.ai-msg ul{padding-left:18px}.ai-msg li{margin:2px 0}.ai-msg.user{align-self:flex-end;background:var(--charcoal);color:#fff;padding:8px 12px;border-radius:12px 12px 2px 12px;max-width:85%}.ai-msg.user p{margin:0;white-space:pre-wrap}.ai-msg.assistant{background:#faf9f7;border:1px solid #efebe6;padding:10px 12px;border-radius:12px 12px 12px 2px}.ai-msg.error{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.ai-src{margin-top:6px;font-size:11px;color:var(--ink-3)}.ai-table{border-collapse:collapse;font-size:12px;margin:4px 0 8px;width:100%}.ai-table td,.ai-table th{border-bottom:1px solid var(--line);padding:4px 6px;text-align:left;vertical-align:top}.ai-table th{color:var(--ink-3);font-weight:500}.ai-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);align-items:flex-end}.ai-input textarea{flex:1 1;resize:none;border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;font:inherit;font-size:13.5px;outline:none}.ai-input textarea:focus{border-color:var(--charcoal)}.ai-dots{display:inline-flex;gap:3px;vertical-align:middle}.ai-dots i{width:5px;height:5px;border-radius:50%;background:var(--stone);animation:aiDot 1s ease-in-out infinite}.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}@keyframes aiDot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-btn{display:inline-flex;align-items:center;gap:6px}@media print{.ai-fab,.ai-panel{display:none!important}}.new-project{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 10px;padding:9px 12px;border-radius:9px;background:linear-gradient(135deg,#2fa866,#23874f);color:#fff!important;font-size:13.5px;font-weight:600;letter-spacing:.01em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 4px 16px rgba(47,168,102,.45);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.new-project svg{width:16px;height:16px;stroke-width:2.6}.new-project:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 6px 22px rgba(47,168,102,.6)}.new-project:active{transform:translateY(0)}.new-project.active{box-shadow:inset 0 0 0 2px #7fe0a8,0 4px 16px rgba(47,168,102,.45)}.new-project:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:npShine 3.2s ease-in-out infinite}@keyframes npShine{0%{left:-60%}55%,to{left:130%}}@media (prefers-reduced-motion:reduce){.new-project:after{animation:none;display:none}}@media (max-width:1100px){.new-project{padding:9px 0}.new-project span{display:none}}.report{--rw:11in;--rh:8.5in;gap:24px;align-items:center;font-family:var(--font);color:var(--ink)}.report,.rpage{display:flex;flex-direction:column}.rpage{width:var(--rw);height:var(--rh);background:#fff;position:relative;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.06),0 18px 50px rgba(0,0,0,.1);font-size:9.5pt}.report.is-draft .rpage:after{content:"BORRADOR";position:absolute;right:.45in;bottom:.42in;font-size:9pt;letter-spacing:.3em;color:#c2452d;border:1.5px solid #c2452d;padding:2px 8px;border-radius:3px;opacity:.8}.rhead{display:grid;grid-template-columns:2.2in 1fr auto;align-items:center;background:#16181b;color:#fff;padding:.2in .45in;grid-gap:.3in;gap:.3in}.rlogo{height:.3in;width:auto;display:block}.rhead-c .rk{font-size:8pt;letter-spacing:.18em;text-transform:uppercase;color:#a59d95}.rhead-c .rp{font-size:15pt;font-weight:500;letter-spacing:.02em;margin-top:2px}.rhead-r{display:flex;gap:.28in}.rhead-r div{display:flex;flex-direction:column;align-items:flex-end}.rhead-r span{font-size:7pt;letter-spacing:.12em;text-transform:uppercase;color:#a59d95}.rhead-r b{font-size:11.5pt;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rtitle{font-size:8pt;letter-spacing:.2em;text-transform:uppercase;color:#7b7f85;border-bottom:1px solid #ece8e3;margin:0 .45in;padding:.16in 0 .06in;display:flex;align-items:center;gap:10px}.rtitle:before{content:"";width:18px;height:2px;background:#a59d95;display:inline-block}.rbody{flex:1 1;padding:.14in .45in 0;min-height:0;display:flex;flex-direction:column}.rfoot{display:flex;justify-content:space-between;font-size:7pt;color:#7b7f85;border-top:1px solid #ece8e3;margin:0 .45in;padding:.12in 0 .16in;letter-spacing:.02em}.r-grid-1{grid-template-columns:3.1in 1fr;grid-gap:.18in}.r-grid-1,.r-grid-2{display:grid;gap:.18in}.r-grid-2{grid-template-columns:1.15fr 1fr;grid-gap:.18in;margin-top:.14in}.r-grid-3{grid-template-columns:1.45fr 1fr;grid-gap:.16in}.r-grid-3,.r-grid-4{display:grid;gap:.16in}.r-grid-4{grid-template-columns:1fr 1fr;grid-gap:.16in}.r-col{display:flex;flex-direction:column;gap:10px}.r-card{border:1px solid #ece8e3;border-radius:8px;padding:10px 12px;min-width:0}.r-card h4,.r-summary h4{margin:0 0 8px;font-size:7.5pt;letter-spacing:.14em;text-transform:uppercase;color:#4a4f56;font-weight:600;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.r-count{font-weight:400;letter-spacing:0;text-transform:none;color:#7b7f85;font-size:8pt}.r-hero{background:#f5f3f0;border-radius:10px;padding:14px 16px}.r-big{font-size:40pt;font-weight:300;letter-spacing:-.03em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.r-sub{font-size:8pt;color:#7b7f85;letter-spacing:.1em;text-transform:uppercase;margin-top:4px}.r-bar{position:relative;height:8px;background:#e3ded8;border-radius:99px;margin:12px 0}.r-bar span{position:absolute;left:0;top:0;bottom:0;background:var(--real);border-radius:99px}.r-bar i{position:absolute;top:-4px;width:2px;height:16px;background:#16181b}.r-kv{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 14px;gap:8px 14px}.r-kv div{display:flex;flex-direction:column}.r-kv span{font-size:7pt;color:#7b7f85;text-transform:uppercase;letter-spacing:.08em}.r-kv b{font-size:11pt;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.neg{color:#c2452d!important}.pos{color:#2f8a57}.r-summary{display:flex;flex-direction:column}.r-summary p{margin:0;font-size:10pt;line-height:1.5;color:#2b2f35}.r-tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:auto;padding-top:10px}.r-tiles.four{margin-top:0;padding-top:0;margin-bottom:8px}.r-tiles div{border-left:2px solid #a59d95;padding:2px 0 2px 8px;display:flex;flex-direction:column}.r-tiles b{font-size:16pt;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.r-tiles b small{font-size:9pt;color:#7b7f85;font-weight:400}.r-legend,.r-tiles span{font-size:7.5pt;color:#7b7f85}.r-legend{display:flex;gap:14px;margin-top:2px}.r-legend i{display:inline-block;width:14px;height:0;border-top:2px dashed #383e46;vertical-align:middle;margin-right:5px}.r-legend i.re{border-top:3px solid var(--real)}.rt{width:100%;border-collapse:collapse;font-size:8.3pt}.rt th{text-align:left;font-weight:500;color:#7b7f85;font-size:7pt;letter-spacing:.06em;text-transform:uppercase;padding:4px 6px;border-bottom:1px solid #e3ded8}.rt td{padding:3.5px 6px;border-bottom:1px solid #f2efeb;vertical-align:top;line-height:1.28}.rt tr:last-child td{border-bottom:none}.rt .n{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.rt .n,.rt td.n{text-align:right}.sw{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:6px;vertical-align:1px}.r-small{font-size:7.3pt;color:#7b7f85;margin-top:1px}.r-mini{position:relative;height:6px;background:#ece8e3;border-radius:99px;margin-top:4px}.r-mini span{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--real)}.r-mini i{position:absolute;top:-3px;width:1.5px;height:12px;background:#16181b}.rpill{display:inline-block;font-size:7pt;padding:1px 6px;border-radius:99px;background:#f0ece7;color:#4a4f56;font-weight:500;white-space:nowrap}.rpill.ok{background:#e3f2e9;color:#2f8a57}.rpill.warn{background:#fbf0dc;color:#9a6511}.rpill.bad{background:#f9e4df;color:#c2452d}.r-list{margin:0;padding-left:14px;font-size:8.5pt;line-height:1.45}.r-list li{margin-bottom:3px}.r-prio{display:flex;gap:14px;font-size:8pt;color:#4a4f56;margin-bottom:6px}.pp,.r-prio i{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:3px;color:#fff;font-style:normal;font-size:7pt;font-weight:600;margin-right:5px}.pA{background:#c2452d}.pB{background:#c3841a}.pC{background:#a59d95}.r-cde{height:26px;border-radius:6px;font-size:7.5pt;color:#fff}.r-cde,.r-cde div{display:flex;overflow:hidden}.r-cde div{align-items:center;justify-content:center;gap:4px;white-space:nowrap;padding:0 4px}.r-notes{margin:0;font-size:8.8pt;line-height:1.45;color:#2b2f35}.muted{color:#7b7f85}.rpreview{background:#e9e5e0;border-radius:12px;padding:24px 16px;overflow-x:auto}.rpreview .report{zoom:.62}@media (min-width:1560px){.rpreview .report{zoom:.74}}@media (min-width:1800px){.rpreview .report{zoom:.9}}@media print{@page{size:11in 8.5in;margin:0}body,html{background:#fff!important}.report{gap:0;zoom:1!important}.rpage{box-shadow:none;break-after:page;page-break-after:always}.rpage:last-child{break-after:auto;page-break-after:auto}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.rbody{overflow:hidden}.rflow{display:flex;flex-direction:column;gap:.14in}.rband{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:.16in;gap:.16in;align-items:start}.rcol{display:flex;flex-direction:column;gap:.14in}.rcol,.rsec{min-width:0}.r-empty{font-size:8.5pt;color:#7b7f85;padding:6px 0}.rpage.overflowing{outline:3px solid #c2452d;outline-offset:-3px}.r-gantt{display:flex;flex-direction:column;gap:2px}.r-grow{display:grid;grid-template-columns:2.6in 1fr .7in .45in;align-items:center;grid-gap:8px;gap:8px;font-size:8.3pt;min-height:19px;border-bottom:1px solid #f2efeb}.r-grow:last-child{border-bottom:none}.r-gname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r-gname .muted{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-right:4px}.r-gtrack{position:relative;height:14px}.r-gbase{top:10px;height:3px;border-radius:2px;background:#d4cec6}.r-gbar,.r-gbase{position:absolute}.r-gbar{top:1px;height:8px;border-radius:3px;background:color-mix(in srgb,var(--c) 28%,white);overflow:hidden}.r-gbar em{position:absolute;left:0;top:0;bottom:0;background:var(--c)}.r-gbar.crit{box-shadow:0 0 0 1.2px #c2452d}.r-gms{position:absolute;top:1px;width:9px;height:9px;margin-left:-4px;transform:rotate(45deg);border:1.6px solid #16181b;background:#fff}.r-gms.done{background:var(--real);border-color:var(--real)}.r-gtoday{position:absolute;top:-3px;bottom:-3px;width:1.2px;background:#383e46}.r-gdate,.r-gpct{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#4a4f56}.doc{font-family:var(--font);color:#16181b;background:#fff;width:8.5in;margin:0 auto;font-size:9.6pt;line-height:1.45}.doc-head{display:flex;justify-content:space-between;align-items:center;background:#16181b;color:#fff;padding:.22in .6in}.doc-head img{height:.3in}.doc-head .t{text-align:right}.doc-head .t div:first-child{font-size:7.5pt;letter-spacing:.18em;text-transform:uppercase;color:#a59d95}.doc-head .t div:last-child{font-size:12.5pt;font-weight:500}.doc-body{padding:.3in .6in .5in}.doc-foot{display:flex;justify-content:space-between;font-size:7pt;color:#7b7f85;border-top:1px solid #ece8e3;margin:0 .6in;padding:8px 0 14px}.doc h1{font-size:18pt;font-weight:500;margin:0 0 4px;letter-spacing:-.01em}.doc h2{font-size:8pt;letter-spacing:.16em;text-transform:uppercase;color:#4a4f56;font-weight:600;margin:18px 0 8px;display:flex;gap:8px;align-items:center;page-break-after:avoid;break-after:avoid}.doc h2:before{content:"";width:16px;height:2px;background:#a59d95;display:inline-block}.doc h3{font-size:10pt;font-weight:600;margin:12px 0 4px;page-break-after:avoid;break-after:avoid}.doc p{margin:0 0 6px}.doc .meta{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px 16px;gap:6px 16px;background:#f5f3f0;border-radius:8px;padding:10px 12px;margin:10px 0 4px}.doc .meta div{display:flex;flex-direction:column}.doc .meta span{font-size:7pt;color:#7b7f85;letter-spacing:.08em;text-transform:uppercase}.doc .meta b{font-weight:500}.doc table{width:100%;border-collapse:collapse;font-size:8.5pt;margin:4px 0 6px}.doc th{text-align:left;font-weight:500;color:#7b7f85;font-size:7pt;letter-spacing:.06em;text-transform:uppercase;padding:5px 6px;border-bottom:1px solid #d4cec6;background:#faf9f7}.doc td{padding:5px 6px;border-bottom:1px solid #f0ece7;vertical-align:top}.doc tr{page-break-inside:avoid;break-inside:avoid}.doc tr.grp td{background:#faf9f7;font-weight:600;font-size:8pt}.doc .pill{display:inline-block;font-size:7pt;padding:1px 6px;border-radius:99px;background:#f0ece7;font-weight:500;white-space:nowrap}.doc .pill.ok{background:#e3f2e9;color:#2f8a57}.doc .pill.warn{background:#fbf0dc;color:#9a6511}.doc .pill.bad{background:#f9e4df;color:#c2452d}.doc ul{margin:0 0 6px;padding-left:16px}.doc li{margin-bottom:2px}.doc .muted{color:#7b7f85}.doc .box{border:1px solid #ece8e3;border-radius:8px;padding:10px 12px;margin:6px 0;page-break-inside:avoid;break-inside:avoid}.doc .opt{display:inline-flex;gap:6px;align-items:center;margin:0 14px 4px 0}.doc .chk{width:10px;height:10px;border:1.2px solid #16181b;border-radius:2px;display:inline-block}.doc .chk.on{background:#1f7a8c;border-color:#1f7a8c}.doc .sig{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px;margin-top:40px}.doc .sig div{border-top:1px solid #16181b;padding-top:4px;font-size:8pt}.doc .matrix td,.doc .matrix th,.doc .sig div{text-align:center}.doc .pA{background:#f9e4df;color:#c2452d;font-weight:600}.doc .pB{background:#fbf0dc;color:#9a6511;font-weight:600}.doc .pC{background:#f0ece7;font-weight:600}.doc .cover{padding:1.4in 0 .6in}.doc .cover .k{font-size:9pt;letter-spacing:.2em;text-transform:uppercase;color:#a59d95}.doc .cover .n{font-size:30pt;font-weight:300;letter-spacing:-.02em;margin:6px 0 10px}@media screen{body:has(.doc){background:#e9e5e0}.doc{box-shadow:0 10px 40px rgba(0,0,0,.12);margin:24px auto}}@media print{@page{size:8.5in 11in;margin:.35in 0 .45in}@page :first{margin-top:0}body,html{background:#fff!important}.doc{width:auto;box-shadow:none;margin:0}.doc-foot{position:fixed;bottom:-.35in;left:0;right:0}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}