.login-password{position:relative;display:flex}.login-password input{width:100%;padding-right:50px!important}.login-password button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:9px;background:transparent;color:#176fae;font-size:20px;cursor:pointer}.login-password button:hover,.login-password button:focus{background:#eaf5fc}.login-forgot{display:block;text-align:right;margin:8px 0 15px;color:#1474b6;font-weight:750;text-decoration:none}.login-forgot:hover{text-decoration:underline}
.timeline-document-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto;align-items:end;gap:12px;padding:18px 28px;border-top:1px solid #d8e6ee;background:#f7fbfd}.timeline-document-form[hidden]{display:none}.timeline-document-form>div{grid-column:1/-1}.timeline-document-form h3{margin:0 0 3px}.timeline-document-form small{color:#698292}.timeline-document-form label{display:grid;gap:6px;font-weight:750}.timeline-document-form input{min-height:48px;padding:11px;border:1px solid #c7dce8;border-radius:11px;background:#fff}.timeline-document-form .btn{min-height:48px}
@media(max-width:700px){.timeline-document-form{grid-template-columns:1fr;padding:17px}.timeline-document-form>div{grid-column:auto}.timeline-document-form .btn{width:100%}}

/* Portada: animación nativa, ligera y sin dependencias externas. */
.landing-hero{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(390px,1.2fr);align-items:center;gap:42px;min-height:210px}
.landing-copy{min-width:0}.landing-copy h1{font-size:38px;margin:10px 0}.landing-copy>p:last-child{color:var(--muted)}
.social-motion{position:relative;justify-self:center;width:min(680px,100%);padding:8px 24px 24px;border-radius:28px;background:radial-gradient(circle at 50% 48%,rgba(79,189,238,.18),transparent 48%);filter:drop-shadow(0 16px 28px rgba(19,101,147,.1))}
.social-motion svg{display:block;width:100%;height:170px;overflow:visible}.social-motion>span{position:absolute;bottom:5px;color:#4f7992;font-size:10px;font-weight:800;letter-spacing:.04em}.social-motion>span:nth-of-type(1){left:8%}.social-motion>span:nth-of-type(2){left:44%}.social-motion>span:nth-of-type(3){right:7%}
.motion-path{fill:none;stroke:#9bd6f2;stroke-width:3;stroke-dasharray:7 8;opacity:.75}.motion-person{fill:#dff3fc;stroke:#168bd0;stroke-width:4;transform-box:fill-box;transform-origin:center;animation:socialFloat 3.4s ease-in-out infinite}.person-b{animation-delay:-1.7s}.motion-case rect{fill:#fff;stroke:#1287cf;stroke-width:4}.motion-case path{fill:none;stroke:#79bddf;stroke-width:7;stroke-linecap:round}.motion-case{transform-box:fill-box;transform-origin:center;animation:socialPulse 3.4s ease-in-out infinite}.motion-message rect{fill:#fff;stroke:#79c5e9;stroke-width:3}.motion-message circle,.motion-dot{fill:#14a06b}.motion-message path{fill:none;stroke:#14a06b;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.motion-message{transform-box:fill-box;transform-origin:center;animation:socialFloat 2.9s ease-in-out infinite}.msg-b{animation-delay:-1.2s}.dot-b{fill:#f39a32}
@keyframes socialFloat{50%{transform:translateY(-7px)}}@keyframes socialPulse{50%{transform:scale(1.035)}}

/* Los documentos acompañan la actuación sin competir con su contenido. */
.timeline-docs{gap:5px!important;margin:7px 0!important;padding:7px 9px!important;border-radius:9px!important;background:#f8fbfd!important}.timeline-docs-head{gap:8px!important}.timeline-docs-head b{font-size:10px!important;font-weight:800!important;color:#557488!important}.timeline-doc{gap:8px!important;padding:6px 8px!important;border-radius:7px!important}.timeline-doc-info b{font-size:10.5px!important;line-height:1.3!important;font-weight:750!important}.timeline-doc-info small{font-size:9.5px!important;line-height:1.3!important}.timeline-doc-actions a,.timeline-docs .doc-download-all{min-height:30px!important;padding:4px 7px!important;border-radius:6px!important;font-size:9.5px!important}
@media(max-width:820px){.landing-hero{grid-template-columns:1fr;padding-bottom:18px;gap:8px}.social-motion{width:min(560px,94vw);padding-bottom:20px}.social-motion svg{height:135px}.landing-copy{text-align:center}.social-motion>span{font-size:9px}}
@media(max-width:600px){.social-motion{padding:0 8px 18px}.social-motion svg{height:105px}.timeline-docs-head,.timeline-doc{align-items:flex-start!important}.timeline-doc-actions{display:flex!important;grid-template-columns:none!important}.timeline-doc-actions a{width:auto!important;min-height:32px!important}.timeline-docs .doc-download-all{width:auto!important;min-height:30px!important}}
@media(prefers-reduced-motion:reduce){.motion-person,.motion-case,.motion-message{animation:none}.motion-dot{display:none}}

/* Flujo por acciones: el usuario decide qué hacer y el sistema calcula el estado. */
#updateStatus{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.workflow-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.workflow-actions button{display:grid;gap:3px;min-height:64px;padding:10px 12px;text-align:left;border:1px solid #cbdfe9;border-radius:11px;background:#f8fbfd;color:#173b51;transition:border-color .18s,background .18s,transform .18s}.workflow-actions button:hover{transform:translateY(-1px);border-color:#62b7e3;background:#f0f9fe}.workflow-actions button.selected{border-color:#148bda;background:#e9f6fe;box-shadow:0 0 0 2px rgba(20,139,218,.12)}.workflow-actions b{font-size:11px}.workflow-actions small{font-size:9px;line-height:1.35;color:#688396}.status.respuesta-recibida{background:#e2f5ee;color:#19835c}.state-border.respuesta-recibida{border-left-color:#22a477!important}
@media(max-width:700px){.workflow-actions{grid-template-columns:1fr 1fr}.workflow-actions button{min-height:68px}.update-form>button[type="submit"]{width:100%;min-height:48px}}
@media(max-width:430px){.workflow-actions{grid-template-columns:1fr}.workflow-actions button{min-height:58px}}

/* v22: formulario de actuación legible y jerarquía visual estable */
#timelineModal .update-form{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
#timelineModal .update-form h3,#timelineModal .workflow-actions,#timelineModal #assignee,#timelineModal .update-form input[name="description"],#timelineModal #instruction,#timelineModal .update-form>button[type="submit"],#timelineModal .update-documents-toggle,#timelineModal .closure-fields{grid-column:1/-1!important;width:100%!important;min-width:0!important}
#timelineModal .update-form input[name="description"],#timelineModal #instruction,#timelineModal #assignee{min-height:52px;padding:13px 15px;font-size:15px}
#timelineModal .update-form>button[type="submit"]{min-height:52px;font-size:15px}
.workflow-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-actions button{min-height:72px;padding:12px 14px}.workflow-actions b{font-size:13px}.workflow-actions small{font-size:10.5px}
.social-ecosystem{background:radial-gradient(circle at 50% 48%,rgba(74,181,225,.2),transparent 48%),linear-gradient(135deg,rgba(255,255,255,.45),rgba(223,247,237,.3));border:1px solid rgba(107,190,221,.2)}
.social-ecosystem .territory{fill:url(#territoryFill);animation:landFloat 6s ease-in-out infinite}.social-ecosystem .river{fill:none;stroke:#73c6e8;stroke-width:5;stroke-linecap:round;opacity:.7}.social-ecosystem .community,.social-ecosystem .territory-team{fill:#eaf8fd;stroke:#148bd2;stroke-width:4}.social-ecosystem .institution{fill:#fff;stroke:#158bd2;stroke-width:4;filter:drop-shadow(0 10px 12px rgba(21,139,210,.12))}.social-ecosystem .institution path{fill:none;stroke:#72bedf;stroke-width:6;stroke-linecap:round}.social-ecosystem .institution circle{fill:#e5f7ee;stroke:#2aa66c}.social-ecosystem .network{fill:none;stroke:#68bcdc;stroke-width:3;stroke-dasharray:7 8}.social-ecosystem .agreement{fill:#fff;stroke:#2aa66c;stroke-width:3}.social-ecosystem .agreement path{stroke:#2aa66c;stroke-width:5;stroke-linecap:round}.social-ecosystem .agreement circle,.social-ecosystem .pulse-node{fill:#f39a32}.social-ecosystem .pulse-node{animation:nodePulse 2.2s ease-out infinite;transform-box:fill-box;transform-origin:center}.social-ecosystem .n2{animation-delay:.8s}.social-ecosystem .community{animation:peopleFloat 4s ease-in-out infinite}.social-ecosystem .territory-team{animation:peopleFloat 4s .7s ease-in-out infinite}.social-ecosystem .motion-dot{fill:#21a76b}
@keyframes nodePulse{0%,100%{transform:scale(.85);opacity:.65}50%{transform:scale(1.35);opacity:1}}@keyframes peopleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes landFloat{0%,100%{opacity:.78}50%{opacity:1}}
@media(max-width:700px){.workflow-actions{grid-template-columns:1fr}.workflow-actions button{min-height:66px}.social-ecosystem{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.social-ecosystem *{animation:none!important}.social-ecosystem animateMotion{display:none}}

/* v23: distribución horizontal de acciones y animación de valor compartido. */
#timelineModal{width:min(1080px,94vw)}
#timelineModal .update-form{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:12px!important;padding:22px 30px 26px!important;overflow:visible!important}
#timelineModal .update-form h3,#timelineModal .workflow-actions{grid-column:1/-1!important;width:100%!important}
#timelineModal .workflow-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
#timelineModal .workflow-actions button{min-height:88px!important;padding:15px 16px!important;border-radius:14px!important;align-content:center;box-shadow:0 5px 15px rgba(15,76,108,.04)}
#timelineModal .workflow-actions b{font-size:13px!important}#timelineModal .workflow-actions small{font-size:10.5px!important}
#timelineModal #assignee:not([hidden]){grid-column:1/5!important;width:100%!important}
#timelineModal .update-form input[name="description"]{grid-column:1/10!important;width:100%!important}
#timelineModal .update-form:has(#assignee:not([hidden])) input[name="description"]{grid-column:5/10!important}
#timelineModal #instruction:not([hidden]){grid-column:1/10!important;width:100%!important}
#timelineModal .update-form>button[type="submit"]{grid-column:10/-1!important;align-self:stretch!important;width:100%!important;min-height:54px!important}
#timelineModal .update-documents-toggle,#timelineModal .closure-fields{grid-column:1/-1!important;width:100%!important}
#timelineModal .closure-fields{padding:16px!important;border-radius:14px!important;grid-template-columns:minmax(190px,.7fr) minmax(300px,1.3fr)!important;gap:14px!important}
#timelineModal .closure-confirmation{grid-column:1/-1!important}

.shared-value-motion{position:relative;isolation:isolate;min-height:235px;padding:0 22px 42px;border:1px solid rgba(61,164,210,.17);background:radial-gradient(circle at 50% 42%,rgba(84,192,234,.18),transparent 43%),linear-gradient(135deg,rgba(255,255,255,.76),rgba(231,248,255,.72) 52%,rgba(232,249,241,.7));overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 20px 45px rgba(20,95,132,.08)}
.shared-value-motion:before,.shared-value-motion:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;z-index:-1}.shared-value-motion:before{width:170px;height:170px;left:-60px;bottom:-95px;background:#8ed8f5}.shared-value-motion:after{width:190px;height:190px;right:-80px;top:-105px;background:#9be0bc}
.shared-value-motion svg{height:205px!important}.motion-aura{fill:url(#sharedGlow);opacity:0;transform-box:fill-box;transform-origin:center;animation:auraReveal .65s ease forwards}.aura-b{animation-delay:.22s}.aura-c{animation-delay:.44s}
.shared-node{fill:#fff;stroke:#168bd1;stroke-width:4;opacity:0;transform-box:fill-box;transform-origin:center;animation:nodeReveal .62s cubic-bezier(.2,.9,.25,1.25) forwards}.people-node{animation-delay:.12s}.dialogue-node{animation-delay:.4s}.management-node{animation-delay:.68s}.shared-node path{fill:none;stroke:#68b8dc;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.dialogue-node .dialogue-tail{fill:#fff;stroke:#168bd1;stroke-width:4}.management-node{fill:#f9fdff}.management-node .gear-ring{stroke-width:5}.management-node .check{stroke:#20a46c;stroke-width:7}.node-accent{stroke:#fff;stroke-width:3}.node-accent.green{fill:#20a46c}.node-accent.orange{fill:#f39a32}
.shared-link{fill:none;stroke:#7bc8e8;stroke-width:3;stroke-linecap:round;stroke-dasharray:9 10;stroke-dashoffset:100;opacity:0;animation:linkReveal .9s .95s ease forwards}.link-right{animation-delay:1.1s}.link-bottom{stroke:#79cda5;animation-delay:1.25s}
.shared-result{fill:#fff;stroke:#25a66b;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;animation:resultReveal .6s 1.45s ease forwards}.shared-result path{stroke:#25a66b;stroke-width:5;stroke-linecap:round}.shared-result circle{fill:#f39a32;stroke:none}.travel-dot{fill:#168bd1;filter:drop-shadow(0 2px 3px rgba(0,80,130,.25))}.dot-two{fill:#25a66b}
.shared-value-caption{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:grid;text-align:center;white-space:nowrap}.shared-value-caption strong{font-size:13px;color:#174a65;letter-spacing:.015em}.shared-value-caption small{margin-top:3px;font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:#5c8499}
@keyframes auraReveal{from{opacity:0;transform:scale(.55)}to{opacity:.85;transform:scale(1)}}@keyframes nodeReveal{from{opacity:0;transform:translateY(18px) scale(.82)}to{opacity:1;transform:none}}@keyframes linkReveal{to{opacity:.85;stroke-dashoffset:0}}@keyframes resultReveal{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
@media(max-width:760px){#timelineModal .update-form{grid-template-columns:1fr!important;padding:18px!important}#timelineModal .workflow-actions{grid-template-columns:1fr!important;gap:9px!important}#timelineModal .workflow-actions button{min-height:70px!important}#timelineModal #assignee:not([hidden]),#timelineModal .update-form input[name="description"],#timelineModal .update-form:has(#assignee:not([hidden])) input[name="description"],#timelineModal #instruction:not([hidden]),#timelineModal .update-form>button[type="submit"],#timelineModal .update-documents-toggle,#timelineModal .closure-fields{grid-column:1!important}#timelineModal .closure-fields{grid-template-columns:1fr!important}.shared-value-motion{min-height:190px;padding:0 6px 36px}.shared-value-motion svg{height:165px!important}.shared-value-caption strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.shared-value-motion *{animation:none!important}.shared-value-motion .motion-aura,.shared-value-motion .shared-node,.shared-value-motion .shared-link,.shared-value-motion .shared-result{opacity:1}.shared-value-motion animateMotion{display:none}}

/* v24: reparto real del ancho del modal, sin agrupación lateral. */
#timelineModal .update-form{display:flex!important;flex-flow:row wrap!important;align-items:stretch!important;gap:12px!important;padding:22px 30px 26px!important}
#timelineModal .update-form>h3{flex:1 0 100%!important;width:100%!important}
#timelineModal #workflowActions{display:flex!important;flex:1 0 100%!important;width:100%!important;max-width:none!important;margin:0!important;gap:12px!important}
#timelineModal #workflowActions>button{display:grid!important;flex:1 1 0!important;width:auto!important;min-width:0!important;min-height:92px!important;margin:0!important;padding:16px 18px!important}
#timelineModal #assignee:not([hidden]){flex:1 1 250px!important;width:auto!important;min-width:220px!important}
#timelineModal .update-form input[name="description"]{flex:2 1 360px!important;width:auto!important;min-width:280px!important}
#timelineModal #instruction:not([hidden]){flex:2 1 430px!important;width:auto!important;min-width:300px!important}
#timelineModal .update-form>button[type="submit"]{flex:0 0 235px!important;width:235px!important;min-width:210px!important;min-height:54px!important;margin:0!important;align-self:stretch!important}
#timelineModal .additional-document-fields,#timelineModal .update-documents-toggle,#timelineModal .closure-fields{flex:1 0 100%!important;width:100%!important;max-width:none!important}

/* Diseño triangular solicitado: persona, mensaje y gestión; sin textos. */
.network-triad{width:min(600px,100%);min-height:255px;padding:0;border:0;background:transparent;filter:none;overflow:visible}
.network-triad svg{display:block;width:100%;height:245px!important;overflow:visible}
.triad-connector{fill:none;stroke:#168bd1;stroke-width:10;stroke-linecap:round;stroke-dasharray:210;stroke-dashoffset:210;animation:triadConnect .55s ease forwards}.connector-left{animation-delay:.48s}.connector-right{animation-delay:.68s}.connector-bottom{animation-delay:.88s}
.triad-circle{fill:#fff;stroke:#168bd1;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform-box:fill-box;transform-origin:center;animation:triadPop .46s cubic-bezier(.2,.9,.25,1.3) forwards;filter:drop-shadow(0 10px 16px rgba(15,105,151,.13))}.triad-person{animation-delay:.08s}.triad-message{animation-delay:.56s}.triad-gear{animation-delay:.76s}.triad-circle path,.triad-circle rect,.triad-circle circle:not(:first-child){fill:none;stroke:#168bd1;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.triad-message{stroke:#25a66b}.triad-message path,.triad-message rect{stroke:#25a66b}.triad-gear{stroke:#f39a32}.triad-gear .gear,.triad-gear circle:not(:first-child){stroke:#f39a32}.triad-gear .gear{fill:#fff}
@keyframes triadConnect{to{stroke-dashoffset:0}}@keyframes triadPop{from{opacity:0;transform:scale(.45) rotate(-8deg)}to{opacity:1;transform:none}}
@media(max-width:760px){#timelineModal .update-form{display:flex!important;flex-direction:column!important;padding:18px!important}#timelineModal #workflowActions{display:flex!important;flex-direction:column!important}#timelineModal #workflowActions>button,#timelineModal #assignee:not([hidden]),#timelineModal .update-form input[name="description"],#timelineModal #instruction:not([hidden]),#timelineModal .update-form>button[type="submit"]{flex:0 0 auto!important;width:100%!important;min-width:0!important}#timelineModal #workflowActions>button{min-height:72px!important}.network-triad{min-height:190px}.network-triad svg{height:185px!important}}
@media(prefers-reduced-motion:reduce){.triad-circle{opacity:1;animation:none}.triad-connector{stroke-dashoffset:0;animation:none}}

/* v25: se retira la animación experimental hasta incorporar el arte final. */
.landing-hero .social-motion{display:none!important}
