@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2{top:50%}.top-full{top:100%}.left-1\/2{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-60{z-index:60}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-2\/3{width:66.6667%}.w-3\/4{width:75%}.w-5\/6{width:83.3333%}.w-full{width:100%}.max-w-full{max-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-t-transparent{border-top-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-center{text-align:center}.text-left{text-align:left}.whitespace-pre-wrap{white-space:pre-wrap}.text-transparent{color:#0000}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.mix-blend-multiply{mix-blend-mode:multiply}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;font-size:16px}body{color:#1e293b;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);width:100%;min-height:100vh;margin:0;padding:0;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100vh}@media (max-width:768px){html{font-size:14px}}@media (max-width:480px){html{font-size:13px}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 15px #47556933}50%{box-shadow:0 0 25px #47556966}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.glass{backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3}@media (max-width:767px){body{font-size:13px;line-height:1.3}.container{padding:8px}}@media (min-width:768px){body{font-size:14px;line-height:1.5}.container{padding:16px}}h1,.title-large{margin-bottom:.5rem!important;font-size:1.5rem!important;line-height:1.2!important}h2,.title-medium{margin-bottom:.4rem!important;font-size:1.25rem!important;line-height:1.3!important}h3,.title-small{margin-bottom:.3rem!important;font-size:1.1rem!important;line-height:1.3!important}.auth-input{text-indent:0!important;padding-top:14px!important;padding-bottom:14px!important;padding-left:50px!important;font-size:16px!important}.auth-input-password{text-indent:0!important;padding:14px 50px!important;font-size:16px!important}div[style*="position: relative"] input{text-indent:0!important;padding-top:14px!important;padding-bottom:14px!important;padding-left:50px!important;font-size:16px!important}div[style*="position: relative"] input[type=password]{text-indent:0!important;padding:14px 50px!important;font-size:16px!important}.card,[style*=padding]{padding:.75rem!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#ef44441a}:root{--primary-50:#fef2f2;--primary-100:#fee2e2;--primary-200:#fecaca;--primary-300:#fca5a5;--primary-400:#f87171;--primary-500:#ef4444;--primary-600:#dc2626;--primary-700:#b91c1c;--primary-800:#991b1b;--primary-900:#7f1d1d;--secondary-50:#f8fafc;--secondary-100:#f1f5f9;--secondary-200:#e2e8f0;--secondary-300:#cbd5e1;--secondary-400:#94a3b8;--secondary-500:#64748b;--secondary-600:#475569;--secondary-700:#334155;--secondary-800:#1e293b;--secondary-900:#0f172a;--accent-50:#fff7ed;--accent-100:#ffedd5;--accent-200:#fed7aa;--accent-300:#fdba74;--accent-400:#fb923c;--accent-500:#f97316;--accent-600:#ea580c;--accent-700:#c2410c;--accent-800:#9a3412;--accent-900:#7c2d12;--surface-0:#fff;--surface-50:#f8fafc;--surface-100:#f1f5f9;--surface-200:#e2e8f0;--surface-300:#cbd5e1;--surface-400:#94a3b8;--surface-500:#64748b;--surface-600:#475569;--surface-700:#334155;--surface-800:#1e293b;--surface-900:#0f172a;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-inverse:#fff;--border-light:#e2e8f0;--border-medium:#cbd5e1;--border-strong:#94a3b8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:#1e293b;background:linear-gradient(135deg,#fef2f2 0%,#f1f5f9 100%) fixed;min-height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.6}h1{color:#202124;margin-bottom:8px;font-size:32px;font-weight:600;line-height:1.4}h2{color:#202124;margin-bottom:16px;font-size:24px;font-weight:500;line-height:1.4}h3{color:#202124;margin-bottom:12px;font-size:20px;font-weight:500;line-height:1.4}h4{color:#202124;margin-bottom:8px;font-size:18px;font-weight:500;line-height:1.4}h5{color:#5f6368;margin-bottom:8px;font-size:16px;font-weight:500;line-height:1.4}h6{color:#5f6368;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:600;line-height:1.4}*{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}::-webkit-scrollbar-corner{background:#f1f1f1}.google-card{background:#fff;border:1px solid #e8eaed;border-radius:8px;transition:all .2s;box-shadow:0 1px 3px #0000001a}.google-card:hover{background:#fafbfc;box-shadow:0 2px 8px #0000001a}.google-button-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;border-radius:8px;padding:12px 20px;font-weight:500;transition:all .2s}.google-button-primary:hover{background:#e53935;box-shadow:0 2px 4px #ff44444d}.google-button-secondary{color:#202124;cursor:pointer;background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:10px 16px;font-weight:500;transition:all .2s}.google-button-secondary:hover{background:#f8f9fa;border-color:#dadce0}.google-input{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:12px;font-size:14px;transition:all .2s}.google-input:focus{border-color:#1a73e8;outline:none;box-shadow:0 0 0 2px #1a73e81a}.google-modal-backdrop{backdrop-filter:blur(4px);z-index:9999!important;background:#00000080!important;justify-content:center!important;align-items:center!important;display:flex!important;position:fixed!important;inset:0!important}.google-modal{border-radius:16px;width:100%;max-width:500px;margin:0 auto;padding:8px;box-shadow:0 20px 60px #00000026;z-index:10000!important;background:#fff!important;position:relative!important}.text-gradient{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-accent{background:linear-gradient(135deg,var(--accent-600),var(--primary-600));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.bg-gradient-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600))}.bg-gradient-secondary{background:linear-gradient(135deg,var(--secondary-50),var(--secondary-100))}.bg-gradient-accent{background:linear-gradient(135deg,var(--accent-500),var(--accent-600))}.bg-gradient-red-warm{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 50%,#fecaca 100%)}.bg-gradient-surface{background:linear-gradient(135deg,var(--surface-0),var(--surface-50))}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.animate-fadeIn{animation:.4s ease-out fadeIn}.animate-fadeInUp{animation:.5s ease-out fadeInUp}.animate-slideInLeft{animation:.4s ease-out slideInLeft}.animate-slideInRight{animation:.4s ease-out slideInRight}.animate-scaleIn{animation:.3s ease-out scaleIn}.animate-pulse{animation:2s infinite pulse}.animate-shimmer{background:linear-gradient(90deg,#0000,#fff6,#0000) 0 0/200px 100%;animation:1.5s infinite shimmer}.animate-float{animation:3s ease-in-out infinite float}.animate-glow{animation:2s ease-in-out infinite glow}.animate-gradient-shift{background-size:400% 400%;animation:3s infinite gradient-shift}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hover-scale{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-glow:hover{box-shadow:0 0 15px #4755694d}.focus-ring{transition:all .2s}.focus-ring:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #4755691a}.modal-overlay{z-index:50!important;justify-content:center!important;align-items:center!important;display:flex!important;position:fixed!important;inset:0!important}.loading-shimmer{background:linear-gradient(90deg,var(--surface-200)25%,var(--surface-100)50%,var(--surface-200)75%);background-size:200% 100%;animation:1.5s infinite shimmer}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
/*

All of the styles in this file are no longer used and have been left here intentionally empty to prevent interference with modal centering and layout. All styles should be handled by Tailwind in index.css and JSX.

*/

/* Custom animations for better UX */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeInUp {
  from { 
    opacity: 0; 
    transform: translateY(20px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

@keyframes slideInLeft {
  from { 
    opacity: 0; 
    transform: translateX(-20px); 
  }
  to { 
    opacity: 1; 
    transform: translateX(0); 
  }
}

@keyframes pulse {
  0%, 100% { 
    transform: scale(1); 
    opacity: 1; 
  }
  50% { 
    transform: scale(1.05); 
    opacity: 0.8; 
  }
}

@keyframes shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: 200px 0; }
}

/* Enhanced modal animations */
@keyframes scaleIn {
  from { 
    opacity: 0; 
    transform: scale(0.9) translateY(20px); 
  }
  to { 
    opacity: 1; 
    transform: scale(1) translateY(0); 
  }
}

@keyframes bounceIn {
  0% { 
    transform: scale(0.3) translateY(50px); 
    opacity: 0; 
  }
  50% { 
    transform: scale(1.05) translateY(-10px); 
  }
  70% { 
    transform: scale(0.95) translateY(5px); 
  }
  100% { 
    transform: scale(1) translateY(0); 
    opacity: 1; 
  }
}

@keyframes glow {
  0%, 100% { 
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); 
  }
  50% { 
    box-shadow: 0 0 30px rgba(59, 130, 246, 0.6); 
  }
}

@keyframes pulse-slow {
  0%, 100% { 
    opacity: 1;
    transform: scale(1);
  }
  50% { 
    opacity: 0.9;
    transform: scale(1.02);
  }
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes rainbow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes float {
  0%, 100% { 
    transform: translateY(0px) rotate(0deg);
  }
  50% { 
    transform: translateY(-10px) rotate(1deg);
  }
}

@keyframes sparkle {
  0%, 100% { 
    opacity: 0;
    transform: scale(0) rotate(0deg);
  }
  50% { 
    opacity: 1;
    transform: scale(1) rotate(180deg);
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideOut {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-100%);
  }
}

@keyframes morphing {
  0%, 100% { 
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    transform: rotate(0deg);
  }
  50% { 
    border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
    transform: rotate(180deg);
  }
}

@keyframes typewriter {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

/* Apply animations via utility classes */
.animate-fadeIn {
  animation: fadeIn 0.3s ease-out;
}

.animate-fadeInUp {
  animation: fadeInUp 0.4s ease-out;
}

.animate-slideInLeft {
  animation: slideInLeft 0.3s ease-out;
}

.animate-pulse-custom {
  animation: pulse 2s infinite;
}

.animate-shimmer {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  background-size: 200px 100%;
  animation: shimmer 1.5s infinite;
}

.animate-scaleIn {
  animation: scaleIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.animate-bounceIn {
  animation: bounceIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.animate-glow {
  animation: glow 2s ease-in-out infinite;
}

.animate-pulse-slow {
  animation: pulse-slow 3s ease-in-out infinite;
}

.animate-gradient-shift {
  background-size: 400% 400%;
  animation: gradient-shift 3s ease infinite;
}

.animate-rainbow {
  animation: rainbow 5s linear infinite;
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

.animate-sparkle {
  animation: sparkle 2s ease-in-out infinite;
}

.animate-slideIn {
  animation: slideIn 0.3s ease-out;
}

.animate-slideOut {
  animation: slideOut 0.3s ease-in;
}

.animate-morphing {
  animation: morphing 8s ease-in-out infinite;
}

/* Enhanced button hover effects */
.btn-hover-lift {
  transition: all 0.2s ease;
}

.btn-hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Enhanced button ripple effect */
.btn-ripple {
  position: relative;
  overflow: hidden;
}

.btn-ripple::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.btn-ripple:active::before {
  width: 300px;
  height: 300px;
}

/* Smooth focus styles */
.focus-ring {
  transition: all 0.2s ease;
}

.focus-ring:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Enhanced focus ring */
.focus-ring-colorful {
  transition: all 0.3s ease;
}

.focus-ring-colorful:focus {
  outline: none;
  border-color: rgb(99, 102, 241);
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.3), 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Glass morphism effect - simplified */
.glass-effect {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.glass-dark {
  backdrop-filter: blur(25px) saturate(200%);
  -webkit-backdrop-filter: blur(25px) saturate(200%);
  background-color: rgba(17, 24, 39, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Gradient text effect */
.gradient-text {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Loading spinner */
.spinner {
  border: 2px solid #f3f3f3;
  border-top: 2px solid #3498db;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Custom scrollbar */
.scrollbar-custom::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

.scrollbar-custom::-webkit-scrollbar-track {
  background: rgba(243, 244, 246, 0.8);
  border-radius: 12px;
  margin: 4px;
}

.scrollbar-custom::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  border: 2px solid rgba(243, 244, 246, 0.8);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.scrollbar-custom::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
  border: 2px solid rgba(229, 231, 235, 1);
  transform: scale(1.1);
}

.scrollbar-custom::-webkit-scrollbar-corner {
  background: rgba(243, 244, 246, 0.8);
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: rgba(243, 244, 246, 0.6);
  border-radius: 10px;
  margin: 2px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 10px;
  border: 1px solid rgba(243, 244, 246, 0.8);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
  border: 1px solid rgba(229, 231, 235, 1);
}

/* Enhanced hover effects for form elements */
.form-input-enhanced {
  position: relative;
  transition: all 0.3s ease;
}

.form-input-enhanced::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  background: linear-gradient(45deg, transparent, rgba(59, 130, 246, 0.1), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.form-input-enhanced:hover::before {
  opacity: 1;
}

/* Smooth scrolling for better UX */
html {
  scroll-behavior: smooth;
}

/* Enhanced scroll behavior for containers */
.scroll-smooth {
  scroll-behavior: smooth;
}

/* Virtual scrolling indicator */
.scroll-indicator {
  background: linear-gradient(to right, transparent, rgba(59, 130, 246, 0.3), transparent);
  height: 2px;
  transition: opacity 0.3s ease;
}

.scroll-indicator.visible {
  opacity: 1;
}

.scroll-indicator.hidden {
  opacity: 0;
}

/* Table row hover with smooth scroll */
.table-row-hover {
  transition: all 0.2s ease;
  scroll-margin-top: 100px;
}

.table-row-hover:hover {
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Sticky table header enhancement */
.sticky-header {
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(8px);
  background: rgba(249, 250, 251, 0.95);
  border-bottom: 1px solid rgba(229, 231, 235, 0.8);
}
