@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;background-color:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#64748b}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{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)}}.animate-fade-in{animation:.5s ease-out fadeIn}.animate-slide-in{animation:.5s ease-out slideIn}.animate-scale-in{animation:.3s ease-out scaleIn}.glass{-webkit-backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3}.glass-dark{-webkit-backdrop-filter:blur(20px);background:#0f172acc;border:1px solid #ffffff1a}.gradient-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-secondary{color:#3b82f6;cursor:pointer;background:#fff;border:2px solid #3b82f6;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-secondary:hover{background:#f0f5ff;transform:translateY(-1px)}.btn-success{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-danger{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.card{background:#fff;border-radius:1rem;padding:1.5rem;transition:all .3s;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.input-field{background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;outline:none;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:all .3s}.input-field:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.spinner{border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-info{color:#1e40af;background:#dbeafe}.sidebar-link{color:#64748b;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.sidebar-link:hover{color:#3b82f6;background:#f0f5ff}.sidebar-link.active{color:#fff;background:#3b82f6}@media (width<=768px){.sidebar-hamburger{justify-content:center;align-items:center;display:flex!important}.sidebar-overlay{display:block!important}.sidebar-mobile-close{display:flex!important}.agent-sidebar,.admin-sidebar{box-shadow:none;transition:transform .3s;transform:translate(-100%)}.agent-sidebar.mobile-open,.admin-sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 20px #0006}.agent-main-content,.admin-main-content{margin-left:0!important;padding-top:4rem!important}}@media (width>=769px){.sidebar-hamburger,.sidebar-mobile-close{display:none!important}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.75rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast{pointer-events:all;border-radius:.75rem;align-items:center;gap:.75rem;min-width:280px;max-width:400px;padding:1rem 1.5rem;font-size:.9rem;font-weight:500;animation:.3s ease-out slideInRight;display:flex;box-shadow:0 8px 24px #00000026}.toast-success{color:#d1fae5;background:#065f46;border-left:4px solid #10b981}.toast-error{color:#fee2e2;background:#7f1d1d;border-left:4px solid #ef4444}.toast-info{color:#dbeafe;background:#1e3a8a;border-left:4px solid #3b82f6}.toast-warning{color:#fef3c7;background:#78350f;border-left:4px solid #f59e0b}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60px)}}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%) 0 0/200% 100%;border-radius:.5rem;animation:1.5s ease-in-out infinite skeleton-wave}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{border-radius:4px;height:1rem;margin-bottom:.5rem}.skeleton-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.rank-badge-1{color:#78350f;background:linear-gradient(135deg,#f59e0b,#fbbf24);border-radius:9999px;padding:.25rem .75rem;font-size:.8rem;font-weight:700}.rank-badge-2{color:#1e293b;background:linear-gradient(135deg,#94a3b8,#cbd5e1);border-radius:9999px;padding:.25rem .75rem;font-size:.8rem;font-weight:700}.rank-badge-3{color:#fff;background:linear-gradient(135deg,#d97706,#b45309);border-radius:9999px;padding:.25rem .75rem;font-size:.8rem;font-weight:700}.achievement-badge{border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .3s;display:inline-flex}.achievement-badge.locked{color:#94a3b8;background:#f1f5f9;border:2px dashed #e2e8f0}.achievement-badge.unlocked{color:#b45309;background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border:2px solid #f59e0b;box-shadow:0 0 12px #f59e0b33}@keyframes pointPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.point-pulse{animation:.5s ease-in-out pointPulse}.progress-ring-circle{transform-origin:50%;transition:stroke-dashoffset .5s;transform:rotate(-90deg)}.module-card{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.module-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.announcement-card{background:linear-gradient(135deg,#3b82f608,#fff);border-left:4px solid #3b82f6}.announcement-card.urgent{background:linear-gradient(135deg,#ef444408,#fff);border-left-color:#ef4444}.quiz-option{cursor:pointer;border:2px solid #e2e8f0;border-radius:.75rem;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:all .2s;display:flex}.quiz-option:hover{background:#3b82f608;border-color:#3b82f6}.quiz-option.selected{background:#3b82f614;border-color:#3b82f6}.quiz-option.correct{background:#10b98114;border-color:#10b981}.quiz-option.wrong{background:#ef444414;border-color:#ef4444}.certificate-container{text-align:center;background:linear-gradient(135deg,#0f172a,#1e293b);border:2px solid #fbbf244d;border-radius:1.5rem;padding:3rem;position:relative;overflow:hidden}.certificate-container:before{content:"";pointer-events:none;background:radial-gradient(circle,#fbbf240d 0%,#0000 60%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.agent-module-view-container{padding:2rem}.agent-module-view-card{margin-bottom:1.5rem;padding:2rem}.agent-module-view-btn{justify-content:center;width:100%;padding:1rem;font-size:1rem}@media (width<=768px){.agent-module-view-container{padding:.75rem!important}.agent-module-view-card{border-radius:.75rem!important;padding:1rem!important}.agent-module-view-btn{border-radius:.5rem!important;padding:.75rem!important;font-size:.9rem!important}}.spin-anim{animation:.4s linear spin-rotate}@keyframes spin-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in-quote{animation:.4s ease-out fadeInQuote}@keyframes fadeInQuote{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
