:root{--blue:#0758cf;--navy:#102b50;--teal:#087e85;--light:#f2f7fb;--muted:#66798b;--border:#dce7ef;--coral:#f56f45;--green:#16875f}*{box-sizing:border-box}body{margin:0;font:14px/1.48 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);background:#edf3f8}button,input,textarea,select{font:inherit}button{cursor:pointer;border:none;border-radius:10px;padding:10px 15px;font-weight:650;transition:transform .12s,background .2s}button:hover{transform:translateY(-1px)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8bc5ff;outline-offset:1px}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--blue);color:#fff}.primary:hover{background:#0848ad}.outline{background:#fff;border:1px solid var(--border);color:var(--navy)}.small{padding:6px 10px;font-size:12px}.danger{background:#fff0ec;color:#b23525}.green{background:var(--green);color:white}.top{height:108px;background:linear-gradient(100deg,#084578,#0986ab 64%,#08729a);color:#fff;display:flex;align-items:center;gap:22px;padding:14px 24px;box-shadow:0 3px 20px #163c5a2d}.brand{display:flex;gap:15px;min-width:290px;align-items:center}.brand h1{font-size:25px;margin:0;line-height:1.1;letter-spacing:-.6px}.brand small{font-size:11px;opacity:.88}.mark{background:linear-gradient(90deg,#0861b8 50%,#e33f44 50%);font-size:10px;font-weight:900;color:white;min-width:61px;height:60px;display:grid;place-items:center;text-align:center;border-radius:3px}.top nav{display:flex;gap:5px;flex:1;justify-content:center}.top nav button{color:#e9f8ff;background:transparent;max-width:126px;font-size:12px;line-height:1.22}.top nav button.active{background:white;color:#0652ab}.top nav button span{display:block;font-size:21px}.rightbrand{display:flex;align-items:center;gap:10px}.rightbrand .outline{font-size:12px}.user{display:flex;gap:7px;align-items:center;white-space:nowrap}.user select{background:#ffffffed;color:#122e4c;padding:8px;border:0;border-radius:8px;max-width:156px}.layout{display:grid;grid-template-columns:220px minmax(550px,1fr) 275px;gap:16px;padding:16px;max-width:1900px;margin:auto;min-height:calc(100vh - 108px)}.left,.right,.workspace{background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 4px 18px #153c5b0c}.left{padding:15px;display:flex;flex-direction:column;gap:10px}.left h3{margin:0 0 8px;font-size:16px}.left h3 span{float:right;color:#788aa0}#thumbnails{display:flex;flex-direction:column;gap:10px}.thumb{width:100%;background:#f6fafc;border:2px solid #e2ebf2;text-align:left;display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;font-size:12px}.thumb.active{border-color:var(--blue);background:#eaf3ff}.thumb .num{background:#8d9dad;color:white;border-radius:50%;display:grid;place-items:center;min-width:28px;height:28px}.thumb.active .num{background:var(--blue)}.sidebarNote{margin-top:auto;border-top:1px solid var(--border);padding-top:15px;color:#52657b;font-weight:600}.sidebarNote small{font-weight:400}.center{min-width:0;display:flex;flex-direction:column;gap:12px}.workspace{min-height:650px;padding:28px}.eyebrow{color:var(--teal);font-weight:750;letter-spacing:2px;font-size:11px;margin-bottom:12px}h2{font-size:32px;line-height:1.17;margin:0 0 13px;letter-spacing:-.8px}h3{margin:0 0 12px}.lead{color:#4e6579;font-size:16px;margin:0 0 24px}.hero{min-height:340px;display:flex;align-items:end;padding:32px;border-radius:16px;background:linear-gradient(90deg,#072d4edc,#092c4855),linear-gradient(140deg,#459ebd,#c8aa78);color:white;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;right:7%;bottom:0;width:200px;height:230px;background:#142d34;clip-path:polygon(44% 0,75% 13%,85% 50%,72% 52%,85% 100%,20% 100%,22% 38%,30% 15%);opacity:.6}.hero>div{position:relative;max-width:610px}.hero h2{font-size:54px}.hero p{font-size:19px;max-width:580px}.tag{display:inline-block;background:#ffffff2d;padding:8px 13px;border-radius:20px}.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.feature{background:#f4f9fc;border:1px solid var(--border);border-radius:14px;padding:20px;min-width:0}.feature:nth-child(2){background:#effaf5}.feature:nth-child(3){background:#fff4ed}.feature h3{font-size:18px}.feature p{margin-bottom:0}.capsuleCard{border:1px solid var(--border);border-top:6px solid var(--teal);border-radius:14px;overflow:hidden;padding:16px;background:white}.capsuleCard:nth-child(2){border-top-color:#f16b3e}.capsuleCard:nth-child(3){border-top-color:#8b60b7}.cover{height:148px;background:linear-gradient(145deg,#007985,#a4d5cd);border-radius:10px;display:flex;align-items:end;padding:15px;color:white;font-weight:800;font-size:20px}.capsuleCard:nth-child(2) .cover{background:linear-gradient(135deg,#c44a20,#ffd18b)}.capsuleCard:nth-child(3) .cover{background:linear-gradient(135deg,#7653a0,#d5bfee)}.capsuleCard h3{margin:14px 0 8px}.capsuleCard p{min-height:96px;color:#53697d}.navbottom{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:5px 10px}.navbottom #pageCount{color:#5d7388}.right{padding:14px}.tabs{display:flex;border-bottom:1px solid var(--border);gap:7px}.tabs button{background:transparent;border-radius:0;padding:11px 7px;font-size:12px}.tabs button.active{border-bottom:3px solid var(--blue);color:var(--blue)}.comment{border:1px solid var(--border);padding:13px;border-radius:12px;margin-top:10px;background:#fcfdff}.comment .meta{font-size:12px;color:#6b7e93;margin:5px 0}.comment p{overflow-wrap:anywhere}.sideInput{width:100%;margin:15px 0 8px;min-height:83px}.right .primary{width:100%}.muted{color:var(--muted)}.notice{background:#e6f7f9;border:1px solid #c0e5e9;padding:12px 16px;border-radius:12px;margin:16px 0}.tableWrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;margin:18px 0}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#087c84;color:#fff;text-align:left;font-size:12px;padding:13px 10px;vertical-align:top}td{border-bottom:1px solid var(--border);padding:10px;vertical-align:top}tr:nth-child(even) td{background:#f6fafc}td .small{white-space:nowrap}.step{font-weight:750;color:#0b6881}.status{border-radius:15px;background:#fff1d0;color:#a56300;padding:4px 8px;display:inline-block;font-size:11px;font-weight:700}.status.Aprobado{background:#d8f6e5;color:#117745}.status.En-revisión{background:#e1efff;color:#0758cf}.editable{width:100%;border:1px solid #d1dfec;background:#fff;border-radius:7px;padding:8px;min-height:50px;resize:vertical}.textInput{width:100%;border:1px solid #cbdbe8;border-radius:9px;padding:10px;background:white}.rowActions{display:flex;gap:8px;flex-wrap:wrap}.modal{position:fixed;inset:0;background:#09213c9c;z-index:99;display:flex;align-items:center;justify-content:center;padding:20px}.hidden{display:none}.dialog{background:white;border-radius:17px;width:min(850px,100%);max-height:94vh;overflow:auto;padding:26px;box-shadow:0 25px 100px #0b192c70}.modalhead{display:flex;justify-content:space-between;gap:18px}.modalhead h2{font-size:25px}.modalhead p{color:var(--muted);margin:0 0 15px}.iconbtn{background:#eef2f7;align-self:start}.modalactions{display:flex;justify-content:end;gap:10px;margin-top:18px}.formGroup{margin:15px 0}.formGroup label{display:block;font-weight:750;margin-bottom:6px}.formGroup textarea{min-height:110px}.progressline{height:9px;border-radius:12px;background:#e2edf3;overflow:hidden;margin:10px 0}.progressline div{height:100%;background:linear-gradient(90deg,#21a68a,#0c7bd2)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);color:white;background:#133b59;padding:12px 20px;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .25s;z-index:110}#toast.show{opacity:1}@media(max-width:1250px){.layout{grid-template-columns:170px minmax(480px,1fr)}.right{grid-column:2;grid-row:2}.brand{min-width:250px}.brand h1{font-size:20px}.top{height:auto;flex-wrap:wrap}.layout{min-height:unset}.top nav{order:3;width:100%;flex-basis:100%}}@media(max-width:800px){.layout{display:flex;flex-direction:column;padding:8px}.top{padding:12px}.top nav{overflow-x:auto;justify-content:start}.top nav button{min-width:112px}.left{order:0;padding:8px}.left #thumbnails{flex-direction:row;overflow:auto}.thumb{min-width:152px}.sidebarNote{display:none}.center{order:1}.right{order:2}.workspace{min-height:480px;padding:18px}.cards3{grid-template-columns:1fr}.capsuleCard p{min-height:unset}.hero{min-height:280px}.hero h2{font-size:36px}.brand{min-width:0}.rightbrand{width:100%}h2{font-size:26px}.navbottom{flex-wrap:wrap}}

/* Gantt de tres semanas inspirado en la referencia pastel; la grilla permanece editable. */
.ganttPage{color:#647184}.ganttHeading{text-align:center;margin:10px auto 28px}.ganttEyebrow{color:#8e90b1;font-size:11px;font-weight:800;letter-spacing:1.4px}.ganttHeading h2{font-size:31px;letter-spacing:-.8px;color:#6f7591;margin:7px 0}.ganttHeading p{font-size:14px;color:#8a91a3;margin:0}.ganttViewport{width:100%;overflow-x:auto;padding:0 0 10px}.ganttGrid{display:grid;grid-template-columns:minmax(160px,1.7fr) repeat(21,minmax(25px,1fr));gap:3px;min-width:930px;align-items:stretch}.ganttCorner{background:#fff;color:#9aa3b6;display:flex;align-items:end;padding:8px 10px;font-size:10px;font-weight:800}.ganttWeek{text-align:center;color:white;font-weight:800;letter-spacing:1.2px;padding:10px 3px;font-size:12px}.week1{background:#b68cdb}.week2{background:#8597e7}.week3{background:#6ed5c8}.ganttDaysLabel{display:flex;align-items:center;padding:7px 11px;background:#f38da6;color:white;font-size:11px;font-weight:800}.ganttDay{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#b891dc;color:#fff;line-height:1.2;font-size:10px;padding:5px 0}.ganttDay:nth-child(n+10):nth-child(-n+16){background:#8ea2e5}.ganttDay:nth-child(n+17):nth-child(-n+23){background:#75d5ca}.ganttDay span{font-size:10px;margin-top:3px;opacity:.9}.ganttTaskLabel{padding:8px 10px;min-height:48px;display:flex;flex-direction:column;justify-content:center;color:#fff;font-size:11px;font-weight:750;gap:2px;overflow:hidden}.ganttTaskName{overflow-wrap:anywhere}.ganttTaskDate{font-size:10px;opacity:.9;font-weight:500}.ganttCell{position:relative;min-height:48px;display:flex;align-items:center;justify-content:center;background:#f5eefd}.ganttCell.cellBlue{background:#eff2fe}.ganttCell:nth-child(7n){box-shadow:inset -2px 0 #fff}.ganttBar{height:28px;width:calc(100% - 2px);padding:0;border-radius:20px;box-shadow:0 2px 4px #5552;color:white;position:relative;z-index:1;font-size:10px}.ganttBar span{display:none}.ganttBar:hover,.ganttBar:focus-visible{transform:scale(1.18);box-shadow:0 3px 11px #5464a955}.color0{background:#ae8de2}.color1{background:#6ccfc5}.color2{background:#efbfc8}.color3{background:#91a4e9}.color4{background:#bd68db}.color5{background:#f28c98}.color6{background:#79b6da}.color7{background:#99dca9}.color8{background:#e3ba77}.ganttLegend{display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap;font-size:11px;color:#8e94a4;padding:13px 1px}.legendDot{display:inline-block;background:#91a4e9;width:10px;height:10px;border-radius:100%;margin-right:5px}.ganttDetails{background:#f8f8fd;border:1px solid #e4e7f4;border-radius:10px;padding:13px 15px;margin:14px 0}.ganttDetails summary{cursor:pointer;color:#586ba3;font-weight:750}.ganttDetails .tableWrap{background:#fff}.ganttFootnote{font-size:12px;color:#8a91a3;margin-top:15px}@media(max-width:800px){.ganttHeading h2{font-size:26px}.ganttViewport{margin-right:0}.ganttLegend{font-size:10px}}
