@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideInUp{animation:slideInUp .4s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.elevation-0{box-shadow:none}.elevation-1{box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.elevation-2{box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}.elevation-3{box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b}.elevation-4{box-shadow:0 14px 28px #00000040,0 10px 10px #00000038}.elevation-5{box-shadow:0 19px 38px #0000004d,0 15px 12px #00000038}.ripple-effect{position:relative;overflow:hidden;transform:translateZ(0)}.ripple-effect:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple-effect:active:before{width:300px;height:300px}.btn-material{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:8px;font-weight:500;font-size:14px;line-height:1.5;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;-webkit-user-select:none;user-select:none;outline:none}.btn-material:hover{transform:translateY(-1px)}.btn-material:active{transform:translateY(0)}.btn-material:focus{outline:2px solid rgba(66,133,244,.5);outline-offset:2px}.card-material{background:#fff;border-radius:12px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.08)}.card-material:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.input-material{position:relative;margin-bottom:24px}.input-material input,.input-material textarea{width:100%;padding:16px 12px 8px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;background:transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}.input-material input:focus,.input-material textarea:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a}.input-material label{position:absolute;left:12px;top:16px;font-size:16px;color:#757575;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.input-material input:focus+label,.input-material input:not(:placeholder-shown)+label,.input-material textarea:focus+label,.input-material textarea:not(:placeholder-shown)+label{top:4px;font-size:12px;color:#4285f4;font-weight:500}.progress-material{height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden;position:relative}.progress-material .progress-bar{height:100%;background:linear-gradient(90deg,#4285f4,#34a853);border-radius:2px;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative}.progress-material .progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.fab-material{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#4285f4;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.fab-material:hover{transform:scale(1.1);box-shadow:0 8px 25px #4285f466}.text-material-h1{font-size:96px;font-weight:300;line-height:1.167;letter-spacing:-1.5px}.text-material-h2{font-size:60px;font-weight:300;line-height:1.2;letter-spacing:-.5px}.text-material-h3{font-size:48px;font-weight:400;line-height:1.167;letter-spacing:0}.text-material-h4{font-size:34px;font-weight:400;line-height:1.235;letter-spacing:.25px}.text-material-h5{font-size:24px;font-weight:400;line-height:1.334;letter-spacing:0}.text-material-h6{font-size:20px;font-weight:500;line-height:1.6;letter-spacing:.15px}.text-material-body1{font-size:16px;font-weight:400;line-height:1.5;letter-spacing:.15px}.text-material-body2{font-size:14px;font-weight:400;line-height:1.43;letter-spacing:.17px}@media (max-width: 768px){.card-material{padding:16px;margin:8px}.fab-material{bottom:16px;right:16px;width:48px;height:48px;font-size:20px}}.sidebar-collapsed{transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-item{transition:all .2s cubic-bezier(.4,0,.2,1)}.sidebar-item:hover{transform:translate(2px)}.sidebar-tooltip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111827f2;border:1px solid rgba(255,255,255,.1)}.sidebar-toggle-btn{transition:all .2s cubic-bezier(.4,0,.2,1)}.sidebar-toggle-btn:hover{transform:scale(1.05)}.sidebar-progress-mini{transition:all .3s ease-out}.phase-icon{transition:all .2s cubic-bezier(.4,0,.2,1)}.phase-icon:hover{transform:scale(1.1)}.progress-gradient{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899,#f59e0b,#10b981);background-size:200% 100%;animation:gradientShift 4s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.pulse-ring{animation:pulseRing 2s cubic-bezier(.455,.03,.515,.955) infinite}@keyframes pulseRing{0%{transform:scale(.8);opacity:1}to{transform:scale(2.4);opacity:0}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.stepper-connection,.progress-gradient,.pulse-ring{animation:none!important}}
