:root{--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--focus-ring-color: rgba(5, 3, 136, .5);--focus-ring-offset: 2px;--focus-ring-width: 3px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progressFill{0%{width:0%}to{width:100%}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) forwards}.animate-fade-in-up{animation:fadeInUp var(--duration-normal) var(--ease-out) forwards}.animate-fade-in-down{animation:fadeInDown var(--duration-normal) var(--ease-out) forwards}.animate-slide-in-right{animation:slideInRight var(--duration-normal) var(--ease-out) forwards}.animate-slide-out-right{animation:slideOutRight var(--duration-normal) var(--ease-out) forwards}.animate-scale-in{animation:scaleIn var(--duration-fast) var(--ease-spring) forwards}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.3) 50%,transparent 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-bounce{animation:bounce .6s var(--ease-spring)}.animate-spin{animation:spin 1s linear infinite}.animate-shake{animation:shake .4s var(--ease-out)}.animate-stagger>*{opacity:0;animation:fadeInUp var(--duration-normal) var(--ease-out) forwards}.animate-stagger>*:nth-child(1){animation-delay:0ms}.animate-stagger>*:nth-child(2){animation-delay:50ms}.animate-stagger>*:nth-child(3){animation-delay:.1s}.animate-stagger>*:nth-child(4){animation-delay:.15s}.animate-stagger>*:nth-child(5){animation-delay:.2s}.animate-stagger>*:nth-child(6){animation-delay:.25s}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:inherit}:focus:not(:focus-visible){outline:none}.focus-ring{transition:box-shadow var(--duration-fast) var(--ease-out)}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 var(--focus-ring-offset) #fff,0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color)}.focus-glow:focus-visible{outline:none;box-shadow:0 0 0 3px #0503881a,0 0 20px #05038826;border-color:#050388}.btn-lift{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-lift:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-scale{transition:transform var(--duration-fast) var(--ease-spring)}.btn-scale:hover{transform:scale(1.02)}.btn-scale:active{transform:scale(.98)}.card-lift{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.card-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.icon-hover{transition:transform var(--duration-fast) var(--ease-spring)}.icon-hover:hover{transform:scale(1.1) rotate(5deg)}.link-arrow:after{content:"→";display:inline-block;margin-left:.25rem;transition:transform var(--duration-fast) var(--ease-out)}.link-arrow:hover:after{transform:translate(4px)}.underline-expand{position:relative}.underline-expand:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:currentColor;transition:width var(--duration-normal) var(--ease-out)}.underline-expand:hover:after{width:100%}.gradient-primary{background:linear-gradient(135deg,#050388,#1a1a8e)}.gradient-accent{background:linear-gradient(135deg,#dc2626,#ef4444)}.gradient-success{background:linear-gradient(135deg,#10b981,#34d399)}.gradient-gold{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.gradient-border{background:linear-gradient(135deg,#050388,#dc2626,#f59e0b) border-box}.shimmer-overlay{position:relative;overflow:hidden}.shimmer-overlay:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.shimmer-overlay:hover:before{left:100%}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem}.dark .skeleton{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%);background-size:200% 100%}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-text-sm{height:.75rem;margin-bottom:.25rem}.skeleton-title{height:1.5rem;width:60%;margin-bottom:.75rem}.skeleton-image{aspect-ratio:1;width:100%}.skeleton-card{padding:1rem;border-radius:1rem;background:#fff}.dark .skeleton-card{background:#1f2937}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:.75rem;background:#fff;box-shadow:var(--shadow-lg);pointer-events:auto;animation:slideInRight var(--duration-normal) var(--ease-out) forwards;max-width:24rem}.dark .toast{background:#1f2937;color:#fff}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:.875rem;color:#111827}.dark .toast-title{color:#fff}.toast-message{font-size:.813rem;color:#6b7280;margin-top:.125rem}.dark .toast-message{color:#9ca3af}.toast-close{flex-shrink:0;padding:.25rem;color:#9ca3af;transition:color var(--duration-fast);cursor:pointer}.toast-close:hover{color:#111827}.dark .toast-close:hover{color:#fff}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.3;animation:progressFill 5s linear forwards}.toast-exit{animation:slideOutRight var(--duration-normal) var(--ease-out) forwards}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-shimmer,.animate-pulse,.animate-spin{animation:none!important}}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;z-index:50;width:3rem;height:3rem;border-radius:50%;background:#050388;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity var(--duration-normal) var(--ease-out),visibility var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),background var(--duration-fast) var(--ease-out)}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background:#1a1a8e;transform:translateY(-2px)}.has-fabs .scroll-to-top{bottom:14rem}.img-loading{background:#e5e7eb;transition:filter var(--duration-slow) var(--ease-out);filter:blur(10px)}.img-loaded{filter:blur(0)}.lazy-placeholder{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.dark .lazy-placeholder{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%)}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:#1f2937b3;border:1px solid rgba(255,255,255,.1)}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:9999;padding:1rem 2rem;background:#050388;color:#fff;font-weight:700;border-radius:0 0 .5rem .5rem;transition:top var(--duration-fast)}.skip-link:focus{top:0;outline:none}@media(prefers-contrast:high){:focus-visible{outline:3px solid currentColor!important;outline-offset:3px}.btn-lift:hover,.card-lift:hover{box-shadow:none;border:2px solid currentColor}}.dark :focus-visible{outline-color:#60a5facc}@media(max-width:768px){button,a,[role=button]{min-height:44px;min-width:44px}}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center}.dark .loading:after{background:#111827b3}.error-shake{animation:shake .4s var(--ease-out)}.error-border{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444433}.success-border{border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133}.disabled,[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}@media print{.no-print,.scroll-to-top,.toast-container{display:none!important}body{font-size:12pt;color:#000;background:#fff}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
