/* Shared navigation motion: visible enough to orient, brief enough to stay fast. */
:root{--eco-nav-ease:cubic-bezier(.22,1,.36,1);--eco-nav-blue:#9bd4ee;--eco-nav-red:#e5525e}
html{scroll-behavior:smooth;scroll-padding-top:max(18px,env(safe-area-inset-top));scrollbar-color:rgba(155,212,238,.38) rgba(10,19,29,.42)}
body{-webkit-overflow-scrolling:touch}
.eco-motion-ready .eco-side-nav button,.eco-motion-ready .tab-btn,.eco-motion-ready .bottom-nav-btn,.eco-motion-ready .client-nav button,.eco-motion-ready .team-sidebar nav button,.eco-motion-ready .team-bottom-nav button,.eco-motion-ready .team-home-actions button,.eco-motion-ready .visit-type{position:relative;isolation:isolate;overflow:hidden;transition:transform .28s var(--eco-nav-ease),border-color .28s ease,background-color .28s ease,color .28s ease,box-shadow .28s ease}
.eco-motion-ready .eco-side-nav button::after,.eco-motion-ready .tab-btn::after,.eco-motion-ready .bottom-nav-btn::after,.eco-motion-ready .client-nav button::after,.eco-motion-ready .team-sidebar nav button::after,.eco-motion-ready .team-bottom-nav button::after,.eco-motion-ready .team-home-actions button::after,.eco-motion-ready .visit-type::after{content:"";position:absolute;z-index:-1;inset:-45% auto -45% -55%;width:34%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(155,212,238,.16),rgba(255,255,255,.18),transparent);transform:translateX(-180%) skewX(-18deg);transition:transform .58s var(--eco-nav-ease)}
.eco-motion-ready .eco-side-nav button:hover,.eco-motion-ready .tab-btn:hover,.eco-motion-ready .client-nav button:hover,.eco-motion-ready .team-sidebar nav button:hover,.eco-motion-ready .team-home-actions button:hover,.eco-motion-ready .visit-type:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(0,0,0,.18),0 0 0 1px rgba(155,212,238,.08)}
.eco-motion-ready .eco-side-nav button:hover::after,.eco-motion-ready .tab-btn:hover::after,.eco-motion-ready .bottom-nav-btn:hover::after,.eco-motion-ready .client-nav button:hover::after,.eco-motion-ready .team-sidebar nav button:hover::after,.eco-motion-ready .team-bottom-nav button:hover::after,.eco-motion-ready .team-home-actions button:hover::after,.eco-motion-ready .visit-type:hover::after,.eco-motion-ready :is(.eco-side-nav button,.tab-btn,.bottom-nav-btn,.client-nav button,.team-sidebar nav button,.team-bottom-nav button,.team-home-actions button,.visit-type).active::after,.eco-motion-ready :is(.eco-side-nav button,.tab-btn,.bottom-nav-btn,.client-nav button,.team-sidebar nav button,.team-bottom-nav button,.team-home-actions button,.visit-type)[aria-current="page"]::after,.eco-motion-ready :is(.eco-side-nav button,.tab-btn,.bottom-nav-btn,.client-nav button,.team-sidebar nav button,.team-bottom-nav button,.team-home-actions button,.visit-type)[aria-selected="true"]::after{transform:translateX(560%) skewX(-18deg)}
.eco-motion-ready .bottom-nav-btn:hover,.eco-motion-ready .team-bottom-nav button:hover{transform:translateY(-2px)}
.eco-motion-ready .eco-nav-pressed{transform:scale(.955)!important;filter:brightness(1.12)}
.eco-motion-ready :is(.eco-side-nav button,.tab-btn,.bottom-nav-btn,.client-nav button,.team-sidebar nav button,.team-bottom-nav button,.team-home-actions button,.visit-type).active,.eco-motion-ready :is(.eco-side-nav button,.tab-btn,.bottom-nav-btn,.client-nav button,.team-sidebar nav button,.team-bottom-nav button,.team-home-actions button,.visit-type)[aria-current="page"],.eco-motion-ready :is(.eco-side-nav button,.tab-btn,.bottom-nav-btn,.client-nav button,.team-sidebar nav button,.team-bottom-nav button,.team-home-actions button,.visit-type)[aria-selected="true"]{box-shadow:inset 0 -2px 0 rgba(229,82,94,.66),0 9px 24px rgba(0,0,0,.12)}
.eco-motion-ready :is(.eco-side-nav button,.tab-btn,.bottom-nav-btn,.client-nav button,.team-sidebar nav button,.team-bottom-nav button,.team-home-actions button,.visit-type):focus-visible{outline:2px solid var(--eco-nav-blue);outline-offset:3px;box-shadow:0 0 0 6px rgba(155,212,238,.1)}
.eco-motion-ready .eco-view-enter{animation:ecoViewEnter .48s var(--eco-nav-ease) both;will-change:opacity,transform}
.eco-motion-ready .eco-view-enter>*{animation:ecoViewChild .5s var(--eco-nav-ease) both}
.eco-motion-ready .eco-view-enter>*:nth-child(2){animation-delay:.035s}.eco-motion-ready .eco-view-enter>*:nth-child(3){animation-delay:.07s}.eco-motion-ready .eco-view-enter>*:nth-child(4){animation-delay:.105s}.eco-motion-ready .eco-view-enter>*:nth-child(n+5){animation-delay:.14s}
.eco-motion-ready .client-year-folder>summary,.eco-motion-ready .client-folder>summary,.eco-motion-ready .client-month-folder>summary,.eco-motion-ready .client-card,.eco-motion-ready .card{transition:transform .3s var(--eco-nav-ease),border-color .3s ease,box-shadow .3s ease,background-color .3s ease}
.eco-motion-ready :is(.client-year-folder>summary,.client-folder>summary,.client-month-folder>summary,.client-card):hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.2),0 0 0 1px rgba(155,212,238,.1)}
.eco-motion-ready .client-year-folder[open]>.client-year-buildings,.eco-motion-ready .client-folder[open]>.client-months,.eco-motion-ready .client-month-folder[open]>.client-folder-files{animation:ecoFolderOpen .46s var(--eco-nav-ease) both;transform-origin:top}
.eco-motion-ready dialog[open]{animation:ecoDialogEnter .34s var(--eco-nav-ease) both}.eco-motion-ready dialog[open]::backdrop{animation:ecoBackdropEnter .28s ease-out both}
.eco-motion-ready :is(button,a,summary,[role="button"]){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.eco-motion-ready :is(input,select,textarea):focus-visible{outline:2px solid var(--eco-nav-blue);outline-offset:2px;transition:outline-color .2s ease,box-shadow .2s ease;box-shadow:0 0 0 6px rgba(155,212,238,.09)}
@keyframes ecoViewEnter{from{opacity:.34;transform:translate3d(0,12px,0) scale(.996)}to{opacity:1;transform:none}}
@keyframes ecoViewChild{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes ecoFolderOpen{from{opacity:0;transform:translateY(-8px) scaleY(.98)}to{opacity:1;transform:none}}
@keyframes ecoDialogEnter{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}
@keyframes ecoBackdropEnter{from{opacity:0}to{opacity:1}}
@media(max-width:650px),(hover:none){.eco-motion-ready .eco-side-nav button:hover,.eco-motion-ready .tab-btn:hover,.eco-motion-ready .client-nav button:hover,.eco-motion-ready .team-sidebar nav button:hover,.eco-motion-ready .team-home-actions button:hover,.eco-motion-ready .visit-type:hover{transform:none}.eco-motion-ready .eco-view-enter{animation-duration:.36s}.eco-motion-ready .eco-view-enter>*{animation:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.eco-motion-ready .eco-side-nav button,.eco-motion-ready .tab-btn,.eco-motion-ready .bottom-nav-btn,.eco-motion-ready .client-nav button,.eco-motion-ready .team-sidebar nav button,.eco-motion-ready .team-bottom-nav button,.eco-motion-ready .team-home-actions button,.eco-motion-ready .visit-type,.eco-motion-ready .client-year-folder>summary,.eco-motion-ready .client-folder>summary,.eco-motion-ready .client-month-folder>summary,.eco-motion-ready .client-card,.eco-motion-ready .card{transition:none!important}.eco-motion-ready .eco-view-enter,.eco-motion-ready .eco-view-enter>*,.eco-motion-ready dialog[open],.eco-motion-ready dialog[open]::backdrop,.eco-motion-ready .client-year-folder[open]>.client-year-buildings,.eco-motion-ready .client-folder[open]>.client-months,.eco-motion-ready .client-month-folder[open]>.client-folder-files{animation:none!important}.eco-motion-ready :is(.eco-side-nav button,.tab-btn,.bottom-nav-btn,.client-nav button,.team-sidebar nav button,.team-bottom-nav button,.team-home-actions button,.visit-type)::after{display:none!important}}

/* A21 · desplazamientos editoriales alternados, ejecutados una sola vez. */
.eco-motion-ready .eco-polish-reveal{--eco-reveal-x:0px;--eco-reveal-y:24px;opacity:0;transform:translate3d(var(--eco-reveal-x),var(--eco-reveal-y),0) scale(.985)}
.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="left"]{--eco-reveal-x:-52px;--eco-reveal-y:6px}
.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="right"]{--eco-reveal-x:52px;--eco-reveal-y:6px}
.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="top"]{--eco-reveal-y:-38px}
.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="drop"]{--eco-reveal-y:-64px;transform:translate3d(0,var(--eco-reveal-y),0) scale(.965)}
.eco-motion-ready .eco-polish-reveal.eco-polish-visible{opacity:1;transform:translate3d(0,0,0) scale(1);transition:opacity .68s ease,transform .86s cubic-bezier(.16,1,.3,1)!important}
.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="drop"].eco-polish-visible{transition-duration:.72s,.96s!important;transition-timing-function:ease,cubic-bezier(.2,1.18,.3,1)!important}
@media(max-width:680px){.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="left"]{--eco-reveal-x:-26px}.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="right"]{--eco-reveal-x:26px}.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="top"]{--eco-reveal-y:-24px}.eco-motion-ready .eco-polish-reveal[data-eco-reveal-direction="drop"]{--eco-reveal-y:-34px}}
