:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}:root[data-theme=dark]{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}:root[data-theme=light]{--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0;font-weight:400}:root[data-theme=dark] .p-inputtext{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-dropdown{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-multiselect{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-calendar{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-checkbox{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-radio{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-switch{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] textarea{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] input{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-dropdown-panel{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-inputtext:focus{box-shadow:0 0 0 2px var(--color-border-hover);border-color:var(--color-border-hover)!important}:root[data-theme=dark] textarea:focus{box-shadow:0 0 0 2px var(--color-border-hover);border-color:var(--color-border-hover)!important}:root[data-theme=dark] input:focus{box-shadow:0 0 0 2px var(--color-border-hover);border-color:var(--color-border-hover)!important}:root[data-theme=dark] .p-error{color:#ff6f6f!important}:root[data-theme=dark] .p-panel{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-dataview{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-panel .p-panel-header{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-panel .p-panel-content{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] .p-dataview .p-dataview-content{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}:root[data-theme=dark] h3{color:var(--color-heading)!important}:root[data-theme=dark] .p-panel .p-panel-title{color:var(--color-heading)!important}:root[data-theme=dark] .p-dataview .p-dataview-header{color:var(--color-heading)!important}:root[data-theme=dark] .p-tabview{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}:root[data-theme=dark] .p-tabview .p-tabview-nav{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}:root[data-theme=dark] .p-tabview .p-tabview-panels{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}:root[data-theme=dark] .p-tabview-tablist{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}:root[data-theme=dark] .search-page{background:var(--color-background)!important;color:var(--color-text)!important}:root[data-theme=dark] .search-view{background:var(--color-background)!important;color:var(--color-text)!important}:root[data-theme=dark] .main-content{background:var(--color-background)!important;color:var(--color-text)!important}:root[data-theme=dark] .content-container{background:var(--color-background)!important;color:var(--color-text)!important}:root[data-theme=dark] .search-header{background:var(--color-background)!important;color:var(--color-text)!important}:root[data-theme=dark] .search-tabs{background:var(--color-background)!important;color:var(--color-text)!important}:root[data-theme=dark] .tab-content{background:var(--color-background)!important;color:var(--color-text)!important}:root[data-theme=dark] .search-results{background:var(--color-background)!important;color:var(--color-text)!important}:root[data-theme=dark] .p-tabview{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}:root[data-theme=dark] .p-tabview .p-tabview-nav{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}:root[data-theme=dark] .p-tabview .p-tabview-panels{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}:root[data-theme=dark] .search-tabs{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}:root[data-theme=dark] .p-tabview .p-tabview-nav-link{color:var(--color-text)!important}:root[data-theme=dark] .p-tableview{background:var(--color-background-soft)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:1rem!important}html{height:100%;margin:0;padding:0}body{height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}.p-toast{box-sizing:border-box;width:90vw;min-width:200px;max-width:420px}@media (max-width:600px){.p-toast{width:95vw;min-width:0;max-width:95vw;left:2.5vw!important;right:2.5vw!important}.p-toast-message{word-break:break-all;border-radius:.6em;margin:.2em 0;padding:.4em .7em;font-size:.98rem}}.score-rating .p-rating-icon{width:2rem!important;min-width:2rem!important;max-width:2rem!important;height:2rem!important;min-height:2rem!important;max-height:2rem!important}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-background);color:var(--color-text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}.home-navbar,.navbar{z-index:1000;background:var(--color-background);border-bottom:1px solid var(--color-border);transition:all .3s;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 32px #00000014}[data-theme=dark] .home-navbar,[data-theme=dark] .navbar{background:#18181bf7;border-bottom:1px solid #18181b33;box-shadow:0 4px 32px #0006}.navbar-container,.navbar-content,.main-content{transition:all .3s}#app{background:var(--color-background);will-change:auto;min-height:100vh;transition:background-color .3s}.hero-section,.add-review-view,.course-detail-view,.search-view,.courses-view,.teachers-view,.about-view,.admin-view{background:var(--color-background);z-index:1;min-height:100vh;transition:background-color .3s;position:relative}.gradient-container{background:var(--color-background);min-height:100vh;transition:background-color .3s}.router-view{background:var(--color-background);min-height:100vh;position:relative}.page-enter-active,.page-leave-active{width:100%;position:absolute;top:0;left:0}.page-enter-from{opacity:0;transform:translate(30px)}.page-leave-to{opacity:0;transform:translate(-30px)}.page-enter-to,.page-leave-from{opacity:1;transform:translate(0)}.loading-overlay{background:var(--color-background);z-index:9999;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.page-content{opacity:1;transition:opacity .2s}.page-content.loading{opacity:.7}::-webkit-scrollbar-track{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#fff3}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}#app.has-header{margin:0 auto;padding:1rem}a,.green{color:#00bd7e;padding:3px;text-decoration:none;transition:all .4s}@media (hover:hover){a:hover{background-color:#00bd7e33}}@media (min-width:768px){#app.has-header{padding:2rem}}@media (min-width:1024px){#app.has-header{max-width:1200px;padding:2rem}}@media (min-width:1440px){#app.has-header{max-width:1400px}}.loading-spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scale-in{animation:.2s cubic-bezier(.25,.46,.45,.94) scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.btn-click{transition:transform .1s cubic-bezier(.25,.46,.45,.94)}.btn-click:active{transform:scale(.98)}.card-hover{will-change:transform,box-shadow;transition:all .15s cubic-bezier(.25,.46,.45,.94)}.card-hover:hover{transform:translateY(-1px);box-shadow:0 3px 12px #00000014}.input-focus{transition:border-color .15s,box-shadow .15s}.input-focus:focus{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e1a}.modal-enter-active,.modal-leave-active{transition:all .2s cubic-bezier(.25,.46,.45,.94)}.modal-enter-from,.modal-leave-to{opacity:0;transform:scale(.95)}.dropdown-enter-active,.dropdown-leave-active{transition:all .15s cubic-bezier(.25,.46,.45,.94)}.dropdown-enter-from,.dropdown-leave-to{opacity:0;transform:translateY(-4px)}.tag-enter-active,.tag-leave-active{transition:all .15s cubic-bezier(.25,.46,.45,.94)}.tag-enter-from,.tag-leave-to{opacity:0;transform:scale(.8)}.progress-bar{transition:width .3s cubic-bezier(.25,.46,.45,.94)}.notification-enter-active,.notification-leave-active{transition:all .2s cubic-bezier(.25,.46,.45,.94)}.notification-enter-from,.notification-leave-to{opacity:0;transform:translate(100%)}.pwa-update-prompt[data-v-b40bd272]{z-index:9999;color:#fff;background:linear-gradient(90deg,#6366f1 0%,#60a5fa 100%);position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000026}.update-banner[data-v-b40bd272]{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex}.update-content[data-v-b40bd272]{flex:1;align-items:center;gap:1rem;display:flex}.update-icon[data-v-b40bd272]{font-size:1.5rem;animation:2s linear infinite spin-b40bd272}.update-text h4[data-v-b40bd272]{margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.update-text p[data-v-b40bd272]{opacity:.9;margin:0;font-size:.9rem}.update-actions[data-v-b40bd272]{align-items:center;gap:.5rem;display:flex}@keyframes spin-b40bd272{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:768px){.update-banner[data-v-b40bd272]{flex-direction:column;gap:1rem;padding:1rem}.update-content[data-v-b40bd272]{text-align:center}.update-actions[data-v-b40bd272]{justify-content:center;width:100%}}[data-theme=dark] .pwa-update-prompt[data-v-b40bd272]{background:linear-gradient(90deg,#6366f1 0%,#0ea5e9 100%)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform .3s,opacity .3s}.slide-enter-from{opacity:0;transform:translate(20px)}.slide-leave-to{opacity:0;transform:translate(-20px)}#app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background:var(--color-background);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page-transitioning,.page-transitioning *{pointer-events:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background-mute);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{color:var(--color-text);background:#22c55e33}:focus-visible{outline-offset:2px;outline:2px solid #22c55e}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-login-view[data-v-ae1b8f8e]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.login-container[data-v-ae1b8f8e]{background:#fff;border-radius:20px;width:100%;max-width:1000px;min-height:600px;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000001a}.login-decoration[data-v-ae1b8f8e]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex:1;justify-content:center;align-items:center;padding:40px;display:flex;position:relative;overflow:hidden}.login-decoration[data-v-ae1b8f8e]:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:200%;height:200%;animation:6s ease-in-out infinite float-ae1b8f8e;position:absolute;top:-50%;left:-50%}@keyframes float-ae1b8f8e{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(180deg)}}.decoration-content[data-v-ae1b8f8e]{text-align:center;z-index:1;position:relative}.logo h1[data-v-ae1b8f8e]{text-shadow:2px 2px 4px #0000004d;margin-bottom:10px;font-size:3rem;font-weight:700}.logo p[data-v-ae1b8f8e]{opacity:.9;margin-bottom:40px;font-size:1.2rem}.decoration-text h2[data-v-ae1b8f8e]{text-shadow:1px 1px 2px #0000004d;margin-bottom:20px;font-size:2rem}.decoration-text p[data-v-ae1b8f8e]{opacity:.9;margin-bottom:30px;font-size:1.1rem}.features[data-v-ae1b8f8e]{text-align:left;padding:0;list-style:none}.features li[data-v-ae1b8f8e]{opacity:.9;margin-bottom:15px;font-size:1rem}.login-form-container[data-v-ae1b8f8e]{flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.login-form[data-v-ae1b8f8e]{width:100%;max-width:400px}.form-header[data-v-ae1b8f8e]{text-align:center;margin-bottom:30px}.form-header h2[data-v-ae1b8f8e]{color:#1f2937;margin-bottom:10px;font-size:2rem}.form-header p[data-v-ae1b8f8e]{color:#6b7280;font-size:1rem}.login-form-content[data-v-ae1b8f8e]{width:100%}.form-group[data-v-ae1b8f8e]{margin-bottom:20px}.form-group label[data-v-ae1b8f8e]{color:#374151;margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.input-wrapper[data-v-ae1b8f8e]{align-items:center;display:flex;position:relative}.icon[data-v-ae1b8f8e]{color:#9ca3af;z-index:1;font-size:1.2rem;position:absolute;left:12px}.input-wrapper input[data-v-ae1b8f8e]{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:12px 12px 12px 40px;font-size:1rem;transition:all .3s}.input-wrapper input[data-v-ae1b8f8e]:focus{background:#fff;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.input-wrapper input[data-v-ae1b8f8e]:disabled{cursor:not-allowed;background:#f3f4f6}.password-toggle[data-v-ae1b8f8e]{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0;font-size:1.2rem;position:absolute;right:12px}.password-toggle[data-v-ae1b8f8e]:hover{color:#667eea}.password-toggle[data-v-ae1b8f8e]:disabled{cursor:not-allowed;opacity:.5}.captcha-wrapper[data-v-ae1b8f8e]{align-items:flex-end;gap:10px;display:flex}.captcha-wrapper .input-wrapper[data-v-ae1b8f8e]{flex:1}.captcha-image[data-v-ae1b8f8e]{cursor:pointer;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:120px;height:44px;transition:all .3s;display:flex}.captcha-image[data-v-ae1b8f8e]:hover{background:#fff;border-color:#667eea}.captcha-image img[data-v-ae1b8f8e]{object-fit:cover;border-radius:6px;width:100%;height:100%}.captcha-placeholder[data-v-ae1b8f8e]{color:#9ca3af;text-align:center;font-size:.8rem}.form-options[data-v-ae1b8f8e]{margin-bottom:20px}.checkbox-wrapper[data-v-ae1b8f8e]{cursor:pointer;color:#6b7280;align-items:center;font-size:.9rem;display:flex}.checkbox-wrapper input[type=checkbox][data-v-ae1b8f8e]{display:none}.checkmark[data-v-ae1b8f8e]{border:2px solid #d1d5db;border-radius:4px;width:18px;height:18px;margin-right:8px;transition:all .3s;position:relative}.checkbox-wrapper input[type=checkbox]:checked+.checkmark[data-v-ae1b8f8e]{background:#667eea;border-color:#667eea}.checkbox-wrapper input[type=checkbox]:checked+.checkmark[data-v-ae1b8f8e]:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.error-message[data-v-ae1b8f8e]{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;margin-bottom:20px;padding:12px;font-size:.9rem;display:flex}.error-icon[data-v-ae1b8f8e]{margin-right:8px;font-size:1rem}.login-button[data-v-ae1b8f8e]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.login-button[data-v-ae1b8f8e]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.login-button[data-v-ae1b8f8e]:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner[data-v-ae1b8f8e]{border:2px solid #0000;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin-ae1b8f8e}@keyframes spin-ae1b8f8e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-footer[data-v-ae1b8f8e]{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.forgot-link[data-v-ae1b8f8e],.back-link[data-v-ae1b8f8e]{color:#667eea;font-size:.9rem;text-decoration:none;transition:color .3s}.forgot-link[data-v-ae1b8f8e]:hover,.back-link[data-v-ae1b8f8e]:hover{color:#5a67d8;text-decoration:underline}.success-overlay[data-v-ae1b8f8e]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.success-content[data-v-ae1b8f8e]{text-align:center;background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 40px #0003}.success-icon[data-v-ae1b8f8e]{margin-bottom:20px;font-size:4rem}.success-content h3[data-v-ae1b8f8e]{color:#059669;margin-bottom:10px;font-size:1.5rem}.success-content p[data-v-ae1b8f8e]{color:#6b7280}@media (max-width:768px){.login-container[data-v-ae1b8f8e]{flex-direction:column;max-width:100%;margin:10px}.login-decoration[data-v-ae1b8f8e]{min-height:200px;padding:30px 20px}.login-form-container[data-v-ae1b8f8e]{padding:30px 20px}.logo h1[data-v-ae1b8f8e]{font-size:2rem}.decoration-text h2[data-v-ae1b8f8e]{font-size:1.5rem}.features[data-v-ae1b8f8e]{text-align:center}}@media (max-width:480px){.admin-login-view[data-v-ae1b8f8e]{padding:10px}.login-container[data-v-ae1b8f8e]{border-radius:12px}.login-decoration[data-v-ae1b8f8e],.login-form-container[data-v-ae1b8f8e]{padding:20px}.captcha-wrapper[data-v-ae1b8f8e]{flex-direction:column;gap:10px}.captcha-image[data-v-ae1b8f8e]{width:100%;height:50px}}
