@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700;9..144,800&family=JetBrains+Mono:wght@500;700&display=swap";:root{--blue: #35502e;--blue-2: #46693b;--blue-light: #e2e8da;--red: #a8462f;--red-light: #f3ddd3;--gold: #b6893f;--gold-light: #f1e3c3;--green: #3f7d4a;--green-light: #dbe9db;--purple: #6b5a8e;--purple-light:#e6e1ee;--teal: #3f7f78;--teal-light: #dbeae7;--info: #2f5f8a;--info-light: #dbe7f0;--seal: #a3782f;--seal-dark: #7c5c26;--bg: #f0f1e9;--text: #1c2318;--muted: #6c7263;--border: #dcdecf;--panel: #fbfaf4;--soft: #f4f3ea;--input-bg: #ffffff;--input-border: #d5d7c5;--sidebar-bg: #17230f;--sidebar-2: #2b3e1f;--sidebar-text: rgba(244,241,227,.88);--sidebar-muted:rgba(244,241,227,.46);--sidebar-active:#f4f1e3;--shadow-xs: 0 1px 2px rgba(28,35,24,.06);--shadow-sm: 0 1px 3px rgba(28,35,24,.12), 0 1px 2px -1px rgba(28,35,24,.07);--shadow: 0 4px 6px -1px rgba(28,35,24,.12), 0 2px 4px -2px rgba(28,35,24,.07);--shadow-md: 0 10px 15px -3px rgba(28,35,24,.12), 0 4px 6px -4px rgba(28,35,24,.06);--shadow-lg: 0 20px 25px -5px rgba(28,35,24,.14), 0 8px 10px -6px rgba(28,35,24,.06);--shadow-focus: 0 0 0 3px rgba(182,137,63,.28);--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 14px;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--transition: .18s cubic-bezier(.4,0,.2,1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.5;background:var(--bg);color:var(--text)}button,select,input,textarea{font:inherit}a{color:var(--blue-2)}h1,h2{font-family:var(--font-display);font-weight:600;letter-spacing:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.loginShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,#24301f,#161e11 55%,#10160c);position:relative;overflow:hidden}.loginShell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 16% 84%,rgba(182,137,63,.16) 0%,transparent 55%),radial-gradient(circle at 88% 12%,rgba(182,137,63,.1) 0%,transparent 50%);pointer-events:none}.loginPanel{width:min(440px,100%);background:var(--panel);border-radius:var(--radius-lg);padding:40px 34px 34px;display:grid;gap:16px;box-shadow:var(--shadow-lg),0 0 0 1px #f4f1e30f;position:relative}.loginPanel:before{content:"";position:absolute;top:0;left:32px;right:32px;height:3px;background:linear-gradient(90deg,transparent,var(--seal),transparent);border-radius:0 0 3px 3px}.loginPanel .brandMark{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(28,35,24,.25));justify-self:center}.loginPanel h1{font-size:23px;margin:6px 0 0;line-height:1.28;font-weight:600;color:var(--text);font-family:var(--font-display)}.loginPanel p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.loginPanel label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.loginPanel input{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;transition:border-color var(--transition),box-shadow var(--transition);color:var(--text);background:var(--soft)}.loginPanel input:focus{outline:none;border-color:var(--blue-2);box-shadow:var(--shadow-focus)}.loginPanel .primaryButton{width:100%;justify-content:center;font-size:15px;padding:12px}.appShell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}aside{background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;overflow-x:hidden;padding:0 12px 16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}aside::-webkit-scrollbar{width:4px}aside::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.brand{padding:16px 12px 14px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.brandLogoRow{display:flex;align-items:center;gap:8px}.brandLogoImg{width:34px;height:34px;object-fit:contain;border-radius:6px;flex-shrink:0;background:#ffffff14;padding:2px}.brandLogoText{display:flex;flex-direction:column;gap:0;flex:1}.brandUniv{font-size:13px;font-weight:800;color:#fff;letter-spacing:.04em}.brandInst{font-size:10.5px;color:var(--sidebar-muted);font-weight:500;line-height:1.25}.brandDivider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:0}.brandSystem{display:flex;flex-direction:column;gap:2px}.brandAcronym{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:.02em;background:linear-gradient(90deg,#d7b779,var(--seal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.brandFullName{font-size:10px;color:var(--sidebar-muted);font-weight:600;line-height:1.35;text-transform:uppercase;letter-spacing:.04em}nav{display:flex;flex-direction:column;gap:2px;flex:1}nav button{display:flex;align-items:center;gap:10px;color:var(--sidebar-text);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:7px 12px;text-align:left;cursor:pointer;font-size:13.5px;font-weight:500;transition:background var(--transition),color var(--transition);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nav button:hover{background:#f4f1e314;color:var(--sidebar-active)}nav button.active{background:#b6893f33;color:var(--sidebar-active);font-weight:700;border-color:#b6893f61;box-shadow:0 0 0 1px #b6893f2e inset}nav button svg{flex-shrink:0;opacity:.8}nav button.active svg{opacity:1}.navSectionLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-muted);padding:9px 12px 3px;pointer-events:none}.sidebarUser{margin-top:auto;padding:12px 8px 4px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;width:100%;background:transparent;border-left:none;border-right:none;border-bottom:none;border-radius:0;color:inherit;font:inherit;text-align:left}.sidebarUser:hover{background:#f4f1e314}.sidebarUser.active{background:#b6893f33;border-top-color:#b6893f61;box-shadow:0 0 0 1px #b6893f2e inset}.sidebarUser.active .sidebarUserInfo strong{color:var(--sidebar-active)}.sidebarAvatar{width:32px;height:32px;border-radius:99px;background:linear-gradient(135deg,var(--seal),var(--blue-2));display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;flex-shrink:0}.sidebarUserInfo{min-width:0;flex:1}.sidebarUserInfo strong{display:block;font-size:12px;font-weight:700;color:var(--sidebar-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebarUserInfo small{display:block;font-size:11px;color:var(--sidebar-muted)}.sidebarLogout{background:transparent;border:1px solid rgba(244,241,227,.14);border-radius:var(--radius-sm);color:var(--sidebar-muted);padding:5px 8px;cursor:pointer;font-size:11px;font-weight:600;transition:background var(--transition),color var(--transition)}.sidebarLogout:hover{background:#f4f1e314;color:var(--sidebar-active)}main{padding:24px 28px;min-width:0}header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border)}h1{display:flex;gap:10px;align-items:center;font-size:24px;font-weight:800;margin:4px 0 5px;letter-spacing:-.3px;color:var(--text)}header p{margin:0;color:var(--muted);font-size:13px}.headerBadge{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;display:grid;gap:2px;min-width:160px;box-shadow:var(--shadow-xs)}.headerBadge span{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.04em}.headerBadge strong{color:var(--green);font-size:13px;font-weight:700}.notifBell{position:relative;width:40px;height:40px;flex-shrink:0;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);color:var(--muted);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--transition),color var(--transition),border-color var(--transition)}.notifBell:hover{background:var(--soft);color:var(--text);border-color:#c3d4bf}.notifBellDot{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}.alertPanel{position:absolute;top:48px;right:0;z-index:40;width:360px;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.alertPanelHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.alertPanelHeader strong{font-size:13px}.alertPanelClose{border:none;background:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:2px 4px}.alertPanelClose:hover{color:var(--text)}.alertPanelEmpty{margin:0;padding:20px 14px;text-align:center;color:var(--muted);font-size:13px}.alertPanelList{max-height:380px;overflow-y:auto;display:flex;flex-direction:column}.alertItem{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;border:none;border-bottom:1px solid var(--border);background:var(--panel);padding:10px 14px;cursor:pointer;color:var(--text);transition:background var(--transition)}.alertItem:last-child{border-bottom:none}.alertItem:hover{background:var(--soft)}.alertItem.sev-urgente{color:var(--red)}.alertItem.sev-atencion{color:var(--gold)}.alertItem.sev-info{color:var(--blue-2)}.alertItemBody{flex:1;min-width:0}.alertItemTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.alertItemTop strong{font-size:13px;color:var(--text)}.alertItemBody p{margin:2px 0 0;font-size:12px;color:var(--muted);line-height:1.4}.alertSevTag{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 7px;border-radius:999px}.alertSevTag.sev-urgente{background:var(--red-light);color:#7a312b}.alertSevTag.sev-atencion{background:var(--gold-light);color:#814019}.alertSevTag.sev-info{background:var(--blue-light);color:#3d8c35}h2{font-size:20px;font-weight:800;margin:0 0 6px}h3{margin:0 0 14px;font-size:15px;font-weight:700;color:var(--text)}.eyebrow{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.stack{display:grid;gap:18px}.muted{color:var(--muted)}.filters{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.filters.withSearch .searchBox{flex:1 1 220px;min-width:200px}.filterActions{display:flex;gap:8px;margin-left:auto}.multiSelect{position:relative;flex:1 1 160px;min-width:150px}.multiSelectButton{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1.5px solid var(--input-border);border-radius:var(--radius-sm);padding:8px 10px;background:var(--input-bg);color:var(--muted);font:inherit;font-size:13px;cursor:pointer;transition:border-color var(--transition),color var(--transition)}.multiSelectButton span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiSelectButton:hover{border-color:var(--gold)}.multiSelectButton.active{border-color:var(--gold);color:var(--text);font-weight:600;background:var(--gold-light)}.multiSelectPanel{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:220px;max-width:320px;max-height:280px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:1px}.multiSelectOption{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer}.multiSelectOption:hover{background:var(--soft)}.multiSelectOption input{margin:0;width:auto}.multiSelectClear{border:none;background:none;color:var(--red);font-size:12px;font-weight:600;text-align:left;padding:6px 8px;cursor:pointer;border-bottom:1px solid var(--border);margin-bottom:3px}.dashSectionLabel{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:4px 2px -6px}select,input{border:1.5px solid var(--input-border);border-radius:var(--radius-sm);padding:8px 10px;background:var(--input-bg);min-width:0;color:var(--text);transition:border-color var(--transition),box-shadow var(--transition)}select:focus,input:focus{outline:none;border-color:var(--blue-2);box-shadow:var(--shadow-focus)}input[type=file]{padding:6px 10px;background:var(--soft)}input[type=checkbox],input[type=radio]{width:auto;padding:0;border:none;background:transparent}.searchBox{display:flex;align-items:center;gap:8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);padding:0 12px;transition:border-color var(--transition),box-shadow var(--transition)}.searchBox:focus-within{border-color:var(--blue-2);box-shadow:var(--shadow-focus)}.searchBox input{border:0;padding-inline:0;width:100%;outline:0;box-shadow:none}.searchBox svg{color:var(--muted);flex-shrink:0}.statsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:var(--panel);border-radius:var(--radius-md);padding:18px 20px;display:flex;gap:14px;align-items:flex-start;border:1px solid var(--border);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition),transform var(--transition);position:relative;overflow:hidden}.stat:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue-2);border-radius:var(--radius-md) var(--radius-md) 0 0}.stat:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.stat strong{display:block;font-size:32px;font-weight:800;line-height:1;letter-spacing:-.5px}.stat span{color:var(--muted);font-size:12px;font-weight:500;margin-top:4px;display:block}.stat svg{margin-top:4px;flex-shrink:0;color:var(--blue-2);opacity:.7}.stat.green:before{background:var(--green)}.stat.green svg{color:var(--green)}.stat.green strong{color:var(--green)}.stat.blue:before{background:var(--blue-2)}.stat.blue svg{color:var(--blue-2)}.stat.blue strong{color:var(--blue-2)}.stat.red:before{background:var(--red)}.stat.red svg{color:var(--red)}.stat.red strong{color:var(--red)}.stat.yellow:before{background:var(--gold)}.stat.yellow svg{color:var(--gold)}.stat.yellow strong{color:var(--gold)}.stat.purple:before{background:var(--purple)}.stat.purple svg{color:var(--purple)}.stat.purple strong{color:var(--purple)}.statClickable{border:1px solid transparent;font:inherit;text-align:left;cursor:pointer;width:100%}.statActive{border-color:var(--blue-2);box-shadow:0 0 0 2px #2563eb26}.gridTwo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboardActions{display:flex;gap:8px;flex-wrap:wrap}.dashTopBar{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.dashTopBar .filters{flex:1}.invHero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--sidebar-2),var(--sidebar-bg));box-shadow:var(--shadow-md);flex-wrap:wrap}.invHeroText{min-width:220px}.invHeroEyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-light);opacity:.85}.invHeroGreeting{font-family:var(--font-display);font-size:30px;font-weight:700;margin:6px 0 4px;color:#fff}.invHeroSub{margin:0;font-size:13.5px;color:var(--sidebar-text);max-width:46ch;line-height:1.5}.invHeroRing{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.invHeroRingLabel{font-size:11px;font-weight:600;color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.06em}@media(max-width:640px){.invHero{flex-direction:column;align-items:flex-start;text-align:left}}.invProjectCard{padding:16px;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.invProjectCard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.invProjectCardTitle{font-size:14px;line-height:1.35;font-family:var(--font-display);font-weight:600}.kpiStrip{display:grid;grid-template-columns:repeat(6,1fr) 1.5fr;gap:12px}.invHomeGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;align-items:start}.invHomeCol{display:flex;flex-direction:column;gap:14px}@media(max-width:980px){.invHomeGrid{grid-template-columns:1fr}}.kpiCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden;box-shadow:var(--shadow-xs);transition:transform .14s,box-shadow .14s}.kpiCard:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.kpiCard:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--kc, var(--blue-2))}.kpiCardIcon{color:var(--kc, var(--blue-2));margin-bottom:6px;opacity:.85}.kpiCard strong{font-size:32px;font-weight:800;line-height:1;color:var(--text)}.kpiCard span{font-size:12.5px;font-weight:700;color:var(--text);margin-top:2px}.kpiCard small{font-size:11px;color:var(--kc, var(--blue-2));font-weight:700;margin-top:3px}.kpiCard .kpiDesc{font-size:11px;color:var(--muted);font-weight:400;line-height:1.4;margin-top:3px}.kpiCardBudget{flex-direction:row;align-items:center;gap:14px}.kpiBudget{display:flex;flex-direction:column;gap:2px}.kpiBudget span{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.kpiBudget b{font-size:18px;font-weight:800;color:var(--text)}.kpiBudget small{font-size:11px;color:var(--muted)}.invCompromisoMonto{display:flex;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}.invCompromisoMontoIcon{color:var(--gold);flex-shrink:0}.invCompromisoMonto span{display:block;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.invCompromisoMonto strong{display:block;font-size:17px;font-weight:800;color:var(--text)}.investigadorShell .kpiCardIcon,.investigadorShell .iconChip{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:9px;border-radius:12px;background:linear-gradient(155deg,var(--chip, var(--blue-2)),color-mix(in srgb,var(--chip, var(--blue-2)) 55%,#000));color:#fff!important;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -8px 11px #0003,0 8px 16px -7px color-mix(in srgb,var(--chip, var(--blue-2)) 70%,transparent);margin-bottom:10px;transition:transform .18s ease;opacity:1}.investigadorShell .kpiCardIcon{--chip: var(--kc, var(--blue-2))}.investigadorShell .kpiCard:hover .kpiCardIcon,.investigadorShell .resourceCard:hover .iconChip{transform:scale(1.08) rotate(-3deg)}.investigadorShell .iconChip.sm{width:30px;height:30px;padding:6px;border-radius:9px;margin-bottom:0;flex-shrink:0}.investigadorShell .invHero{position:relative;overflow:hidden}.investigadorShell .invHero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(244,241,227,.08) 1px,transparent 1px);background-size:16px 16px;opacity:.6;pointer-events:none}.investigadorShell .invHero:after{content:"";position:absolute;top:-70px;right:-30px;width:240px;height:240px;background:radial-gradient(circle,color-mix(in srgb,var(--seal) 55%,transparent),transparent 70%);pointer-events:none}.investigadorShell .invHeroText,.investigadorShell .invHeroRing{position:relative;z-index:1}.investigadorShell .resourceCard{position:relative;overflow:hidden;padding:18px;border-radius:var(--radius-md);background:linear-gradient(160deg,color-mix(in srgb,var(--chip) 7%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--chip) 25%,var(--border));box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:10px;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.investigadorShell .resourceCard:hover{transform:translateY(-4px);box-shadow:0 16px 30px -14px color-mix(in srgb,var(--chip) 50%,transparent),var(--shadow-md);border-color:color-mix(in srgb,var(--chip) 50%,var(--border))}.investigadorShell .resourceCard:after{content:"";position:absolute;top:-36px;right:-36px;width:100px;height:100px;background:radial-gradient(circle,color-mix(in srgb,var(--chip) 24%,transparent),transparent 70%);pointer-events:none}.investigadorShell .resourceCardTitle{font-family:var(--font-display);font-size:14.5px;font-weight:700}.investigadorShell .resourceCardDesc{font-size:12px;color:var(--muted);margin:0;flex:1;line-height:1.5}.investigadorShell .invProjectCard{position:relative;overflow:hidden;border-top:3px solid var(--cc, var(--blue-2))}.investigadorShell .invProjectCard:after{content:"";position:absolute;top:-30px;right:-30px;width:90px;height:90px;background:radial-gradient(circle,color-mix(in srgb,var(--cc, var(--blue-2)) 32%,transparent),transparent 70%);pointer-events:none}.investigadorShell .invProjectCard:hover{box-shadow:0 14px 26px -12px color-mix(in srgb,var(--cc, var(--blue-2)) 45%,transparent),var(--shadow-md)}.specialistShell .kpiCardIcon,.specialistShell .quickStatIcon{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;border-radius:11px;background:linear-gradient(155deg,var(--chip),color-mix(in srgb,var(--chip) 55%,#000));color:#fff!important;box-shadow:inset 0 1px 1px #ffffff73,inset 0 -7px 10px #0000002e,0 7px 14px -6px color-mix(in srgb,var(--chip) 70%,transparent);margin-bottom:8px;transition:transform .18s ease;opacity:1}.specialistShell .kpiCardIcon{--chip: var(--kc, var(--blue-2))}.specialistShell .quickStatIcon{--chip: var(--qs, var(--blue-2));margin-bottom:6px}.specialistShell .kpiCard:hover .kpiCardIcon,.specialistShell .quickStat:hover .quickStatIcon{transform:scale(1.08) rotate(-3deg)}.specialistShell .projectCard{position:relative;overflow:hidden;border-top:3px solid var(--cc, var(--blue-2))}.specialistShell .projectCard:after{content:"";position:absolute;top:-30px;right:-30px;width:90px;height:90px;background:radial-gradient(circle,color-mix(in srgb,var(--cc, var(--blue-2)) 28%,transparent),transparent 70%);pointer-events:none}.specialistShell .projectCard:hover{box-shadow:0 12px 24px -12px color-mix(in srgb,var(--cc, var(--blue-2)) 45%,transparent),0 4px 14px #1c23181a}.specialistShell .queueRow{border-left:4px solid var(--rc, var(--blue-2))}.specialistShell .queueRow.clickable:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--rc, var(--blue-2)) 35%,transparent),0 10px 20px -10px color-mix(in srgb,var(--rc, var(--blue-2)) 40%,transparent)}.dashChartsGrid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:14px;align-items:start}.dashChartsGrid2{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;align-items:start}.dashGrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:start}.chartTitle{margin:0 0 14px;font-size:13px;font-weight:700;color:var(--text)}.chartSubtitle{margin:-10px 0 14px;font-size:11px;color:var(--muted);line-height:1.4}.quickStatsRow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.quickStatsRow3{grid-template-columns:repeat(3,minmax(0,1fr))}.quickStat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden;box-shadow:var(--shadow-xs)}.quickStat:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--qs, var(--blue-2))}.quickStatIcon{color:var(--qs, var(--blue-2));margin-bottom:4px;opacity:.8}.quickStat strong{font-size:20px;font-weight:800;line-height:1;color:var(--text)}.quickStat span{font-size:11px;font-weight:700;color:var(--text);line-height:1.3;margin-top:1px}.quickStat .quickStatDesc{font-size:10px;color:var(--muted);font-weight:400;line-height:1.35;margin-top:3px}.quickStatClickable{text-align:left;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition)}.quickStatClickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.donutCard{padding:18px 20px}.donutLayout{display:flex;align-items:flex-start;gap:18px}.donutRingWrap{flex-shrink:0}.donutRing{width:120px;height:120px;border-radius:50%;position:relative;flex-shrink:0;box-shadow:0 3px 14px #0000001a}.donutHole{position:absolute;top:18px;right:18px;bottom:18px;left:18px;background:var(--panel);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-shadow:inset 0 2px 6px #00000012}.donutHole strong{font-size:22px;font-weight:800;line-height:1;color:var(--text)}.donutHole span{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.donutLegend{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.donutLegendRow{display:grid;grid-template-columns:10px 1fr auto auto;gap:6px;align-items:center;padding:3px 0;border-bottom:1px solid #e8f1e5}.donutLegendRow:last-child{border-bottom:none}.donutDot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donutLegendLabel{font-size:11px;font-weight:500;color:var(--text);white-space:normal;overflow-wrap:break-word;line-height:1.25}.donutLegendVal{font-size:12px;font-weight:800;color:var(--text)}.donutLegendPct{font-size:10.5px;font-weight:700;color:var(--muted);min-width:32px;text-align:right}.donutMontoBreakdown{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.donutMontoBreakdownLabel{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}.donutMontoRow{display:flex;align-items:center;gap:6px;padding:3px 0}.donutMontoLabel{flex:1;font-size:11px;font-weight:500;color:var(--text);min-width:0;overflow-wrap:break-word}.donutMontoVal{font-size:11.5px;font-weight:800;color:var(--text);white-space:nowrap}.hbarCard{padding:18px 20px}.hbarHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.hbarTotal{font-size:16px;font-weight:800;color:var(--muted)}.hbarRows{display:flex;flex-direction:column;gap:8px}.hbarRowsScroll{max-height:320px;overflow-y:auto;padding-right:6px}.hbarRow{display:flex;flex-direction:column;gap:3px}.hbarRowTop{display:flex;align-items:center;justify-content:space-between;gap:6px}.hbarLabel{font-size:11.5px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.hbarMeta{display:flex;align-items:center;gap:8px;flex-shrink:0}.hbarTrack{height:7px;background:var(--soft);border-radius:99px;overflow:hidden}.hbarFill{height:100%;border-radius:99px;transition:width .75s cubic-bezier(.4,0,.2,1);opacity:.9}.hbarVal{font-size:12px;font-weight:800;color:var(--text);min-width:20px;text-align:right}.hbarPct{font-size:10.5px;font-weight:700;color:var(--muted);min-width:34px;text-align:right}.stackedTrack{display:flex;gap:1px}.stackedTrack .hbarFill{border-radius:0;opacity:.95}.stackedTrack .hbarFill:first-child{border-radius:99px 0 0 99px}.stackedTrack .hbarFill:last-child{border-radius:0 99px 99px 0}.kpiStripSeguimiento{grid-template-columns:repeat(3,minmax(0,1fr))}.trendCard{padding:18px 20px}.trendSvg{width:100%;height:100px;display:block;margin-top:4px}.trendArea{fill:color-mix(in srgb,var(--blue-2) 16%,transparent);stroke:none}.trendLine{fill:none;stroke:var(--blue-2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.trendDot{fill:var(--panel);stroke:var(--blue-2);stroke-width:2}.trendFoot{display:flex;justify-content:space-between;font-size:10.5px;font-weight:600;color:var(--muted);margin-top:2px}.trendBreakdown{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.trendBreakdownItem{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700}.trendBreakdownItem.up{color:var(--green)}.trendBreakdownItem.flat{color:var(--muted)}.trendBreakdownItem.down{color:var(--red)}.trendBreakdownNote{width:100%;margin:2px 0 0;font-size:10.5px;color:var(--muted);font-weight:400}.gaugeCard{padding:18px 20px;display:flex;flex-direction:column;align-items:center}.gaugeWrap{position:relative;width:168px;height:92px;margin:6px auto 2px}.gaugeArc{position:absolute;top:0;left:0;width:168px;height:168px;border-radius:50%}.gaugeInnerMask{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:104px;height:52px;background:var(--panel);border-radius:104px 104px 0 0}.gaugeHole{position:absolute;left:50%;bottom:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}.gaugeHole strong{font-size:22px;font-weight:800;line-height:1;color:var(--text)}.gaugeHole span{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.gaugeLegend{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px}.gaugeLegend span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--muted)}.gaugeLegend i{width:8px;height:8px;border-radius:50%;display:inline-block}.gaugeLegend b{color:var(--text);font-weight:800}.rankedCard{padding:18px 20px}.rankedRows{display:flex;flex-direction:column;gap:4px}.rankedRow{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}.rankedRow:last-child{border-bottom:none}.rankedIndex{width:20px;height:20px;border-radius:50%;background:var(--soft);color:var(--muted);font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center}.rankedLabel{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rankedBadge{font-size:11px;font-weight:800;color:var(--red);background:color-mix(in srgb,var(--red) 14%,transparent);border-radius:99px;padding:2px 9px;text-align:center}.prodMiniGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.prodMiniCard{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-sm);background:var(--soft);border:1px solid transparent;transition:background .14s;min-width:0}.prodMiniCard:hover{background:color-mix(in srgb,var(--blue) 10%,var(--soft))}.prodMiniCard.blue .prodMiniIcon{background:linear-gradient(135deg,#55b947,#89cc79)}.prodMiniCard.green .prodMiniIcon{background:linear-gradient(135deg,#197a5c,#45b58c)}.prodMiniCard.purple .prodMiniIcon{background:linear-gradient(135deg,#805ac2,#96d7a0)}.prodMiniCard.yellow .prodMiniIcon{background:linear-gradient(135deg,#be7118,#e6b32d)}.prodMiniCard.red .prodMiniIcon{background:linear-gradient(135deg,#b1443c,#dd776f)}.prodMiniIcon{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.prodMiniBody{flex:1;display:flex;flex-direction:column;gap:0}.prodMiniBody strong{font-size:16px;font-weight:800;line-height:1;color:var(--text)}.prodMiniBody span{font-size:11px;font-weight:600;color:var(--muted)}.prodMiniBody small{font-size:10px;color:var(--text);opacity:.65}@media(max-width:1180px){.kpiStrip{grid-template-columns:1fr 1fr}.dashChartsGrid,.dashChartsGrid2,.dashGrid3{grid-template-columns:1fr}.quickStatsRow{grid-template-columns:repeat(3,1fr)}}.radialMeter{position:relative;flex-shrink:0}.radialMeterTrack{stroke:var(--border)}.radialMeterFill{transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1)}.radialMeterFill.green{stroke:var(--green)}.radialMeterFill.yellow{stroke:var(--gold)}.radialMeterFill.red{stroke:var(--red)}.radialMeterFill.blue{stroke:var(--blue-2)}.radialMeterLabel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.radialMeterLabel strong{font-size:26px;font-weight:800;color:var(--text);letter-spacing:-.5px}.radialMeterLabel span{font-size:9px;color:var(--muted);margin-top:2px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-align:center;max-width:80px;line-height:1.2}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-xs)}.panelHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.panelHeader h3{margin:0;font-size:15px;font-weight:700}.panelHeader span{color:var(--muted);font-size:13px;font-weight:600}.compactPanelsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.compactPanel{padding:14px;min-width:0}.compactPanel .panelHeader{margin-bottom:10px;padding-bottom:10px}.compactPanel .panelHeader h3{font-size:13px}.progressLine{grid-column:1 / -1;height:5px;background:var(--bg);overflow:hidden;border-radius:99px;margin-top:-3px}.progressFill{height:100%;border-radius:99px;transition:width .65s cubic-bezier(.4,0,.2,1)}.progressFill.blue{background:linear-gradient(90deg,var(--blue),var(--blue-2))}.progressFill.green{background:linear-gradient(90deg,#325038,var(--green))}.progressFill.purple{background:linear-gradient(90deg,#425d47,var(--purple))}.progressFill.yellow{background:linear-gradient(90deg,var(--seal-dark),var(--gold))}.progressFill.red{background:linear-gradient(90deg,#643b2e,var(--red))}.progressFill.orange{background:linear-gradient(90deg,#7b4927,#ae7643)}.table{display:grid;border-top:1px solid var(--border)}.tableRow{display:grid;grid-template-columns:1fr 90px 180px 150px;gap:12px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--border)}.tableRow strong{font-size:13px;max-width:720px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.tableRow span{color:var(--muted);font-size:12px;margin-top:3px;display:block}.pill{width:max-content;max-width:100%;padding:4px 10px;font-size:11.5px;font-weight:700;background:var(--blue-light);color:var(--blue);border-radius:99px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.pill.concluido{background:var(--gold-light);color:var(--seal-dark);border:1px solid rgba(163,120,47,.35);font-family:var(--font-display);font-weight:600;letter-spacing:.01em;padding-left:6px}.pill.concluido:before{content:"";width:11px;height:11px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 34% 28%,#e1cb93,var(--seal) 62%,var(--seal-dark) 100%);box-shadow:0 0 0 1.5px #a3782f73}.pill.resolucion_solicitada{background:var(--teal-light);color:var(--teal)}.pill.por_solicitar_resolucion{background:var(--gold-light);color:var(--seal-dark)}.pill.inviable{background:var(--red-light);color:#643b2e}.pill.renuncia{background:var(--gold-light);color:var(--seal-dark)}.pill.cerrado_resolucion{background:var(--purple-light);color:var(--purple)}.pill.previo{background:var(--border);color:var(--muted)}.pill.observado{background:var(--gold-light);color:var(--seal-dark)}.projectCardsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.projectCard{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer;color:var(--text);transition:box-shadow var(--transition),border-color var(--transition)}.projectCard:hover{box-shadow:0 4px 14px #1c23181a;border-color:var(--blue-2)}.projectCardHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.projectCardObjCount{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);white-space:nowrap}.projectCardTitle{font-size:13px;line-height:1.4;font-weight:600;font-family:var(--font-display)}.projectCardMeta{color:var(--muted);font-size:12px}.projectCardResp{color:var(--muted);font-size:12px;font-weight:500}.miniProgress{display:grid;grid-template-columns:26px 1fr;gap:4px 8px;align-items:center}.miniProgress span{font-size:11px;font-weight:700;color:var(--muted)}.primaryButton,.secondaryButton{border:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;cursor:pointer;font-weight:600;font-size:13.5px;min-height:38px;transition:all var(--transition)}.primaryButton{background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;box-shadow:0 1px 2px #35502e59}.primaryButton:hover{background:linear-gradient(135deg,#273723,var(--blue));box-shadow:0 4px 12px #35502e66;transform:translateY(-1px)}.secondaryButton{background:var(--soft);color:var(--text);border:1px solid var(--border)}.secondaryButton:hover{background:var(--border)}.primaryButton:active,.secondaryButton:active{transform:translateY(0)}.primaryButton:disabled,.secondaryButton:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.textButton{border:0;background:transparent;color:var(--blue-2);font-size:13px;font-weight:600;padding:4px 0;cursor:pointer;transition:color var(--transition)}.textButton:hover{color:var(--blue);text-decoration:underline}.textButton.small{font-size:12px}.backButton{width:max-content;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);display:inline-flex;align-items:center;gap:8px;padding:9px 14px;cursor:pointer;font-size:13px;font-weight:600;transition:all var(--transition);box-shadow:var(--shadow-xs)}.backButton:hover{border-color:#93aa8e;background:var(--soft)}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formGrid label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em}.formGrid input,.formGrid select,.formGrid textarea{width:100%}.formGrid textarea{resize:vertical;min-height:70px}.fileField span{color:var(--muted);font-size:11px;font-weight:400;overflow-wrap:anywhere}.formSectionTitle{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--border);padding-bottom:12px;color:var(--muted)}.formSectionTitle strong{display:block;font-size:14px;color:var(--text);font-weight:700}.formSectionTitle span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.formSection{border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;background:var(--soft);display:grid;gap:14px}.resolucionCierreStage{border:1.5px dashed var(--blue-2);background:#e2f2de;margin-top:6px}.financeForm{display:grid;gap:16px}.formActions{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid var(--border);padding-top:14px;margin-top:4px}.checkField{display:flex!important;align-items:center;gap:8px!important;padding-top:22px;color:var(--text)!important}.checkField input{width:auto;accent-color:var(--blue-2)}.notice{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;font-weight:600;font-size:13px}.notice.ok{background:var(--green-light);border-color:#b3e9c6;color:#236a3e}.notice.error{background:var(--red-light);border-color:#efb8b4;color:#7a312b}.notice.warning{background:var(--gold-light);border-color:#f1dc86;color:#814019}.validationBox{border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--panel);box-shadow:var(--shadow-xs)}.validationBox strong{font-size:14px;font-weight:700}.validationBox span{color:var(--muted);font-size:12px;display:block;margin-top:3px}.workflowStrip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-xs)}.workflowStrip div{display:flex;align-items:center;gap:12px;padding:14px 18px;border-right:1px solid var(--border);color:var(--muted);background:var(--panel);transition:background var(--transition)}.workflowStrip div:last-child{border-right:0}.workflowStrip strong{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border-radius:99px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:800}.workflowStrip .wfLabels{display:grid;gap:1px}.workflowStrip .wfLabels span{font-size:13.5px;font-weight:700;color:var(--text)}.workflowStrip .wfLabels small{font-size:11px;color:var(--muted)}.workflowStrip .done{background:#dff5e6}.workflowStrip .done strong{background:var(--green);color:#fff;box-shadow:0 2px 8px #16a34a40}.workflowStrip .done .wfLabels small{color:var(--green);font-weight:600}.detailTabs{display:flex;gap:4px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:6px;box-shadow:var(--shadow-xs)}.detailTab,.detailTabs button{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);padding:8px 12px;cursor:pointer;font-weight:600;font-size:13px;transition:all var(--transition)}.detailTab:hover,.detailTabs button:hover{background:var(--soft);color:var(--text)}.detailTab.active,.detailTabs button.active{background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;box-shadow:0 2px 6px #2563eb4d}.detailHero{display:grid;grid-template-columns:1fr 240px;gap:20px;align-items:start;background:linear-gradient(135deg,#fff,#e8f1e5);border:1px solid var(--border);border-left:4px solid var(--blue-2);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.detailHero h2{margin:10px 0 8px;font-size:21px;line-height:1.25;font-weight:800}.detailHero p{margin:0;color:var(--muted);font-size:13px}.amountBox{border-left:4px solid var(--red);background:linear-gradient(135deg,#f6d4d2,#f7d9d7);border-radius:var(--radius-sm);padding:16px;display:grid;gap:4px;box-shadow:var(--shadow-xs)}.amountBox span,.amountBox small{color:var(--muted);font-size:12px;font-weight:500}.amountBox strong{font-size:24px;font-weight:800;letter-spacing:-.4px}.pdTopBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pdStatusRow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pdTag{font-size:12px;background:var(--soft);color:var(--muted);padding:4px 10px;border-radius:99px;font-weight:600}.pdActions{display:flex;gap:8px;margin-left:auto;align-items:center;flex-wrap:wrap}.actionBtn{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:var(--radius-sm);padding:9px 16px;cursor:pointer;font-size:13px;font-weight:700;transition:all var(--transition)}.actionBtn.orange{background:linear-gradient(135deg,#be7118,#d8931e);color:#fff;box-shadow:0 2px 6px #d977064d}.actionBtn.blue{background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;box-shadow:0 2px 6px #2563eb4d}.actionBtn.done{background:linear-gradient(135deg,#236a3e,var(--green));color:#fff;cursor:default}.actionBtn:hover:not(:disabled):not(.done){transform:translateY(-1px);filter:brightness(1.06)}.actionBtn:disabled{opacity:.7;cursor:default}.pdTitle{font-size:18px;line-height:1.4;margin:8px 0 2px;font-weight:800;letter-spacing:-.2px}.pdSubtitle{color:var(--muted);font-size:13px;margin:0 0 2px}.pdBody{display:grid;grid-template-columns:285px 1fr;gap:18px;align-items:start}.pdLeft{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.pdRight{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}.pdCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:grid;gap:10px;box-shadow:var(--shadow-xs);min-width:0}.pdCardTitle{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--border)}.avanceRow{display:grid;grid-template-columns:120px 1fr 36px;gap:8px;align-items:center}.avanceRow.is-pendiente{background:var(--red-light);border-radius:var(--radius-sm);padding:4px 6px;margin:0 -6px}.avanceLabel{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);font-weight:500}.avanceBar{height:6px;background:#e2eddf;border-radius:99px;overflow:hidden}.avanceFill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1)}.avanceFill.yellow{background:linear-gradient(90deg,#be7118,#d8931e)}.avanceFill.blue{background:linear-gradient(90deg,var(--blue),var(--blue-2))}.avanceFill.purple{background:linear-gradient(90deg,#714cab,var(--purple))}.avancePct{font-size:12px;font-weight:800;text-align:right;color:var(--text)}.workflowMini{display:flex;align-items:center;gap:4px;padding-top:10px;border-top:1px solid var(--border)}.wfMiniStep{display:grid;gap:2px;flex:1;background:var(--soft);border-radius:var(--radius-sm);padding:6px 8px;text-align:center;transition:background var(--transition)}.wfMiniStep span{font-size:12px;font-weight:800;color:var(--muted)}.wfMiniStep small{font-size:10px;color:var(--muted)}.wfMiniStep.done{background:var(--green-light)}.wfMiniStep.done span,.wfMiniStep.done small{color:#236a3e;font-weight:700}.wfMiniArrow{color:var(--muted);font-size:14px;opacity:.5}.pdField{display:grid;gap:2px}.pdFieldLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pdFieldValue{font-size:13px;font-weight:600}.pdMontos{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.pdMontoLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:block;margin-bottom:2px}.pdMonto{font-size:15px;font-weight:800;display:block;letter-spacing:-.3px}.pdMonto.teal{color:var(--teal)}.pdMonto.red{color:var(--red)}.pdPartida{display:grid;gap:2px;padding:4px 0;min-width:0}.pdPartida>*:first-child{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.pdPartida>*:last-child{font-size:13px;font-weight:600;color:var(--text);overflow-wrap:break-word}.etapaRow{display:grid;gap:2px;padding:7px 0;border-bottom:1px solid #e2eddf}.etapaRow:last-child{border-bottom:0}.etapaLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.etapaDesc{font-size:12px;color:var(--muted);line-height:1.4}.pdDoc{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 0;border-bottom:1px solid #e8f1e5;font-weight:500}.pdDoc:last-child{border-bottom:0}.pdDocLabel{flex:1}.pdDocStatus{font-size:11px;font-weight:700;color:#c3d4bf;white-space:nowrap}.pdDocStatus.ok{color:var(--green)}.specialistWorkbench{background:linear-gradient(90deg,rgba(37,99,235,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(20,184,166,.08) 1px,transparent 1px),linear-gradient(135deg,#fff,#e7f5e4 58%,#e1faf0);background-size:24px 24px,24px 24px,auto;border:1px solid #c8e7c1;border-left:3px solid var(--teal);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:13px 15px;display:grid;gap:12px}.workbenchHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.scienceKicker{display:block;font-size:10px;font-weight:900;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}.workbenchHeader h3{margin:2px 0 0;font-size:16px;letter-spacing:0}.workbenchMetrics{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workbenchMetrics span{background:#ffffffd1;border:1px solid #d5edd0;border-radius:var(--radius-sm);padding:6px 9px;color:var(--muted);font-size:11px;font-weight:800}.workbenchMetrics strong{color:var(--text);font-size:14px;margin-right:3px}.adviceForm{display:grid;gap:8px}.adviceControls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.adviceControls label{display:grid;gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}.adviceControls select,.adviceControls input,.adviceComposer textarea{border:1.5px solid #d1e3cc;border-radius:var(--radius-sm);background:#ffffffeb;font:inherit;font-size:12px;color:var(--text)}.adviceControls select,.adviceControls input{height:34px;padding:0 9px}.adviceComposer{display:grid;grid-template-columns:1fr 44px;gap:8px}.adviceComposer textarea{resize:vertical;min-height:44px;padding:9px 10px;line-height:1.35}.adviceComposer textarea:focus,.adviceControls select:focus,.adviceControls input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #14b8a621}.adviceSubmit{border:0;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--teal),var(--blue-2));color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px #14b8a638}.adviceSubmit:disabled{opacity:.48;cursor:default;box-shadow:none}.technicalProductsGrid{display:grid;grid-template-columns:1fr;gap:10px;align-items:start}.productSection{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-xs);container-type:inline-size}.productSectionHeader{display:flex;justify-content:flex-start;align-items:center;gap:8px;padding:10px 16px;background:var(--soft);border-bottom:1px solid var(--border)}.productSectionTitle{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:6px}.productSectionMeta{margin-left:auto;font-size:11px;font-weight:900;color:var(--teal);background:#dbf5e9;border:1px solid #b3e9c6;border-radius:999px;padding:2px 8px;white-space:nowrap}.addProductBtn{font-size:12px;font-weight:700;background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;border:0;border-radius:var(--radius-sm);padding:5px 12px;cursor:pointer;transition:all var(--transition);box-shadow:0 1px 3px #2563eb40}.addProductBtn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #2563eb4d}.pdEmpty{color:var(--muted);font-size:12px;padding:12px 14px;text-align:center;margin:0;font-weight:500}.addProductForm{padding:14px 16px;background:var(--soft);border-bottom:1px solid var(--border)}.productCard{padding:11px 14px;border-bottom:1px solid #e2eddf;transition:background var(--transition)}.productCard:last-child{border-bottom:0}.productCard:hover{background:var(--soft)}.productCardMain{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}.productCardLeft{flex:1;display:grid;gap:3px;min-width:0}.productCardTitle{font-size:12.5px;font-weight:700;line-height:1.35;font-family:var(--font-display)}.productCardSub{font-size:12px;color:var(--muted)}.productCardLink{font-size:11px;color:var(--blue-2);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.productCardLink:hover{text-decoration:underline}.productCardDate{font-size:11px;color:var(--muted)}.productCardRight{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.estadoBadge{font-size:11px;font-weight:700;background:var(--gold-light);color:#814019;border-radius:99px;padding:3px 10px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.estadoTopBadge{font-size:11px;font-weight:700;background:var(--info-light);color:var(--info);border:none;padding:3px 10px}select.estadoTopBadge{cursor:pointer;border-radius:99px;white-space:nowrap;max-width:280px}select.estadoTopBadge:hover{filter:brightness(.97)}span.estadoTopBadge{display:inline-block;white-space:normal;max-width:260px;border-radius:10px;line-height:1.35}.confirmOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#17230f8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}.confirmDialog{background:var(--panel);border-radius:var(--radius-lg);padding:28px 26px 22px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 50px -14px #0006;animation:confirmPop .16s ease}@keyframes confirmPop{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirmIcon{width:52px;height:52px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(155deg,var(--ic),color-mix(in srgb,var(--ic) 55%,#000));box-shadow:inset 0 1px 1px #fff6,inset 0 -6px 10px #0000002e}.confirmIcon.green{--ic: var(--green)}.confirmIcon.red{--ic: var(--red)}.confirmDialog h3{margin:0 0 8px;font-family:var(--font-display);font-size:17px;color:var(--text)}.confirmDialog p{margin:0 0 20px;font-size:13px;color:var(--muted);line-height:1.5}.confirmActions{display:flex;gap:10px;justify-content:center}.confirmActions button{flex:1}button.confirmBtn-green{background:linear-gradient(135deg,var(--green),#2f6b3a)}button.confirmBtn-red{background:linear-gradient(135deg,var(--red),#7c3323)}.observationBox{background:var(--soft);overflow:hidden}.observationHint{margin:0;padding:8px 10px 0;font-size:12px;color:var(--muted)}.fileViewerBox{background:var(--panel);border-bottom:1px solid var(--border);overflow:hidden}.obsInlineRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}@container (max-width: 640px){.obsInlineRow{grid-template-columns:1fr}}.reviewTitle{display:flex;align-items:center;gap:7px;padding:9px 10px;border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.reviewTitle a{margin-left:auto;color:var(--blue);font-size:11px;text-decoration:none;text-transform:none;letter-spacing:0}.fileViewerBox iframe{width:100%;height:580px;border:0;display:block;background:var(--soft)}.fileViewerBox img{width:100%;max-height:580px;object-fit:contain;display:block;background:var(--soft)}.wordPreviewBox{display:grid;justify-items:center;gap:8px;padding:28px 18px;text-align:center;color:var(--muted)}.wordPreviewBox strong{color:var(--text)}.wordPreviewBox span{font-size:12px;line-height:1.4;max-width:320px}.observationForm{display:grid;gap:8px;padding:10px;border-bottom:1px solid var(--border)}.adviceControls.two{grid-template-columns:1fr 1fr}@container (max-width: 620px){.adviceControls.two{grid-template-columns:1fr}}.observationForm textarea{border:1.5px solid #d1e3cc;border-radius:var(--radius-sm);font:inherit;font-size:12px;line-height:1.45;padding:9px 10px;resize:vertical}.observationForm textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #14b8a621}.observationList{max-height:270px;overflow:auto}.observationItem{padding:9px 10px;border-bottom:1px solid #e2eddf;border-radius:var(--radius-sm);transition:background var(--transition)}.observationItem.estado-aprobado{background:var(--green-light)}.observationItem.estado-observado{background:var(--gold-light)}.observationItem.tipo-ampliacion{background:var(--info-light);border-left:3px solid var(--info)}.observationItem span{color:var(--muted);font-size:10.5px;font-weight:800}.observationItem p{margin:4px 0 0;font-size:12px;line-height:1.45;white-space:pre-wrap;white-space:pre-line}.reviewModalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;background:#17230f8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.reviewModal{width:min(1200px,94vw);max-height:92vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;font-size:16px}.reviewModalHead{display:flex;align-items:flex-start;gap:16px;padding:22px 28px;border-bottom:1px solid var(--border);background:var(--soft);flex-shrink:0}.reviewModalIcon{width:46px;height:46px;flex-shrink:0;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(155deg,var(--chip),color-mix(in srgb,var(--chip) 55%,#000));box-shadow:inset 0 1px 1px #fff6,inset 0 -6px 10px #0000002e}.reviewModalHeadInfo{flex:1;min-width:0}.reviewModalTitle{display:block;font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.3;color:var(--text)}.reviewModalSub{display:block;margin-top:5px;font-size:14.5px;color:var(--muted)}.reviewModalClose{width:40px;height:40px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);font-size:17px;line-height:1;cursor:pointer;transition:background var(--transition),color var(--transition)}.reviewModalClose:hover{background:var(--border);color:var(--text)}.reviewModalBody{display:grid;grid-template-columns:3fr 2fr;flex:1;min-height:0}.reviewModalCol{padding:24px 28px;overflow-y:auto;min-height:0}.reviewModalColLeft{border-right:1px solid var(--border)}.reviewModalColRight{display:flex;flex-direction:column;gap:20px}.reviewModalBlockLabel{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}@media(max-width:760px){.reviewModalBody{grid-template-columns:1fr}.reviewModalColLeft{border-right:none;border-bottom:1px solid var(--border)}}.reviewModalCol .reviewTitle{font-size:12px}.reviewModalCol .observationHint{font-size:12.5px}.reviewModalCol .observationForm textarea{font-size:14px}.reviewModalCol .observationItem span{font-size:11px}.reviewModalCol .observationItem p{font-size:13px}.reviewModalCol .wordPreviewBox strong{font-size:15px}.reviewModalCol .wordPreviewBox span{font-size:13px}.reviewModalCol .fileViewerBox iframe,.reviewModalCol .fileViewerBox img{height:820px;max-height:820px}.reviewFileHint{margin:8px 0 0;font-size:12px;color:var(--muted)}.reviewDatosBlock{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.reviewDatosHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.reviewDatosEstado{display:inline-block;margin:2px 0 14px}.reviewDatosGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.reviewDatosGrid .lbl{display:block;color:var(--muted);font-size:12.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.reviewDatosGrid .val{margin-top:3px;font-size:15.5px;color:var(--text);overflow-wrap:anywhere}.reviewDatosForm{margin-top:4px}.reviewModalCol .formGrid label{font-size:14px}.reviewModalCol .formGrid input,.reviewModalCol .formGrid select{font-size:15px;padding:9px 12px}.reviewModalCol .textButton{font-size:14.5px}.cumplidoToggleBtn{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;margin-top:16px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--panel);color:var(--text);font-size:14px;font-weight:700;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}.cumplidoToggleBtn:hover{border-color:var(--green);background:var(--green-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cumplidoToggleBtn.is-cumplido{background:linear-gradient(135deg,var(--green),#2f6b3a);border-color:var(--green);color:#fff;box-shadow:0 4px 14px -5px color-mix(in srgb,var(--green) 60%,transparent)}.cumplidoToggleBtn.is-cumplido:hover{filter:brightness(1.08);transform:translateY(-1px)}.reviewObjetivosList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.reviewObjetivosList li{display:flex;gap:9px;align-items:flex-start;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.reviewObjetivoIndex{flex-shrink:0;font-size:11px;font-weight:800;color:var(--muted);background:var(--soft);border-radius:99px;padding:3px 9px}.reviewObjetivosList p{margin:0;font-size:13px;line-height:1.4}.reviewObjetivoIndicador{display:block;margin-top:3px;font-size:11.5px;color:var(--muted)}.workbenchHint{font-size:12px;color:var(--muted);margin:0;padding:0 16px 14px;line-height:1.5}.obsTypeRow{display:flex;flex-wrap:wrap;gap:6px}.obsTypeChip{padding:4px 11px;border-radius:999px;border:1.5px solid #d1e3cc;background:var(--soft);font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;transition:all var(--transition);white-space:nowrap}.obsTypeChip:hover{border-color:var(--teal);color:var(--teal)}.obsTypeChip.active{background:var(--teal);border-color:var(--teal);color:#fff}.obsTypeHint{font-size:11px;color:var(--muted);margin:0;font-style:italic;line-height:1.4;min-height:16px}.obsAccionRow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;color:var(--text)}.obsAccionRow label{display:flex;align-items:center;gap:6px}.obsAccionRow input[type=checkbox]{width:auto;accent-color:var(--blue-2)}.obsAccionRow input[type=date]{padding:4px 8px;font-size:12px}.observationForm input{border:1.5px solid #d1e3cc;border-radius:var(--radius-sm);padding:7px 10px;font-size:13px;font-family:inherit;color:var(--text);background:var(--panel);width:100%;box-sizing:border-box;transition:border-color var(--transition),box-shadow var(--transition)}.observationForm input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #14b8a621}.bitacoraNote{padding:11px 16px;border-bottom:1px solid #e2eddf}.bitacoraNote:last-child{border-bottom:0}.bitacoraNote p{margin:4px 0 0;font-size:13px;line-height:1.5}.bitacoraDate{font-size:11px;font-weight:700;color:var(--muted)}.productGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.productGroup{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;background:var(--panel)}.productGroup h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:700}.productItem{border-top:1px solid #e2eddf;padding:10px 0}.productItem strong{font-size:13px;line-height:1.35;font-weight:600;display:block}.productItem .pill{margin-top:6px}.productItem span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.productEditForm{margin-top:10px;border-top:1px dashed var(--border);padding-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.productEditForm label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:600}.productEditForm label:nth-child(3),.productEditForm button{grid-column:1 / -1}.singleColumn{display:grid;gap:14px}.documentsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.documentItem{display:flex;gap:10px;align-items:flex-start;border:1.5px solid #efb8b4;border-radius:var(--radius-sm);padding:12px;background:var(--red-light);color:#7a312b;transition:all var(--transition)}.documentItem.optional{border-color:var(--border);background:var(--soft);color:var(--muted)}.documentItem.ready{background:var(--green-light);border-color:#b3e9c6;color:#236a3e}.documentItem strong{font-size:13px;color:var(--text);font-weight:600;display:block}.documentItem small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:700}.documentItem span{display:block;margin-top:5px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.documentChecklist,.technicalSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.technicalSummary div{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:var(--panel);box-shadow:var(--shadow-xs)}.technicalSummary strong{display:block;font-size:26px;font-weight:800;line-height:1;color:var(--blue);letter-spacing:-.4px}.technicalSummary span{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:600}.requestWorkflow{display:grid;gap:14px}.requestForm{grid-template-columns:repeat(3,minmax(0,1fr))}.newProductForm{border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--soft);display:grid;gap:12px}.actionGrid{align-items:start}.actionPanel{display:grid;gap:12px}.phaseHeader{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-left:5px solid var(--blue);box-shadow:var(--shadow-sm)}.phaseHeader.green{border-left-color:var(--green)}.phaseHeader.blue{border-left-color:var(--blue-2)}.phaseHeader.purple{border-left-color:var(--purple)}.phaseBadge{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--bg);color:var(--muted);padding:4px 12px;border-radius:99px;display:inline-block;margin-bottom:6px;border:1px solid var(--border)}.phaseTitle h2{margin:0 0 4px;font-size:21px;font-weight:800}.phaseTitle p{margin:0;color:var(--muted);font-size:13px}.phaseCount{text-align:right}.phaseCount strong{display:block;font-size:44px;font-weight:900;line-height:1;letter-spacing:-1.5px;background:linear-gradient(135deg,var(--blue),var(--blue-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.phaseHeader.green .phaseCount strong{background:linear-gradient(135deg,#236a3e,var(--green));-webkit-background-clip:text;background-clip:text}.phaseHeader.purple .phaseCount strong{background:linear-gradient(135deg,#714cab,var(--purple));-webkit-background-clip:text;background-clip:text}.phaseCount span{color:var(--muted);font-size:12px;font-weight:500}.prereqBar{display:flex;gap:8px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;align-items:center;box-shadow:var(--shadow-xs)}.prereqBar strong{font-size:12px;color:var(--muted);margin-right:4px;font-weight:600}.prereqTag{background:var(--green-light);color:#236a3e;border-radius:99px;padding:4px 12px;font-size:12px;font-weight:700;border:1px solid #b3e9c6}.queueFilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:center}.queueFilters .searchBox{height:38px;margin:0}.queueFilters select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);height:38px;padding:0 10px;font-size:12px;font-weight:600}.resetFiltersButton{display:flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:all var(--transition)}.resetFiltersButton:hover:not(:disabled){background:var(--red-light);border-color:var(--red);color:#7a312b}.resetFiltersButton:disabled{opacity:.4;cursor:not-allowed}.queueDashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.queueInsight{display:grid;gap:7px;min-height:0}.queueInsight.panel{background:var(--panel)}.queueInsight.wide{grid-column:1 / -1}.queueInsight h3{margin:0 0 4px;font-size:14px;font-weight:800;line-height:1.25}.insightHeader{align-items:center;display:flex;justify-content:space-between;gap:10px}.insightHeader span{color:var(--muted);font-size:11px;font-weight:800}.miniProjectRow{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);display:grid;grid-template-columns:1fr auto auto;gap:10px;min-height:48px;padding:9px 10px;text-align:left;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.miniProjectRow span.priorityScore{background:#f7ebbc;border-radius:99px;color:#9e5217;font-size:10px;font-weight:800;padding:2px 8px;white-space:nowrap}.miniProjectRow:hover{border-color:#c4e6bd;box-shadow:0 8px 18px #2563eb14;transform:translateY(-1px)}.miniProjectRow span{overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:700;min-width:0}.miniProjectRow b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miniProjectRow small{color:var(--muted);display:block;font-size:10px;font-weight:700;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miniProjectRow strong{color:var(--blue);font-size:12px}.areaMetric{display:grid;grid-template-columns:1fr 42px;gap:4px 10px;align-items:center;border-bottom:1px solid #e2eddf;padding:6px 0}.areaMetric strong{display:block;font-size:11px;line-height:1.2}.areaMetric span{color:var(--muted);display:block;font-size:10px;margin-top:1px}.areaMetric b{color:var(--green);font-size:12px;text-align:right}.areaMetric .progressLine{grid-column:1 / -1}.riskGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.riskGrid div{background:var(--soft);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:42px;padding:7px 9px}.riskGrid strong{display:block;font-size:19px;font-weight:900;line-height:1}.riskGrid span{color:var(--muted);display:block;font-size:10px;font-weight:700;margin-top:4px}.bucketBars{display:grid;gap:6px;margin-top:2px}.bucketBars div{display:grid;grid-template-columns:50px 26px 1fr;gap:7px;align-items:center}.bucketBars span,.bucketBars strong{color:var(--muted);font-size:10px;font-weight:800}.sciencePanel{position:relative;overflow:hidden}.sciencePanel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(37,99,235,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(37,99,235,.035) 1px,transparent 1px);background-size:18px 18px;pointer-events:none}.sciencePanel>*{position:relative}.radarCore{align-items:center;aspect-ratio:1;background:radial-gradient(circle at center,#ffffff 0 43%,transparent 44%),conic-gradient(var(--blue-2) var(--score),#daecd7 0);border:1px solid #d2ecce;border-radius:999px;display:grid;justify-self:center;margin:4px 0;place-items:center;width:118px;box-shadow:inset 0 0 0 8px #2563eb0a,0 10px 24px #2563eb1f}.radarCore div{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:999px;display:grid;height:82px;justify-items:center;width:82px}.radarCore strong{color:var(--blue);font-size:28px;font-weight:900;line-height:1}.radarCore span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.signalGrid{display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.signalGrid div{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px}.signalGrid b{color:var(--text);display:block;font-size:16px;font-weight:900;line-height:1}.signalGrid span{color:var(--muted);display:block;font-size:10px;font-weight:700;margin-top:4px}.queueTable{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.queueTableHead{display:none;grid-template-columns:minmax(360px,1.4fr) minmax(220px,.9fr) minmax(210px,.85fr) 58px;gap:12px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;padding:0 4px 4px;text-transform:uppercase}.queueRow{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;grid-template-columns:1fr;align-items:stretch;gap:8px;min-height:136px;padding:9px;transition:border-color var(--transition),box-shadow var(--transition)}.queueRow.clickable{cursor:pointer}.queueRow.clickable:hover{border-color:var(--blue-2);box-shadow:0 0 0 3px #2563eb14}.queueRow.stale{border-left:4px solid var(--gold)}.projectCell,.followCell,.statusCell{min-width:0}.projectCell{display:grid;gap:3px}.projectCell strong{color:var(--text);display:block;font-size:12px;font-weight:800;line-height:1.25;font-family:var(--font-display);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.projectCell span,.statusCell span{color:var(--muted);display:block;font-size:10.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rowBadges{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.followCell{display:grid;gap:5px}.metricLine{align-items:center;display:flex;gap:8px;justify-content:space-between}.metricLine span{color:var(--muted);font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metricLine b{color:var(--green);font-size:12px;font-weight:900}.statusCell{display:grid;gap:4px}.statusCell b{color:var(--text);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusCell small{color:#814019;font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rowAction{background:var(--soft);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--blue);cursor:pointer;font-size:11px;font-weight:800;justify-self:end;padding:5px 10px;width:70px}.observationReport{display:grid;gap:14px}.reportProductBlock{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden}.reportProductBlock h3{margin:0;padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--border);font-size:14px}.reportProductItem{padding:12px 14px;border-bottom:1px solid #e2eddf}.reportProductItem:last-child{border-bottom:0}.reportProductHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.reportProductHead strong{font-size:13px;line-height:1.35}.reportProductHead span{color:var(--green);font-size:11px;font-weight:900;white-space:nowrap}.reportProductItem p{margin:5px 0;font-size:12px;color:var(--muted)}.reportNotes{margin-top:8px;display:grid;gap:6px}.reportNotes div,.reportNotes>p{background:var(--soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px}.reportNotes span{color:var(--muted);font-size:10.5px;font-weight:800}.reportNotes p{color:var(--text);margin:4px 0 0;white-space:pre-line}@media(max-width:1400px){.queueTable{grid-template-columns:repeat(2,minmax(0,1fr))}.technicalProductsGrid,.compactPanelsGrid{grid-template-columns:1fr}}.queueGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}.queueCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:grid;gap:9px;box-shadow:var(--shadow-xs);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.queueCard.stale{border-left:4px solid var(--gold)}.queueCard.done{border-left:4px solid var(--green)}.queueCard.clickable{cursor:pointer}.queueCard.clickable:hover{border-color:var(--blue-2);box-shadow:var(--shadow),0 0 0 3px #2563eb1a;transform:translateY(-2px)}.queueCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.queueCardBadge{font-size:11px;font-weight:800;background:var(--blue-light);color:var(--blue);padding:3px 9px;border-radius:99px;white-space:nowrap}.queueCardTitle{font-size:13px;font-weight:700;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.queueCardSub{color:var(--muted);font-size:12px;font-weight:500}.queueCardFoot{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;border-top:1px solid #e2eddf;padding-top:9px;font-weight:500}.docPills{display:flex;flex-wrap:wrap;gap:5px}.docPill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px}.docPill.ok{background:var(--green-light);color:#236a3e}.docPill.missing{background:var(--red-light);color:#7a312b}.staleAlert{font-size:11px;font-weight:800;color:#814019;background:var(--gold-light);border-radius:99px;padding:3px 8px}.techProgressRow{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.techProgressLabel{font-size:12px;color:var(--muted);font-weight:500}.techProgressPct{font-size:12px;font-weight:800;color:var(--green)}.areaTag{font-size:11px;font-weight:700;background:var(--soft);color:var(--muted);border-radius:99px;padding:3px 9px}.readOnlyNote{font-size:12.5px;color:var(--muted);background:var(--soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:10px;font-weight:500}.newProjectPanel{border:2px solid var(--blue-2);background:var(--panel);box-shadow:var(--shadow-sm)}.npSection{border:1px solid #d1eccc;border-radius:var(--radius);padding:14px 16px;background:var(--panel);margin-bottom:10px;display:grid;gap:12px;box-shadow:var(--shadow-xs)}.userTable{display:grid;border-top:1px solid var(--border)}.userRow{display:grid;grid-template-columns:130px 1fr 200px 160px 90px 60px;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid #e2eddf;font-size:13px;transition:background var(--transition)}.userRow:hover:not(.userRowHead){background:var(--soft)}.userRowHead{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding-bottom:10px;border-bottom:2px solid var(--border)}.roleTag{display:inline-block;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700;background:var(--blue-light);color:var(--blue)}.roleTag.admin{background:var(--red-light);color:#7a312b}.roleTag.jefe{background:var(--green-light);color:#236a3e}.roleTag.gestor{background:var(--teal-light);color:var(--teal)}.roleTag.monitor_financiero{background:var(--gold-light);color:#814019}.roleTag.monitor_tecnico{background:var(--purple-light);color:#714cab}.historyTable{display:grid}.historyRow{display:grid;grid-template-columns:150px 120px 160px 1fr 1fr;gap:10px;align-items:start;padding:9px 4px;border-bottom:1px solid #e2eddf;font-size:12px;transition:background var(--transition)}.historyRow:hover:not(.head){background:var(--soft)}.historyRow.head{color:var(--muted);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.05em;border-bottom:2px solid var(--border);padding-bottom:9px}.valBefore{color:#7a312b;background:var(--red-light);border-radius:4px;padding:2px 7px;display:inline-block;overflow-wrap:anywhere;font-weight:600}.valAfter{color:#236a3e;background:var(--green-light);border-radius:4px;padding:2px 7px;display:inline-block;overflow-wrap:anywhere;font-weight:600}.printView{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;color:#000;z-index:9999;overflow-y:auto;padding:40px 48px}.printActions{display:flex;gap:10px;margin-bottom:24px}.printHeader{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--blue);padding-bottom:14px;margin-bottom:22px}.printTitle{font-size:17px;font-weight:800;color:var(--blue)}.printSubtitle{font-size:13px;color:var(--muted);margin-top:4px}.printMeta{text-align:right;font-size:12px;color:var(--muted)}.printSection{margin-bottom:22px;break-inside:avoid;page-break-inside:avoid}.printSection h3{font-size:13px;font-weight:800;background:var(--blue);color:#fff;padding:5px 10px;border-radius:4px;margin:0 0 10px}.printGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.printGrid2col{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}.printField dt{color:var(--muted);font-size:11px;font-weight:700;margin:0}.printField dd{margin:0;font-size:13px}.printTitulo{font-size:14px;font-weight:700;margin-top:12px;line-height:1.4}.printTable{width:100%;border-collapse:collapse;font-size:12px;margin-top:4px}.printTable th{background:#e2eddf;text-align:left;padding:7px 8px;border:1px solid var(--border);font-size:11px;font-weight:800}.printTable td{padding:7px 8px;border:1px solid var(--border);vertical-align:top}.printTable tr:nth-child(2n) td{background:#e8f5e5}.printSignatures{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:56px}.printSignatureBox{border-top:1px solid var(--text);padding-top:8px;text-align:center;font-size:12px;color:var(--muted)}.printSignatureBox strong{display:block;margin-bottom:4px;color:var(--text);font-size:13px}.reportSelector{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.informeMemoHeader{max-width:780px;margin:0 auto 16px;font-family:Arial,sans-serif}.informeHeaderTop{display:flex;align-items:center;gap:10px;padding-bottom:5px}.informeLogo,.informeLogoII{height:60px;width:auto;flex-shrink:0}.informeHeaderCenter{flex:1;text-align:center;line-height:1.35}.informeUniversidad{font-weight:900;font-size:12.5px;letter-spacing:.06em;margin:0 0 1px;text-transform:uppercase}.informeVicerrectorado{font-weight:700;font-size:9.5px;margin:0 0 1px;text-transform:uppercase;letter-spacing:.04em}.informeInstitucion{font-weight:700;font-size:9.5px;letter-spacing:.04em;margin:0;text-transform:uppercase}.informeHeaderDivider{border:none;border-top:2px solid #000;margin:6px 0 4px}.informeBodyDivider{border:none;border-top:1px solid #bbb;margin:12px 0 0}.informeMotto{font-style:italic;font-size:10.5px;text-align:center;margin:0 0 8px;color:#222}.informeCode{font-weight:900;text-decoration:underline;font-size:12px;margin:0 0 9px;text-align:center;letter-spacing:.04em;text-underline-offset:3px}.informeMemoFields{font-size:11.5px;color:#000;border-top:1.5px solid #555;font-family:Arial,sans-serif}.informeMemoRow{display:grid;grid-template-columns:72px 10px 1fr;gap:0 4px;align-items:baseline;padding:3px 0;border-bottom:1px solid #ddd}.informeMemoRow:last-child{border-bottom:none}.informeMemoRowA{align-items:flex-start}.informeMemoLabel{font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.informeMemoSep{font-weight:700;color:#000}.informeMemoVal{color:#000;line-height:1.4}.informeDestinatarioCargo{display:block;font-size:10px;font-style:italic;color:#333;margin-top:1px;padding-left:2px}.printOnly{display:none}.informeInline{border:none;border-bottom:1px dotted #93aa8e;background:transparent;font:inherit;font-size:11.5px;padding:1px 2px;color:var(--text)}.informeInline:focus{outline:none;border-bottom-color:var(--blue)}.informeInline.wide{width:calc(100% - 4px);min-width:180px}.informeBody{font-size:12px;line-height:1.55;max-width:780px;margin:10px auto 0;text-align:justify;font-family:Arial,sans-serif;color:#000}.informeBody p{margin:0 0 6px}.informeSectionTitle{font-weight:900;margin:14px 0 5px;font-size:11px;break-after:avoid;page-break-after:avoid;text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px;border-bottom:1.5px solid #222}.informeTituloDestacado{font-weight:700;text-align:center;margin:5px 0 7px;font-style:italic;font-size:11.5px}.informeList{margin:0 0 6px;padding-left:20px;text-align:left}.informeList li{margin-bottom:3px}.informeEvidencias{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}.informeEvidenciaItem{break-inside:avoid;page-break-inside:avoid}.informeEvidenciaCaption{font-size:11px;font-weight:700;margin:0 0 3px}.informeEvidenciaImg{display:block;max-width:100%;max-height:380px;object-fit:contain;border:1px solid var(--border)}.informeEvidenciaFile{font-size:11px;color:#000;margin:0}.informeEvidenciaPdf{display:block;width:100%;height:480px;border:1px solid var(--border)}.informeSignature{text-align:center;margin-top:40px;max-width:780px;margin-left:auto;margin-right:auto;color:#000;font-family:Arial,sans-serif}.informeFirmaImg{display:block;max-height:60px;margin:0 auto}.informeSignature strong{font-size:11.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border-top:1.5px solid #000;padding-top:4px;display:inline-block;min-width:230px}.informeSignature span{display:block;font-size:11px;color:#222;margin-top:1px}.informeAnexos{max-width:780px;margin:0 auto;break-before:page;page-break-before:always}.informeAnexos .informeSectionTitle{margin-top:32px}@page{size:A4;margin:2cm 2.2cm}@media print{html,body{height:auto!important;overflow:visible!important;background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}.printView{visibility:visible!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;overflow:visible!important;padding:0!important;box-shadow:none!important;background:#fff!important}.printView *{visibility:visible!important}.printActions,.noPrint{display:none!important}.printOnly{display:inline!important}.informeInline{border:none!important;padding:0!important}.informeSignature strong{border-top-color:#000!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.printSection h3{-webkit-print-color-adjust:exact;print-color-adjust:exact}.informeHeaderDivider{border-top-color:#000!important}.printTable th{background:#dbe5d8!important}}@media(max-width:980px){.appShell{grid-template-columns:1fr}aside{position:static;height:auto;flex-direction:column;padding-bottom:12px}.filters,.filters.withSearch,.statsGrid,.gridTwo,.stageGrid,.workflowStrip,.productGrid,.documentsGrid,.technicalSummary,.detailHero,.formGrid,.documentChecklist,.requestForm,.productEditForm,.queueGrid,.queueFilters,.queueDashboard,.techDashboard,.techMetrics,.techPanelsGrid,.queueTableHead,.queueRow,.adviceControls,.technicalProductsGrid{grid-template-columns:1fr}.workbenchHeader{flex-direction:column}.workbenchMetrics{justify-content:flex-start}.queueTableHead{display:none}.queueRow{min-height:auto}.pdBody,.pdMontos{grid-template-columns:1fr}.pdActions{margin-left:0;width:100%}.avanceRow{grid-template-columns:1fr;gap:4px}.workflowStrip div{border-right:0;border-bottom:1px solid var(--border)}.workflowStrip div:last-child{border-bottom:0}.tableRow{grid-template-columns:1fr}.projectHead{display:none}.projectRow{grid-template-columns:1fr}.formActions{justify-content:stretch}.formActions button{width:100%}.validationBox{align-items:flex-start;flex-direction:column}h1{font-size:20px}main{padding:16px}}.reqPanel{padding:18px 20px}.reqAddForm{margin:10px 0 16px;padding:12px;background:var(--soft);border-radius:var(--radius-md)}.reqAddGrid{display:grid;grid-template-columns:1fr;gap:8px}.reqEditForm{flex:1;display:flex;flex-direction:column;gap:8px}.reqAlert{margin-bottom:12px}.reqGroup{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:12px;background:var(--panel)}.reqGroup:last-child{margin-bottom:0}.reqRowMain{display:flex;align-items:flex-start;gap:10px}.reqTipoBadge{flex-shrink:0;font-size:11px;font-weight:800;color:#fff;background:var(--seal, var(--green));border-radius:5px;padding:3px 7px;line-height:1.4}.reqDesc{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.45}.reqRowBtns{display:flex;gap:4px;flex-shrink:0;margin-left:auto}.reqBtnToggle,.reqBtnDelete{border:none;background:transparent;cursor:pointer;padding:5px;border-radius:6px;display:flex;color:var(--muted);transition:background var(--transition)}.reqBtnToggle:hover{background:var(--soft);color:var(--text)}.reqBtnDelete:hover{background:var(--red-light);color:var(--red)}.hitoInformes{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.hitoInformesHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.hitoInformesTitle{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text)}.ganttWrap{overflow-x:auto;margin-top:8px}.ganttTable{border-collapse:collapse;font-size:12px;table-layout:fixed}.ganttTable th{padding:5px 2px;text-align:center;font-size:9.5px;font-weight:600;color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--border)}.ganttTable td{border-bottom:1px solid var(--border)}.ganttMonthMes,.ganttMonthAnio{display:block;line-height:1.25}.ganttMonthAnio{color:var(--muted);font-weight:500;opacity:.8}.ganttMonthCierre{background:var(--red-light)}.ganttMonthCierre .ganttMonthMes{color:var(--red);font-weight:800}.ganttCellCierre{border-right:2px solid var(--red)}.ganttDescCol{text-align:left!important;padding:6px 8px!important;width:170px;max-width:170px;font-size:10.5px;color:var(--text);white-space:normal;overflow-wrap:break-word}.ganttCell{width:17px;height:22px;border-left:1px solid var(--border);background:var(--panel)}.ganttCell.clickable{cursor:pointer}.ganttCell.clickable:hover{background:var(--blue-light)}.ganttCell.active{background:var(--blue)}.ganttCell.active.clickable:hover{background:var(--blue-2)}.ganttActionsRow{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.ganttActionBtn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition)}.ganttActionBtn:hover{background:var(--soft);color:var(--text);border-color:var(--muted)}.ganttActionBtn.primary{color:var(--teal);border-color:var(--teal-light);background:var(--teal-light)}.ganttActionBtn.primary:hover{background:var(--teal);color:#fff;border-color:var(--teal)}.ganttActionBtn.confirm{color:var(--green);border-color:var(--green-light);background:var(--green-light)}.ganttActionBtn.confirm:hover{background:var(--green);color:#fff;border-color:var(--green)}.ganttActionBtn.cancel{color:var(--red);border-color:var(--red-light);background:var(--red-light)}.ganttActionBtn.cancel:hover{background:var(--red);color:#fff;border-color:var(--red)}.ganttActionBtn:disabled{opacity:.5;cursor:not-allowed}.ganttEditingHint{font-size:11px;color:var(--gold)}.techDashboard{display:flex;flex-direction:column;gap:14px}.techPanelsGrid{display:grid;grid-template-columns:minmax(360px,1.08fr) minmax(360px,.92fr) minmax(300px,.66fr);grid-template-rows:minmax(0,auto) minmax(0,auto);gap:14px;align-items:start}.qiAreaStack{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;gap:14px;min-width:0;min-height:640px;align-self:stretch}.qiDistStack{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;gap:14px;min-width:0;min-height:640px;align-self:stretch}.qiMonitor{grid-column:3;grid-row:1 / 3;align-self:stretch;display:flex;flex-direction:column}.techPanelsGrid>.panel,.qiAreaStack>.panel,.qiDistStack>.panel{min-width:0}.techPanelsGrid .queueInsight.panel{padding:14px 16px;border-color:#d1e7cc;box-shadow:0 10px 28px #0f172a12;align-content:start}.qiDist,.qiPriority{min-height:0}.qiPriority{align-content:start;display:flex;flex-direction:column;flex:1}.miniProjectList{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:6px}.qiArea{gap:4px;display:flex;flex-direction:column;flex:1}.areaMetricList{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:4px}.qiStages .bucketBars{margin-top:2px}.qiStages .bucketBars div{grid-template-columns:108px 22px 1fr}.techMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:linear-gradient(135deg,#142412,#233420,#163012);border-radius:var(--radius-md);padding:12px 14px;box-shadow:0 4px 24px #0f172a59}.techMetric{display:grid;gap:2px;min-height:88px;padding:11px 14px;border-radius:var(--radius-sm);background:#ffffff09;border:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden;transition:background var(--transition)}.techMetric:after{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:currentColor;opacity:.65}.techMetric svg{opacity:.45;color:currentColor;margin-bottom:5px}.techMetric strong{display:block;font-size:30px;font-weight:900;letter-spacing:0;line-height:1;color:currentColor;font-variant-numeric:tabular-nums}.techMetric span{color:#ffffff7a;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-top:4px;display:block}.techMetric.green{color:#55c47e}.techMetric.yellow{color:#e6b32d}.techMetric.red{color:#dd776f}.techMetric.blue{color:#89cc79}.techRiskMonitor{background:linear-gradient(160deg,#142412,#1e371b)!important;color:#d6e3d3;border:1px solid rgba(99,132,255,.18)!important;align-content:start;gap:9px}.techRiskMonitor h3{color:#e8f1e5!important;margin-bottom:0!important}.techRiskMonitor .insightHeader span{color:#cbd5e1b3!important}.riskTag{font-size:9px;font-weight:800;letter-spacing:.1em;padding:3px 9px;border-radius:999px;border:1px solid;white-space:nowrap}.riskTag.ok{background:#22c55e26;color:#55c47e;border-color:#4ade8038}.riskTag.warn{background:#fbbf2426;color:#e6b32d;border-color:#fbbf2438}.riskTag.high{background:#f9731626;color:#e88d42;border-color:#f9731638}.riskTag.crit{background:#ef444433;color:#dd776f;border-color:#f8717147}.riskMeter{display:grid;gap:8px;margin:2px 0 0}.riskZones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:25px;gap:3px;position:relative}.rz{border-radius:4px;display:flex;align-items:flex-end;padding-bottom:5px;justify-content:center}.rz span{font-size:8px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;opacity:.72}.rz.ok{background:linear-gradient(180deg,#1c462d,#29874c);color:#b3e9c6}.rz.warn{background:linear-gradient(180deg,#6a3517,#be7118);color:#f1dc86}.rz.high{background:linear-gradient(180deg,#6e301a,#cd5b1f);color:#f5cea2}.rz.crit{background:linear-gradient(180deg,#662d29,#b1443c);color:#efb8b4}.riskPin{position:absolute;top:-4px;transform:translate(-50%);width:3px;height:31px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px #ffffff59,0 0 10px 4px #ffffff8c;z-index:2;transition:left .5s cubic-bezier(.4,0,.2,1)}.riskScore{display:flex;align-items:baseline;gap:8px;padding:2px 0 0}.riskScore strong{font-size:32px;font-weight:900;letter-spacing:0;color:#e2eddf;line-height:1;font-variant-numeric:tabular-nums}.riskScore span{font-size:10px;color:#cbd5e185;font-weight:700;letter-spacing:.02em}.riskFooter{display:flex;gap:8px 12px;flex-wrap:wrap;padding-top:6px;border-top:1px solid rgba(255,255,255,.07);font-size:9px;color:#cbd5e16b;font-weight:600;letter-spacing:.02em}.riskFooter b{color:#cbd5e1a6;font-weight:700}.riskBreakdown{display:flex;flex-direction:column;gap:5px;padding:8px 0 2px;border-top:1px solid rgba(255,255,255,.07)}.riskBreakdownLabel{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#cbd5e16b}.riskBreakdownRow{display:grid;grid-template-columns:130px 1fr 28px;align-items:center;gap:8px}.riskBreakdownRow span{font-size:10px;font-weight:600;color:#cbd5e1a6}.riskBreakdownBar{height:5px;border-radius:99px;background:#ffffff0f;overflow:hidden}.riskBreakdownBar div{height:100%;border-radius:99px;background:linear-gradient(90deg,#d8931e,#ce554c)}.riskBreakdownRow b{font-size:11px;font-weight:800;color:#e2eddf;text-align:right;font-variant-numeric:tabular-nums}.riskBreakdownRow.ageRow span small{color:#cbd5e166;font-weight:600}.riskBreakdownBar.age div{background:linear-gradient(90deg,#55b947,#89cc79)}.riskTrend{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:6px 0}.trendDelta{font-size:15px;font-weight:900;letter-spacing:0;font-variant-numeric:tabular-nums}.trendDelta.up{color:#55c47e}.trendDelta.down{color:#dd776f}.trendDelta.flat{color:#cbd5e199}.trendLabel{font-size:10px;color:#cbd5e180;font-weight:600}.trendLabel.muted{font-style:italic;color:#cbd5e161}.monitorFacultades{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:7px;padding-top:10px;margin-top:2px;border-top:1px solid rgba(255,255,255,.07)}.monitorFacultadesHead{display:flex;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#cbd5e180}.monitorFacultadRow{display:grid;grid-template-columns:14px 1fr 70px 20px;align-items:center;gap:8px}.monitorFacultadRank{font-size:10px;font-weight:800;color:#94c5ffbf;text-align:center}.monitorFacultadName{font-size:11px;font-weight:600;color:#c3d4bf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitorFacultadBar{height:5px;border-radius:99px;background:#ffffff0f;overflow:hidden}.monitorFacultadBar div{height:100%;border-radius:99px;background:linear-gradient(90deg,#55b947,#89cc79)}.monitorFacultadRow b{font-size:12px;font-weight:800;color:#e2eddf;text-align:right;font-variant-numeric:tabular-nums}.riskGrid .riskWarn{border-left:3px solid var(--red)!important}.riskGrid .riskWarn strong{color:var(--red)!important}@media(max-width:1440px){.techPanelsGrid{grid-template-columns:minmax(340px,1fr) minmax(340px,1fr)}.qiAreaStack{grid-column:1;grid-row:1 / 3}.qiDistStack{grid-column:2;grid-row:1 / 3}.qiMonitor{grid-column:1 / -1;grid-row:3;align-self:start}}@media(max-width:1180px){.techMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.techPanelsGrid{grid-template-columns:1fr}.qiAreaStack,.qiDistStack,.qiMonitor{grid-column:1;grid-row:auto}}.terminatedBanner{display:flex;align-items:flex-start;gap:12px;background:#fcefdf;border:1px solid #e37121;border-left:4px solid #e37121;border-radius:var(--radius);padding:14px 18px;margin:0 0 16px;color:#6e301a}.terminatedBanner svg{color:#cd5b1f;flex-shrink:0;margin-top:2px}.terminatedBanner strong{display:block;font-size:14px;font-weight:700;color:#88381d;margin-bottom:3px}.terminatedBanner p{margin:0;font-size:12px;color:#6e301a;line-height:1.5}.terminatedGrid{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}@media(max-width:768px){.terminatedGrid{grid-template-columns:1fr}}.cierreRecomendacion{display:flex;align-items:flex-start;gap:10px;background:#dff5e6;border:1px solid #29874c;border-left:4px solid #29874c;border-radius:var(--radius);padding:12px 16px;margin-bottom:12px;color:#1c462d}.cierreRecomendacion svg{color:#29874c;flex-shrink:0;margin-top:1px}.cierreRecomendacion strong{display:block;font-size:13px;font-weight:700;margin-bottom:2px}.cierreRecomendacion p{margin:0;font-size:11px;line-height:1.5}.cierreRecomendacion.warn{background:#fbf5db;border-color:#be7118;color:#6a3517}.cierreRecomendacion.warn svg{color:#be7118}.productCardFinal{border-left:3px solid var(--gold)!important;background:#fcf8df}.estadoFinalHint{display:inline-block;margin-top:4px;font-size:10px;color:#814019;background:#f7ebbc;border-radius:4px;padding:2px 6px;font-weight:600}.addProductForm select{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--soft);color:var(--text);font-size:13px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.addProductForm select:focus{outline:none;border-color:var(--blue-2);box-shadow:var(--shadow-focus)}.terminatedRibbon{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 18px;background:linear-gradient(90deg,#1d2e1c,#233821);border:1px solid rgba(251,191,36,.15);border-left:3px solid #d8931e;border-radius:var(--radius-sm);font-size:12px;color:#93aa8e}.terminatedRibbon svg{color:#d8931e;flex-shrink:0}.trcLabel{color:#c3d4bf;font-weight:500}.trcLabel strong{color:#e8f1e5;font-weight:800;font-size:14px}.trcDivider{width:1px;height:16px;background:#94a3b833;flex-shrink:0}.terminatedRibbon small{margin-left:auto;font-size:10px;color:#93aa8e;font-style:italic}.terminatedRibbonTags{display:flex;gap:6px}.trcTag{padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px}.trcTag.inviable{background:#ef444426;color:#e89d98;border:1px solid rgba(239,68,68,.3)}.trcTag.renuncia{background:#eab3081a;color:#ebd24c;border:1px solid rgba(234,179,8,.25)}.trcTag.cerrado_resolucion{background:#6b5a8e26;color:#c3b3e0;border:1px solid rgba(107,90,142,.3)}.invProductList{display:flex;flex-direction:column;gap:0}.invProductCard{border-top:1px solid var(--border)}.invProductCard:first-child{border-top:none}.invProductHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;background:none;border:none;padding:12px 16px;cursor:pointer;text-align:left;transition:background var(--transition)}.invProductHeader:hover{background:var(--soft)}.invProductHeader>.iconChip{margin-right:-9px}.invProductCard.open>.invProductHeader{background:#e4f3df}.invProductCard.is-cumplido .invProductHeader{background:var(--green-light)}.invProductCard.is-pendiente .invProductHeader{background:var(--red-light)}.invProductCard.is-cumplido .invProductHeader:hover,.invProductCard.is-pendiente .invProductHeader:hover{filter:brightness(.97)}.invProductInfo{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.invProductTitle{font-size:13px;font-weight:600;color:var(--text);line-height:1.3;font-family:var(--font-display)}.invEstado{font-size:11px;color:var(--muted)}.invProductBadges{display:flex;align-items:center;gap:6px;flex-shrink:0;color:var(--muted)}.invBadge{padding:2px 9px;border-radius:999px;font-size:10px;font-weight:700;background:#e2eddf;color:var(--muted);border:1px solid #d6e3d3}.invBadge.green{background:#cef2db;color:#236a3e;border-color:#b3e9c6}.invProductBody{padding:4px 16px 16px;display:flex;flex-direction:column;gap:14px}.invSection{display:flex;flex-direction:column;gap:6px}.invSectionTitle{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.invFileLink{margin:0;font-size:12px}.invUploadForm{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.invUploadForm input[type=file],.invUploadMsg{font-size:12px}.invUploadMsg.ok{color:var(--green)}.invUploadMsg.error{color:var(--red)}.invAssignList{display:flex;flex-direction:column;gap:8px;padding:0 16px 16px}.invAssignRow{display:flex;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;transition:border-color var(--transition),background var(--transition),transform var(--transition)}button.invAssignRow:hover{border-color:var(--gold);background:var(--soft);transform:translate(2px)}.invAssignUser{display:flex;align-items:center;gap:10px;min-width:220px}.invAssignProject{flex:1;min-width:200px}.evidenciaSection{padding:6px 0 0}.toastRegion{position:fixed;right:20px;bottom:20px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 40px))}.toastRegion .notice{box-shadow:var(--shadow-md);margin:0}.toastClose{background:transparent;border:0;cursor:pointer;font-size:18px;line-height:1;color:inherit;opacity:.6;margin-left:10px}.toastClose:hover{opacity:1}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.fieldLabel{font-size:12px;font-weight:600;color:var(--text)}.fieldHint{margin:0;font-size:11px;color:var(--muted)}.fieldError{margin:0;font-size:12px;color:var(--red)}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--red)}.tabsBar{display:flex;gap:4px;flex-wrap:wrap}.tabsBar button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:0;background:transparent;border-radius:var(--radius-sm);font:inherit;font-weight:600;font-size:13px;color:var(--muted);cursor:pointer}.tabsBar button:hover{background:var(--soft);color:var(--text)}.tabsBar button.active{background:var(--blue-light);color:var(--blue)}.fileLink{font-size:11px;color:var(--info);text-decoration:underline}.fileLink:hover{color:var(--blue)}.loginDivider{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:12px;margin:2px 0}.loginDivider:before,.loginDivider:after{content:"";flex:1;height:1px;background:var(--border)}.loginDivider span{padding:0 12px}.msButton{width:100%;justify-content:center;gap:10px;font-size:14px}
