*{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:linear-gradient(120deg,#0c1b33,#123a6b,#0c1b33);background-size:280% 280%;animation:bgShift 16s ease infinite;min-height:100vh}
@keyframes bgShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.bg-white{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 32px rgba(4,26,66,.14)}
main .bg-white{transition:transform .3s ease,box-shadow .3s ease}
main .bg-white:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(4,26,66,.2)}
aside{background:rgba(10,20,40,.88)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-left:1px solid rgba(255,255,255,.08)}
button{position:relative;overflow:hidden;transition:all .25s ease}
button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(29,78,216,.35)}
button:active{transform:scale(.97)}
button::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s ease}
button:hover::after{left:130%}
#page>div{animation:fadeUp .55s cubic-bezier(.22,1,.36,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
input,select{transition:all .25s ease}
input:focus,select:focus{box-shadow:0 0 0 4px rgba(59,130,246,.18);border-color:#3b82f6!important}
.nav-link{transition:all .25s ease}
.nav-link:hover{transform:translateX(-4px)}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-radius:9px}
h1{letter-spacing:-.5px}
@keyframes pulseGlow{0%,100%{box-shadow:0 10px 30px rgba(37,99,235,.5), inset 0 2px 6px rgba(255,255,255,.4)}50%{box-shadow:0 10px 46px rgba(6,182,212,.85), inset 0 2px 6px rgba(255,255,255,.5)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 10px 30px rgba(37,99,235,.5), inset 0 2px 6px rgba(255,255,255,.4)}50%{box-shadow:0 10px 46px rgba(6,182,212,.85), inset 0 2px 6px rgba(255,255,255,.5)}}
