/* Movimiento suave para toda la plataforma */
@view-transition{navigation:auto}
::view-transition-old(root){animation:kvt-out .22s ease both}
::view-transition-new(root){animation:kvt-in .38s cubic-bezier(.2,.7,.2,1) both}
@keyframes kvt-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes kvt-in{from{opacity:0;transform:translateY(12px)}}
@keyframes krise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes kfade{from{opacity:0}to{opacity:1}}
@keyframes kpop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes kslide{from{opacity:0;transform:translateX(44px)}to{opacity:1;transform:none}}
html{scroll-behavior:smooth}
:root{--ease:cubic-bezier(.2,.7,.2,1)}
/* entrada de la pagina y de sus bloques */
main,.homewrap{animation:krise .6s var(--ease) both}
.mcard,.stat,.proj,.ap-sec,.step,.oec-card,.card{animation:krise .6s var(--ease) both;animation-delay:calc(min(var(--i,0),16)*55ms)}
tbody tr{animation:kfade .5s var(--ease) both;animation-delay:calc(min(var(--i,0),14)*30ms)}
.view{animation:krise .5s var(--ease) both}
/* hover y toque */
.mcard,.proj,.stat,.glass,.card,.chip,.btn,.pill,.tag,.tab,.ni,.seg-btn,.add-day,.add-oec,.approve,.reset{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .25s,background .25s,color .25s,opacity .25s}
.mcard:hover,.proj:hover{transform:translateY(-5px);box-shadow:0 24px 44px -24px rgba(0,0,0,.75),0 0 0 1px rgba(183,156,255,.28);border-color:rgba(183,156,255,.6)}
.mcard:active,.proj:active{transform:translateY(-2px) scale(.99)}
.btn:hover,.chip:hover{transform:translateY(-2px)}
.btn:active,.chip:active,.tab:active{transform:scale(.96)}
tbody tr{transition:background .25s}
tbody tr:hover{background:rgba(255,255,255,.055)}
.mcard .ic{transition:transform .45s var(--ease),color .3s}
.mcard:hover .ic{transform:translateY(-2px) scale(1.12) rotate(-4deg);color:#7fe3d0}
/* menu */
#nav .ni{position:relative}
#nav .ni::after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,#b79cff,#7fe3d0);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
#nav .ni:not(.on):hover::after{transform:scaleX(1)}
/* ventanas, panel lateral y listas */
.modal:not([hidden]){animation:kfade .28s ease both}
.modal:not([hidden])>*{animation:kpop .4s var(--ease) both}
.drawer:not([hidden]){animation:kslide .42s var(--ease) both}
.ep-list:not([hidden]){animation:kpop .24s var(--ease) both;transform-origin:top}
.ep-item{transition:background .18s}
.kic{display:inline-grid;place-items:center;vertical-align:-.14em}
.kic svg{width:1em;height:1em}
.mcard .ic .kic{font-size:28px;color:var(--accent)}
.mk{display:inline-flex;align-items:center;gap:3px;margin-right:6px;font-weight:600}
.mk.good{color:#7fe3d0}.mk.issue{color:#ffd98a}.mk.bad{color:#ff8a90}
.mk .kic{font-size:15px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.nomo{animation:none!important}
.card:nth-child(n+25),.proj:nth-child(n+25),.oec-card:nth-child(n+25),tbody tr:nth-child(n+25){animation:none}
