:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-color: #667eea;--primary-dark: #764ba2;--primary-light: #8b9ef8;--accent-blue: #4facfe;--accent-purple: #9c27b0;--accent-pink: #f857a6;--accent-orange: #ff6b6b;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #2c3e50;--text-secondary: #6c757d;--text-light: #adb5bd;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--shadow-xl: 0 16px 64px rgba(0, 0, 0, .2);--shadow-colored: 0 8px 32px rgba(102, 126, 234, .25);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.beautiful-card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);transition:all var(--transition-base);animation:fadeInUp .5s ease-out;position:relative;overflow:hidden}.beautiful-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary-gradient);opacity:0;transition:opacity var(--transition-base)}.beautiful-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.beautiful-card:hover:before{opacity:1}.card-gradient{background:var(--primary-gradient);color:#fff}.card-glass{background:#ffffffe6;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.btn-beautiful{padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-colored)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px #667eea59}.btn-primary:active{transform:translateY(0)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-gradient);color:#fff}.btn-ghost{background:#667eea1a;color:var(--primary-color)}.btn-ghost:hover{background:#667eea33}.btn-beautiful:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-beautiful:hover:after{left:100%}.input-beautiful{padding:1rem 1.25rem;border:2px solid #e0e0e0;border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-base);background:var(--bg-secondary);width:100%}.input-beautiful:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 4px #667eea1a}.input-beautiful::-moz-placeholder{color:var(--text-light)}.input-beautiful::placeholder{color:var(--text-light)}.input-group{position:relative;display:flex;flex-direction:column;gap:.5rem}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.input-with-icon{padding-left:3rem}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-dark{border-color:#0000001a;border-top-color:var(--primary-color)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;gap:.25rem}.badge-gradient{background:var(--primary-gradient);color:#fff}.badge-success{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.badge-warning{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.badge-info{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.gradient-primary{background:var(--primary-gradient)}.gradient-sunset{background:linear-gradient(135deg,#ff6b6b,#feca57)}.gradient-ocean{background:linear-gradient(135deg,#4facfe,#00f2fe)}.gradient-forest{background:linear-gradient(135deg,#11998e,#38ef7d)}.gradient-text{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hover-lift{transition:transform var(--transition-base)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.fade-in{animation:fadeIn .5s ease-out}.fade-in-up{animation:fadeInUp .6s ease-out}.slide-in-right{animation:slideInRight .5s ease-out}.pulse-animation{animation:pulse 2s infinite}@media (max-width: 768px){:root{--spacing-xl: 1.5rem;--spacing-2xl: 2rem}.beautiful-card{padding:var(--spacing-lg)}.btn-beautiful{padding:.65rem 1.25rem;font-size:.95rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--text-primary: #eaeaea;--text-secondary: #b8b8b8;--text-light: #888888}.beautiful-card{background:var(--bg-secondary);box-shadow:0 8px 32px #00000080}.input-beautiful{background:var(--bg-tertiary);border-color:#ffffff1a;color:var(--text-primary)}}
