/* Movimiento del panel: sobrio y rápido, estilo Apple.
   Solo se anima transform y opacity. Nada de animación en acciones repetidas.
   Quien tiene "Reducir movimiento" activado no ve ninguna (reglas globales en styles.css y ux.css). */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-sheet:cubic-bezier(.32,.72,0,1)}

/* La entrada de secciones la hace enterView() en app.js, bloque por bloque; se reemplaza la animación única del contenedor. */
#content{animation:none}

@media (prefers-reduced-motion:no-preference){
 /* Respuesta al tocar: todo lo que se presiona se hunde apenas. */
 button,.button,.calendar-shortcut,.order-row,#nav a,.metric.expenses-entry{transition-property:background-color,border-color,color,box-shadow,transform;transition-duration:160ms;transition-timing-function:var(--ease-out)}
 button:not(:disabled):active,.button:active,#nav a:active,.metric.expenses-entry:active{transform:scale(.97)}
 .calendar-shortcut:active,.order-row:active{transform:scale(.985)}

 /* Hover solo con mouse: las tarjetas que llevan a otro lado se elevan un poco. */
 @media (hover:hover) and (pointer:fine){
  .calendar-shortcut:hover,.order-row:hover{transform:translateY(-2px);box-shadow:0 10px 30px -18px rgba(37,38,50,.35)}
 }

 /* Diálogos: aparecen desde 96% con fundido; el fondo se oscurece suave. */
 dialog[open]{animation:fervor-sheet 260ms var(--ease-out)}
 dialog[open]::backdrop{animation:fervor-fade 220ms ease-out}
 @media (max-width:700px){dialog[open]{animation:fervor-sheet-up 340ms var(--ease-sheet)}}

 /* Avisos: suben desde abajo. */
 #notice:not([hidden]),#toast:not([hidden]){animation:fervor-toast 320ms var(--ease-out)}

 /* Ventas: la lista de pedidos entra escalonada (máximo 8 filas con demora). */
 .order-row{animation:fervor-rise 300ms var(--ease-out) both}
 .order-row:nth-child(2){animation-delay:30ms}.order-row:nth-child(3){animation-delay:60ms}.order-row:nth-child(4){animation-delay:90ms}
 .order-row:nth-child(5){animation-delay:120ms}.order-row:nth-child(6){animation-delay:150ms}.order-row:nth-child(7){animation-delay:180ms}.order-row:nth-child(n+8){animation-delay:210ms}
 .admin-stats .card{animation:fervor-rise 360ms var(--ease-out) both}
 .admin-stats .card:nth-child(2){animation-delay:40ms}.admin-stats .card:nth-child(3){animation-delay:80ms}

 /* Escáner: el resultado aparece con un pequeño asentamiento para que se note en la puerta. */
 .scan-result{animation:fervor-pop 280ms var(--ease-out)}
}

@keyframes fervor-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fervor-fade{from{opacity:0}to{opacity:1}}
@keyframes fervor-sheet{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes fervor-sheet-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fervor-toast{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes fervor-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
