:root{--primary: #7C6BC2;--primary-light: #9E90D9;--primary-pale: #EDE9FA;--primary-deep: #5A4BA0;--secondary: #5B91D0;--secondary-light: #82AFDF;--secondary-pale: #E3F0FB;--accent: #E67EC0;--accent-light: #F0A3D4;--accent-pale: #FCE9F5;--accent-warm: #F7B955;--success: #10B981;--success-pale: #D1FAE5;--success-deep: #0A7B56;--warning: #F59E0B;--warning-pale: #FEF3C7;--danger: #EF4444;--danger-pale: #FEE2E2;--dark: #1E1B38;--dark2: #3D3963;--gray: #6B7280;--gray-mid: #9CA3AF;--gray-light: #F4F5F8;--border: #E4E2F0;--white: #FFFFFF;--grad-brand: linear-gradient(135deg, #7C6BC2 0%, #E67EC0 100%);--grad-brand-soft: linear-gradient(135deg, #A090D9 0%, #F0A3D4 100%);--grad-cool: linear-gradient(135deg, #5B91D0 0%, #7C6BC2 100%);--grad-warm: linear-gradient(135deg, #F7B955 0%, #E67EC0 100%);--grad-success: linear-gradient(135deg, #10B981 0%, #5B91D0 100%);--grad-hero: linear-gradient(135deg, #1E1B38 0%, #3D3963 60%, #5A4BA0 100%);--grad-page: linear-gradient(160deg, #F9F7FE 0%, #FFFFFF 50%, #F0EDF8 100%);--shadow-sm: 0 2px 8px rgba(30,27,56,.07);--shadow: 0 4px 20px rgba(30,27,56,.1);--shadow-md: 0 6px 28px rgba(30,27,56,.12);--shadow-lg: 0 12px 48px rgba(30,27,56,.16);--shadow-xl: 0 20px 64px rgba(30,27,56,.22);--shadow-glow: 0 0 0 3px rgba(124,107,194,.22);--shadow-accent: 0 8px 24px rgba(230,126,192,.3);--radius-xs: 6px;--radius-sm: 10px;--radius: 16px;--radius-lg: 22px;--radius-xl: 32px;--radius-full: 9999px;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Nunito,sans-serif;background:var(--grad-page);color:var(--dark);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{max-width:100%;overflow-x:hidden}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:Nunito,sans-serif}input,select,textarea{font-family:Nunito,sans-serif}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--gray-light);border-radius:999px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-light),var(--accent));border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.glass{background:#ffffffb8;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.5)}.grad-text{background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #7c6bc259}50%{box-shadow:0 0 0 10px #7c6bc200}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scalePop{0%{transform:scale(.85);opacity:0}70%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes chipPop{0%{transform:scale(1)}45%{transform:scale(1.09)}72%{transform:scale(.97)}to{transform:scale(1)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes progressFill{0%{width:0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.shimmer{background:linear-gradient(90deg,var(--gray-light) 25%,#ede9f8 50%,var(--gray-light) 75%);background-size:400px 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}.float{animation:float 3.2s ease-in-out infinite}.pulse-glow{animation:pulseGlow 2s ease infinite}.slide-up{animation:slideUp .4s var(--ease-bounce) both}.scale-pop{animation:scalePop .35s var(--ease-bounce) both}.chip-pop{animation:chipPop .28s var(--ease-bounce)}.bounce-in{animation:bounceIn .5s var(--ease-bounce) both}.loyalty-bar-fill{animation:progressFill 1s var(--ease-bounce) both}.notif-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--danger);animation:dotPulse 1.5s ease infinite}.grad-animated{background:linear-gradient(-45deg,#7c6bc2,#e67ec0,#5b91d0,#f7b955);background-size:300% 300%;animation:gradientShift 6s ease infinite}.stat-card-primary{background:linear-gradient(135deg,#ede9fa,#f5f3fc)!important}.stat-card-success{background:linear-gradient(135deg,#d1fae5,#e0faf2)!important}.stat-card-warning{background:linear-gradient(135deg,#fef3c7,#fef8e6)!important}.stat-card-info{background:linear-gradient(135deg,#e3f0fb,#eff6fd)!important}.stat-card-accent{background:linear-gradient(135deg,#fce9f5,#fef2fb)!important}.stat-card-danger{background:linear-gradient(135deg,#fee2e2,#fef0f0)!important}.fancy-table{border-collapse:separate;border-spacing:0;width:100%}.fancy-table th{background:var(--primary-pale);color:var(--primary-deep);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.7px;padding:12px 16px;border-bottom:2px solid rgba(124,107,194,.18);white-space:nowrap}.fancy-table th:first-child{border-radius:var(--radius-sm) 0 0 0}.fancy-table th:last-child{border-radius:0 var(--radius-sm) 0 0}.fancy-table td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--dark2);font-weight:600;vertical-align:middle;background:#fff;transition:background .12s ease}.fancy-table tr:last-child td{border-bottom:none}.fancy-table tbody tr:hover td{background:var(--primary-pale)}.btn-lift{transition:transform .3s var(--ease-bounce),box-shadow .22s var(--ease-smooth)!important}.btn-lift:hover{transform:translateY(-2px)!important;box-shadow:var(--shadow-md)!important}.btn-lift:active{transform:translateY(0)!important}.card-hover{transition:transform .22s var(--ease-smooth),box-shadow .22s var(--ease-smooth)!important}.card-hover:hover{transform:translateY(-3px)!important;box-shadow:var(--shadow-lg)!important}.star-btn{transition:transform .15s var(--ease-bounce),color .15s ease!important}.star-btn:hover{transform:scale(1.3)!important}select,input[type=date],input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}select:hover:not(:disabled),input[type=date]:hover:not(:disabled),input[type=text]:hover:not(:disabled),input[type=email]:hover:not(:disabled),input[type=password]:hover:not(:disabled),input[type=tel]:hover:not(:disabled),input[type=number]:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--dark2)!important}select:focus,input[type=date]:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=number]:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3.5px #7c6bc233!important;outline:none}:focus-visible{outline:2.5px solid var(--primary);outline-offset:3px;border-radius:var(--radius-xs)}select{appearance:auto;cursor:pointer}@media(max-width:768px){body.sidebar-open{overflow:hidden}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.table-scroll table{min-width:600px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
