@import url("https://fonts.googleapis.com/css2?family=PT+Serif:wght@400;700&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Manrope,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.static{position:static}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.hidden{display:none}.h-48{height:12rem}.w-48{width:12rem}.w-full{width:100%}.max-w-6xl{max-width:72rem}.max-w-\[420px\]{max-width:420px}.max-w-sm{max-width:24rem}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:14px}.border{border-width:1px}.border-navyLine{--tw-border-opacity:1;border-color:rgb(44 44 51/var(--tw-border-opacity,1))}.bg-navy2{--tw-bg-opacity:1;background-color:rgb(30 30 35/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(46 146 211/var(--tw-bg-opacity,1))}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.tracking-widest{letter-spacing:.1em}.text-muted{--tw-text-opacity:1;color:rgb(142 143 153/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(46 146 211/var(--tw-text-opacity,1))}.text-primarySoft{--tw-text-opacity:1;color:rgb(99 180 230/var(--tw-text-opacity,1))}.text-rose{--tw-text-opacity:1;color:rgb(226 87 76/var(--tw-text-opacity,1))}.text-sage{--tw-text-opacity:1;color:rgb(76 175 125/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--ink:#0B0B0D;--navy:#161619;--navy-2:#1E1E23;--navy-line:#2C2C33;--primary:#2E92D3;--primary-soft:#63B4E6;--sage:#4CAF7D;--rose:#E2574C;--paper:#F4F0E6;--paper-dim:#A6A7B0;--ink-text:#ECEBEA;--muted:#8E8F99;--star-gold:#F0B90B;--radius:14px}body{background:var(--ink);color:var(--ink-text);font-family:Manrope,sans-serif}h1,h2,h3{font-family:"PT Serif",serif}.mono{font-family:JetBrains Mono,monospace}:root{--gold:var(--primary);--gold-soft:var(--primary-soft);--card-bg:var(--navy)}.dash-shell{display:flex;align-items:flex-start;gap:0;max-width:1180px;margin:0 auto}.dash-sidebar{width:270px;flex-shrink:0;background:var(--navy);border-radius:16px 0 0 16px;padding:26px 18px;position:sticky;top:20px;border:1px solid var(--navy-line);border-right:none}.dash-sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 10px 16px;gap:10px}.dash-sidebar-title{font-family:Manrope,sans-serif;font-weight:800;font-size:16px;color:var(--paper)}.dash-sidebar-email{font-size:12px;color:var(--muted);padding:0 10px 14px;word-break:break-word}.dash-role-badge{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:rgba(46,146,211,.16);color:var(--primary-soft);border:1px solid rgba(46,146,211,.35);border-radius:999px;padding:3px 10px;margin:0 10px 16px}.dash-nav{display:flex;flex-direction:column;gap:4px}.dash-nav-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--ink-text);font-size:14.5px;font-weight:600;padding:12px 10px;border-radius:9px;cursor:pointer;text-decoration:none}.dash-nav-item:hover{background:rgba(255,255,255,.05)}.dash-nav-item.active{background:var(--gold);color:var(--ink)}.dash-nav-logout{margin-top:14px;color:var(--rose);border-top:1px solid var(--navy-line);padding-top:16px;border-radius:0;width:100%}.dash-nav-logout:hover{background:none;color:#fff}.dash-nav-logout:disabled{opacity:.6;cursor:default}.dash-search{display:flex;align-items:center;gap:8px;background:var(--ink);border:1px solid var(--navy-line);border-radius:9px;padding:9px 12px;margin-bottom:16px}.dash-search svg{color:var(--muted);flex-shrink:0}.dash-search input{border:none;outline:none;background:none;color:var(--ink-text);font-size:13px;width:100%}.dash-search input::-moz-placeholder{color:var(--muted)}.dash-search input::placeholder{color:var(--muted)}.dash-course-menu{display:flex;flex-direction:column;gap:3px;margin:2px 0 10px;padding-left:6px}.menu-no-results{font-size:12px;color:var(--muted);padding:8px 10px}.dash-course-menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--muted);font-size:13px;font-weight:500;padding:9px 10px;border-radius:8px;cursor:pointer;text-decoration:none}.dash-course-menu-item:hover{background:rgba(255,255,255,.05);color:var(--ink-text)}.dash-course-menu-item.active{background:rgba(212,175,55,.14);color:var(--gold);font-weight:700}.dash-course-menu-item img{width:32px;height:24px;border-radius:4px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.dash-course-menu-item .menu-item-text{flex:1;min-width:0}.dash-course-menu-item .menu-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.dash-course-menu-item.expired{opacity:.6}.dash-course-menu-item.expired img{filter:grayscale(1)}.menu-item-expired-tag{font-size:10px;color:var(--rose);margin-top:4px}.learn-player{position:relative;background:var(--navy-2);border-radius:16px;width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:var(--gold-soft);font-size:16px;margin-bottom:26px;flex-direction:column;gap:12px;overflow:hidden}.learn-player video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:16px;display:block}.learn-player iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.learn-player .play-ico{width:64px;height:64px;border-radius:50%;border:2px solid var(--gold-soft);display:flex;align-items:center;justify-content:center;font-size:24px}.expiry-warning{display:flex;gap:10px;align-items:flex-start;background:rgba(226,87,76,.12);border:1px solid var(--rose);color:var(--ink-text);border-radius:11px;padding:13px 16px;font-size:13px;line-height:1.65;margin-bottom:20px}.expiry-sub{display:block;color:var(--muted);font-size:11.5px;margin-top:4px}.expired-notice{text-align:center;max-width:440px;margin:40px auto;padding:36px 30px;background:var(--card-bg);border:1px solid var(--navy-line);border-radius:16px}.expired-icon{font-size:38px;margin-bottom:16px}.expired-notice h2{font-size:19px;margin-bottom:14px}.expired-notice p{font-size:13.5px;line-height:1.7;color:var(--muted);margin:0 0 8px}.expired-sub{font-size:12px!important;color:var(--rose)!important;margin-bottom:22px!important}.support-icon{font-size:36px;text-align:center;margin-bottom:14px}.support-contact-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.support-contact-item{display:flex;align-items:center;gap:10px;background:var(--ink);border:1px solid var(--navy-line);border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:600;color:var(--ink-text);text-decoration:none}.support-contact-item:hover{border-color:var(--gold);color:var(--gold)}.dash-main{flex:1;min-width:0;background:var(--ink);border:1px solid var(--navy-line);border-left:none;border-radius:0 16px 16px 0;padding:32px 36px}.dash-panel{max-width:760px}.dash-empty{color:var(--muted);font-size:14.5px}.dash-empty a{color:var(--gold);font-weight:600}.dash-course-list{display:flex;flex-direction:column;gap:10px}.dash-course-item{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--card-bg);border:1px solid var(--navy-line);border-radius:12px;padding:14px 16px}.dash-course-item-title{font-weight:700;font-size:14.5px}.dash-course-item-meta{font-size:12px;color:var(--muted);margin-top:3px}.dash-course-item-status{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.dash-course-item-status.active{background:rgba(76,175,125,.16);color:var(--sage)}.dash-course-item-status.expired{background:rgba(226,87,76,.12);color:var(--rose)}.cert-empty{max-width:520px;margin:40px auto;text-align:center;color:var(--muted);font-size:14px}.dash-profile-card{max-width:420px}.dash-profile-card h2{font-size:22px;margin-bottom:22px}.profile-form{gap:16px}.profile-form,.profile-form label{display:flex;flex-direction:column}.profile-form label{font-size:13px;font-weight:600;gap:7px}.profile-form input{border:1px solid var(--navy-line);background:var(--card-bg);color:var(--ink-text);border-radius:9px;padding:11px 14px;font-size:14.5px;outline:none}.profile-form input:focus{border-color:var(--gold)}.profile-form input:disabled{opacity:.6}.profile-save-msg{font-size:12.5px;color:var(--sage)}.profile-save-msg.error{color:var(--rose)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:var(--ink);border:none;border-radius:11px;padding:13px 28px;font-size:14.5px;font-weight:700;letter-spacing:.2px;transition:.15s}.btn-primary:hover{background:var(--gold-soft)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--navy);color:var(--ink-text);border:1.5px solid var(--navy-line);border-radius:11px;padding:12px 24px;font-size:14px;font-weight:700}@media (max-width:900px){.dash-shell{flex-direction:column}.dash-sidebar{width:100%;border-radius:16px;position:static}.dash-main{border-radius:16px;border-left:1px solid var(--navy-line);margin-top:16px;padding:26px 20px}}.admin-panel{max-width:100%}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:12px}.admin-panel-head h2{font-size:24px}.admin-panel-hint{font-size:13px;color:var(--muted);margin-bottom:18px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:10px 12px;color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px}.admin-table td,.admin-table th{border-bottom:1px solid var(--navy-line)}.admin-table td{padding:12px;vertical-align:middle}.admin-table img{width:44px;height:32px;-o-object-fit:cover;object-fit:cover;border-radius:6px}.course-thumb-placeholder{width:44px;height:32px;border-radius:6px;background:var(--navy-line);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.admin-table tr:last-child td{border-bottom:none}.admin-row-title{font-family:Manrope,sans-serif;font-weight:700;font-size:13.5px}.admin-row-sub{font-size:11.5px;color:var(--muted);margin-top:2px}.admin-actions{display:flex;gap:8px}.admin-icon-btn{background:none;border:1px solid var(--navy-line);color:var(--ink-text);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:13px}.admin-icon-btn:hover{border-color:var(--gold);color:var(--gold)}.admin-icon-btn.danger:hover{border-color:var(--rose);color:var(--rose)}.admin-teacher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.admin-teacher-card{background:var(--card-bg);border:1px solid var(--navy-line);border-radius:14px;padding:20px;text-align:center}.admin-teacher-card img{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin:0 auto 12px;display:block}.admin-teacher-card .name{font-family:"PT Serif",serif;font-size:15px;margin-bottom:2px}.admin-teacher-card .role{font-size:11px;color:var(--gold);margin-bottom:14px}.admin-teacher-card .admin-actions{justify-content:center}.admin-avatar-row{display:flex;align-items:center;gap:16px}.admin-file-btn{display:inline-flex;cursor:pointer}.modal-avatar{width:92px;height:92px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin:0 auto 18px;display:block}.avatar-placeholder{border-radius:50%;background:var(--navy-line);flex-shrink:0}.admin-teacher-card .avatar-placeholder{width:64px;height:64px;margin:0 auto 12px}.admin-form{gap:16px;max-width:640px}.admin-form,.admin-form label{display:flex;flex-direction:column}.admin-form label{font-size:13px;font-weight:600;gap:7px}.admin-form input[type=email],.admin-form input[type=number],.admin-form input[type=password],.admin-form input[type=text],.admin-form select,.admin-form textarea{border:1px solid var(--navy-line);background:var(--ink);color:var(--ink-text);border-radius:9px;padding:10px 13px;font-size:14px;font-family:Manrope,sans-serif;outline:none}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--gold)}.admin-form h3{font-size:14.5px;margin:6px 0 2px}.admin-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-form-msg{font-size:12.5px;color:var(--sage)}.admin-form-msg.error{color:var(--rose)}.admin-form .checkbox-row{flex-direction:row;align-items:center;gap:9px;font-weight:600}.admin-form .checkbox-row input{width:16px;height:16px;accent-color:var(--gold)}.btn-block{width:100%}.duration-input-row{display:flex;align-items:center;gap:6px}.duration-input-row input{width:100%;min-width:0}.duration-input-row span{font-size:12.5px;color:var(--muted);flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background:var(--card-bg);border:1px solid var(--navy-line);border-radius:18px;padding:38px 34px;max-width:380px;width:100%;text-align:center;position:relative}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;width:32px;height:32px;line-height:1}.modal-close:hover{color:var(--gold)}.admin-form-card{max-width:600px;text-align:left;max-height:86vh;overflow-y:auto}.admin-form-card h2{font-size:20px;margin-bottom:20px}.admin-price-input{width:110px;border:1px solid var(--navy-line);background:var(--ink);color:var(--ink-text);border-radius:8px;padding:8px 10px;font-size:13px}.admin-sub-row{display:flex;align-items:flex-start;gap:10px;background:var(--ink);border:1px solid var(--navy-line);border-radius:10px;padding:12px;margin-bottom:10px}.admin-sub-row .admin-sub-fields{flex:1;display:flex;flex-direction:column;gap:8px}.admin-sub-row input,.admin-sub-row select{border:1px solid var(--navy-line);background:var(--card-bg);color:var(--ink-text);border-radius:7px;padding:8px 10px;font-size:12.5px;width:100%}.admin-sub-row-remove{background:none;border:none;color:var(--rose);font-size:16px;cursor:pointer;flex-shrink:0}.admin-lesson-block{background:var(--ink);border:1px solid var(--navy-line);border-radius:12px;padding:14px;margin-bottom:12px}.admin-lesson-block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.admin-lesson-block-head b{font-size:12.5px}.admin-inline-add{display:flex;gap:10px;margin-top:12px;max-width:400px}.admin-inline-add input{flex:1;border:1px solid var(--navy-line);background:var(--ink);color:var(--ink-text);border-radius:9px;padding:9px 13px;font-size:13.5px;outline:none}.admin-cat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card-bg);border:1px solid var(--navy-line);border-radius:10px;padding:11px 14px;margin-bottom:8px}.admin-cat-row input{flex:1;border:1px solid transparent;background:none;color:var(--ink-text);font-size:13.5px;padding:4px 6px;border-radius:6px}.admin-cat-row input:focus{border-color:var(--gold);background:var(--ink);outline:none}.admin-q-item,.admin-r-item{background:var(--card-bg);border:1px solid var(--navy-line);border-radius:12px;padding:16px 18px;margin-bottom:12px}.admin-q-course{font-size:11px;color:var(--gold);font-weight:700;text-transform:uppercase;margin-bottom:6px}.admin-q-meta{font-size:12px;color:var(--muted);margin-bottom:6px}.admin-q-text{font-size:13.5px;line-height:1.6;margin-bottom:10px}.admin-answer-row{display:flex;gap:8px}.admin-answer-row input{flex:1;border:1px solid var(--navy-line);background:var(--ink);color:var(--ink-text);border-radius:8px;padding:8px 12px;font-size:12.5px}.admin-answered-tag{background:var(--sage);color:#fff;margin-bottom:8px}.admin-answered-tag,.admin-inactive-tag{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px}.admin-inactive-tag{background:var(--muted);color:var(--ink);vertical-align:middle}.admin-pagination{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.admin-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:8px;border:1px solid var(--navy-line);color:var(--ink-text);font-size:13px;text-decoration:none}.admin-page-link:hover{border-color:var(--gold);color:var(--gold)}.admin-page-link.active{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:700}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-card{background:var(--card-bg);border:1px solid var(--navy-line);border-radius:var(--radius);padding:26px 20px;text-align:center}.stat-card .num{font-family:JetBrains Mono,monospace;font-weight:700;font-size:30px;color:var(--gold)}.stat-card .lbl{font-size:13px;color:var(--muted);margin-top:6px}@media (max-width:640px){.stat-row{grid-template-columns:repeat(2,1fr)}}.review-list{display:flex;flex-direction:column;gap:16px}.review-empty{color:var(--muted);font-size:14px}.review-item{background:var(--card-bg);border:1px solid var(--navy-line);border-radius:12px;padding:16px 20px}.review-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:6px}.review-name{font-family:Manrope,sans-serif;font-weight:700;font-size:13.5px}.review-date{font-size:11.5px;color:var(--muted);margin-left:8px;font-weight:400}.review-stars{color:var(--star-gold);font-size:13px}.review-text{font-size:13.5px;line-height:1.7;color:var(--ink-text);margin:0}.qa-list{display:flex;flex-direction:column;gap:16px}.qa-empty{color:var(--muted);font-size:14px}.qa-item{background:var(--card-bg);border:1px solid var(--navy-line);border-radius:12px;padding:18px 20px}.qa-q{display:flex;gap:12px;align-items:flex-start}.qa-avatar{width:32px;height:32px;border-radius:50%;background:var(--navy-line);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.qa-meta{font-size:12px;color:var(--muted);margin-bottom:4px}.qa-meta b{color:var(--ink-text)}.qa-question{font-size:14px;line-height:1.6}.qa-a{margin-top:12px;padding-top:12px;border-top:1px solid var(--navy-line);margin-left:44px}.qa-tag{display:inline-block;background:linear-gradient(120deg,#2E92D3,#1CA8A3);color:#fff;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;margin-bottom:8px}.qa-a p{font-size:13.5px;line-height:1.7;color:var(--ink-text);margin:0}.qa-pending{margin-top:10px;margin-left:44px;font-size:12.5px;color:var(--muted);font-style:italic}.qa-answer-form{margin-top:12px;margin-left:44px;display:flex;flex-direction:column;gap:8px;max-width:480px}.qa-answer-form textarea{border:1px solid var(--navy-line);background:var(--ink);color:var(--ink-text);border-radius:9px;padding:10px 13px;font-size:13.5px;font-family:Manrope,sans-serif;outline:none;resize:vertical}.qa-answer-form textarea:focus{border-color:var(--gold)}.course-meta-card{display:flex;align-items:center;gap:26px;background:var(--card-bg);border:1px solid var(--navy-line);border-radius:14px;padding:18px 24px;margin:0 0 32px;flex-wrap:wrap}.course-meta-label{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.course-meta-teacher{display:flex;align-items:center;gap:12px}.course-meta-avatar{width:44px;height:44px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0;background:var(--navy-line)}.course-meta-value{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:700;font-size:14.5px}.course-meta-divider{width:1px;align-self:stretch;background:var(--navy-line)}.course-meta-rating{flex:1;min-width:190px}.rating-stars{display:flex;gap:4px;margin:1px 0 5px}.rate-star{background:none;border:none;font-size:20px;line-height:1;color:var(--navy-line);cursor:pointer;padding:0;transition:color .1s,transform .1s}.rate-star:hover{transform:scale(1.12)}.rate-star.active,.rate-star.hover{color:var(--star-gold)}.rate-star:disabled{cursor:default}.rate-star:disabled:hover{transform:none}.rating-summary{font-size:12px;color:var(--muted)}.rating-summary b{color:var(--star-gold)}@media (max-width:560px){.course-meta-card{flex-direction:column;align-items:stretch;gap:18px}.course-meta-divider{width:100%;height:1px}}.review-form{display:flex;flex-direction:column;gap:12px;margin-top:14px;max-width:480px}.review-form textarea{border:1px solid var(--navy-line);background:var(--ink);color:var(--ink-text);border-radius:11px;padding:12px 14px;font-size:14px;font-family:Manrope,sans-serif;outline:none;resize:vertical}.review-form textarea:focus{border-color:var(--gold)}.review-form button{align-self:flex-end}.content-tabs{display:flex;gap:4px;margin-top:34px;margin-bottom:22px;border-bottom:1px solid var(--navy-line);overflow-x:auto}.content-tab{background:none;color:var(--muted);font-size:13.5px;font-weight:600;padding:11px 16px;cursor:pointer;white-space:nowrap;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.content-tab:hover{color:var(--ink-text)}.content-tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:700}.content-tab-panel{min-height:80px}.material-list{display:flex;flex-direction:column;gap:10px}.material-item{display:flex;align-items:center;gap:14px;background:var(--card-bg);border:1px solid var(--navy-line);border-radius:12px;padding:14px 16px;transition:.15s;color:var(--ink-text);text-decoration:none}.material-item:hover{border-color:var(--gold)}.material-icon{font-size:22px;flex-shrink:0}.material-info{flex:1;display:flex;flex-direction:column;gap:2px}.material-name{font-family:Manrope,sans-serif;font-weight:700;font-size:14px}.material-type{font-size:11.5px;color:var(--muted)}.material-dl{font-size:16px;color:var(--gold);flex-shrink:0}.no-materials{color:var(--muted);font-size:14px}.recommended-section{margin-top:44px;padding-top:28px;border-top:1px solid var(--navy-line)}.recommended-section h3{font-size:18px;margin-bottom:16px}.recommended-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.rec-card{display:flex;gap:12px;background:var(--card-bg);border:1px solid var(--navy-line);border-radius:12px;padding:12px;transition:.15s;text-decoration:none;color:inherit}.rec-card:hover{border-color:var(--gold)}.rec-card img{width:80px;height:56px;border-radius:8px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.rec-body{min-width:0;display:flex;flex-direction:column;justify-content:center}.rec-cat{font-size:10px;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.rec-title{font-family:Manrope,sans-serif;font-weight:700;font-size:13px;line-height:1.35;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rec-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px}.rec-meta .price{color:var(--gold);font-weight:700}.rec-rating{color:var(--muted)}@media (max-width:560px){.recommended-list{grid-template-columns:1fr}}.notes-hint{font-size:12.5px;color:var(--muted);margin-bottom:12px}.notes-textarea{width:100%;border:1px solid var(--navy-line);background:var(--ink);color:var(--ink-text);border-radius:11px;padding:14px;font-size:14px;font-family:Manrope,sans-serif;outline:none;resize:vertical}.notes-textarea:focus{border-color:var(--gold)}.notes-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.notes-saved{font-size:12px;color:var(--sage)}.qa-form{display:flex;flex-direction:column;gap:12px;margin-bottom:26px}.qa-form textarea{border:1px solid var(--navy-line);background:var(--ink);color:var(--ink-text);border-radius:11px;padding:12px 14px;font-size:14px;font-family:Manrope,sans-serif;outline:none;resize:vertical}.qa-form textarea:focus{border-color:var(--gold)}.qa-form button{align-self:flex-end}header{position:relative;background:radial-gradient(circle at 85% -10%,rgba(212,175,55,.18),transparent 45%),linear-gradient(160deg,var(--ink) 0,var(--navy) 55%,var(--navy-2) 100%);color:var(--paper)}.nav-row{max-width:1320px;margin:0 auto;justify-content:space-between;padding:26px 32px 18px;position:relative}.brand,.nav-row{display:flex;align-items:center}.brand{gap:12px}.brand-logo{font-family:Manrope,sans-serif;font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1}.brand-logo-invest{color:#2E7DE0}.brand-logo-edu{color:#1FAFA3}.foot-brand .brand-logo{font-size:26px}nav.links{display:flex;gap:34px;font-size:15px;font-weight:500}nav.links a{opacity:.82;transition:opacity .15s;padding-bottom:4px;border-bottom:2px solid transparent}nav.links a:hover{opacity:1}nav.links a.active{opacity:1;border-color:var(--gold)}.nav-actions{gap:14px;font-size:14px}.btn-login,.nav-actions{display:flex;align-items:center}.btn-login{gap:7px;font-weight:700;background:linear-gradient(135deg,var(--gold-soft),var(--gold));border:none;color:var(--ink);padding:10px 18px;border-radius:9px;font-size:13.5px;white-space:nowrap;text-decoration:none}.btn-login:hover{filter:brightness(1.05)}@media (max-width:830px){nav.links{flex-wrap:wrap;gap:14px 20px}}.hero{max-width:1320px;margin:0 auto;padding:56px 32px;text-align:center;position:relative}.hero.hero-compact{padding-top:26px;padding-bottom:44px}.hero h1{font-size:44px;line-height:1.12;color:var(--paper)}.hero .crumb{margin-top:14px;font-size:14.5px;color:var(--paper-dim)}.hero .crumb b{color:var(--paper);font-weight:600}.hero-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}.pill{border:1.5px solid rgba(244,240,230,.35);background:transparent;color:var(--paper);padding:9px 20px;border-radius:999px;font-size:14px;font-weight:600;transition:.15s;text-decoration:none}.pill:hover{border-color:var(--gold-soft)}.pill.active{background:var(--gold);border-color:var(--gold);color:var(--ink)}.wave{position:absolute;left:0;right:0;bottom:-2px;height:60px;background:var(--ink);clip-path:path("M0,60 L0,34 C 300,7 700,7 1000,30 C 1200,45 1350,40 1440,20 L1440,60 Z");width:100%}.section{max-width:1320px;margin:0 auto;padding:8px 32px 90px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:26px;flex-wrap:wrap;gap:10px}.section-head h2{font-size:28px}.section-head .count{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted)}.search-row{margin-bottom:36px}.search-box{display:flex;align-items:center;gap:10px;background:var(--navy);border:1px solid var(--navy-line);border-radius:999px;padding:13px 22px;max-width:480px}.search-box svg{flex-shrink:0;color:var(--muted)}.search-box input{border:none;outline:none;flex:1;font-size:14.5px;font-family:Manrope,sans-serif;color:var(--ink-text);background:none}.search-box input::-moz-placeholder{color:var(--muted)}.search-box input::placeholder{color:var(--muted)}.no-results{text-align:center;padding:60px 20px;color:var(--muted)}.pagination{display:flex;gap:8px;margin-top:44px;flex-wrap:wrap}.page-btn,.pagination{justify-content:center;align-items:center}.page-btn{min-width:38px;height:38px;padding:0 12px;border-radius:9px;border:1px solid var(--navy-line);background:var(--card-bg);color:var(--ink-text);font-family:JetBrains Mono,monospace;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.page-btn:hover{border-color:var(--gold);color:var(--gold)}.page-btn.active{background:var(--gold);border-color:var(--gold);color:var(--ink)}.page-btn.disabled{opacity:.4;pointer-events:none}.page-dots{color:var(--muted);padding:0 4px;font-family:JetBrains Mono,monospace;font-size:13.5px}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.card{background:var(--card-bg);border-radius:var(--radius);overflow:hidden;border:1px solid var(--navy-line);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;text-align:left}.card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 18px 34px -18px rgba(240,185,11,.25)}.card-link{display:block;cursor:pointer;text-decoration:none;color:inherit}.card-media{position:relative;height:130px;background:#000}.card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.badge{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:700;letter-spacing:.3px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.72);color:var(--paper);text-transform:uppercase}.badge.new{background:var(--rose);left:auto;right:10px}.badge.owned{background:linear-gradient(120deg,var(--logo-blue,var(--gold)),var(--logo-teal,var(--sage)));color:#fff;left:auto;right:10px}.card-body{padding:15px 15px 6px;flex:1}.price-row{display:flex;align-items:center;justify-content:space-between}.price{font-family:Manrope,sans-serif;font-weight:700;font-size:15.5px;color:var(--gold)}.rating{display:flex;align-items:center;gap:2px;color:var(--star-gold,var(--gold));font-size:12px}.rating span.n{color:var(--muted);font-size:11px;margin-left:4px;font-family:JetBrains Mono,monospace}.card-title{font-family:Manrope,sans-serif;font-weight:700;font-size:15px;line-height:1.32;margin:11px 0 10px;min-height:40px}.meta-row{display:flex;gap:12px;font-size:11px;color:var(--muted);margin-top:10px;padding-bottom:12px;border-bottom:1px solid var(--navy-line);flex-wrap:wrap}.meta-row span{gap:4px}.card-footer,.meta-row span{display:flex;align-items:center}.card-footer{gap:8px;padding:11px 15px 14px;font-size:12px}.card-footer .avatar{width:24px;height:24px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0;background:var(--navy-line)}.card-footer .cat{color:var(--gold);font-weight:700}.card-footer .by{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-footer b{font-weight:700;color:var(--ink-text)}@media (max-width:1400px){.grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1080px){.grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:820px){.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.grid{grid-template-columns:1fr}}.about-intro{max-width:760px;margin:0 auto 64px;text-align:center}.about-intro p{font-size:16.5px;line-height:1.8;color:var(--muted)}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:70px;margin-bottom:70px}.value-card{background:var(--card-bg);border:1px solid var(--navy-line);border-radius:var(--radius);padding:30px 26px}.value-card .ico{width:44px;height:44px;border-radius:10px;margin-bottom:18px;background:linear-gradient(135deg,var(--gold-soft),var(--gold));display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink)}.value-card h3{font-size:18px;margin-bottom:10px}.value-card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;background:var(--navy);border-radius:20px;padding:50px;color:var(--paper)}.about-split h2{font-size:27px;color:var(--paper);margin-bottom:16px}.about-split p{font-size:15px;line-height:1.85;color:var(--paper-dim);margin-bottom:14px}.about-split img{width:100%;border-radius:14px;-o-object-fit:cover;object-fit:cover;height:340px;display:block}@media (max-width:860px){.about-grid,.about-split{grid-template-columns:1fr}.about-split{padding:30px}}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted);margin-bottom:26px;font-weight:600;text-decoration:none}.back-link:hover{color:var(--gold)}.detail-wrap{max-width:820px;margin:0 auto}.detail-media{height:320px;border-radius:18px;overflow:hidden;margin-bottom:24px;background:var(--navy-line)}.detail-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.detail-badges{display:flex;gap:10px;margin-bottom:16px}.detail-badges .badge{position:static}.detail-title{font-family:Manrope,sans-serif;font-weight:800;font-size:32px;line-height:1.2;margin-bottom:18px}.detail-meta{display:flex;gap:26px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--navy-line);margin-bottom:30px}.detail-meta span{display:flex;align-items:center;gap:6px}.detail-meta .price{font-size:19px}.detail-desc h3,.teacher-box h3{font-size:18px;margin-bottom:12px}.detail-desc p{font-size:15px;line-height:1.85;color:var(--ink-text);margin:0 0 34px;white-space:pre-line}.teacher-box{display:flex;gap:20px;background:var(--card-bg);border:1px solid var(--navy-line);border-radius:var(--radius);padding:26px;margin-bottom:36px}.avatar-lg{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0;background:var(--navy-line)}.t-name{font-family:"PT Serif",serif;font-size:18px}.t-role{font-size:12.5px;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin:3px 0 10px}.teacher-box p{font-size:14.5px;line-height:1.75;color:var(--muted);margin:0}.teacher-info-wrap{max-width:740px;margin:0 auto}.teacher-info-wrap h2{font-size:28px;margin-bottom:18px}.teacher-info-wrap h3{font-size:18px;margin:32px 0 12px}.teacher-info-wrap p{line-height:1.85}.teacher-info-wrap p,.teacher-info-wrap ul{font-size:15px;color:var(--ink-text);margin:0 0 14px}.teacher-info-wrap ul{padding-left:20px;line-height:1.9}.teacher-contact{background:var(--card-bg);border:1px solid var(--navy-line);border-radius:var(--radius);padding:24px 26px;margin-top:26px}.teacher-contact b{color:var(--gold)}footer{background:var(--ink);color:var(--paper-dim);border-top:1px solid var(--navy-line)}.footer-inner{max-width:640px;margin:0 auto;padding:70px 32px 40px;text-align:center}.footer-inner p{font-size:14px;line-height:1.9;color:var(--paper-dim)}.foot-brand{align-items:center;gap:10px;margin-bottom:18px}.foot-brand,.social{display:flex;justify-content:center}.social{gap:12px;margin-top:20px}.social a{width:34px;height:34px;border:1px solid rgba(244,240,230,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--paper-dim);text-decoration:none}.foot-bottom{border-top:1px solid rgba(244,240,230,.12);text-align:center;padding:22px 0;font-size:13px;color:var(--muted)}.foot-bottom b{color:var(--gold-soft)}.notif-bell,.notif-wrap{position:relative}.notif-bell{background:none;border:1px solid var(--navy-line);color:var(--paper);width:34px;height:34px;border-radius:9px;font-size:14px;cursor:pointer}.notif-bell:hover{border-color:var(--gold)}.notif-badge{position:absolute;top:-4px;right:-4px;background:var(--rose);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px}.notif-dropdown{display:none;position:absolute;top:42px;right:0;width:290px;z-index:60;background:var(--card-bg);border:1px solid var(--navy-line);border-radius:12px;padding:14px;box-shadow:0 14px 34px rgba(0,0,0,.4)}.notif-dropdown.open{display:block}.notif-dropdown-title{font-family:Manrope,sans-serif;font-weight:700;font-size:13px;margin-bottom:10px}.notif-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.notif-item{display:flex;gap:9px;padding:9px;border-radius:9px;background:var(--ink);text-decoration:none}.notif-item.unread{background:rgba(212,175,55,.08)}.notif-icon{font-size:15px;flex-shrink:0}.notif-text{font-size:12.5px;line-height:1.55;color:var(--ink-text)}.notif-time{font-size:10.5px;color:var(--muted);margin-top:3px}.notif-empty{font-size:12.5px;color:var(--muted);text-align:center;padding:14px 0}.progress-row{display:flex;align-items:center;gap:12px;margin:18px 0 22px;flex-wrap:wrap}.progress-bar{flex:1;min-width:100px;height:8px;border-radius:999px;background:var(--navy-line);overflow:hidden}.progress-fill{height:100%;background:var(--gold);border-radius:999px;transition:width .25s}.progress-pct{font-size:12px;color:var(--muted);min-width:34px}.progress-check{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-text);cursor:pointer}.progress-check input{accent-color:var(--gold);width:15px;height:15px;cursor:pointer}.lesson-tabs-wrap{margin-bottom:24px}.lesson-tabs-label{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.lesson-tabs{display:flex;flex-wrap:wrap;gap:8px}.lesson-tab{background:var(--card-bg);border:1px solid var(--navy-line);color:var(--muted);font-size:13px;font-weight:600;padding:9px 16px;border-radius:999px;cursor:pointer}.lesson-tab:hover{border-color:var(--gold);color:var(--ink-text)}.lesson-tab.active{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(46 146 211/var(--tw-text-opacity,1))}