@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");@import url("/assets/css/edutana-icons-forms.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)}.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}.landing-nav{opacity:1;transform:none;transition:background .3s,padding .3s}.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%;min-height:50px;padding:12px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#2e5bff,#487fff);color:#fff;font-size:.95rem;font-weight:600;line-height:1.35;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;margin-top:16px;box-sizing:border-box;white-space:normal;word-break:keep-all}.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;flex-wrap:wrap;gap:12px;margin-top:4px}.auth-social-btn{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px);min-width:140px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;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;box-sizing:border-box}.auth-social-btn .auth-social-btn-label{line-height:1.2;white-space:nowrap}.auth-social-btn .iconify,.auth-social-btn svg{flex-shrink:0}.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;flex-wrap:wrap;gap:12px 16px;margin-top:4px;margin-bottom:0;font-size:.88rem}.auth-checkbox-label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex:0 1 auto;min-width:0;position:relative}.auth-checkbox-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-checkbox-box{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;flex-shrink:0;border:2px solid #64748b;border-radius:6px;background:#fff;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.95);transition:border-color .15s,background .15s,box-shadow .15s}.auth-checkbox-label:hover .auth-checkbox-box{border-color:var(--primary-600,#487fff)}.auth-checkbox-input:checked+.auth-checkbox-box{background:var(--primary-600,#487fff);border-color:var(--primary-600,#487fff);box-shadow:none}.auth-checkbox-input:focus-visible+.auth-checkbox-box{outline:none;box-shadow:0 0 0 3px rgba(72,127,255,.4)}.auth-checkbox-input:checked:focus-visible+.auth-checkbox-box{box-shadow:0 0 0 3px rgba(72,127,255,.45)}.auth-checkbox-tick{color:#fff;font-size:.85rem;width:.85rem!important;height:.85rem!important}.auth-checkbox-text{color:#4b5563;font-size:.92rem;line-height:1.3}.auth-check-row .auth-forgot-link{color:var(--primary-600,#487fff);font-weight:500;text-decoration:none;font-size:.85rem;white-space:nowrap;margin-left:auto}.auth-check-row .auth-forgot-link:hover{text-decoration:underline}.auth-check-row--terms{align-items:flex-start;justify-content:flex-start;margin-top:6px;margin-bottom:4px}.auth-check-row--terms .auth-checkbox-label{align-items:flex-start;width:100%}.auth-check-row--terms .auth-checkbox-box{margin-top:.12rem}.auth-terms-label{font-size:.82rem;color:#6b7280;margin:0;line-height:1.45;flex:1 1;min-width:0}.auth-terms-label a{color:var(--primary-600,#487fff);font-weight:600;text-decoration:none}.auth-terms-label a:hover{text-decoration:underline}.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,rgba(72,127,255,.14),rgba(99,102,241,.1));border-color:rgba(72,127,255,.22)}.dash-card-ai .dash-card-title{color:var(--text-color,#1f2937)}.dash-ai-text{color:var(--text-secondary,#64748b);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:rgba(72,127,255,.08);border:1px solid rgba(72,127,255,.18);color:var(--text-color,#334155);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s;text-align:left}.dash-ai-example:hover{background:rgba(72,127,255,.14);border-color:rgba(72,127,255,.28)}.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,opacity .2s;margin-top:auto}.dash-ai-open-btn:hover{background:var(--primary-700,#3a6fe8);transform:translateY(-1px)}[data-theme=dark] .dash-card-ai{background:linear-gradient(135deg,#0f172a,#1e293b 55%,#172554);border-color:rgba(129,140,248,.25)}[data-theme=dark] .dash-card-ai .dash-card-title{color:#f1f5f9}[data-theme=dark] .dash-card-ai .dash-card-title .text-primary-600{color:#93c5fd!important}[data-theme=dark] .dash-ai-text{color:rgba(226,232,240,.72)}[data-theme=dark] .dash-ai-example{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.1);color:rgba(241,245,249,.92)}[data-theme=dark] .dash-ai-example:hover{background:hsla(0,0%,100%,.1);border-color:rgba(129,140,248,.35)}.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)}.dash-module-wrap{max-width:1320px;margin:0 auto;padding-left:12px;padding-right:12px}.dash-module-hero{background:linear-gradient(135deg,#2563eb,#487fff 50%,#60a5fa);border-radius:16px;padding:22px 26px;margin-bottom:22px;color:#fff;position:relative;overflow:hidden;box-shadow:0 10px 40px rgba(72,127,255,.22)}.dash-module-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:hsla(0,0%,100%,.08);top:-90px;right:-50px;pointer-events:none}.dash-module-hero--amber{background:linear-gradient(135deg,#b45309,#d97706 45%,#f59e0b);box-shadow:0 10px 40px rgba(217,119,6,.2)}.dash-module-hero-inner{position:relative;z-index:1;display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap}.dash-module-hero-icon{width:56px;height:56px;border-radius:14px;background:hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;font-size:1.85rem;flex-shrink:0}.dash-module-hero h1{font-size:1.45rem;font-weight:800;letter-spacing:-.4px;margin:0 0 6px;color:#fff}.dash-module-hero p{margin:0;font-size:.92rem;color:hsla(0,0%,100%,.9);max-width:640px;line-height:1.45}.dash-mini-stat{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:14px;height:100%}[data-theme=dark] .dash-mini-stat{background:var(--card-bg,#1e293b);border-color:var(--border-color,hsla(0,0%,100%,.08))}.dash-mini-stat-value{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;line-height:1.1;color:var(--text-color,#1f2937)}[data-theme=dark] .dash-mini-stat-value{color:#f1f5f9}.dash-mini-stat-label{font-size:.78rem;font-weight:600;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.04em}.dash-filter-pills{display:flex;flex-wrap:wrap;gap:8px}.dash-filter-pills .btn{border-radius:10px;font-size:.85rem;font-weight:600;padding:8px 14px}.dash-table-card{border-radius:14px!important;border:1px solid var(--border-color,#e5e7eb)!important;overflow:hidden;box-shadow:0 2px 12px rgba(15,23,42,.06)}[data-theme=dark] .dash-table-card{border-color:hsla(0,0%,100%,.08)!important;box-shadow:none}.dash-table-card .card-header{background:linear-gradient(180deg,rgba(72,127,255,.06),transparent);border-bottom:1px solid var(--border-color,#e5e7eb);font-weight:700;font-size:.95rem;padding:14px 18px}[data-theme=dark] .dash-table-card .card-header{border-color:hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.03)}.dash-module-tabs .nav-link{border-radius:10px!important;font-weight:600;padding:10px 18px;color:var(--text-secondary,#6b7280);border:1px solid transparent}.dash-module-tabs .nav-link:hover{background:rgba(72,127,255,.08);color:var(--primary-600,#487fff)}.dash-module-tabs .nav-link.active{background:var(--primary-600,#487fff)!important;color:#fff!important;border-color:var(--primary-600,#487fff)!important}.dash-hint-box{background:rgba(72,127,255,.08);border:1px solid rgba(72,127,255,.2);border-radius:12px;padding:12px 16px;font-size:.88rem;color:var(--text-color,#334155)}[data-theme=dark] .dash-hint-box{background:rgba(72,127,255,.12);color:#e2e8f0}.dash-hint-box code{background:rgba(0,0,0,.06);padding:2px 8px;border-radius:6px;font-size:.8rem}[data-theme=dark] .dash-hint-box code{background:rgba(0,0,0,.25)}.dash-module-hero--fingerprint{background:linear-gradient(125deg,#0f766e,#0e7490 38%,#4338ca);box-shadow:0 14px 44px rgba(14,116,144,.28)}.dash-module-hero--fingerprint:after{width:300px;height:300px;top:-120px;right:-80px;background:radial-gradient(circle,hsla(0,0%,100%,.12) 0,transparent 70%)}.fp-hero-badge{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:hsla(0,0%,100%,.22);padding:5px 12px;border-radius:999px;margin-bottom:8px;color:#fff}.fp-hero-code{background:rgba(0,0,0,.2);padding:2px 8px;border-radius:6px;font-size:.88em;color:#e0f2fe}.fp-stat-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--card-bg,#fff);border-radius:16px;border:1px solid var(--border-color,#e5e7eb);height:100%;transition:transform .15s ease,box-shadow .15s ease}.fp-stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.08)}[data-theme=dark] .fp-stat-card{border-color:hsla(0,0%,100%,.08)}[data-theme=dark] .fp-stat-card:hover{box-shadow:0 12px 32px rgba(0,0,0,.35)}.fp-stat-card__icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.45rem;flex-shrink:0}.fp-stat-card__icon--devices{background:rgba(72,127,255,.14);color:#487fff}.fp-stat-card__icon--ok{background:rgba(34,197,94,.14);color:#16a34a}.fp-stat-card__icon--pending{background:rgba(245,158,11,.16);color:#d97706}.fp-panel .card-header{background:transparent!important;padding-bottom:8px!important}.fp-card-head{display:flex;align-items:center;gap:12px}.fp-card-head-icon{width:40px;height:40px;border-radius:12px;background:rgba(72,127,255,.12);display:flex;align-items:center;justify-content:center;color:var(--primary-600,#487fff)}.fp-card-head-icon--violet{background:rgba(99,102,241,.14);color:#6366f1}[data-theme=dark] .fp-card-head>div>.fw-bold{color:#fff}[data-theme=dark] .fp-card-head-sub{color:hsla(0,0%,100%,.72)!important}.fp-search-wrap .input-group-text{border-radius:12px 0 0 12px!important}.fp-search-wrap .form-control{border-radius:0 12px 12px 0!important;padding:10px 14px}.fp-input-group-text{color:var(--text-secondary,#64748b)}.fp-table-scroll{border-radius:12px;border:1px solid var(--border-color,#e5e7eb);max-height:440px;overflow:auto}[data-theme=dark] .fp-table-scroll{border-color:hsla(0,0%,100%,.08)}.fp-table-scroll--students{max-height:480px}.fp-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--card-bg,#f8fafc)!important;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary,#64748b)!important;border-bottom-width:1px!important;white-space:nowrap}[data-theme=dark] .fp-table thead th{background:rgba(30,41,59,.95)!important}.fp-table tbody tr{transition:background .12s ease}.fp-table tbody tr:hover{background:rgba(72,127,255,.05)!important}.fp-empty{text-align:center;padding:2.25rem 1.25rem;border-radius:14px;background:rgba(148,163,184,.08);border:1px dashed var(--border-color,#cbd5e1)}.fp-empty--compact{padding:.5rem;background:transparent;border:none}.fp-empty__icon{font-size:2.75rem;opacity:.45;color:var(--text-secondary,#94a3b8)}.fp-hint-callout{background:linear-gradient(135deg,rgba(72,127,255,.08),rgba(99,102,241,.06));border:1px solid rgba(72,127,255,.18);border-radius:14px;padding:14px 16px;font-size:.88rem}[data-theme=dark] .fp-hint-callout{background:rgba(72,127,255,.1);border-color:rgba(129,140,248,.25)}.fp-hint-callout__icon{font-size:1.35rem;color:#487fff}.fp-inline-code{background:rgba(0,0,0,.06);padding:2px 8px;border-radius:6px;font-size:.82rem}[data-theme=dark] .fp-inline-code{background:rgba(0,0,0,.25)}.fp-status{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600}.fp-status--ok{color:#16a34a}.fp-status--pending{color:#d97706}.fp-cmd-snippet{display:inline-block;font-size:.78rem;background:rgba(72,127,255,.1);border:1px solid rgba(72,127,255,.2);padding:4px 10px;border-radius:8px;white-space:nowrap}[data-theme=dark] .fp-cmd-snippet{background:rgba(72,127,255,.12)}.fp-btn-primary{background:linear-gradient(135deg,#487fff,#6366f1)!important;border:none!important;color:#fff!important;font-weight:600}.fp-btn-primary:hover{filter:brightness(1.06);color:#fff!important}.fp-loading__spinner{color:#0e7490!important;border-color:currentColor transparent currentColor currentColor!important}.fp-modal-content{border-radius:16px!important;border:1px solid var(--border-color,#e5e7eb)!important;overflow:hidden}.fp-modal-header .modal-title{font-weight:700}.fp-modal-title-icon{width:36px;height:36px;border-radius:10px;background:rgba(14,116,144,.15);color:#0e7490;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem}.fp-form-control{border-radius:10px!important}.fp-switch .form-check-input:checked{background-color:#487fff;border-color:#487fff}.fp-token-warning{display:flex;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:12px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.22);color:#b91c1c;font-size:.88rem}[data-theme=dark] .fp-token-warning{background:rgba(239,68,68,.12);color:#fca5a5}.sidebar.active .sidebar-menu li.dropdown.dropdown-open,.sidebar.active .sidebar-menu li.dropdown.open{position:relative;z-index:20}.sidebar.active .sidebar-menu li.dropdown.dropdown-open .sidebar-submenu,.sidebar.active .sidebar-menu li.dropdown.open .sidebar-submenu{display:block!important;position:absolute;left:calc(100% + 6px);top:0;z-index:1060;min-width:220px;-webkit-padding-start:.75rem;padding-inline-start:.75rem;padding-block:.5rem;margin:0;background:var(--white);border-radius:12px;box-shadow:0 12px 40px rgba(46,45,116,.15);border:1px solid var(--neutral-200)}[data-theme=dark] .sidebar.active .sidebar-menu li.dropdown.dropdown-open .sidebar-submenu,[data-theme=dark] .sidebar.active .sidebar-menu li.dropdown.open .sidebar-submenu{background:var(--neutral-800,#1f2937);border-color:var(--neutral-600,#4b5563)}.sidebar-menu-area{overflow-x:visible}.sidebar-menu li.dropdown.dropdown-open .sidebar-submenu,.sidebar-menu li.dropdown.open .sidebar-submenu{display:block!important;visibility:visible!important;opacity:1!important;max-height:none!important}.sidebar-menu .sidebar-submenu li a{display:flex;align-items:center;gap:.5rem}html.dark .sidebar-menu .sidebar-submenu li a{color:hsla(0,0%,100%,.92)!important}html.dark .sidebar-menu .sidebar-submenu li a:hover{color:var(--brand,#487fff)!important}html.dark .sidebar-menu .sidebar-submenu li.active-page a{color:#fff!important}