:root{--wine-50:#fdf2f4;--wine-100:#fce7ea;--wine-200:#f9d0d8;--wine-300:#f4a8b8;--wine-400:#ec7693;--wine-500:#df4a70;--wine-600:#cc2d5a;--wine-700:#ab1e48;--wine-800:#8f1c3f;--wine-900:#7a1b3a;--wine-950:#440a1c;--gray-50:#f8f8f8;--gray-100:#f0f0f0;--gray-200:#e4e4e4;--gray-300:#d1d1d1;--gray-400:#a0a0a0;--gray-500:#737373;--gray-600:#525252;--gray-700:#3a3a3a;--gray-800:#262626;--gray-900:#1a1a1a;--gray-950:#0d0d0d;--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#161616;--bg-card-hover:#1c1c1c;--bg-elevated:#1e1e1e;--bg-input:#1a1a1a;--bg-glass:#161616bf;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-muted:#666;--text-inverse:#0a0a0a;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff26;--accent:#ab1e48;--accent-hover:#cc2d5a;--accent-soft:#ab1e4826;--accent-glow:#ab1e484d;--success:#22c55e;--warning:#eab308;--error:#ef4444;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-default:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fadeIn{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes fadeInScale{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes slideInRight{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes pulse-wine{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 8px #0000}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.navbar{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);background:#0a0a0acc;position:sticky;top:0}.navbar__inner{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.navbar__brand{color:var(--text-primary);transition:color var(--transition-fast);align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:flex}.navbar__brand svg{color:var(--accent)}.navbar__brand:hover{color:var(--wine-400)}.navbar__toggle{color:var(--text-secondary);padding:6px;display:none}.navbar__links{align-items:center;gap:6px;display:flex}.navbar__link{color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.875rem;font-weight:500;display:flex}.navbar__link:hover{color:var(--text-primary);background:var(--border-subtle)}.navbar__divider{background:var(--border-default);width:1px;height:24px;margin:0 8px}.navbar__user{align-items:center;gap:8px;padding:0 8px;display:flex}.navbar__avatar{border-radius:var(--radius-full);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);justify-content:center;align-items:center;display:flex}.navbar__username{color:var(--text-primary);font-size:.85rem;font-weight:500}.navbar__role{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--wine-400);padding:2px 8px;font-size:.7rem;font-weight:600}.navbar__logout{color:var(--text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:500;display:flex}.navbar__logout:hover{color:var(--error);background:#ef44441a}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.btn--sm{padding:8px 18px;font-size:.85rem}.btn--accent:hover{background:var(--accent-hover);box-shadow:0 4px 20px var(--accent-glow)}@media (width<=768px){.navbar__toggle{display:block}.navbar__links{background:var(--bg-primary);border-top:1px solid var(--border-subtle);transition:transform var(--transition-default);flex-direction:column;align-items:stretch;gap:4px;padding:16px;position:fixed;inset:64px 0 0;transform:translate(100%)}.navbar__links--open{transform:translate(0)}.navbar__divider{width:100%;height:1px;margin:8px 0}.navbar__user{padding:12px 14px}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:40px 24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:420px;padding:40px 32px}.auth-card__header{text-align:center;margin-bottom:32px}.auth-card__icon{border-radius:var(--radius-lg);background:var(--accent-soft);width:56px;height:56px;color:var(--accent);justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.auth-card__title{color:var(--text-primary);margin-bottom:6px;font-size:1.5rem;font-weight:700}.auth-card__subtitle{color:var(--text-secondary);font-size:.9rem}.auth-error{border-radius:var(--radius-md);color:#f87171;background:#ef44441a;border:1px solid #ef444433;margin-bottom:20px;padding:12px 16px;font-size:.85rem}.auth-form{flex-direction:column;gap:20px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.form-input{width:100%;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;padding:12px 16px;font-size:.95rem}.form-input::placeholder{color:var(--text-muted)}.form-input-wrapper{position:relative}.form-input-wrapper .form-input{padding-right:44px}.form-input-toggle{color:var(--text-muted);transition:color var(--transition-fast);padding:4px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.form-input-toggle:hover{color:var(--text-primary)}.auth-submit{color:#fff;background:var(--accent);border-radius:var(--radius-md);width:100%;transition:all var(--transition-fast);border:none;margin-top:4px;padding:14px;font-size:.95rem;font-weight:600}.auth-submit:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 24px var(--accent-glow)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-card__footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:.875rem}.auth-card__footer a{color:var(--wine-400);transition:color var(--transition-fast);font-weight:600}.auth-card__footer a:hover{color:var(--wine-300)}.courses-page{padding:40px 24px 60px}.courses-page__header{margin-bottom:40px}.courses-page__header h1{align-items:center;gap:12px;margin-bottom:8px;font-size:1.75rem;font-weight:700;display:flex}.courses-page__header h1 svg{color:var(--accent)}.courses-page__header p{color:var(--text-secondary);font-size:1rem}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.course-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);transition:all var(--transition-default);flex-direction:column;display:flex;overflow:hidden}.course-card:hover{border-color:var(--border-strong);box-shadow:0 12px 40px #00000080}.course-card__banner{background:linear-gradient(135deg, var(--wine-950), var(--gray-900));height:120px;transition:height var(--transition-default);justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.course-card:hover .course-card__banner{height:70px}.course-card__banner:after{content:"";background:radial-gradient(circle at 70% 30%, var(--accent-glow), transparent 60%);position:absolute;inset:0}.course-card__banner-text{color:#ffffff1a;z-index:1;transition:font-size var(--transition-default);font-size:3rem;font-weight:800}.course-card:hover .course-card__banner-text{font-size:2rem}.course-card__body{padding:20px 24px 16px}.course-card__title{color:var(--text-primary);margin-bottom:8px;font-size:1.1rem;font-weight:700;line-height:1.3}.course-card__desc{color:var(--text-secondary);-webkit-line-clamp:2;max-height:3em;transition:max-height var(--transition-slow) ease-in-out;-webkit-box-orient:vertical;margin-bottom:16px;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.course-card:hover .course-card__desc{-webkit-line-clamp:unset;max-height:250px}.course-card__meta{align-items:center;gap:16px;display:flex}.course-card__price,.course-card__date{align-items:center;gap:4px;font-size:.8rem;font-weight:500;display:flex}.course-card__price{color:var(--wine-400)}.course-card__date{color:var(--text-muted)}.course-card__actions{gap:8px;padding:0 24px 20px;display:flex}.course-card__btn{border-radius:var(--radius-md);transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.85rem;font-weight:600;display:flex}.course-card__btn--buy{background:var(--accent);color:#fff}.course-card__btn--buy:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow)}.course-card__btn--buy:disabled{opacity:.6;cursor:not-allowed}.course-card__btn--watch{background:var(--border-subtle);color:var(--text-primary)}.course-card__btn--watch:hover{background:var(--border-default)}.page-loader{min-height:calc(100vh - 64px);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.spinner{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:80px 24px;display:flex}.empty-state h2{color:var(--text-secondary);font-size:1.2rem}.toast{border-radius:var(--radius-md);margin-bottom:24px;padding:12px 20px;font-size:.9rem;font-weight:500;animation:.3s ease-out fadeIn}@media (width<=768px){.courses-grid{grid-template-columns:1fr}}.course-card__purchased-badge{text-transform:uppercase;letter-spacing:.04em;color:#4ade80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);z-index:2;background:#22c55e26;border:1px solid #22c55e40;align-items:center;gap:4px;padding:4px 10px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:10px;right:10px}.course-card__btn--purchased{color:#4ade80;cursor:default;background:#22c55e1f;border:1px solid #22c55e33}.course-card__btn--purchased:disabled{opacity:1}.course-card__btn--locked{background:var(--gray-900);color:var(--text-muted);cursor:not-allowed;opacity:.6}.course-card__btn--locked:hover{background:var(--gray-900)}.course-detail-layout{padding:32px 24px 60px}.course-detail__back{color:var(--text-secondary);transition:color var(--transition-fast);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:8px 0;font-size:.875rem;font-weight:500;display:inline-flex}.course-detail__back:hover{color:var(--text-primary)}.course-grid{grid-template-columns:1fr;align-items:start;gap:28px;display:grid}@media (width>=1024px){.course-grid{grid-template-columns:320px 1fr}}.syllabus-sidebar{width:100%}.sidebar-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-direction:column;gap:20px;padding:20px;display:flex}.sidebar-title{color:var(--text-primary);align-items:center;gap:10px;margin:0 0 4px;font-size:1.1rem;font-weight:600;display:flex}.sidebar-title svg{color:var(--accent)}.syllabus-units{flex-direction:column;gap:12px;display:flex}.unit-group{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden}.unit-header{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);transition:background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.unit-header:hover{background:#ffffff08}.unit-header-title{font-size:.9rem;font-weight:600}.unit-items{border-top:1px solid var(--border-subtle);background:var(--bg-card);flex-direction:column;display:flex}.lesson-item,.exam-item{border:none;border-bottom:1px solid var(--border-subtle);text-align:left;cursor:pointer;width:100%;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.85rem;display:flex}.lesson-item:last-child,.exam-item:last-child{border-bottom:none}.lesson-item-title,.exam-item-title{align-items:center;gap:8px;display:flex}.lesson-icon{color:var(--text-muted)}.exam-icon{color:var(--wine-400)}.lesson-item:hover:not(:disabled),.exam-item:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.lesson-item--active,.exam-item--active{font-weight:500;background:var(--accent-soft)!important;color:var(--accent)!important}.lesson-item--active .lesson-icon,.exam-item--active .exam-icon{color:var(--accent)}.lesson-item--locked,.exam-item--locked{cursor:not-allowed;opacity:.6}.lock-icon{color:var(--text-muted)}.no-content-msg{color:var(--text-muted);text-align:center;padding:12px 16px;font-size:.8rem}.syllabus-resources{border-top:1px solid var(--border-subtle);padding-top:16px}.resources-title{margin-bottom:10px;font-size:.9rem;font-weight:600}.resources-list{flex-direction:column;gap:8px;display:flex}.resource-download-link{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:8px;padding:10px 12px;font-size:.8rem;text-decoration:none;display:flex}.resource-download-link:hover{color:var(--text-primary);border-color:var(--accent);background:var(--accent-soft)}.course-main-content{flex-direction:column;gap:24px;display:flex}.content-detail-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-direction:column;gap:20px;padding:24px;display:flex}.content-detail-panel h2{margin:0;font-size:1.5rem;font-weight:700}.lesson-text-content{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);margin-top:8px;padding:16px}.lesson-text-content h3{margin-bottom:8px;font-size:1rem}.lesson-text-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.lesson-chat-divider{border-top:1px solid var(--border-subtle);margin:10px 0}.welcome-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-direction:column;gap:20px;padding:36px 28px;display:flex}.welcome-card h1{margin:0;font-size:1.8rem;font-weight:800;line-height:1.25}.course-desc{color:var(--text-secondary);font-size:1rem;line-height:1.6}.start-instructions{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);align-items:center;gap:16px;padding:20px;display:flex}.start-instructions svg{color:var(--accent);flex-shrink:0}.start-instructions h3{margin-bottom:4px;font-size:1rem}.start-instructions p{color:var(--text-muted);font-size:.85rem}.welcome-card--locked{text-align:center;background:linear-gradient(135deg, var(--gray-950), var(--bg-card));align-items:center;padding:60px 40px}.lock-hero-icon{color:var(--wine-500);margin-bottom:8px}.price-tag-box{flex-direction:column;gap:4px;margin:16px 0;display:flex}.price-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.85rem}.price-value{color:var(--text-primary);font-size:2rem;font-weight:800}.course-detail__video{border-radius:var(--radius-xl);background:var(--gray-950);border:1px solid var(--border-subtle);min-height:300px;position:relative;overflow:hidden}.video-placeholder{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:300px;padding:60px 24px;display:flex}.video-wrapper{width:100%;padding-top:56.25%;position:relative}.video-iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.video-native{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.video-native a{color:var(--wine-400);word-break:break-all;text-decoration:underline}.course-detail__chat{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-direction:column;max-height:450px;display:flex}.chat__header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px;display:flex}.chat__header svg{color:var(--accent)}.chat__header h2{flex:1;font-size:.95rem;font-weight:600}.chat__badge{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--wine-400);padding:3px 8px;font-size:.65rem;font-weight:700}.chat__messages{flex-direction:column;flex:1;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.chat__loading,.chat__empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:40px 0;font-size:.85rem;display:flex}.chat__bubble{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);border-top-left-radius:var(--radius-sm);max-width:80%;padding:10px 14px;animation:.2s ease-out fadeIn}.chat__bubble--me{background:var(--accent-soft);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-sm);border-color:#ab1e4833;align-self:flex-end}.chat__bubble-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.chat__sender{color:var(--text-primary);font-size:.75rem;font-weight:700}.chat__sender-role{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);padding:1px 6px;font-size:.6rem;font-weight:700}.chat__sender-role--admin{color:#f87171;background:#ef444426}.chat__sender-role--editor{color:#facc15;background:#eab30826}.chat__sender-role--user{color:#4ade80;background:#22c55e26}.chat__text{color:var(--text-primary);font-size:.85rem;line-height:1.5}.chat__time{color:var(--text-muted);text-align:right;margin-top:4px;font-size:.65rem;display:block}.chat__form{border-top:1px solid var(--border-subtle);flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.chat__input{color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-full);transition:border-color var(--transition-fast);outline:none;flex:1;padding:10px 16px;font-size:.85rem}.chat__input::placeholder{color:var(--text-muted)}.chat__input:focus{border-color:var(--accent)}.chat__send{border-radius:var(--radius-full);background:var(--accent);color:#fff;width:38px;height:38px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat__send:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px var(--accent-glow)}.chat__send:disabled{opacity:.4;cursor:not-allowed}.course-detail__buy-btn{color:#fff;background:var(--accent);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:600;display:inline-flex}.course-detail__buy-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 20px var(--accent-glow);transform:translateY(-1px)}.course-detail__buy-btn:disabled{opacity:.6;cursor:not-allowed}.exam-view-card{flex-direction:column;gap:24px;display:flex}.exam-header-details{border-bottom:1px solid var(--border-subtle);align-items:center;gap:16px;padding-bottom:16px;display:flex}.exam-main-icon{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-lg);width:44px;height:44px;padding:8px}.exam-header-details h3{margin:0;font-size:1.3rem;font-weight:700}.exam-header-details p{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.exam-form{flex-direction:column;gap:24px;display:flex}.exam-question-item{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.question-text{color:var(--text-primary);margin:0 0 16px;font-size:.95rem}.options-list{flex-direction:column;gap:10px;display:flex}.option-label{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:12px;padding:12px 16px;font-size:.85rem;display:flex}.option-label input{accent-color:var(--accent);margin:0}.option-label:hover{border-color:var(--text-muted);color:var(--text-primary)}.option-label--selected{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--accent)!important}.exam-submit-btn{color:#fff;background:var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;align-self:flex-start;padding:12px 24px;font-size:.95rem;font-weight:600}.exam-submit-btn:hover{background:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow)}.exam-result-box{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:36px 24px;display:flex}.result-header{flex-direction:column;align-items:center;gap:12px;display:flex}.result-header .success-icon{color:#22c55e}.result-header .error-icon{color:var(--accent)}.result-header h4{margin:0;font-size:1.2rem;font-weight:700}.score-badge{color:var(--text-primary);align-items:baseline;gap:4px;font-size:2.5rem;font-weight:800;display:flex}.score-total{color:var(--text-muted);font-size:1.5rem}.score-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-left:8px;font-size:.85rem;font-weight:500}.percentage-bar{background:var(--border-subtle);border-radius:var(--radius-full);width:200px;height:8px;margin:8px 0;overflow:hidden}.percentage-fill{border-radius:var(--radius-full);height:100%;transition:width .5s ease-out}.score-percent{color:var(--text-secondary);margin:0;font-size:.95rem}.score-feedback{color:var(--text-secondary);max-width:400px;font-size:.9rem;line-height:1.5}.exam-reset-btn{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-top:10px;padding:10px 20px;font-size:.85rem;font-weight:600}.exam-reset-btn:hover{background:var(--bg-elevated);border-color:var(--text-muted)}.exam-empty{color:var(--text-muted);border:1px dashed var(--border-default);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 24px;display:flex}.lesson-actions-bar{border-top:1px solid var(--border-subtle);justify-content:flex-end;margin-top:24px;padding:16px 0;display:flex}.complete-lesson-btn{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;display:inline-flex}.complete-lesson-btn svg{color:var(--text-muted);transition:color var(--transition-fast)}.complete-lesson-btn:hover{background:var(--bg-elevated);border-color:var(--text-muted);color:var(--text-primary)}.complete-lesson-btn--active{color:#22c55e;background:#22c55e1a;border-color:#22c55e4d}.complete-lesson-btn--active svg{color:#22c55e;fill:#22c55e1a}.complete-lesson-btn--active:hover{color:#16a34a;background:#22c55e26;border-color:#22c55e}.lesson-completed-icon{color:#22c55e;flex-shrink:0}.repository-categories{flex-direction:column;gap:16px;margin-top:12px;display:flex}.repo-category-group{flex-direction:column;gap:6px;display:flex}.repo-category-header{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:2px;padding-left:2px;font-size:.72rem;font-weight:700}.resource-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.download-hover-icon{opacity:.5;transition:opacity var(--transition-fast)}.resource-download-link:hover .download-hover-icon{opacity:1;color:var(--accent)}.categories-page{padding:40px 24px 60px}.categories-page__header{margin-bottom:40px}.categories-page__header h1{align-items:center;gap:12px;margin-bottom:8px;font-size:1.75rem;font-weight:700;display:flex}.categories-page__header h1 svg{color:var(--accent)}.categories-page__header p{color:var(--text-secondary);font-size:1rem}.categories-list{flex-direction:column;gap:8px;max-width:600px;display:flex}.category-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:left;width:100%;color:var(--text-primary);transition:all var(--transition-fast);align-items:center;gap:16px;padding:16px 20px;display:flex}.category-item:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translate(4px)}.category-item__icon{border-radius:var(--radius-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.category-item__info{flex:1}.category-item__info h3{margin-bottom:2px;font-size:1rem;font-weight:600}.category-item__info p{color:var(--text-muted);font-size:.8rem}.category-item__arrow{color:var(--text-muted);transition:transform var(--transition-fast)}.category-item:hover .category-item__arrow{color:var(--accent);transform:translate(4px)}.admin-page{flex-direction:column;gap:24px;padding:40px 24px 60px;display:flex}.admin-page__header{margin-bottom:20px}.admin-page__header h1{letter-spacing:-.02em;align-items:center;gap:12px;margin-bottom:6px;font-size:2rem;font-weight:800;display:flex}.admin-page__header h1 svg{color:var(--accent)}.admin-page__header p{color:var(--text-secondary);font-size:.95rem}.admin-tabs{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;margin-bottom:24px;padding-bottom:8px;display:flex}.tab-btn{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;display:flex}.tab-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.tab-btn--active{box-shadow:0 0 0 1px #ab1e4826;background:var(--accent-soft)!important;color:var(--accent)!important}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.admin-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:24px;position:relative}.admin-section__header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;margin-bottom:20px;padding-bottom:16px;display:flex}.admin-section__header svg{color:var(--accent)}.admin-section__header h2,.admin-section__header h3{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700}.admin-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.8rem;font-weight:600}.form-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);outline:none;padding:10px 16px;font-size:.88rem}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.form-checkbox-group{align-items:center;margin-top:4px;display:flex}.checkbox-label{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:.85rem;display:inline-flex}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.admin-btn{color:#fff;background:var(--accent);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:.9rem;font-weight:600;display:inline-flex}.admin-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-secondary{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary)}.admin-btn-secondary:hover{background:var(--bg-card);border-color:var(--text-muted)}.toast{border-radius:var(--radius-md);align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:.85rem;font-weight:500;display:flex}.toast--success{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e33}.toast--error{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.metrics-group-title{color:var(--text-primary);border-left:3px solid var(--accent);margin:28px 0 16px;padding-left:10px;font-size:1.1rem;font-weight:700}.metrics-cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.metric-panel-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-default);flex-direction:column;gap:12px;padding:24px;display:flex}.metric-panel-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.metric-panel-card__header{justify-content:space-between;align-items:center;display:flex}.metric-panel-card__title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.8rem;font-weight:600}.metric-panel-card__value{color:var(--text-primary);font-size:1.75rem;font-weight:800;line-height:1.2}.metric-panel-card__value.text-md-title{color:var(--text-primary);font-size:1.15rem;font-weight:700}.metrics-charts-grid{grid-template-columns:1fr;gap:24px;margin-top:32px;display:grid}@media (width>=1024px){.metrics-charts-grid{grid-template-columns:1fr 1fr}.lg\:col-span-2{grid-column:span 2}}.chart-wrapper-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-direction:column;gap:16px;padding:24px;display:flex}.chart-wrapper-card h4{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.table-responsive{border-radius:var(--radius-lg);width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.admin-table th{background:var(--bg-secondary);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.05em;padding:16px 20px;font-size:.75rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:16px 20px}.admin-table tr{transition:background var(--transition-fast)}.admin-table tbody tr:hover{background:#ffffff05}.student-row--blocked{background:#ef444405}.student-row--blocked td{color:var(--text-secondary)}.student-profile-info{align-items:center;gap:12px;display:flex}.student-avatar-circle{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--wine-700), var(--accent));color:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.student-progress-cell{align-items:center;gap:10px;display:flex}.progress-bar-small-bg{background:var(--bg-secondary);border-radius:var(--radius-full);width:80px;height:5px;overflow:hidden}.progress-bar-small-fill{background:var(--accent);border-radius:var(--radius-full);height:100%}.table-actions{gap:8px;display:flex}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:3px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.badge--success{color:#4ade80;background:#22c55e26}.badge--error{color:#f87171;background:#ef444426}.badge--warning{color:#facc15;background:#eab30826}.badge--secondary{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary)}.text-xxs{padding:1px 6px;font-size:.65rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);flex-direction:column;width:100%;max-width:650px;max-height:85vh;display:flex;overflow-y:auto;box-shadow:0 15px 50px #000c}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{margin:0;font-size:1.25rem;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:4px;display:flex}.modal-close:hover{color:var(--text-primary);background:var(--bg-elevated)}.modal-body{flex-direction:column;gap:24px;padding:24px;display:flex}.student-modal-profile{align-items:center;gap:16px;display:flex}.student-avatar-large{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--wine-700), var(--accent));color:#fff;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.25rem;font-weight:800;display:flex}.student-modal-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.modal-stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;flex-direction:column;gap:4px;padding:14px;display:flex}.modal-stat-label{text-transform:uppercase;color:var(--text-secondary);font-size:.68rem;font-weight:600}.modal-stat-value{color:var(--text-primary);font-size:1.35rem;font-weight:800}.student-modal-courses h5{color:var(--text-primary);margin-bottom:12px;font-size:.9rem;font-weight:700}.modal-courses-list{flex-direction:column;gap:12px;display:flex}.modal-course-row{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;gap:20px;padding:16px;display:flex}.modal-course-info{flex-direction:column;gap:4px;max-width:60%;display:flex}.modal-course-info h6{margin:0;font-size:.9rem;font-weight:700}.modal-course-progress{flex-direction:column;gap:6px;min-width:140px;display:flex}.progress-row-meta{color:var(--text-secondary);justify-content:space-between;font-size:.72rem;display:flex}.modal-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding:16px 24px;display:flex}.btn--sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:.78rem}.btn--secondary{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary)}.btn--secondary:hover{background:var(--bg-card);border-color:var(--text-muted)}.btn--success{color:#fff;background:#22c55e}.btn--success:hover{background:#16a34a}.btn--accent{background:var(--accent);color:#fff}.btn--accent:hover{background:var(--accent-hover)}.course-select-box select{margin-top:8px}.structure-loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 0;display:flex}.structure-tab-layout{flex-direction:column;display:flex}@media (width>=1024px){.structure-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:24px;display:grid}}.structure-preview,.structure-controls{width:100%}.structure-preview-units{flex-direction:column;gap:16px;display:flex}.preview-unit-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.preview-unit-header{border-bottom:1px solid var(--border-subtle);background:#ffffff05;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.preview-unit-header strong{color:var(--text-primary);font-size:.92rem;font-weight:700}.preview-unit-contents{flex-direction:column;display:flex}.preview-item{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:12px 18px;font-size:.85rem;display:flex}.preview-item:last-child{border-bottom:none}.preview-item-info{align-items:center;gap:10px;display:flex}.lesson-title-meta{flex-direction:column;gap:2px;display:flex}.lesson-item--hidden{opacity:.5;background:#00000026}.preview-item-actions{align-items:center;gap:6px;display:flex}.reorder-arrow,.visibility-toggle-btn,.schedule-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:5px;display:flex}.reorder-arrow:hover:not(:disabled),.visibility-toggle-btn:hover,.schedule-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--text-muted)}.reorder-arrow:disabled{opacity:.3;cursor:not-allowed}.schedule-inline-editor{background:var(--bg-card);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:8px;padding:12px 18px;font-size:.8rem;display:flex}.schedule-input-row{align-items:center;gap:8px;display:flex}.schedule-input-row input[type=datetime-local]{background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-sm);outline:none;padding:6px 10px;font-size:.8rem}.structure-preview-resources{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:20px}.structure-preview-resources h3{margin-bottom:12px;font-size:.95rem;font-weight:700}.preview-resources-list{flex-direction:column;gap:8px;display:flex}.preview-resource-item{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:10px 14px;font-size:.82rem;display:flex}.delete-icon-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:5px;display:flex}.delete-icon-btn:hover{color:#ef4444;background:#ef44441a}.question-creator-box{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:16px;padding:16px}.question-creator-box h4{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-top:0;margin-bottom:12px;font-size:.85rem;font-weight:700}.options-creator-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.option-creator-item{align-items:center;gap:10px;display:flex}.option-creator-item input[type=radio]{accent-color:var(--accent);margin:0}.form-input-sm{padding:8px 12px;font-size:.8rem}.added-questions-preview{border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:#ffffff03;margin-bottom:16px;padding:16px}.added-questions-preview h4{margin-top:0;margin-bottom:8px;font-size:.85rem}.added-questions-preview ul{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.added-questions-preview li{color:var(--text-secondary);font-size:.8rem}.correct-opt-indicator{color:#22c55e;margin-left:6px;font-weight:500}.resource-form-or{text-align:center;color:var(--text-muted);margin:4px 0;font-size:.8rem;font-weight:500}.mb-6{margin-bottom:24px}.mt-2{margin-top:8px}.w-full{width:100%}.dashboard-container{flex-direction:column;gap:40px;padding-top:40px;padding-bottom:60px;display:flex}.dashboard-header{border-bottom:1px solid var(--border-subtle);padding-bottom:24px}.dashboard-header h1{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px;font-size:2.2rem;font-weight:800}.dashboard-stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-default);align-items:center;gap:15px;padding:8px;display:flex}.stat-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 8px 30px #0006}.stat-card__icon-box{border-radius:var(--radius-md);background:var(--bg-secondary);width:48px;height:48px;color:var(--text-primary);border:1px solid var(--border-subtle);justify-content:center;align-items:center;display:flex}.stat-card__icon-box.text-success{color:#22c55e;background:#22c55e1a;border-color:#22c55e33}.stat-card__icon-box.text-accent{background:var(--accent-soft);color:var(--wine-300);border-color:var(--accent-glow)}.stat-card__content{flex-direction:column;gap:4px;display:flex}.stat-card__label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.8rem;font-weight:600}.stat-card__value{color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1}.resume-section{flex-direction:column;gap:16px;display:flex}.section-title{color:var(--text-primary);letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.resume-card{background:linear-gradient(135deg, var(--wine-950), #160309);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-default);border:1px solid #ab1e4840;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.resume-card:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 100% 0,#ab1e4833,#0000 60%);position:absolute;inset:0}.resume-card:hover{border-color:var(--accent);box-shadow:0 10px 40px var(--accent-glow);transform:translateY(-3px)}.resume-card__body{z-index:2;flex-direction:column;gap:8px;max-width:70%;display:flex;position:relative}.resume-card__badge{color:var(--wine-200);border-radius:var(--radius-full);background:#ab1e484d;border:1px solid #ab1e4833;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.resume-card__lesson-title{color:#fff;margin:0;font-size:1.4rem;font-weight:700;line-height:1.3}.resume-card__course-title{color:var(--wine-300);margin:0;font-size:.85rem}.resume-card__action-btn{z-index:2;color:var(--wine-950);border-radius:var(--radius-md);transition:all var(--transition-fast);background:#fff;align-items:center;gap:8px;padding:14px 24px;font-size:.9rem;font-weight:700;display:inline-flex;position:relative}.resume-card:hover .resume-card__action-btn{background:var(--wine-100);transform:scale(1.02);box-shadow:0 4px 15px #fff3}.my-courses-section{flex-direction:column;gap:20px;display:flex}.courses-progress-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;display:grid}.course-progress-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);transition:all var(--transition-default);flex-direction:column;gap:20px;padding:28px;display:flex}.course-progress-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 8px 30px #00000080}.course-progress-card__header{flex-direction:column;gap:8px;display:flex}.course-title-text{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.3}.course-description-text{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.course-progress-card__meta{color:var(--text-secondary);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:8px;padding:12px 0;font-size:.78rem;display:flex}.meta-item{align-items:center;gap:8px;display:flex}.meta-item svg{color:var(--text-muted)}.course-progress-card__progress-section{flex-direction:column;gap:8px;display:flex}.progress-label-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;display:flex}.progress-percentage{color:var(--text-primary);font-size:.95rem;font-weight:700}.progress-bar-bg{background:var(--bg-secondary);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:var(--accent);border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-bar-fill--completed{background:#22c55e}.progress-stats-row{font-size:.75rem}.course-progress-card__actions{margin-top:auto}.btn-success-soft{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33}.btn-success-soft:hover{background:#22c55e2e;border-color:#22c55e}.w-full{justify-content:center;align-items:center;width:100%;display:flex}.empty-dashboard-card{background:var(--bg-card);border:1px dashed var(--border-default);border-radius:var(--radius-xl);flex-direction:column;align-items:center;gap:16px;max-width:500px;margin:0 auto;padding:48px 32px;display:flex}.empty-icon{color:var(--text-muted)}.empty-dashboard-card h3{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:700}.empty-dashboard-card p{margin-bottom:8px;font-size:.85rem;line-height:1.5}@media (width<=768px){.dashboard-container{gap:30px;padding-top:24px}.dashboard-header h1{font-size:1.8rem}.resume-card{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}.resume-card__body{max-width:100%}.resume-card__action-btn{justify-content:center;width:100%}}
