html{scroll-behavior:smooth}body{background:radial-gradient(circle at 90% 0,#e6fff7 0,transparent 28%),#f6f9fb}.app main{animation:adminFade .38s ease both}aside{box-shadow:10px 0 35px #0f766e0a;overflow:hidden}aside nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:5px;scrollbar-width:thin;scrollbar-color:#bcebdd transparent}aside nav::-webkit-scrollbar{width:5px}aside nav::-webkit-scrollbar-thumb{background:#bcebdd;border-radius:10px}nav button{position:relative;transition:transform .2s ease,background .2s ease,color .2s ease}nav button:hover{background:#f0faf7;color:#07966e;transform:translateX(3px)}nav button.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:9px;background:#12b889}.card{transition:transform .22s ease,box-shadow .22s ease;animation:cardUp .38s ease both}.card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #0f766e12}.primary,.secondary,.danger,.actions button{transition:transform .16s ease,filter .16s ease}.primary:hover,.secondary:hover,.danger:hover,.actions button:hover{transform:translateY(-1px);filter:saturate(1.08)}section>*,#content>*{animation:cardUp .35s ease both}.modal{animation:backdropIn .2s ease both}.modal-card{animation:modalUp .28s cubic-bezier(.2,.8,.2,1) both}@keyframes adminFade{from{opacity:0}to{opacity:1}}@keyframes cardUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes modalUp{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes backdropIn{from{opacity:0}to{opacity:1}}@media(max-width:850px){aside{overflow:visible}aside nav{overflow-x:auto;overflow-y:hidden;padding:0 0 3px;scrollbar-width:none}aside nav::-webkit-scrollbar{display:none}nav button:hover{transform:none}.card:hover{transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
