:root{--primary:#ffc107;--primary-dark:#f9a825;--primary-darker:#f57f17;--primary-light:#ffd54f;--primary-lighter:#ffecb3;--primary-lightest:#fff9e6;--accent-orange:#ff9800;--accent-green:#4caf50;--accent-blue:#2196f3;--accent-purple:#9c27b0;--success:#4caf50;--success-light:#81c784;--warning:#ffc107;--warning-light:#ffecb3;--danger:#f44336;--danger-light:#ef5350;--info:#2196f3;--info-light:#64b5f6;--white:#fff;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#eee;--gray-300:#e0e0e0;--gray-400:#bdbdbd;--gray-500:#9e9e9e;--gray-600:#757575;--gray-700:#616161;--gray-800:#424242;--gray-900:#212121;--black:#000;--text-primary:#212121;--text-secondary:#757575;--text-disabled:#bdbdbd;--text-on-primary:#212121;--text-on-dark:#fff;--bg-body:#fafafa;--bg-card:#fff;--bg-overlay:rgba(0,0,0,.5);--border-color:#e0e0e0;--border-light:#eee;--shadow-sm:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);--shadow-md:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);--shadow-lg:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);--shadow-xl:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--transition-bounce:500ms cubic-bezier(0.68,-0.55,0.265,1.55)}:root[data-bs-theme=dark]{--primary:#ffc107;--primary-dark:#f9a825;--primary-darker:#f57f17;--text-primary:#fff;--text-secondary:#b0b0b0;--text-disabled:#666;--text-on-primary:#212121;--bg-body:#121212;--bg-card:#1e1e1e;--bg-overlay:rgba(0,0,0,.7);--border-color:#333;--border-light:#2a2a2a;--gray-50:#1e1e1e;--gray-100:#2a2a2a;--gray-200:#333;--gray-300:#424242;--gray-400:#616161}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-body);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow-x:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@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 slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-bounce{animation:bounce 1s infinite}.animate-rotate{animation:rotate 1s linear infinite}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.transition-all{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.transition-bounce{transition:all var(--transition-bounce)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:var(--spacing-sm);justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.5rem 1.25rem;position:relative;text-decoration:none;transition:all var(--transition-base)}.btn:before{background:hsla(0,0%,100%,.3);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--transition-slow),height var(--transition-slow);width:0}.btn:active:before{height:300px;width:300px}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);box-shadow:0 4px 12px rgba(255,193,7,.4);color:var(--text-on-primary)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-darker) 100%);box-shadow:0 6px 20px rgba(255,193,7,.5)}.btn-secondary{background-color:var(--gray-200);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--gray-300)}.btn-outline{background-color:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background-color:var(--primary);color:var(--text-on-primary)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover{background-color:var(--gray-100)}.btn-sm{font-size:.8125rem;padding:.375rem 1rem}.btn-lg{font-size:1rem;padding:.75rem 1.75rem}.card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.card-header{background:linear-gradient(135deg,rgba(255,193,7,.05),rgba(255,193,7,.02));border-bottom:1px solid var(--border-light);padding:1.25rem 1.5rem}.card-body{padding:1.5rem}.card-footer{background-color:var(--gray-50);border-top:1px solid var(--border-light);padding:1rem 1.5rem}.card-elevated{box-shadow:var(--shadow-lg)}.card-bordered{border:2px solid var(--primary-lighter)}.form-control{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;padding:.625rem 1rem;transition:all var(--transition-base);width:100%}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,193,7,.1);outline:none;transform:translateY(-1px)}.form-control:hover{border-color:var(--primary-light)}.form-label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-sm)}.form-group{margin-bottom:var(--spacing-lg)}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:600;gap:var(--spacing-xs);line-height:1;padding:.25rem .75rem;transition:all var(--transition-fast)}.badge-primary{background-color:var(--primary-lightest);border:1px solid var(--primary-lighter);color:var(--primary-darker)}.badge-success{background-color:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.badge-warning{background-color:var(--warning-light);border:1px solid var(--warning);color:#f57f17}.badge-danger{background-color:#ffebee;border:1px solid #ef5350;color:#c62828}.badge-info{background-color:#e3f2fd;border:1px solid #64b5f6;color:#1565c0}.badge:hover{transform:scale(1.05)}.alert{animation:slideInLeft var(--transition-slow) ease-out;border-left:4px solid;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);padding:1rem 1.25rem}.alert-success{background-color:#e8f5e9;border-color:var(--success);color:#2e7d32}.alert-warning{background-color:var(--warning-light);border-color:var(--warning);color:#f57f17}.alert-danger{background-color:#ffebee;border-color:var(--danger);color:#c62828}.alert-info{background-color:#e3f2fd;border-color:var(--info);color:#1565c0}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;border-radius:var(--radius-md)}.spinner{animation:rotate .8s linear infinite;border:3px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.spinner-sm{border-width:2px;height:20px;width:20px}.spinner-lg{border-width:4px;height:60px;width:60px}.hover-lift:hover{transform:translateY(-4px)}.hover-lift:hover,.hover-scale:hover{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-glow:hover{box-shadow:0 0 20px rgba(255,193,7,.5);transition:box-shadow var(--transition-base)}.hover-brightness:hover{filter:brightness(1.1);transition:filter var(--transition-base)}.bg-gradient-primary{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.bg-gradient-warm{background:linear-gradient(135deg,#ffc107,#ff9800)}.bg-gradient-sunset{background:linear-gradient(135deg,#ffc107,#ff5722)}.glass{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2)}.text-gradient{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);-webkit-background-clip:text;background-clip:text}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.page-enter{animation:fadeInUp var(--transition-slow) ease-out}.page-exit{animation:fadeInDown var(--transition-slow) ease-out reverse}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width:768px){.btn:hover,.card:hover{transform:none}}@media print{.no-print{display:none!important}}
