@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap");@import url("/assets/css/remixicon.css");@import url("/assets/css/lib/bootstrap.min.css");@import url("/assets/css/lib/apexcharts.css");@import url("/assets/css/lib/dataTables.min.css");@import url("/assets/css/lib/editor-katex.min.css");@import url("/assets/css/lib/editor.atom-one-dark.min.css");@import url("/assets/css/lib/editor.quill.snow.css");@import url("/assets/css/lib/flatpickr.min.css");@import url("/assets/css/lib/full-calendar.css");@import url("/assets/css/lib/jquery-jvectormap-2.0.5.css");@import url("/assets/css/lib/magnific-popup.css");@import url("/assets/css/lib/slick.css");@import url("/assets/css/lib/prism.css");@import url("/assets/css/lib/file-upload.css");@import url("/assets/css/lib/audioplayer.css");@import url("/assets/css/lib/animate.min.css");@import url("/assets/css/style.css");@import url("/assets/css/extra.css");@import url("/assets/css/dark-theme.css");.landing-loader{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2e5bff,#487fff 50%,#6e9cff)}.landing-page{overflow-x:hidden;font-family:inherit;background:#fafbfd}.landing-nav{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:14px 0;background:rgba(46,91,255,.92);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border-bottom:1px solid hsla(0,0%,100%,.1);transition:background .3s,padding .3s}.landing-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.landing-brand span{font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:-.5px}.landing-brand-icon{width:36px;height:36px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:var(--primary-600,#487fff)}.landing-nav-link{color:hsla(0,0%,100%,.85);text-decoration:none;font-size:.9rem;font-weight:500;padding:6px 14px;border-radius:8px;transition:color .2s,background .2s}.landing-nav-link:hover{color:#fff;background:hsla(0,0%,100%,.12)}.landing-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 16px;border-radius:100px;font-size:.8rem;font-weight:600;letter-spacing:.2px;background:hsla(0,0%,100%,.18);color:#fff;border:1px solid hsla(0,0%,100%,.25)}.landing-badge-dark{background:rgba(72,127,255,.08);color:var(--primary-600,#487fff);border-color:rgba(72,127,255,.2)}.landing-badge-glow{background:hsla(0,0%,100%,.1);color:#a5d8ff;border-color:rgba(165,216,255,.3);box-shadow:0 0 20px rgba(72,127,255,.15)}.landing-hero{position:relative;background:linear-gradient(135deg,#1e3a8a,#2e5bff 40%,#487fff 70%,#6e9cff);min-height:100vh}.landing-hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}.landing-hero-bg:after,.landing-hero-bg:before{content:"";position:absolute;border-radius:50%;opacity:.08;background:#fff}.landing-hero-bg:before{width:600px;height:600px;top:-200px;right:-150px;animation:heroFloat 8s ease-in-out infinite}.landing-hero-bg:after{width:450px;height:450px;bottom:-150px;left:-100px;animation:heroFloat 8s ease-in-out 3s infinite}@keyframes heroFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.03)}}.landing-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;color:#fff;line-height:1.15;letter-spacing:-1px;margin-bottom:1rem}.landing-title-accent{display:block;background:linear-gradient(90deg,#a5d8ff,#74c0fc,#ffd43b);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-subtitle{font-size:1.15rem;color:hsla(0,0%,100%,.85);max-width:520px;line-height:1.65;margin-bottom:1.75rem}@media (max-width:991px){.landing-subtitle{margin-inline:auto}}.landing-btn-main{border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);transition:transform .2s,box-shadow .2s}.landing-btn-main:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.18)}.landing-stat{text-align:center}.landing-stat-value{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.5px}.landing-stat-label{font-size:.82rem;color:hsla(0,0%,100%,.65);font-weight:500;margin-top:2px}.landing-hero-visual{perspective:900px}.landing-chat-preview{width:380px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.04);transform:rotateY(-5deg) rotateX(3deg);transition:transform .4s;animation:chatFloat 6s ease-in-out infinite}.landing-chat-preview:hover{transform:rotateY(0deg) rotateX(0deg)}@keyframes chatFloat{0%,to{transform:rotateY(-5deg) rotateX(3deg) translateY(0)}50%{transform:rotateY(-5deg) rotateX(3deg) translateY(-12px)}}.landing-chat-header{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--primary-600,#487fff);color:#fff;font-weight:600;font-size:.9rem}.landing-chat-dot{width:10px;height:10px;background:#40c057;border-radius:50%;box-shadow:0 0 8px rgba(64,192,87,.5)}.landing-chat-body{padding:16px;display:flex;flex-direction:column;gap:10px;max-height:320px}.landing-chat-msg{padding:10px 14px;border-radius:14px;font-size:.85rem;line-height:1.5;max-width:85%;animation:msgAppear .5s ease-out backwards}.landing-chat-msg:first-child{animation-delay:.2s}.landing-chat-msg:nth-child(2){animation-delay:.6s}.landing-chat-msg:nth-child(3){animation-delay:1s}.landing-chat-msg:nth-child(4){animation-delay:1.4s}@keyframes msgAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.landing-chat-msg-user{background:var(--primary-600,#487fff);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.landing-chat-msg-bot{background:#f1f3f5;color:#343a40;align-self:flex-start;border-bottom-left-radius:4px}.landing-chat-nav{display:inline-block;margin-top:6px;padding:3px 10px;background:rgba(72,127,255,.1);color:var(--primary-600,#487fff);font-size:.78rem;font-weight:600;border-radius:6px}.landing-section{padding:100px 0}.landing-section-dark{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#1a1f36)}.landing-section-title{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;letter-spacing:-.5px;line-height:1.2;color:#1f2937}.landing-section-dark .landing-section-title{color:#fff}.landing-section-subtitle{font-size:1.05rem;color:#6b7280;max-width:580px;line-height:1.65}.landing-feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:28px 24px;height:100%;transition:transform .25s,box-shadow .25s,border-color .25s}.landing-feature-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(72,127,255,.1);border-color:rgba(72,127,255,.25)}.landing-feature-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:1.4rem}.landing-ai-list{list-style:none;padding:0;margin:0}.landing-ai-list li{display:flex;align-items:center;color:hsla(0,0%,100%,.9);font-size:.95rem;padding:8px 0}.landing-ai-card{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);border-radius:14px;padding:20px;transition:transform .25s,background .25s}.landing-ai-card:hover{transform:translateY(-3px);background:hsla(0,0%,100%,.1)}.landing-ai-card-icon{font-size:1.4rem;color:#74c0fc;margin-bottom:10px}.landing-ai-card-cmd{font-size:.95rem;font-weight:600;color:#fff;margin-bottom:4px}.landing-ai-card-result{font-size:.82rem;color:hsla(0,0%,100%,.55)}.landing-cta-card{background:linear-gradient(135deg,#2e5bff,#487fff 60%,#6e9cff);border-radius:24px;padding:56px 48px;box-shadow:0 24px 64px rgba(72,127,255,.2)}.landing-footer{padding:28px 0;border-top:1px solid #e5e7eb;background:#fafbfd}.landing-footer .landing-brand span{color:#1f2937}.reveal-left,.reveal-right,.reveal-scale,.reveal-up{opacity:0;will-change:transform,opacity;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal-up{transform:translateY(40px)}.reveal-left{transform:translateX(-50px)}.reveal-right{transform:translateX(50px)}.reveal-scale{transform:scale(.92)}.reveal-left.revealed,.reveal-right.revealed,.reveal-scale.revealed,.reveal-up.revealed{opacity:1;transform:translate(0) scale(1)}.stagger-2{transition-delay:.18s}.stagger-3{transition-delay:.32s}.landing-nav{opacity:0;transform:translateY(-20px);transition:background .3s,padding .3s,opacity .5s ease,transform .5s ease}.landing-nav.reveal-ready{opacity:1;transform:translateY(0)}.auth-page-wrapper{min-height:100vh;display:flex;background:#fafbfd}.auth-visual-side{width:50%;position:relative;overflow:hidden;animation:authCoverIn .8s cubic-bezier(.16,1,.3,1) backwards}@keyframes authCoverIn{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.auth-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.auth-form-side{width:50%;display:flex;align-items:center;justify-content:center;padding:48px 24px}.auth-form-container{width:100%;max-width:440px;animation:authFormIn .6s cubic-bezier(.16,1,.3,1) .1s backwards}@keyframes authFormIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-form-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:32px}.auth-form-brand .landing-brand-icon{width:40px;height:40px;font-size:1.2rem}.auth-form-brand span{font-size:1.4rem;font-weight:700;color:var(--primary-600,#487fff);letter-spacing:-.5px}.auth-form-title{font-size:1.65rem;font-weight:800;color:#1f2937;letter-spacing:-.5px;margin-bottom:6px}.auth-form-subtitle{color:#6b7280;font-size:.95rem;margin-bottom:28px}.auth-input-group{position:relative;margin-bottom:18px}.auth-input-group .auth-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:1.15rem;pointer-events:none;z-index:2}.auth-input-group input{width:100%;height:50px;padding:0 14px 0 44px;border:1.5px solid #e5e7eb;border-radius:12px;font-size:.92rem;background:#f9fafb;color:#1f2937;transition:border-color .2s,box-shadow .2s,background .2s;outline:none}.auth-input-group input:focus{border-color:var(--primary-600,#487fff);box-shadow:0 0 0 3px rgba(72,127,255,.1);background:#fff}.auth-input-group input.is-invalid{border-color:#dc2626}.auth-input-group .auth-toggle-pw{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.15rem;padding:4px;z-index:2;transition:color .2s}.auth-input-group .auth-toggle-pw:hover{color:#6b7280}.auth-submit-btn{width:100%;height:50px;border:none;border-radius:12px;background:linear-gradient(135deg,#2e5bff,#487fff);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;margin-top:8px}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px rgba(72,127,255,.3)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:#9ca3af;font-size:.82rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:#e5e7eb}.auth-social-row{display:flex;gap:12px}.auth-social-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border:1.5px solid #e5e7eb;border-radius:12px;background:#fff;font-size:.88rem;font-weight:500;color:#374151;cursor:pointer;transition:border-color .2s,box-shadow .2s}.auth-social-btn:hover{border-color:var(--primary-600,#487fff);box-shadow:0 2px 8px rgba(72,127,255,.08)}.auth-footer-text{text-align:center;margin-top:24px;font-size:.88rem;color:#6b7280}.auth-footer-text a{color:var(--primary-600,#487fff);font-weight:600;text-decoration:none}.auth-footer-text a:hover{text-decoration:underline}.auth-error{text-align:center;color:#dc2626;font-size:.88rem;font-weight:500;margin-top:12px;animation:authShake .4s ease}@keyframes authShake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.auth-field-error{color:#dc2626}.auth-field-error,.auth-hint{font-size:.78rem;margin-top:4px;padding-left:4px}.auth-hint{color:#9ca3af}.auth-check-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.88rem}.auth-check-row label{color:#6b7280}.auth-check-row a{color:var(--primary-600,#487fff);font-weight:500;text-decoration:none;font-size:.85rem}.auth-check-row a:hover{text-decoration:underline}@media (max-width:991px){.auth-visual-side{display:none}.auth-form-side{width:100%}}@media (max-width:767px){.landing-hero .row{padding-top:90px}.landing-section{padding:64px 0}.landing-cta-card{padding:36px 24px;text-align:center}.landing-cta-card .text-lg-end{text-align:center!important}.landing-cta-card .justify-content-lg-end{justify-content:center!important}.landing-ai-card{padding:16px}}@keyframes dashUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.dash-anim-up{animation:dashUp .55s cubic-bezier(.16,1,.3,1) backwards}.dash-home{opacity:0;transition:opacity .3s}.dash-home-loaded{opacity:1}.dash-welcome{background:linear-gradient(135deg,#2e5bff,#487fff 60%,#6e9cff);border-radius:16px;padding:28px 32px;margin-bottom:24px;position:relative;overflow:hidden}.dash-welcome:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:hsla(0,0%,100%,.06);top:-120px;right:-60px;pointer-events:none}.dash-welcome-content{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;position:relative;z-index:1}.dash-welcome-date{display:inline-flex;align-items:center;font-size:.78rem;color:hsla(0,0%,100%,.65);margin-bottom:6px;text-transform:capitalize}.dash-welcome-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 6px;letter-spacing:-.5px}.dash-welcome-name{background:linear-gradient(90deg,#a5d8ff,#ffd43b);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dash-welcome-sub{color:hsla(0,0%,100%,.8);font-size:.9rem;margin:0;line-height:1.5}.dash-welcome-chat-btn{display:inline-flex;align-items:center;gap:2px;padding:10px 20px;border-radius:12px;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.25);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,transform .2s}.dash-welcome-chat-btn:hover{background:hsla(0,0%,100%,.25);transform:translateY(-1px)}.dash-chat-shortcut{margin-left:8px;padding:2px 8px;border-radius:6px;font-size:.7rem;font-weight:500;background:hsla(0,0%,100%,.15);color:hsla(0,0%,100%,.7)}.dash-welcome-role{position:absolute;top:14px;right:20px;display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;color:hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.1);padding:4px 12px;border-radius:100px;text-transform:capitalize;z-index:1}.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}@media (max-width:991px){.dash-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:575px){.dash-stats{grid-template-columns:1fr 1fr;gap:12px}}.dash-stat-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:14px;cursor:pointer;animation:dashUp .5s cubic-bezier(.16,1,.3,1) backwards;transition:transform .2s,box-shadow .2s,border-color .2s;color:inherit}.dash-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(72,127,255,.1);border-color:rgba(72,127,255,.3);color:inherit}.dash-stat-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:12px}.dash-stat-value{font-size:1.65rem;font-weight:800;letter-spacing:-.5px;line-height:1.1;color:var(--text-color,#1f2937)}.dash-stat-label{font-size:.8rem;font-weight:500;color:var(--text-secondary,#6b7280);margin-top:4px}.dash-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:991px){.dash-grid{grid-template-columns:1fr}}.dash-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:14px;padding:20px 24px;display:flex;flex-direction:column}.dash-card-header{margin-bottom:16px}.dash-card-title{font-size:.92rem;font-weight:700;margin:0;display:flex;align-items:center;color:var(--text-color,#1f2937)}.dash-card-ai{background:linear-gradient(135deg,#0f172a,#1e293b);border-color:hsla(0,0%,100%,.08)}.dash-card-ai .dash-card-title{color:#fff}.dash-ai-text{color:hsla(0,0%,100%,.6);font-size:.85rem;margin-bottom:12px}.dash-ai-examples{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.dash-ai-example{display:flex;align-items:center;padding:10px 14px;border-radius:10px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.85);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s;text-align:left}.dash-ai-example:hover{background:hsla(0,0%,100%,.12)}.dash-ai-open-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:10px;border-radius:10px;background:var(--primary-600,#487fff);border:none;color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;margin-top:auto}.dash-ai-open-btn:hover{background:#3a6fe8;transform:translateY(-1px)}.dash-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}@media (max-width:575px){.dash-quick-grid{grid-template-columns:repeat(2,1fr)}}.dash-quick-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:12px;border:1px solid var(--border-color,#e5e7eb);text-decoration:none;color:var(--text-color,#1f2937);transition:background .2s,transform .15s,box-shadow .2s}.dash-quick-item:hover{background:rgba(72,127,255,.04);transform:translateY(-2px);box-shadow:0 4px 12px rgba(72,127,255,.08);color:var(--text-color,#1f2937)}.dash-quick-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.dash-quick-label{font-size:.78rem;font-weight:600}.dash-inst-info{display:flex;flex-direction:column;gap:10px}.dash-inst-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;background:var(--bg-secondary,#f9fafb)}.dash-inst-label{font-size:.82rem;color:var(--text-secondary,#6b7280);font-weight:500}.dash-inst-value{font-size:.85rem;font-weight:600;color:var(--text-color,#1f2937)}.dash-empty{flex-direction:column;text-align:center;padding:24px 16px;flex:1 1}.dash-empty,.dash-empty-icon{display:flex;align-items:center;justify-content:center}.dash-empty-icon{width:56px;height:56px;border-radius:50%;background:var(--bg-secondary,#f3f4f6);font-size:1.5rem;color:var(--text-secondary,#9ca3af);margin-bottom:12px}.dash-empty-text{font-size:.85rem;color:var(--text-secondary,#6b7280);margin-bottom:8px}.dash-empty-link{display:inline-flex;align-items:center;font-size:.82rem;color:var(--primary-600,#487fff);font-weight:600;text-decoration:none}.dash-empty-link:hover{text-decoration:underline}[data-theme=dark] .dash-card,[data-theme=dark] .dash-stat-card{background:var(--card-bg,#1e293b);border-color:var(--border-color,hsla(0,0%,100%,.08))}[data-theme=dark] .dash-card-title,[data-theme=dark] .dash-stat-value{color:#f1f5f9}[data-theme=dark] .dash-inst-row{background:hsla(0,0%,100%,.04)}[data-theme=dark] .dash-quick-item{border-color:hsla(0,0%,100%,.08);color:#e2e8f0}[data-theme=dark] .dash-quick-item:hover{background:rgba(72,127,255,.08);color:#e2e8f0}[data-theme=dark] .dash-empty-icon{background:hsla(0,0%,100%,.06)}