:root{color-scheme:light;--bg: #f6f1ff;--bg-strong: #efe2ff;--card: rgba(255, 255, 255, .78);--text: #1f1c17;--muted: #675a80;--line: rgba(31, 28, 23, .1);--accent: #7a4fd6;--accent-soft: #ece1ff;--shadow: 0 22px 60px rgba(31, 28, 23, .08);font-family:Manrope,system-ui,sans-serif}body.dark{color-scheme:dark;--bg: #0d0f1a;--bg-strong: #111627;--card: rgba(20, 24, 45, .9);--text: #e8eaf6;--muted: #8892b0;--line: rgba(255, 255, 255, .08);--accent: #5c6ef8;--accent-soft: rgba(92, 110, 248, .18);--shadow: 0 22px 60px rgba(0, 0, 0, .4);background:radial-gradient(circle at top left,rgba(40,30,90,.55),transparent 35%),radial-gradient(circle at top right,rgba(20,40,100,.4),transparent 30%),linear-gradient(180deg,#0b0d1c,#0d0f1a)}body.dark .topbar{background:transparent}body.dark .floating-nav{background:#141a378c;border-color:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}body.dark .nav-item{color:var(--muted)}body.dark .nav-item.active{color:var(--accent);background:var(--accent-soft)}body.dark .nav-admin-item{background:#5c6ef81a;border-color:#5c6ef833;color:#a0aaff}body.dark .nav-admin-item.active{background:#5c6ef833!important;border-color:#5c6ef866;color:#c0c8ff}body.dark .nav-admin-item:hover{background:#5c6ef82e!important;border-color:#5c6ef859;color:#c0c8ff}body.dark .card,body.dark .db-card,body.dark .db-hero{background:var(--card);border-color:var(--line)}body.dark .page.card{background:transparent;border-color:transparent}body.dark input,body.dark textarea,body.dark select{background:#ffffff0d;border-color:var(--line);color:var(--text)}body.dark .forum-search{background:#ffffff0f;border-color:var(--line);color:var(--text)}body.dark input::placeholder,body.dark textarea::placeholder{color:var(--muted)}body.dark .button.primary{background:var(--accent)}body.dark .button.secondary{background:#ffffff0f;border-color:var(--line);color:var(--text)}body.dark .tag{background:#ffffff12;color:var(--muted)}body.dark .db-stats-panel{background:#141932b3;border:1px solid var(--line);border-radius:16px}body.dark .db-stat-chip{background:#ffffff0f;border-color:#ffffff1a}body.dark .db-stat-chip.chip-coin{background:#ffc83c1a;border-color:#ffc83c33}body.dark .db-stat-chip.chip-active{background:#5c6ef826;border-color:#5c6ef84d}body.dark .db-stats-divider{background:#ffffff14}body.dark .db-chip-text span{color:var(--muted)}body.dark .db-chip-text strong{color:var(--text)}body.dark .db-ring-track{stroke:#ffffff12}body.dark .db-mini-bar{background:#ffffff0f}body.dark .notif-panel,body.dark .account-menu{background:#141828;border-color:var(--line);box-shadow:0 8px 40px #00000080}body.dark .notif-panel-head,body.dark .notif-item-wrap{border-color:var(--line)}body.dark .notif-item-wrap.unread{background:#5c6ef817}body.dark .notif-item-wrap.unread:hover{background:#5c6ef826}body.dark .notif-item-wrap:not(.unread) .notif-item:hover{background:#ffffff0a}body.dark .notif-empty{color:var(--muted)}body.dark .lms-shell{background:#0e1124f2;border-color:var(--line)}body.dark .lms-main{background:transparent}body.dark .lms-action-bar{background:#0e1124f2;border-top:1px solid var(--line)}body.dark .lms-bar-btn{color:var(--text);border-color:var(--line)}body.dark .lms-bar-btn:hover{background:#ffffff0f}body.dark .lms-bar-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}body.dark .lms-next-btn{border-color:var(--text);color:var(--text)}body.dark .lms-next-btn:hover{background:var(--text);color:#0d0f1a}body.dark .lms-lesson-body{background:#0e1124f2}body.dark .lms-lesson-desc{color:var(--muted)}body.dark .lms-tabs-wrap{border-color:var(--line)}body.dark .lms-tab.active{color:var(--text);border-color:var(--accent)}body.dark .lms-write-review-btn{background:#ffffff0d;border-color:var(--line);color:var(--text)}body.dark .lms-file-card{background:#ffffff0a;border-color:var(--line)}body.dark .lms-file-card:hover{border-color:var(--accent)}body.dark .lms-review-item{background:#ffffff0a;border-color:var(--line)}body.dark .lms-review-header strong{color:var(--text)}body.dark .lms-review-item p{color:var(--muted)}body.dark .lms-sidebar{background:#0e1120f7;border-color:var(--line)}body.dark .lms-sidebar-header{background:#0e1124fa;border-color:var(--line)}body.dark .lms-sidebar-section{border-color:var(--line)}body.dark .lms-sidebar-section-head{background:#141832cc;border-color:var(--line)}body.dark .lms-sidebar-section-icon{background:#167f7226}body.dark .lms-sidebar-section-icon.quiz{background:#5c6ef826}body.dark .lms-lesson-item{border-color:var(--line)}body.dark .lms-lesson-btn:hover{background:#ffffff0d}body.dark .lms-lesson-item.active .lms-lesson-btn{background:#5c6ef81f}body.dark .lms-play-icon{background:#ffffff0f;border-color:#ffffff26;color:var(--muted)}body.dark .lms-play-icon.done{background:#167f7226;border-color:#167f72;color:#2dba68}body.dark .assessment-drawer,body.dark .assessment-result-modal{background:linear-gradient(145deg,#161d3e,#0f1226);border:1px solid rgba(255,255,255,.08)}.assessment-result-modal{text-align:center;padding:36px 28px 28px;position:relative}.assessment-result-icon{font-size:3rem;line-height:1;margin-bottom:12px}.assessment-result-score{font-size:4rem;font-weight:800;letter-spacing:-.04em;line-height:1;margin:4px 0 8px;color:var(--accent)}.assessment-result-score span{font-size:2rem;font-weight:600;opacity:.6}.assessment-result-sub{color:var(--muted);font-size:.95rem;margin-bottom:16px}.assessment-result-badge{display:inline-block;padding:6px 20px;border-radius:999px;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.assessment-result-badge.pass{background:#167f721f;color:#2dba68;border:1px solid rgba(22,127,114,.3)}.assessment-result-badge.fail{background:#c8323214;color:#e05555;border:1px solid rgba(200,50,50,.2)}body.dark .question-card{background:#ffffff0a;border-color:var(--line)}body.dark .question-num{background:var(--accent)}body.dark .assessment-answer-option{background:#ffffff0d;border-color:var(--line)}body.dark .lesson-item{border-color:var(--line)}body.dark .lesson-item:hover,body.dark .lesson-item.active{background:#5c6ef81f}body.dark .course-card{background:#14182df2;border-color:var(--line)}body.dark .course-card:hover{box-shadow:0 6px 24px #5c6ef826}body.dark .course-card-thumb{background:#181d35}body.dark .course-card-actions{background:#0e1124f2;border-top:1px solid var(--line)}body.dark .course-card-action-btn{background:#ffffff0f;color:var(--muted)}body.dark .course-card-action-btn:hover{background:#5c6ef826;color:var(--accent)}body.dark .course-card-action-btn.danger{color:#f87171}body.dark .course-card-action-btn.danger:hover{background:#f871711a}body.dark .course-card-wrap{background:#0e1124f2;border-radius:16px;border:1px solid var(--line);overflow:hidden}body.dark .course-card-body{background:transparent}body.dark .course-card-subtitle{color:#a0aaff}body.dark .course-card-desc{color:var(--muted)}body.dark .course-card-meta{color:#ffffff4d}body.dark .admin-page{background:transparent}body.dark .admin-table th{background:#ffffff0a;color:var(--muted)}body.dark .admin-table td{border-color:var(--line)}body.dark .admin-stat-card,body.dark .forum-card{background:var(--card);border-color:var(--line)}body.dark .forum-card:hover{background:#5c6ef814}body.dark .forum-thread-list{background:transparent;border-color:transparent}body.dark .forum-thread-card{background:var(--card);border-color:var(--line)}body.dark .forum-thread-card:hover{background:#5c6ef80f}body.dark .forum-op{background:#0e1124f2;border-color:var(--line)}body.dark .forum-reply{background:#14182dcc;border-color:var(--line)}body.dark .forum-reply.depth-1,body.dark .forum-reply.depth-2,body.dark .forum-reply.depth-3{background:#5c6ef80d}body.dark .forum-reply-form,body.dark .thread-composer,body.dark .forum-composer{background:#141932e6;border-color:var(--line)}body.dark .forum-composer-title-input,body.dark .forum-composer-body-input,body.dark .thread-composer-input{background:transparent;color:var(--text)}body.dark .forum-composer-textarea{background:#080b1ad9;border-color:#7882b447}body.dark .forum-composer-textarea:focus{border-color:var(--accent);background:#080b1af2}body.dark .forum-composer-title-input::placeholder,body.dark .forum-composer-body-input::placeholder,body.dark .thread-composer-input::placeholder{color:var(--muted)}body.dark .forum-composer-category-select{background:transparent;color:var(--text);border-color:var(--line)}body.dark .forum-composer-category-row{background:#ffffff0f;border-color:var(--line)}body.dark .forum-composer-post-btn:disabled{background:#5c6ef840;color:#fff6}body.dark .forum-category-filters .tag{background:#ffffff0f;color:var(--muted);border-color:var(--line)}body.dark .forum-category-filters .tag.active{background:var(--accent);color:#fff;border-color:var(--accent)}body.dark .forum-filter-btn{background:#ffffff0d;border-color:#ffffff17;color:var(--muted)}body.dark .forum-filter-btn:hover{background:#5c6ef81a;border-color:#5c6ef840;color:#a0aaff}body.dark .forum-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}body.dark .composer-toolbar-btn{color:var(--muted)}body.dark .composer-toolbar-btn:hover{color:var(--text);background:#ffffff0f}body.dark .calendar-grid-cell{border-color:var(--line)}body.dark .calendar-grid-cell.today{background:#5c6ef81f}body.dark .calendar-event-chip{filter:brightness(.85)}body.dark .calendar-board{background:#141832eb;color:var(--text)}body.dark .calendar-board-head{background:linear-gradient(135deg,#37236ed9,#231955e6)}body.dark .calendar-board-head strong{color:#e8eaf6}body.dark .calendar-week-row{border-color:var(--line);color:#a096c899}body.dark .calendar-week-row strong{color:#b4aadc8c}body.dark .calendar-week-row div.active strong,body.dark .calendar-week-row div.active span{color:#e8eaf6}body.dark .calendar-time-row>span{color:#a096c899}body.dark .calendar-row-line{border-color:var(--line)}body.dark .calendar-timeline{overflow:visible}body.dark .calendar-month-board{background:#0e1124f2;border-color:var(--line)}body.dark .calendar-month-day-head{border-color:var(--line);color:#a08cc8b3}body.dark .calendar-month-cell{border-color:var(--line);color:var(--text);background:#0e1124f2}body.dark .calendar-month-cell>span{color:#dcd7f0e6}body.dark .calendar-month-cell.muted>span{color:#fff3}body.dark .calendar-month-cell.active>span{background:var(--accent);color:#fff}body.dark .calendar-month-cell.today>span{background:#5c6ef833;color:var(--accent);outline-color:var(--accent)}body.dark .mini-month-card,body.dark .calendar-check-card{background:linear-gradient(145deg,#281950e0,#1e1241d1);color:#e8eaf6}body.dark .mini-month-head strong,body.dark .mini-month-head button{color:#e8eaf6}body.dark .mini-month-date{color:#c8bee6b3}body.dark .mini-month-date.active{background:var(--accent);color:#fff}body.dark .mini-month-date.today{color:var(--accent);font-weight:800}body.dark .calendar-checklist-input{background:#ffffff0f;border-color:var(--line);color:var(--text)}body.dark .calendar-check-card,body.dark .calendar-card-head h3{color:#e8eaf6}body.dark .calendar-card-head span{color:#c8bee6b3}body.dark .calendar-checklist-empty{color:#c8bee680}body.dark .calendar-view-toggle button{background:#ffffff0f;color:var(--muted);border-color:var(--line)}body.dark .calendar-view-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}body.dark .calendar-board-head button{color:#c8bee6cc}body.dark .calendar-board-head button:hover{background:#ffffff1a}body.dark .calendar-event-popup{background:linear-gradient(145deg,#1a2148,#121630);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0000008c,0 0 0 1px #5c6ef81f}body.dark .calendar-event-popup-title strong{color:#e8eaf6}body.dark .calendar-event-popup-title button{background:#5c6ef826;color:#a0aaff}body.dark .calendar-event-popup-title button:hover{background:#5c6ef847}body.dark .calendar-event-popup-row{color:#a0aadccc}body.dark .calendar-event-popup-actions{border-top-color:#ffffff12}body.dark .popup-action-edit{background:#5c6ef81f;border-color:#5c6ef840;color:#a0aaff}body.dark .popup-action-edit:hover{background:#5c6ef838}body.dark .popup-action-delete{background:#ef444414;border-color:#ef444433;color:#f87171}body.dark .popup-action-delete:hover{background:#ef444429}body.dark .asset-card{background:var(--card);border-color:var(--line)}body.dark .course-modal,body.dark .lesson-editor-modal{background:linear-gradient(145deg,#141c3a,#0f1226);border:1px solid rgba(255,255,255,.08)}body.dark .aem-modal{background:linear-gradient(145deg,#161d3e,#0f1226);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 64px #00000080}body.dark .course-modal-input{background:#ffffff0d;border-color:var(--line);color:var(--text)}body.dark .aem-hero{border-bottom-color:#ffffff12}body.dark .aem-hero-icon{background:#7a4fd633}body.dark .aem-section-label{color:var(--muted)}body.dark .aem-field-box{background:#ffffff0d;border-color:#ffffff17}body.dark .aem-field-box:focus-within{background:#5c6ef814;border-color:#5c6ef880}body.dark .aem-input{color:var(--text);background:transparent}body.dark .aem-input::placeholder{color:#a08cc880}body.dark .aem-input[type=date],body.dark .aem-input[type=time]{color-scheme:dark;color:var(--text)}body.dark .aem-title-static{color:var(--text)}body.dark .aem-subtitle{color:var(--muted)}body.dark .aem-close{background:#ffffff14;color:var(--text);border:none}body.dark .booking-cost-info{background:#5c6ef81a;border-color:#5c6ef833;color:var(--text)}body.dark .booking-cost-info.free{background:#2dba6814;border-color:#2dba6833}body.dark .aem-cost-note{background:#5c6ef81f;border-color:#5c6ef833;color:var(--text)}body.dark .aem-hero-title{color:var(--text)}body.dark .aem-hero-sub{color:var(--muted)}body.dark .global-search-backdrop{background:#000000b3}body.dark .global-search-box{background:#141828;border-color:var(--line)}body.dark .global-search-input{background:transparent;color:var(--text)}body.dark .search-result-item:hover{background:#5c6ef81a}body.dark .db-thread-row{background:#ffffff0a;border-color:var(--line)}body.dark .db-thread-row:hover{background:#5c6ef814}body.dark .db-asset-row{background:#ffffff0a;border-color:var(--line)}body.dark .db-asset-row:hover{background:#5c6ef814}body.dark .db-card-accent{background:#5c6ef814;border-color:#5c6ef833}body.dark .lms-edit-toggle{background:#ffffff12;border-color:var(--line);color:var(--text)}body.dark .asset-manager-card,body.dark .asset-thumb-upload-zone{background:#ffffff0a;border-color:var(--line)}body.dark .asset-thumb-placeholder{color:var(--muted)}body.dark .asset-manager-card:hover{box-shadow:0 4px 18px #5c6ef81a}body.dark .asset-manager-search{background:#ffffff0d;border-color:var(--line);color:var(--text)}body.dark .course-status-btn{background:#ffffff0d;border-color:var(--line);color:var(--muted)}body.dark .course-status-btn.active.open{background:#2dba681f;border-color:#2dba68;color:#5de098}body.dark .course-status-btn.active.coming-soon{background:#5c6ef826;border-color:#5c6ef8;color:#a0aaff}body.dark .topbar-brand{color:var(--text)}body.dark .login-card,body.dark .login-panel{background:linear-gradient(145deg,#161d3e,#0f1226);border-color:#ffffff14;box-shadow:0 18px 50px #0006}body.dark .login-card h2,body.dark .login-panel h2{color:var(--text)}body.dark .login-card p,body.dark .login-panel p,body.dark .login-form label{color:var(--muted)}body.dark .login-form input,body.dark .login-form select,body.dark .login-form textarea{background:#ffffff0d;border-color:#ffffff1a;color:var(--text)}body.dark .login-form input::placeholder,body.dark .login-form textarea::placeholder{color:#a08cc873}body.dark .login-form input.error{background:#a4527c1a;border-color:#a4527c66}body.dark .field-error{color:#e08aaa}body.dark .login-meta-row{color:var(--muted)}body.dark .login-switch-link{color:#a0aaff}body.dark .onboard-overlay{background:#000000a6}body.dark .onboard-modal{background:linear-gradient(145deg,#161d3e,#0f1226);border:1px solid rgba(255,255,255,.08);box-shadow:0 32px 100px #00000080}body.dark .onboard-title{color:var(--text)}body.dark .onboard-desc{color:var(--muted)}body.dark .onboard-dot{background:#ffffff26}body.dark .onboard-btn-skip{background:#ffffff0d;border-color:#ffffff1f;color:var(--muted)}body.dark .promo-modal{background:linear-gradient(145deg,#161d3e,#0f1226)!important;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 64px #0000008c}body.dark .promo-title{color:var(--text)}body.dark .promo-subtitle{color:#c8bee6d9}body.dark .promo-body{color:var(--muted)}body.dark .promo-close{background:#ffffff14;color:var(--muted)}body.dark .promo-close:hover{background:#ffffff24}body.dark .promo-cta{background:var(--accent);color:#fff}body.dark .promo-dismiss{color:var(--muted)}body.dark .topup-modal{background:linear-gradient(145deg,#161d3e,#0f1226)!important;border:1px solid rgba(255,255,255,.08)}body.dark .topup-title{color:var(--text)}body.dark .topup-alert{background:#ef44441a;border-color:#ef444440;color:#f87171}body.dark .topup-alert p{color:var(--muted)}body.dark .topup-payment-info,body.dark .credit-pkg-card{background:#ffffff0a;border-color:var(--line)}body.dark .credit-pkg-card:hover{border-color:#2dba68}body.dark .credit-pkg-card.selected{border-color:#2dba68;background:#2dba6814}body.dark .credit-pkg-card.promo-active{background:#e05c2a1a;border-color:#e05c2a}body.dark .credit-pkg-label{color:var(--text)}body.dark .admin-inbox-card{background:#0e1124f2;border-color:var(--line)}body.dark .admin-inbox-card.approved{background:#167f721a;border-color:#167f724d}body.dark .admin-inbox-card.rejected{background:#c8323212;border-color:#c8323233}body.dark .admin-pkg-card{background:#14182dcc;border-color:var(--line)}body.dark .admin-modal{background:linear-gradient(145deg,#161d3e,#0f1226);border:1px solid rgba(255,255,255,.08)}body.dark .admin-modal-input,body.dark .admin-modal-form input,body.dark .admin-modal-form select{background:#ffffff0d;border-color:#ffffff1a;color:var(--text)}body.dark .admin-landscape-col{border-color:#ffffff14}body.dark .admin-settings-pkg-block{background:#ffffff08;border-color:#ffffff14}body.dark .admin-settings-pkg-col-headers span{color:#ffffff73}body.dark .admin-settings-input{background:#ffffff0d;border-color:#ffffff1a;color:var(--text)}body.dark .admin-pkg-promo-section{border-color:#ffffff14}body.dark .admin-pkg-promo-toggle{color:#fff9}body.dark .admin-pkg-promo-feat{background:#ffffff0a;border-color:#ffffff1a;color:var(--text)}body.dark .admin-pkg-promo-bonus-label{color:#ffffff73}body.dark .admin-modal-title,body.dark .admin-section-label{color:var(--text)}body.dark .admin-modal-cancel{background:#ffffff0f;border-color:#ffffff1a;color:var(--text)}body.dark .admin-pkg-add-btn{background:#ffffff0d;border-color:#ffffff1f;color:var(--text)}body.dark .admin-pkg-remove-btn{color:#fff6}body.dark .admin-pkg-remove-btn:hover{color:#ff6b6b}body.dark .admin-settings-pkg-price-preview{color:#2dba68}body.dark .admin-coin-rate-label span,body.dark .admin-coin-rate-hint{color:#ffffff80}body.dark .admin-coin-rate-prefix,body.dark .admin-coin-rate-suffix{color:#fff6}body.dark .admin-modal-actions{border-color:#ffffff14}body.dark .promo-preview-card{background:linear-gradient(145deg,#161d3e,#0f1226);border-color:#ffffff14}body.dark .costs-modal-card{background:#5c6ef80f;border-color:var(--line)}body.dark .costs-modal-input-wrap{background:#ffffff0d;border-color:#5c6ef840}body.dark .costs-modal-input{background:transparent;color:var(--accent)}body.dark .costs-modal-stepper{background:#5c6ef81a}body.dark .credit-pkg-price{color:var(--text)}body.dark .inline-profile-panel{background:#0e1124f2;border-color:var(--line)}body.dark .profile-subnav a{background:#ffffff0d;border-color:var(--line)}body.dark .profile-subnav a.active{background:#5c6ef826;color:var(--text)}body.dark .profile-info-grid>div,body.dark .subscription-detail-grid>div{background:#ffffff0a;border-color:var(--line)}body.dark .profile-password-section{background:#ffffff08;border-color:var(--line)}body.dark .credit-balance-card,body.dark .credit-topup-section{background:#0e1124f2;border-color:var(--line)}body.dark .credit-custom-wrap{border-color:var(--line)}body.dark .credit-custom-input{background:#ffffff0d;border-color:var(--line);color:var(--text)}body.dark .credit-payment-info{background:#167f720d;border-color:var(--line)}body.dark .credit-referral-section{background:#0e1124f2;border-color:var(--line)}body.dark .referral-input{background:#ffffff0d;border-color:var(--line);color:var(--text)}body.dark .confirm-modal{background:linear-gradient(145deg,#161d3e,#0f1226);border:1px solid rgba(255,255,255,.08)}body.dark .confirm-title{color:var(--text)}body.dark .confirm-desc{color:var(--muted)}body.dark .course-modal-overlay,body.dark .onboard-overlay,body.dark .aem-overlay{background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.dark .global-search-btn{color:var(--muted);border-color:var(--line);background:#ffffff0a}body.dark .account-trigger{border-color:var(--line)}body.dark .lms-video-wrap{background:var(--card)}body.dark .progress-bar-track{background:#ffffff14}.dark-mode-toggle{display:inline-flex;align-items:center;background:none;border:none;padding:0;cursor:pointer;flex-shrink:0}.dmt-track{display:flex;align-items:center;width:56px;height:30px;border-radius:15px;background:#7a4fd626;border:1.5px solid rgba(122,79,214,.3);position:relative;transition:background .25s,border-color .25s;padding:3px}.dark-on .dmt-track{background:#5c6ef840;border-color:#5c6ef880}.dmt-thumb{width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000002e;display:flex;align-items:center;justify-content:center;color:#7a4fd6;transition:transform .25s cubic-bezier(.34,1.4,.64,1);transform:translate(0);flex-shrink:0}.dark-on .dmt-thumb{transform:translate(26px);color:#5c6ef8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at top left,rgba(122,79,214,.2),transparent 30%),radial-gradient(circle at top right,rgba(187,157,255,.22),transparent 28%),linear-gradient(180deg,#fcfaff 0%,var(--bg) 100%)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}.shell{position:relative;overflow:hidden;min-height:100vh;padding:28px clamp(18px,2vw,32px)}.auth-shell{display:grid;align-content:center;padding:0}.ambient{position:absolute;border-radius:999px;filter:blur(42px);opacity:.55;pointer-events:none}.ambient-a{top:4%;left:8%;width:180px;height:180px;background:#7a4fd647}.ambient-b{right:6%;top:24%;width:260px;height:260px;background:#c0a0ff38}.topbar,.layout{position:relative;z-index:1;max-width:1480px;margin:0 auto;width:100%}.topbar{display:grid;gap:22px;align-items:end;margin-bottom:26px;z-index:20;overflow:visible}.topbar-nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-brand{display:grid;gap:12px}.topbar-brand-row{display:inline-flex;align-items:center;gap:14px;width:fit-content}.topbar-brand-logo{display:block;width:auto;height:44px;object-fit:contain}.eyebrow{font-size:.92rem;letter-spacing:.08em;color:var(--muted);text-transform:none}.topbar h1{max-width:720px;margin-top:10px;font-size:clamp(2rem,4vw,4.15rem);line-height:.96;letter-spacing:-.05em;text-wrap:balance}.floating-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:6px;border:1px solid var(--line);border-radius:999px;background:#ffffffa8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);position:relative;z-index:21}.floating-nav::-webkit-scrollbar{display:none}.nav-inbox-link{position:relative;display:inline-flex;align-items:center;gap:6px}.nav-inbox-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#e03c3c;color:#fff;font-size:.65rem;font-weight:800;padding:0 5px;line-height:1;box-shadow:0 2px 6px #e03c3c66;animation:badge-pop .2s cubic-bezier(.34,1.56,.64,1)}.floating-nav a,.button,.tag,.pill,.mini-label{text-transform:none}.floating-nav a{padding:8px 12px;border-radius:999px;color:var(--muted);font-size:.82rem;white-space:nowrap;flex-shrink:0}.floating-nav a.active{background:#7a4fd61f;color:var(--text)}.floating-nav a:hover{background:#7a4fd614;color:var(--text)}.nav-item{display:inline-flex;align-items:center;gap:6px}.nav-icon{display:flex;align-items:center;flex-shrink:0;opacity:.7}.floating-nav a.nav-item.active .nav-icon,.floating-nav a.nav-item:hover .nav-icon{opacity:1}.nav-admin-divider{width:1px;height:22px;background:var(--line);border-radius:999px;align-self:center;margin:0 2px}.nav-admin-item{color:var(--muted);font-size:.92rem;background:#f0ebff80;border:1px solid rgba(122,79,214,.15)}.nav-admin-item.active{background:#7a4fd629!important;border-color:#7a4fd64d;color:var(--text)}.nav-admin-item:hover{background:#7a4fd61a!important;border-color:#7a4fd640;color:var(--text)}.notif-bell-wrap{position:relative;z-index:30}.notif-bell-btn{position:relative;width:44px;height:44px;border-radius:14px;border:none;background:#7a4fd614;color:#5a3fa0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.notif-bell-btn svg{width:22px;height:22px}.notif-bell-btn:hover{background:#7a4fd626;color:#7a4fd6}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:999px;background:#e03c3c;color:#fff;font-size:.68rem;font-weight:800;padding:0 5px;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid #fff;box-shadow:0 2px 6px #e03c3c66;animation:badge-pop .2s cubic-bezier(.34,1.56,.64,1)}@keyframes badge-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.notif-panel{position:absolute;top:calc(100% + 10px);right:0;width:340px;max-height:480px;background:#fff;border-radius:16px;box-shadow:0 8px 40px #00000024;border:1px solid #ebebeb;display:flex;flex-direction:column;overflow:hidden;animation:notif-drop .18s ease}@keyframes notif-drop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.notif-panel-head strong{font-size:.95rem}.notif-head-actions{display:flex;gap:10px;align-items:center}.notif-mark-all{border:none;background:none;font:inherit;font-size:.75rem;color:#7a4fd6;cursor:pointer;padding:0}.notif-mark-all:hover{text-decoration:underline}.notif-clear-all{border:none;background:none;font:inherit;font-size:.75rem;color:#e05252;cursor:pointer;padding:0}.notif-clear-all:hover{text-decoration:underline}.notif-list{overflow-y:auto;flex:1}.notif-empty{padding:32px 16px;text-align:center;color:#bbb;font-size:.85rem;margin:0}.notif-item-wrap{position:relative;border-bottom:1px solid #f5f5f5;display:flex;align-items:stretch}.notif-item-wrap:last-child{border-bottom:none}.notif-item-wrap.unread{background:#f8f6ff}.notif-item-wrap.unread:hover{background:#f2eeff}.notif-item-wrap:hover .notif-delete-btn{opacity:1}.notif-item{display:flex;gap:12px;padding:12px 36px 12px 16px;text-decoration:none;color:inherit;transition:background .12s;align-items:flex-start;flex:1;min-width:0}.notif-item-wrap:not(.unread) .notif-item:hover{background:#faf8ff}.notif-delete-btn{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;border:none;background:#eee;color:#888;font-size:1rem;line-height:1;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .15s,background .15s;flex-shrink:0}.notif-delete-btn:hover{background:#fde8e8;color:#e05252}.notif-item-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}.notif-item-body{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-item-body strong{font-size:.85rem;font-weight:600;color:#1a1a2e;display:block}.notif-item-body p{font-size:.78rem;color:#666;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-body time{font-size:.72rem;color:#bbb;margin-top:2px}.account-menu-wrap{position:relative;z-index:22;display:inline-flex;align-items:center;gap:12px}.account-meta{display:grid;gap:3px;justify-items:end;text-align:right;color:var(--muted);line-height:1.2}.account-meta span{font-size:.76rem;letter-spacing:.02em}.account-meta strong{max-width:260px;color:var(--text);font-size:.9rem;font-weight:700}.header-credits{display:inline-flex;align-items:center;gap:5px;color:#167f72}.header-credits-icon{font-size:.75rem;opacity:.8}.account-trigger{width:56px;height:56px;flex-shrink:0;aspect-ratio:1 / 1;border:0;border-radius:999px;background:linear-gradient(135deg,#d9c4ff,#8a55e8 52%,#6f3fd0);box-shadow:var(--shadow);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;padding:3px;overflow:hidden}.account-avatar{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:inherit;background:#fff}.account-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:240px;display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:20px;background:#fffffff0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30}.account-menu a,.account-menu button{width:100%;padding:12px 14px;border:0;border-radius:14px;background:transparent;color:var(--text);text-align:left;font:inherit}.account-menu a:hover,.account-menu button:hover{background:#7a4fd614}.account-menu-danger{color:#9f2f4f!important}.session-chip,.mode-static{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(122,79,214,.14);background:#ffffffb3;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:lowercase;white-space:nowrap}.session-chip.developer{background:#7a4fd617;color:var(--accent)}.layout,.grid{display:grid;gap:20px}.two-up{grid-template-columns:1.35fr 1fr}.three-up{grid-template-columns:1.15fr .85fr .9fr}.card,.hero{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.card{border-radius:28px;padding:24px}.page.card{border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;border-radius:34px;padding:28px}.hero-copy h2{max-width:640px;margin:14px 0;font-size:clamp(1.7rem,3vw,3rem);line-height:1.02;letter-spacing:-.05em}.hero-copy p{max-width:560px;color:var(--muted);line-height:1.7}.page{display:grid;gap:22px}.page-hero{display:flex;align-items:start;justify-content:space-between;gap:20px}.page-hero h2{margin-top:10px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.05em}.page-hero p{max-width:640px;margin-top:10px;color:var(--muted);line-height:1.7}.page-grid{display:grid;gap:18px}.lms-page-wrap{padding:0;background:transparent;border:none}.course-catalog-page{padding:32px 28px}.course-catalog-header{margin-bottom:28px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.course-catalog-title{font-size:1.5rem;font-weight:700;margin:0 0 6px}.course-catalog-subtitle{font-size:.9rem;color:var(--muted);margin:0}.course-catalog-add-btn{flex-shrink:0;background:#6c63ff;color:#fff;border:none;border-radius:10px;padding:9px 18px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .18s}.course-catalog-add-btn:hover{background:#4e22a0}.course-catalog-loading,.course-catalog-empty{color:var(--muted);font-size:.9rem;padding:40px 0;text-align:center}.course-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.course-card{background:var(--card);border:1px solid var(--border, #ebebeb);border-radius:16px;overflow:hidden;text-align:left;cursor:pointer;transition:box-shadow .18s,transform .15s;padding:0}.course-card:hover{box-shadow:0 6px 24px #6c63ff21;transform:translateY(-2px)}.course-card-thumb{position:relative;width:100%;aspect-ratio:16/9;background:#f0eefe;display:flex;align-items:center;justify-content:center;overflow:hidden}.course-card-thumb-img{width:100%;height:100%;object-fit:cover}.course-card-thumb-placeholder{font-size:2.5rem}.course-card-level{position:absolute;top:10px;left:10px;font-size:.7rem;font-weight:700;color:#fff;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}.course-card-body{padding:16px 18px 20px}.course-card-subtitle{font-size:.75rem;color:#6c63ff;font-weight:600;margin:0 0 4px;text-transform:uppercase;letter-spacing:.04em}.course-card-title{font-size:1rem;font-weight:700;margin:0 0 8px}.course-card-desc{font-size:.82rem;color:var(--muted);margin:0 0 12px;line-height:1.5}.course-card-meta{font-size:.78rem;color:#aaa}.course-card-footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.course-card-pct{font-size:.72rem;font-weight:700;color:#6c47ff}.course-card-progress-bar{height:5px;border-radius:99px;background:#6c47ff1f;overflow:hidden;margin-top:2px}.course-card-progress-fill{height:100%;border-radius:99px;transition:width .4s ease}.course-card-done .course-card-pct{color:#167f72}.course-card-done-badge{position:absolute;bottom:10px;left:10px;background:#167f72;color:#fff;font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:6px}body.dark .course-card-progress-bar{background:#6c47ff2e}body.dark .course-card-pct{color:#a78bfa}body.dark .course-card-done .course-card-pct{color:#2dba68}.course-card-coming-soon-overlay{position:absolute;inset:0;background:#0f0c1e85;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.course-card-cs-badge{background:#ffffffeb;color:#3d2b8e;font-size:.78rem;font-weight:700;padding:5px 14px;border-radius:20px;letter-spacing:.03em;box-shadow:0 2px 8px #0000002e}.course-card-locked .course-card{opacity:.9}.course-card-locked .course-card:hover{transform:none;box-shadow:none;cursor:not-allowed}.course-status-toggle{display:flex;gap:8px;margin-top:6px}.course-status-btn{flex:1;padding:8px 0;border-radius:8px;border:1.5px solid var(--line);background:#f4f4f8;font-size:.82rem;font-weight:600;cursor:pointer;color:#777;transition:all .15s}.course-status-btn.active.open{background:#e6f9ef;border-color:#2dba68;color:#1a7a43}.course-status-btn.active.coming-soon{background:#f0eefe;border-color:#6c63ff;color:#4b35cc}.course-card-wrap{position:relative;display:flex;flex-direction:column}.course-card-actions{display:flex;gap:8px;padding:8px 12px 12px}.course-card-action-btn{flex:1;background:#f4f4f8;border:none;border-radius:8px;padding:6px 0;font-size:.8rem;font-weight:600;cursor:pointer;color:#444;transition:background .15s}.course-card-action-btn:hover{background:#e8e6ff;color:#6c63ff}.course-card-action-btn.danger{color:#d93025}.course-card-action-btn.danger:hover{background:#fde8e7}.course-modal-overlay{position:fixed;inset:0;background:#00000059;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}.course-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;box-shadow:0 12px 40px #0000002e;overflow:hidden}.course-modal-sm{max-width:360px;padding:28px 24px 20px}.course-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f0f0f0}.course-modal-header h3{margin:0;font-size:1rem;font-weight:700}.course-modal-close{background:none;border:none;font-size:1rem;cursor:pointer;color:#888;padding:4px 8px}.course-modal-form{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.course-modal-label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:600;color:#555}.course-modal-input{border:1px solid #ddd;border-radius:8px;padding:8px 12px;font-size:.88rem;font-family:inherit;outline:none;transition:border-color .15s;background:#fafafa;width:100%;box-sizing:border-box}.course-modal-input:focus{border-color:#6c63ff;background:#fff}.course-modal-textarea{resize:vertical;min-height:72px}.course-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.course-modal-error{font-size:.82rem;color:#d93025;margin:0}.course-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 24px 20px}.course-modal-btn{padding:9px 20px;border-radius:9px;font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:background .15s}.course-modal-btn.primary{background:#6c63ff;color:#fff}.course-modal-btn.primary:hover{background:#4e22a0}.course-modal-btn.primary:disabled{opacity:.5;cursor:not-allowed}.course-modal-btn.secondary{background:#f0f0f5;color:#444}.course-modal-btn.secondary:hover{background:#e4e4ee}.course-modal-btn.danger{background:#d93025;color:#fff}.course-modal-btn.danger:hover{background:#b02519}.course-modal-delete-title{font-size:1rem;font-weight:700;margin:0 0 10px}.course-modal-delete-body{font-size:.88rem;color:#555;margin:0 0 20px;line-height:1.5}.course-thumb-upload{position:relative;width:100%;aspect-ratio:16/7;border:2px dashed #d0cdf5;border-radius:10px;overflow:hidden;cursor:pointer;background:#f6f4ff;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.course-thumb-upload:hover{border-color:#6c63ff}.course-thumb-placeholder{font-size:.85rem;color:#9990dd;text-align:center}.course-thumb-preview{width:100%;height:100%;object-fit:cover;display:block}.course-thumb-overlay{position:absolute;inset:0;background:#6c63ff8c;color:#fff;font-size:.82rem;font-weight:600;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.course-thumb-upload:hover .course-thumb-overlay{opacity:1}.lms-back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6c63ff;font-size:.85rem;font-weight:600;cursor:pointer;padding:12px 16px 4px;transition:opacity .15s}.lms-back-btn:hover{opacity:.7}.lms-shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0;align-items:start;background:#fff;border-radius:20px;overflow:hidden;border:1px solid #ebebeb;box-shadow:0 2px 20px #0000000d}.lms-grid,.community-grid{grid-template-columns:1fr 1fr}.calendar-page-grid{grid-template-columns:.95fr 1.05fr}.surface{padding:20px;border-radius:24px;border:1px solid var(--line);background:#ffffff94}.lms-main{min-height:600px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.lms-video-wrap{position:relative;flex-shrink:0;padding:16px 20px 0;background:#fff}.lms-video-wrap .video-stage,.lms-video-wrap .video-embed-wrap,.lms-video-wrap .video-embed,.lms-video-wrap .video-player{border-radius:12px;overflow:hidden}.lms-video-wrap .video-embed{display:block;border-radius:12px}.lms-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;background:#fff}.lms-action-bar-left{display:flex;gap:4px}.lms-bar-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:transparent;font:inherit;font-size:.8rem;font-weight:600;color:var(--fg);cursor:pointer;transition:background .12s}.lms-bar-btn:hover{background:#f5f5f5}.lms-bar-btn.active{background:#111;color:#fff;border-color:#111}.lms-bar-btn:disabled{opacity:.5;cursor:default}.lms-bar-icon{font-size:.95rem}.lms-bar-icon.done{color:#167f72}.lms-next-btn{padding:8px 18px;border-radius:8px;border:1.5px solid var(--fg);background:transparent;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .12s;white-space:nowrap}.lms-next-btn:hover{background:var(--fg);color:#fff}.lms-lesson-body{padding:24px 28px 16px}.lms-lesson-meta-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.lms-lesson-tag{font-size:.7rem;font-weight:700;background:#167f721a;color:#167f72;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}.lms-lesson-duration-badge,.lms-lesson-num-badge{font-size:.75rem;color:var(--muted)}.lms-lesson-title{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin:0 0 10px;line-height:1.2}.lms-lesson-desc{font-size:.9rem;line-height:1.7;color:#555;margin:0}.lms-tabs-wrap{border-bottom:1px solid #f0f0f0;position:relative}.lms-tabs-row{display:flex;align-items:center;padding:0 28px;gap:4px}.lms-tab{padding:12px 16px;border:none;border-bottom:2px solid transparent;background:transparent;font:inherit;font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .12s;margin-bottom:-1px}.lms-tab.active{color:var(--fg);border-bottom-color:var(--fg)}.lms-write-review-btn{margin-left:auto;padding:6px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.lms-files-section{padding:20px 28px 28px}.lms-no-files{color:var(--muted);font-size:.88rem;padding:20px 0}.lms-file-grid{display:grid;gap:10px}.lms-file-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fafafa;transition:border-color .12s}.lms-file-card:hover{border-color:#167f72}.lms-file-icon{font-size:1.6rem;flex-shrink:0}.lms-file-info{flex:1;min-width:0}.lms-file-info strong{display:block;font-size:.88rem;font-weight:700}.lms-file-info span{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}.lms-file-actions{display:flex;gap:6px;flex-shrink:0}.lms-download-btn{font-size:.78rem;font-weight:700;padding:6px 14px;border-radius:8px;background:#167f72;color:#fff;text-decoration:none;transition:opacity .12s}.lms-download-btn:hover{opacity:.82}.lms-reviews-section{padding:20px 28px 28px}.lms-review-list{display:grid;gap:12px}.lms-review-item{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fafafa}.lms-review-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.lms-review-avatar{width:32px;height:32px;border-radius:50%;background:#167f72;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.lms-review-avatar-img{object-fit:cover}.lms-review-header strong{display:block;font-size:.88rem}.lms-review-stars{display:block;font-size:.78rem;color:#f59e0b;letter-spacing:2px}.lms-review-item p{margin:0;font-size:.85rem;line-height:1.6;color:#555}.lms-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 32px;text-align:center}.lms-empty-icon{font-size:2.5rem}.lms-empty-state h2{margin:0;font-size:1.2rem;font-weight:700}.lms-empty-state p{margin:0;color:var(--muted);font-size:.88rem;max-width:340px}.lms-add-first-btn{margin-top:4px;padding:10px 22px;background:#167f72;color:#fff;border:none;border-radius:10px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:var(--bg)}.login-split-card{display:grid;grid-template-columns:1fr 1fr;width:min(900px,100%);min-height:560px;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px #1f1c1724}.login-split-left{position:relative;background:linear-gradient(145deg,#7c3aed,#4f46e5,#2563eb);display:flex;align-items:flex-end;overflow:hidden}.login-split-left:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.18) 0%,transparent 60%),radial-gradient(ellipse at 80% 80%,rgba(99,102,241,.4) 0%,transparent 55%)}.login-split-overlay{position:relative;z-index:1;padding:40px 36px;color:#fff}.login-split-logo{display:block;height:52px;width:auto;object-fit:contain;margin-bottom:28px;filter:brightness(0) invert(1);opacity:.92}.login-split-tagline{font-size:clamp(1.7rem,2.4vw,2.6rem);font-weight:800;line-height:1.12;letter-spacing:-.04em;margin:0 0 14px}.login-split-desc{font-size:.92rem;line-height:1.65;opacity:.82;max-width:28ch;margin:0}.login-split-right{background:#fff;display:flex;align-items:center;justify-content:center;padding:36px 40px;overflow-y:auto}.login-split-form-wrap{width:100%;max-width:360px}.login-form-logo{display:block;height:44px;width:auto;object-fit:contain;margin-bottom:22px}.login-form-title{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;margin:0 0 6px;color:#1a1625}.login-form-sub{font-size:.84rem;color:#6b7280;line-height:1.55;margin:0 0 20px}.login-split-form-wrap>article.login-card{width:100%;padding:0;border:none;background:transparent;box-shadow:none;border-radius:0}body.dark .login-split-right{background:#1e1a2e}body.dark .login-form-title{color:#e8e4f4}body.dark .login-form-sub{color:var(--muted)}@media(max-width:680px){.login-split-card{grid-template-columns:1fr}.login-split-left{min-height:180px;align-items:flex-start}.login-split-overlay{padding:28px 24px}.login-split-desc{display:none}.login-split-right{padding:28px 24px}}.login-card{position:relative;z-index:1;width:min(460px,calc(100% - 32px));padding:30px 34px 28px;border-radius:28px;border:1px solid rgba(31,28,23,.08);background:#fffffffa;box-shadow:0 18px 50px #1f1c171f}.login-card.signed-in{width:min(480px,calc(100% - 32px))}.login-switch-link{border:0;background:transparent;padding:0;color:var(--accent);font-size:.9rem;font-weight:700;font:inherit;cursor:pointer}.login-panel h2,.login-card h2{margin:6px 0 10px;font-size:clamp(2rem,2.8vw,3rem);line-height:.98;letter-spacing:-.05em;text-align:center}.login-panel p,.login-card p{color:var(--muted);line-height:1.72;max-width:38rem;text-align:center}.login-form{margin-top:20px;width:100%;gap:14px}.login-form>label,.login-form>.checkbox-row,.login-form>.form-error,.login-form>.login-actions{width:100%}.login-form label{color:var(--muted)}.login-form input,.login-form select,.login-form textarea{padding-block:12px}.login-form input.error{border-color:#a4527c6b;background:#fff4f8f2}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap input{flex:1;padding-right:44px!important}.password-toggle{position:absolute;right:12px;background:none;border:none;padding:4px;cursor:pointer;color:var(--muted);display:flex;align-items:center;line-height:1}.password-toggle:hover{color:var(--text)}.field-error{display:block;margin-top:6px;color:#a24f78;font-size:.8rem;line-height:1.4}.login-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.checkbox-row{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;width:fit-content;padding:0;margin-top:0;color:var(--muted);font-size:.86rem}.checkbox-row input{width:16px;height:16px;accent-color:var(--accent)}.checkbox-row span{white-space:nowrap}.login-actions{justify-content:stretch;gap:10px;margin-top:8px}.login-actions .button{min-width:0;flex:1 1 0}.login-switch-row{text-align:center;font-size:.83rem;color:var(--text-muted);margin-top:12px;margin-bottom:0}.login-switch-btn{background:none;border:none;font:inherit;font-size:.83rem;color:var(--accent);cursor:pointer;padding:0;font-weight:600}.login-switch-btn:hover{text-decoration:underline}.login-optional{font-weight:400;color:var(--text-muted);font-size:.8rem}.referral-input-wrap{display:flex;flex-direction:column;gap:4px}.login-form input.valid{border-color:#2da44e}.referral-badge{font-size:.78rem;font-weight:600;padding:3px 8px;border-radius:6px;width:fit-content}.referral-badge.valid{background:#e6f4ea;color:#2da44e}.referral-badge.invalid{background:#fde8e8;color:#c92a2a}.admin-settings-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.admin-settings-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-referral-list{display:flex;flex-direction:column;gap:8px}.admin-referral-row{display:flex;align-items:center;gap:8px}.admin-referral-code{width:120px!important;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.admin-referral-credits{width:80px!important}.admin-referral-unit{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.admin-referral-desc{flex:1}.admin-empty-hint{font-size:.82rem;color:var(--text-muted);margin:0}.lms-hero{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:20px}.lms-hero h2{max-width:740px;margin-top:10px;font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}.stats-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.stat-chip{padding:10px 14px;border-radius:16px;border:1px solid rgba(122,79,214,.16);background:#7a4fd60f;color:var(--muted)}.stat-chip strong{display:block;font-size:.9rem;font-weight:700}.pill,.mini-label,.tag{display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-size:.78rem}.pill{padding:8px 12px;background:var(--accent-soft);color:var(--accent)}.mini-label,.tag{padding:7px 10px;background:#1f1c170d;color:var(--muted)}.mini-link{align-self:center;padding:10px 14px;border-radius:999px;background:#7a4fd614;color:var(--accent);font-weight:700;font-size:.86rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.button{padding:12px 18px;border-radius:999px;font-weight:700;font-size:.92rem}.button.primary{color:#fff;background:var(--accent)}.button.secondary{border:1px solid var(--line);background:#ffffff8a}.button.danger{color:#fff;background:#a24f78}.button.tiny{padding:9px 12px;font-size:.78rem}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(122,79,214,.16);background:#7a4fd614;color:var(--accent);font:inherit;font-size:1.4rem;font-weight:700;cursor:pointer}.hero-panel{display:grid;gap:12px}.panel-card,.stat-card,.schedule-item,.thread-item,.course-item{border:1px solid var(--line);border-radius:22px;background:#fff9}.panel-card{padding:18px}.panel-card.accent{color:#fff;background:linear-gradient(160deg,#7a4fd6,#b389ff)}.panel-card span,.course-top span,.schedule-item span,.thread-meta span,.summary span{display:block;font-size:.8rem;color:inherit;opacity:.72}.panel-card strong,.stat-card strong{display:block;margin-top:10px;font-size:1.2rem;letter-spacing:-.03em}.panel-card p,.schedule-item em,.course-item p,.thread-item p{margin-top:8px;color:var(--muted);line-height:1.6}.section-head{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:18px}.section-head h3{margin-top:6px;font-size:1.35rem;letter-spacing:-.04em}.course-list,.thread-list,.profile-stack,.summary{display:grid;gap:12px}.profile-subnav{display:flex;flex-wrap:wrap;gap:10px}.profile-subnav a{padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#ffffffa3}.profile-subnav a.active{color:var(--text);background:#7a4fd61f}.inline-profile-panel{margin-top:4px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#ffffff94}.profile-setting-list{display:grid;gap:14px}.profile-overview{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.profile-photo-wrap{display:grid;gap:14px;justify-items:center}.profile-photo{width:160px;height:160px;border-radius:999px;object-fit:cover;object-position:center;border:0;padding:5px;background:linear-gradient(135deg,#f0e6ff,#b28aff 45%,#7d4fe1);box-shadow:0 18px 38px #7a4fd633}.profile-upload{position:relative;overflow:hidden}.profile-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.profile-detail-panel{min-width:0}.profile-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.profile-info-grid,.profile-form-grid,.subscription-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-info-grid>div,.subscription-detail-grid>div{min-width:0;border:1px solid var(--line);border-radius:16px;background:#ffffffb3;padding:16px}.profile-info-grid span,.subscription-detail-grid span,.subscription-status-card span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:8px}.profile-info-grid strong,.subscription-detail-grid strong,.subscription-status-card strong{display:block;color:var(--text);font-size:1rem;overflow-wrap:anywhere}.profile-form-grid label{display:grid;gap:8px;color:var(--muted);font-size:.88rem}.profile-form-grid input,.profile-form-grid select{width:100%;border:1px solid var(--line);border-radius:14px;background:#ffffffdb;color:var(--text);padding:12px 14px;font:inherit}.subscription-layout{display:grid;gap:16px}.subscription-status-card{border:1px solid rgba(122,79,214,.18);border-radius:18px;background:linear-gradient(135deg,#7a4fd61f,#ffffffc7);padding:18px}.subscription-status-card strong{font-size:1.5rem;letter-spacing:0}.subscription-status-card p{margin-top:10px;color:var(--muted);line-height:1.6}.subscription-actions{display:flex;flex-wrap:wrap;gap:10px}.course-item,.thread-item{padding:18px}.course-item h4,.thread-item h4{margin-top:12px;font-size:1.05rem;letter-spacing:-.03em}.course-top,.thread-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress{color:var(--muted);font-size:.82rem}.progress-bar{height:9px;margin-top:16px;border-radius:999px;background:#1f1c1714;overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7a4fd6,#c7a6ff)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:14px}.day{display:grid;gap:8px;justify-items:center;padding:14px 10px;border-radius:20px;background:#ffffff8a;border:1px solid var(--line)}.day span{color:var(--muted);font-size:.8rem}.day strong{font-size:1.1rem}.day.active{background:#215c4e1c;border-color:#215c4e3d}.schedule-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.schedule-item strong{display:block;margin-top:6px}.schedule-item em{flex-shrink:0;font-style:normal;color:var(--accent)}.schedule-item p,.event-item p{margin-top:8px;color:var(--muted)}.calendar-redesign{width:100%;min-height:780px;padding:clamp(24px,3.4vw,42px);border-radius:34px;background:transparent;box-shadow:none;color:var(--text)}.calendar-redesign-hero{display:flex;align-items:start;justify-content:space-between;gap:28px;margin-bottom:42px}.calendar-redesign-title h2{margin:0 0 8px;color:var(--text);font-size:clamp(2rem,4vw,3.35rem);line-height:1;letter-spacing:-.055em}.calendar-redesign-title p{margin:0;color:var(--muted);font-size:1.02rem}.calendar-redesign-stats{display:flex;align-items:center;gap:10px;flex-shrink:0}.calendar-view-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;background:#7a4fd614;border-radius:8px}.calendar-view-toggle button{padding:6px 14px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.calendar-view-toggle button:hover{background:#7a4fd61a;color:#5a2fc2}.calendar-view-toggle button.active{background:#fff;color:#3d1a8a;font-weight:600;box-shadow:0 1px 4px #0000001a}.calendar-redesign-stats>div{min-width:120px;padding-left:28px;border-left:1px solid rgba(122,79,214,.16)}.calendar-redesign-stats span{display:block;color:var(--muted);font-size:.92rem}.calendar-redesign-stats strong{display:block;margin-top:8px;color:var(--accent);font-size:2.25rem;line-height:1;letter-spacing:-.045em}.calendar-add-button{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border:0;border-radius:999px;background:linear-gradient(135deg,#6c3fc5,#4e22a0);color:#f0e8ff;font:inherit;font-size:.875rem;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 4px 16px #4e22a059;transition:filter .15s,box-shadow .15s}.calendar-add-button:hover{filter:brightness(1.12);box-shadow:0 6px 22px #4e22a073}.calendar-add-button span{font-size:1.25rem;line-height:1}.calendar-book-button{display:flex;align-items:center;gap:8px;padding:10px 22px;border-radius:999px;border:none;background:linear-gradient(135deg,#167f72,#0e5e54);color:#fff;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #167f7259;transition:filter .15s,box-shadow .15s}.calendar-book-button:hover{filter:brightness(1.1);box-shadow:0 6px 20px #167f7273}.aem-title-static{font-size:1.1rem;font-weight:700;color:#1a1a2e}.booking-success{padding:32px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.booking-success-icon{font-size:2.5rem}.booking-success h3{font-size:1.1rem;font-weight:700;margin:0}.booking-success p{font-size:.88rem;color:var(--muted);margin:0;max-width:320px}.booking-success-wa-label{font-size:.82rem;color:var(--muted);margin-top:4px!important}.aem-btn-wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;font-size:.9rem;font-weight:600;padding:10px 22px;border-radius:10px;text-decoration:none;transition:background .18s}.aem-btn-wa:hover{background:#1ebe5c}.admin-inbox-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#e04c4c;color:#fff;font-size:.7rem;font-weight:700;padding:0 4px;margin-left:6px;vertical-align:middle}.admin-inbox{padding:16px}.inbox-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid var(--line);padding-bottom:0}.inbox-tab{position:relative;padding:10px 20px;border:none;background:none;color:var(--muted);font-size:.92rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:8px}.inbox-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.inbox-tab-badge{background:var(--accent);color:#fff;border-radius:20px;font-size:.72rem;font-weight:700;padding:1px 7px;min-width:18px;text-align:center}.topup-req-detail{display:flex;gap:20px;flex-wrap:wrap;background:#7c4dff0f;border-radius:10px;padding:12px 16px;margin:8px 0}.topup-req-pkg{display:flex;flex-direction:column;gap:2px}.topup-req-label{font-size:.75rem;color:var(--muted)}.topup-req-credits{color:var(--accent)}.topup-req-amount{color:#22a35a}.topup-reject-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.admin-inbox-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.admin-inbox-card{border:1.5px solid #ebebeb;border-radius:14px;padding:16px 18px;background:#fff;display:grid;gap:8px}.admin-inbox-card.approved{border-color:#c6ede9;background:#f5fbfa}.admin-inbox-card.rejected{border-color:#f5d5d5;background:#fff8f8;opacity:.75}.admin-inbox-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-inbox-identity{display:flex;align-items:center;gap:12px;min-width:0}.admin-inbox-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;object-fit:cover;object-position:center;background:var(--line)}.admin-inbox-user{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-inbox-user strong{font-size:.95rem}.admin-inbox-username{font-size:.78rem;color:#888}.admin-inbox-status{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:999px;flex-shrink:0}.admin-inbox-status.pending{background:#fff3cd;color:#856404}.admin-inbox-status.approved{background:#d1f5ef;color:#0e6e60}.admin-inbox-status.rejected{background:#fde8e8;color:#b02020}.admin-inbox-topic{font-size:1rem;font-weight:600;color:#1a1a2e}.admin-inbox-meta{display:flex;gap:16px;font-size:.82rem;color:#666;flex-wrap:wrap}.admin-inbox-created{margin-left:auto;color:#aaa}.admin-inbox-note{font-size:.85rem;color:#666;font-style:italic;margin:0;padding:8px 12px;background:#f9f9f9;border-radius:8px}.admin-inbox-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.admin-inbox-approve{flex:1;padding:9px 16px;border:none;border-radius:10px;background:#167f72;color:#fff;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s}.admin-inbox-approve:hover:not(:disabled){background:#0e5e54}.admin-inbox-approve:disabled{opacity:.6;cursor:not-allowed}.admin-inbox-reject{padding:9px 16px;border:1.5px solid #e04c4c;border-radius:10px;background:transparent;color:#e04c4c;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.admin-inbox-reject:hover:not(:disabled){background:#e04c4c;color:#fff}.admin-inbox-reject:disabled{opacity:.5;cursor:not-allowed}.admin-inbox-approved-note{font-size:.8rem;color:#0e6e60;margin:0}.aem-overlay{position:fixed;inset:0;background:#0a051966;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:900;padding:16px}.aem-modal{background:#fff;border-radius:20px;width:100%;max-width:460px;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px #00000024;display:flex;flex-direction:column}.aem-hero{display:flex;align-items:flex-start;gap:14px;padding:24px 24px 16px;border-bottom:1px solid #f2eeff}.aem-hero-icon{width:44px;height:44px;border-radius:12px;background:#f3eeff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.aem-hero-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.aem-title-input{border:0;outline:none;font:inherit;font-size:1.2rem;font-weight:700;color:#1a0a3c;background:transparent;width:100%;padding:0;letter-spacing:-.02em}.aem-title-input::placeholder{color:#c8bfe0;font-weight:600}.aem-subtitle{font-size:.78rem;color:#9b85c4;font-weight:500}.aem-close{width:30px;height:30px;border-radius:50%;border:0;background:#f4f0fb;color:#7a6899;font-size:.72rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;margin-top:2px}.aem-close:hover{background:#e8deff}.aem-form{display:flex;flex-direction:column;gap:8px;padding:20px 24px 24px}.aem-section-label{font-size:.72rem;font-weight:600;color:#9b85c4;text-transform:uppercase;letter-spacing:.06em;margin:8px 0 4px}.aem-section-label:first-child{margin-top:0}.aem-field-box{display:flex;align-items:center;gap:10px;border:1.5px solid #ece6f8;border-radius:12px;padding:11px 14px;background:#fdfcff;transition:border-color .15s}.aem-field-box:focus-within{border-color:#7a4fd6;background:#fff}.aem-field-box--time{flex:1}.aem-field-box--textarea{align-items:flex-start;padding-top:12px}.aem-field-icon{font-size:1rem;flex-shrink:0;line-height:1;opacity:.6}.aem-input{border:0;outline:none;font:inherit;font-size:.88rem;color:#1a0a3c;background:transparent;width:100%;padding:0}.aem-input::placeholder{color:#c0b2d8}.aem-input-full{flex:1}.aem-input[type=select],select.aem-input{appearance:none;-webkit-appearance:none;cursor:pointer}textarea.aem-input{resize:none;min-height:60px;line-height:1.5}.aem-time-row{display:flex;align-items:center;gap:8px}.aem-time-arrow{font-size:1rem;color:#b0a0cc;flex-shrink:0}.aem-two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.aem-field-stack{display:flex;flex-direction:column;gap:4px}.aem-mini-label{font-size:.7rem;font-weight:600;color:#b0a0cc;text-transform:uppercase;letter-spacing:.05em;padding-left:2px}.aem-error{font-size:.8rem;color:#c0392b;background:#fff5f5;border-radius:8px;padding:8px 12px;margin:0}.aem-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px}.aem-btn-cancel{padding:10px 20px;border:1.5px solid #ece6f8;border-radius:10px;background:transparent;color:#7a6899;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.aem-btn-cancel:hover{background:#f6f2ff;border-color:#d4c8f0}.aem-btn-submit{padding:10px 24px;border:0;border-radius:10px;background:#3d1a8a;color:#ede5ff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.aem-btn-submit:hover:not(:disabled){background:#4e22a0}.aem-btn-submit:disabled{opacity:.45;cursor:not-allowed}.add-event-cancel{padding:10px 20px;border:1.5px solid #ece6f8;border-radius:10px;background:transparent;color:#7a6899;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.add-event-cancel:hover{background:#f6f2ff}.add-event-error{font-size:.8rem;color:#c0392b;background:#fff5f5;border-radius:8px;padding:8px 12px;margin:0}.calendar-redesign-layout{display:grid;grid-template-columns:minmax(250px,310px) minmax(0,1fr);gap:24px;align-items:stretch}.calendar-redesign-sidebar{display:grid;gap:24px;align-content:start}.mini-month-card,.calendar-check-card{border-radius:28px;background:linear-gradient(145deg,#eee4ffeb,#cab2ffc7);color:#fff;box-shadow:inset 0 1px #ffffff70,0 18px 42px #7a4fd61f}.mini-month-card{min-height:0;padding:20px}.mini-month-head,.calendar-card-head,.calendar-board-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.mini-month-head strong,.calendar-board-head strong{color:#4d3673;font-size:1.3rem;letter-spacing:-.035em}.mini-month-head button,.calendar-board-head button{width:28px;height:28px;border:0;border-radius:999px;background:#7a4fd61f;color:#6e4ab8;font-weight:800}.mini-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px 7px;margin-top:20px;text-align:center}.mini-month-day{color:#6c5a8d;font-size:.76rem;font-weight:700}.mini-month-date{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;color:#6c5a8d;font-size:.8rem;justify-self:center}.mini-month-date{position:relative}.mini-month-date.has-event:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:999px;background:#7a4fd6}.mini-month-date.active.has-event:after{background:#ffffffb3}.mini-month-date.active{background:#7a4fd6;color:#fff;font-weight:900}.mini-month-date.today{outline:2px solid #7a4fd6;outline-offset:-2px;color:#7a4fd6;font-weight:900}.calendar-check-card{overflow:hidden;background:#fffffff5;color:var(--text)}.calendar-card-head{padding:20px 22px;border-bottom:1px solid rgba(31,28,23,.08)}.calendar-card-head h3{margin:0;color:#33284a;font-size:1.15rem}.calendar-card-head span{color:#5d4e80b8;font-size:.9rem;font-weight:700}.calendar-check-add{width:32px;height:32px;border:0;border-radius:999px;background:#7a4fd61f;color:var(--accent);font:inherit;font-size:1.15rem;font-weight:900;line-height:1;cursor:pointer}.calendar-checklist-input-row{display:flex;gap:8px;padding:12px 16px 8px;border-bottom:1px solid rgba(31,28,23,.07)}.calendar-checklist-input{flex:1;border:1.5px solid rgba(122,79,214,.25);border-radius:8px;padding:6px 10px;font:inherit;font-size:.85rem;outline:none;background:#faf8ff}.calendar-checklist-input:focus{border-color:#7a4fd6}.calendar-checklist-add-btn{width:32px;height:32px;border-radius:8px;border:none;background:#7a4fd6;color:#fff;font-size:1.2rem;cursor:pointer;flex-shrink:0;display:grid;place-items:center}.calendar-checklist-add-btn:hover{background:#6b3ec7}.calendar-checklist-empty{padding:16px 22px;font-size:.82rem;color:#5d4e8080;text-align:center}.calendar-checklist-remove-btn{border:none;background:transparent;color:#5d4e8059;cursor:pointer;font-size:.75rem;padding:4px;flex-shrink:0;line-height:1}.calendar-checklist-remove-btn:hover{color:#e04c4c}.calendar-check-tick{width:20px;height:20px;border:2px solid rgba(132,128,191,.55);border-radius:999px;display:inline-grid;place-items:center;color:#fff;font-size:.72rem;flex-shrink:0;background:transparent;cursor:pointer;padding:0}.calendar-check-tick.checked{background:#7a4fd6;border-color:#7a4fd6}.calendar-check-list{display:grid}.calendar-check-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:0;border-bottom:1px solid rgba(31,28,23,.07);background:transparent;font:inherit;text-align:left}.calendar-check-item:last-child{border-bottom:0}.calendar-check-item>span{width:20px;height:20px;border:2px solid rgba(132,128,191,.55);border-radius:999px;display:inline-grid;place-items:center;color:#fff;font-size:.72rem;flex-shrink:0}.calendar-check-item>span.checked{background:#7a4fd6;border-color:#7a4fd6}.calendar-check-item-meta{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.calendar-check-item-meta small{color:#5d4e8099;font-size:.72rem}.calendar-check-item-meta strong.done{text-decoration:line-through;opacity:.5}.calendar-event-popup{position:fixed;z-index:999;min-width:240px;max-width:300px;padding:18px 20px;border-radius:20px;background:#fff;box-shadow:0 20px 60px #4b428138,0 4px 16px #00000014;display:grid;gap:10px;pointer-events:auto;animation:popupIn .15s ease}@keyframes popupIn{0%{opacity:0;transform:scale(.92) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.calendar-event-popup-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-event-popup-title strong{font-size:1rem;color:#2f2841}.calendar-event-popup-title button{width:26px;height:26px;border:0;border-radius:999px;background:#7a4fd61a;color:#7a4fd6;font-size:1rem;line-height:1;cursor:pointer;flex-shrink:0}.calendar-event-popup-row{display:flex;align-items:center;gap:8px;color:#5d4e80c7;font-size:.82rem}.calendar-event-popup-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.calendar-event-popup-dot.lime{background:#f5d000}.calendar-event-popup-dot.purple{background:#7a4fd6}.calendar-event-popup-actions{display:flex;gap:8px;padding-top:10px;border-top:1px solid #f0eaff;margin-top:4px}.popup-action-edit,.popup-action-delete{flex:1;padding:7px 0;border-radius:8px;border:1.5px solid transparent;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.popup-action-edit{background:#f3eeff;border-color:#e0d4ff;color:#5a2fc2}.popup-action-edit:hover{background:#e9e0ff}.popup-action-delete{background:#fff0f0;border-color:#ffd5d5;color:#c0392b}.popup-action-delete:hover{background:#ffe0e0}.delete-confirm-modal{background:#fff;border-radius:20px;width:100%;max-width:360px;padding:36px 32px 28px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;box-shadow:0 24px 64px #0000002e}.delete-confirm-icon{font-size:2.5rem;line-height:1}.delete-confirm-modal h3{font-size:1.05rem;font-weight:700;color:#1a0a3c;margin:0}.delete-confirm-modal p{font-size:.85rem;color:#6b5b95;margin:0 0 8px}.delete-confirm-actions{display:flex;gap:10px;width:100%;justify-content:center}.delete-confirm-btn{padding:10px 26px;border:0;border-radius:999px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font:inherit;font-size:.875rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #c0392b4d;transition:filter .15s}.delete-confirm-btn:hover:not(:disabled){filter:brightness(1.1)}.delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.calendar-check-item strong{color:#392f4f;font-size:.9rem}.calendar-check-item strong.done{color:#392f4f73;text-decoration:line-through}.calendar-board{min-width:0;overflow:hidden;border-radius:30px;background:#fffffffa;color:var(--text)}.calendar-board-head{padding:24px 28px;background:linear-gradient(135deg,#e8dcfff5,#c4aef5d1)}.calendar-board-head div{display:inline-flex;align-items:center;gap:10px}.calendar-board-head button:first-child{width:auto;padding:0 16px;height:32px;color:#6e4ab8;background:#7a4fd61f;font-size:.85rem;font-weight:700;letter-spacing:.01em}.calendar-week-row{display:grid;grid-template-columns:80px repeat(var(--calendar-columns, 7),minmax(0,1fr));align-items:center;min-height:96px;padding:0 24px;border-bottom:1px solid rgba(31,28,23,.08);color:#5d4e8099}.calendar-week-row>span{font-size:.86rem}.calendar-week-row div{display:grid;justify-items:center;gap:4px}.calendar-week-row strong{color:#5d4e8094;font-size:1.65rem;letter-spacing:-.04em}.calendar-week-row div.active strong,.calendar-week-row div.active span{color:#33284a}.calendar-timeline{position:relative;height:320px;overflow:hidden}.calendar-time-row{position:absolute;left:0;right:0;display:grid;grid-template-columns:80px minmax(0,1fr);padding:0 24px;transform:translateY(-50%)}.calendar-time-row>span{padding-top:26px;color:#5d4e80a3;font-size:.9rem}.calendar-row-line{border-top:1px solid rgba(31,28,23,.08)}.calendar-event-chip{position:absolute;top:var(--event-top);left:var(--event-left);width:var(--event-width);min-height:68px;height:var(--event-height);max-height:118px;display:grid;align-content:start;gap:5px;padding:14px 14px 10px;border-radius:14px;color:#fff;box-shadow:0 16px 30px #4b42811f;z-index:2}.calendar-now-line{position:absolute;left:24px;right:24px;height:0;border-top:2px solid rgba(122,79,214,.72);z-index:4;pointer-events:none}.calendar-now-line:before{content:"";position:absolute;left:78px;top:-6px;width:12px;height:12px;border-radius:999px;background:#7a4fd6;box-shadow:0 0 0 5px #7a4fd61f}.calendar-now-line span{position:absolute;left:24px;top:5px;padding:5px 9px;border-radius:999px;background:#7a4fd6;color:#fff;font-size:.72rem;font-weight:900}.calendar-event-chip.lime{background:linear-gradient(135deg,#fff3a3,#ffe066);color:#5a4200}.calendar-event-chip.purple{background:linear-gradient(135deg,#cbbef5,#a78be0);color:#2e1f5e}.calendar-event-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.calendar-event-chip span,.calendar-event-chip small{font-size:.78rem}.calendar-month-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid rgba(31,28,23,.08);background:#ffffffeb}.calendar-month-day-head{padding:16px 14px;border-right:1px solid rgba(31,28,23,.07);border-bottom:1px solid rgba(31,28,23,.08);color:#5d4e80c7;font-size:.84rem;font-weight:800;text-align:center}.calendar-month-day-head:nth-child(7n){border-right:0}.calendar-month-cell{min-height:132px;padding:12px;border-right:1px solid rgba(31,28,23,.07);border-bottom:1px solid rgba(31,28,23,.07);background:#ffffffb8}.calendar-month-cell:nth-child(7n){border-right:0}.calendar-month-cell>span{display:inline-grid;width:30px;height:30px;place-items:center;border-radius:999px;color:#3e3456;font-weight:900}.calendar-month-cell.muted{background:#f7f2ff6b}.calendar-month-cell.muted>span{color:#5d4e8057}.calendar-month-cell.active>span{background:#7a4fd6;color:#fff}.calendar-month-cell.today>span{background:#7a4fd626;color:#7a4fd6;font-weight:900;outline:2px solid #7a4fd6;outline-offset:-2px}.calendar-month-events{display:grid;gap:7px;margin-top:8px}.calendar-month-event{display:grid;gap:3px;padding:8px 10px;border-radius:12px;box-shadow:0 10px 22px #4b42811a}.calendar-month-event.lime{background:linear-gradient(135deg,#fff3a3,#ffe066);color:#5a4200}.calendar-month-event.purple{background:linear-gradient(135deg,#cbbef5,#a78be0);color:#2e1f5e}.calendar-month-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.calendar-month-event small,.calendar-month-events em{color:inherit;font-size:.68rem;opacity:.82}.calendar-month-events em{color:#5d4e80b8;font-style:normal;font-weight:800}.calendar-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:22px 24px 26px;border-top:1px solid rgba(31,28,23,.08)}.calendar-event-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#7a4fd60f}.calendar-event-row strong{display:block;color:#2f2841;font-size:.9rem}.calendar-event-row p,.calendar-event-row time{margin:0;color:#5d4e80c2;font-size:.78rem}.calendar-dot{width:11px;height:11px;border-radius:999px}.calendar-dot.lime{background:#f5d000}.calendar-dot.purple{background:#7a4fd6}.stat-card{padding:18px}.summary{margin-top:4px}.summary>div{padding:18px;border-radius:20px;background:#ffffff94;border:1px solid var(--line)}.summary strong{display:block;margin-top:8px;font-size:1rem;line-height:1.5}.compact{margin-bottom:0}.lesson-list,.asset-list,.event-list{display:grid;gap:12px}.lesson-item,.asset-card,.event-item{padding:16px 18px;border-radius:20px;border:1px solid var(--line);background:#ffffff9e}.lesson-item{width:100%;text-align:left;cursor:pointer;font:inherit}.lesson-item.active{border-color:#7a4fd647;background:#7a4fd614;box-shadow:0 0 0 4px #7a4fd60d}.lesson-item,.event-item{display:flex;align-items:center;justify-content:space-between;gap:18px}.lesson-item span,.asset-card span,.event-item span{display:block;color:var(--muted);font-size:.8rem}.lesson-item strong,.asset-card strong,.event-item strong{display:block;margin-top:6px}.lesson-item em{font-style:normal;color:var(--accent);white-space:nowrap}.video-card{display:grid;gap:14px;transition:transform .48s cubic-bezier(.22,1,.36,1),max-width .48s cubic-bezier(.22,1,.36,1),margin-inline .48s cubic-bezier(.22,1,.36,1)}.video-actions{display:flex;justify-content:flex-end}.theater-toggle.active{background:var(--accent);color:#fff}.video-stage{position:relative;overflow:hidden;border-radius:12px;background:#f0f0f0;transition:border-radius .3s ease}.video-stage.embed{background:#f0f0f0}.video-close{position:absolute;top:14px;right:14px;z-index:4;width:38px;height:38px;border:0;border-radius:999px;background:#ffffffe6;color:var(--accent);font:inherit;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 10px 22px #1f1c172e;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1)}.video-close:hover{transform:scale(1.06)}.video-embed-wrap{position:relative;width:100%;aspect-ratio:16 / 9;background:#f0f0f0;border-radius:12px;overflow:hidden}body.dark .video-embed-wrap{background:#1a1a2e}.lms-shell.theater-active{position:relative}.lms-shell.theater-active .lms-main{position:relative;z-index:3;width:100%;padding-top:18px;grid-column:1 / -1}.lms-shell.theater-active .lms-sidebar{position:absolute;opacity:0;pointer-events:none;max-width:0;width:0;overflow:hidden}.lms-shell.theater-active .lms-video-wrap{margin-inline:auto;width:min(100%,1400px)}.lms-shell.theater-active .video-stage{border-radius:0;box-shadow:0 30px 90px #00000047}.lms-shell.theater-active .lms-overview,.lms-shell.theater-active .reviews-panel,.lms-shell.theater-active .tabs-shell{position:relative;z-index:3}.video-player{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#120f1b}.video-embed{display:block;width:100%;aspect-ratio:16 / 9;border:0;background:#000}.video-embed-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#e9dcffe6,#7a4fd633)}.video-embed-card{display:grid;gap:10px;max-width:320px;padding:18px;border-radius:20px;background:#ffffffe0;box-shadow:0 16px 36px #1f1c1724;text-align:center}.video-embed-card strong{font-size:1.05rem}.video-embed-card p{color:var(--muted);line-height:1.6}.lms-shell.theater-active .video-stage{box-shadow:0 24px 70px #00000059;transform:translateY(-2px)}.lms-shell.theater-active .video-stage.embed{box-shadow:0 24px 70px #00000073}.video-overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.play-button{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:#ffffffb3;color:var(--accent);font-size:1.6rem;box-shadow:0 14px 30px #1f1c1729;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.video-overlay.youtube-gate{pointer-events:all;cursor:pointer;background:#111;min-height:320px}.youtube-gate-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.video-overlay.youtube-gate:hover .play-button{transform:scale(1.08);background:#ffffffe6}.video-fallback{display:grid;gap:8px;min-height:320px;padding:28px;place-content:center;text-align:center;color:#fff}.video-fallback strong{font-size:1.05rem}.video-fallback p{color:#ffffffd1;line-height:1.6}.tabs-shell{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tabs-row{display:flex;gap:20px;padding-top:8px;border-bottom:1px solid rgba(31,28,23,.08);flex:1}.tab-item{padding:12px 2px 14px;border:0;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.tab-item.active{color:var(--text);position:relative}.tab-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:999px;background:var(--accent)}.summary-grid{display:grid;grid-template-columns:120px 1fr 1fr;gap:20px;align-items:start}.overview-panel,.reviews-panel{display:grid;gap:18px}.summary-empty{min-height:12px}.review-trigger{width:fit-content;padding:10px 14px;font-size:.88rem}.review-flyout-wrap{position:relative;flex-shrink:0;width:fit-content;padding-top:8px}.summary-title{font-size:.92rem;color:var(--text)}.summary-stats{display:grid;gap:12px;color:var(--muted)}.summary-stats div{display:flex;align-items:center;gap:8px}.reviews-form{display:grid;gap:12px;padding:18px;border:1px solid rgba(31,28,23,.08);border-radius:22px;background:#ffffffa8}.reviews-form label{display:grid;gap:8px;color:var(--muted);font-size:.9rem}.reviews-form input,.reviews-form select,.reviews-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffffb8;color:var(--text);padding:14px 16px;font:inherit;outline:none}.reviews-form input:focus,.reviews-form select:focus,.reviews-form textarea:focus{border-color:#7a4fd666;box-shadow:0 0 0 4px #7a4fd614}.review-list{display:grid;gap:12px}.review-item{display:grid;gap:10px;padding:18px;border:1px solid rgba(31,28,23,.08);border-radius:20px;background:#fff9}.review-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.review-head span{color:var(--accent);letter-spacing:.02em}.review-item p{color:var(--muted);line-height:1.7}.review-empty{color:var(--muted);background:#7a4fd60a}.lesson-status-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap}.review-popover{position:absolute;right:0;left:auto;z-index:20;width:min(640px,92vw);max-height:min(72vh,720px);overflow:auto;border:1px solid rgba(31,28,23,.08);border-radius:28px;background:#fffffff0;box-shadow:0 28px 80px #1f1c1738;padding:22px}.review-popover.down{top:calc(100% + 12px)}.review-popover.up{bottom:calc(100% + 12px)}.review-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:18px}.review-modal-head h3{margin-top:8px;font-size:1.4rem;letter-spacing:-.04em}.modal-close{width:40px;height:40px;border:0;border-radius:999px;background:#7a4fd61a;color:var(--accent);font:inherit;font-size:1.4rem;cursor:pointer}.review-modal-form{display:grid;gap:12px}.review-rating-field{display:grid;gap:8px}.review-rating-label{color:var(--muted);font-size:.9rem}.review-star-picker{display:flex;gap:6px}.review-star{border:0;background:transparent;padding:0;cursor:pointer;font-size:2rem;line-height:1;color:var(--line);transition:color .12s,transform .12s}.review-star:hover{transform:scale(1.12)}.review-star.active{color:#f59e0b}.review-modal-form label{display:grid;gap:8px;color:var(--muted);font-size:.9rem}.review-modal-form input,.review-modal-form select,.review-modal-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffffe0;color:var(--text);padding:14px 16px;font:inherit;outline:none}.review-modal-form input:focus,.review-modal-form select:focus,.review-modal-form textarea:focus{border-color:#7a4fd666;box-shadow:0 0 0 4px #7a4fd614}body.dark .review-popover{background:#161a30;border-color:var(--line);box-shadow:0 28px 80px #0000008c}body.dark .review-modal-head h3{color:var(--text)}body.dark .review-user-info{background:#7a4fd61f;border-color:var(--line)}body.dark .review-modal-form input,body.dark .review-modal-form select,body.dark .review-modal-form textarea{background:#080b1ad9;border-color:var(--line);color:var(--text)}body.dark .review-modal-form option{background:#14182d;color:var(--text)}body.dark .review-modal-form input:focus,body.dark .review-modal-form select:focus,body.dark .review-modal-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px #7a4fd62e}.lms-sidebar{background:#fafafa;display:flex;flex-direction:column;max-height:100vh;overflow-y:auto;position:sticky;top:0}.lms-sidebar-header{padding:16px 18px 14px;border-bottom:1px solid #f0f0f0;background:#fff;position:sticky;top:0;z-index:2}.lms-sidebar-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.lms-sidebar-title-row h3{font-size:.9rem;font-weight:700;margin:0;line-height:1.3}.lms-edit-toggle{font:inherit;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--fg);cursor:pointer;white-space:nowrap}.lms-edit-toggle.active{background:#167f72;color:#fff;border-color:#167f72}.lms-progress-bar-wrap{display:grid;gap:5px}.lms-progress-bar-track{height:5px;border-radius:99px;background:#e5e5e5;overflow:hidden}.lms-progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#167f72,#2cc0b0);transition:width .4s ease}.lms-progress-label{font-size:.72rem;color:var(--muted);font-weight:600}.lms-sidebar-section{border-bottom:1px solid #f0f0f0}.lms-sidebar-section.quiz-section{border-bottom:none}.lms-sidebar-section-head{display:flex;align-items:center;gap:10px;padding:12px 16px 10px;background:#fff;border-bottom:1px solid #f5f5f5}.lms-sidebar-section-icon{font-size:.85rem;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#167f721a;border-radius:6px;flex-shrink:0}.lms-sidebar-section-icon.quiz{background:#7a4fd61a}.lms-sidebar-section-head>div{flex:1;min-width:0}.lms-sidebar-section-head strong{display:block;font-size:.8rem;font-weight:700}.lms-sidebar-section-head span{display:block;font-size:.7rem;color:var(--muted);margin-top:1px}.lms-add-lesson-btn{font:inherit;font-size:.8rem;font-weight:700;width:24px;height:24px;border-radius:6px;border:1px dashed #167f72;background:transparent;color:#167f72;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.lms-lesson-list{padding:4px 0;display:grid;gap:0}.lms-lesson-item{display:flex;align-items:center;border-bottom:1px solid #f5f5f5;position:relative}.lms-lesson-item:last-child{border-bottom:none}.lms-lesson-item.locked{opacity:.4}.lms-lesson-btn{flex:1;min-width:0;display:flex;align-items:center;gap:14px;padding:12px 12px 12px 16px;border:none;border-radius:0;background:transparent;font:inherit;color:var(--fg);text-align:left;cursor:pointer;transition:background .1s}.lms-lesson-btn:hover:not(:disabled){background:#f9f9f9}.lms-lesson-item.active .lms-lesson-btn{background:#f5fbfa}.lms-lesson-btn:disabled{cursor:not-allowed}.lms-play-icon{width:36px;height:36px;border-radius:10px;border:1.5px solid #d5d5d5;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#aaa;flex-shrink:0;background:#fff;transition:all .15s;padding-left:2px}.lms-play-icon.active{background:#167f72;border-color:#167f72;color:#fff}.lms-play-icon.done{background:#e8f8f5;border-color:#167f72;color:#167f72}.lms-lesson-info{flex:1;min-width:0}.lms-lesson-info strong{display:block;font-size:.85rem;font-weight:600;line-height:1.3;color:var(--fg)}.lms-lesson-info span{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.lms-lesson-duration-right{font-size:.7rem;color:var(--muted);white-space:nowrap;flex-shrink:0}.lms-lesson-edit-bar{display:flex;gap:4px;padding:0 8px 6px 42px}.lms-lesson-edit-bar button{font:inherit;font-size:.68rem;font-weight:600;padding:3px 7px;border-radius:5px;border:1px solid var(--line);background:#fff;color:var(--fg);cursor:pointer}.lms-lesson-edit-bar button.danger{color:#c0392b;border-color:#c0392b33}.lms-lesson-edit-bar button:disabled{opacity:.3;cursor:not-allowed}.quiz-btn.unlocked .lms-lesson-check{border-color:#7a4fd6;color:#7a4fd6}.quiz-btn.unlocked .lms-lesson-check.done{background:#7a4fd6;border-color:#7a4fd6;color:#fff}.lms-quiz-arrow{font-size:.9rem;color:#7a4fd6;flex-shrink:0}.asset-section{display:grid;gap:12px}.asset-head{margin-bottom:0}.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-grid .asset-card{padding:16px;border-radius:20px;border:1px solid rgba(31,28,23,.08);background:#ffffffad}.asset-type{display:inline-flex;align-items:center;width:fit-content;padding:7px 10px;border-radius:999px;background:#7a4fd614;color:var(--accent);font-size:.78rem;margin-bottom:10px}.asset-grid .asset-card strong{display:block;margin-bottom:8px}.asset-grid .asset-card p{color:var(--muted);line-height:1.6}.asset-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.asset-action{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(122,79,214,.18);background:#7a4fd614;color:var(--accent);font-size:.84rem;font-weight:700}.asset-action.secondary{background:#ffffffb8;color:var(--text)}.drawer-backdrop{position:fixed;inset:0;z-index:90;background:#1f1c1747;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:flex-end;padding:18px}.side-drawer{width:min(720px,100%);height:100%;overflow:auto;border-radius:28px;border:1px solid rgba(31,28,23,.08);background:#fffffff5;box-shadow:0 28px 80px #1f1c1738;padding:22px}.assessment-drawer{width:min(860px,100%)}.save-dialog{width:min(560px,100%);align-self:center;height:auto;max-height:unset}.auth-dialog{width:min(520px,100%);align-self:center;height:auto;max-height:unset}.auth-backdrop{justify-content:center}.drawer-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:18px}.drawer-head h3{margin-top:8px;font-size:1.4rem;letter-spacing:-.04em}.dialog-copy{color:var(--muted);line-height:1.8;margin-bottom:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.form-error{padding:12px 14px;border-radius:16px;background:#a4527c14;border:1px solid rgba(164,82,124,.18);color:#a24f78;font-size:.88rem}.drawer-form{display:grid;gap:12px}.drawer-form label{display:grid;gap:8px;color:var(--muted);font-size:.9rem}.drawer-form input,.drawer-form select,.drawer-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffffe0;color:var(--text);padding:14px 16px;font:inherit;outline:none}.drawer-form input:focus,.drawer-form select:focus,.drawer-form textarea:focus{border-color:#7a4fd666;box-shadow:0 0 0 4px #7a4fd614}.upload-file-list{display:flex;flex-wrap:wrap;gap:8px}.upload-file-list span{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;background:#7a4fd614;color:var(--accent);font-size:.78rem;font-weight:700}.asset-draft-list{display:grid;gap:14px}.asset-draft-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#ffffffb8}.asset-draft-head{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.asset-draft-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-link-list{display:grid;gap:10px}.asset-link-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr) auto;gap:12px;align-items:center}.locked-note{margin-bottom:12px;padding:12px 14px;border-radius:16px;background:#7a4fd614;color:var(--accent)}.cooldown-note{background:#c8642814;color:#c86428}body.dark .cooldown-note{color:#f4a462;background:#c864281f}.cooldown-skip-btn{display:block;margin-top:10px;background:none;border:none;cursor:pointer;color:inherit;font-size:13px;padding:0;text-decoration:underline;text-underline-offset:3px;opacity:.85}.cooldown-skip-btn:hover{opacity:1}.cooldown-skip-alt-btn{width:100%;margin-top:8px;font-weight:600;letter-spacing:.02em}.assessment-result{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(122,79,214,.14);background:linear-gradient(135deg,#7a4fd61a,#ffffffe6);margin-bottom:14px}.assessment-result strong{font-size:1.8rem;letter-spacing:-.05em}.assessment-form{gap:16px}.question-row{display:flex;align-items:flex-start;gap:12px}.question-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:.82rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:14px}.question-row .question-card{flex:1;min-width:0}.question-card{display:grid;gap:12px;padding:16px;border-radius:22px;border:1px solid rgba(31,28,23,.08);background:#ffffffb8}.question-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.question-options{display:grid;grid-template-columns:1fr;gap:8px}.question-options.answer-mode{grid-template-columns:1fr}.assessment-question-copy{font-size:.95rem;line-height:1.6;color:var(--text)}.assessment-answer-option{display:flex!important;align-items:center;gap:10px!important;border:1px solid var(--line);border-radius:14px;background:#ffffffdb;padding:12px 14px}.assessment-answer-option{display:flex!important;flex-direction:row!important;align-items:center}.assessment-answer-option input{width:auto!important;flex-shrink:0;margin:0}.assessment-answer-option span{color:var(--text);font-size:.95rem}.question-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.question-card label{display:grid;gap:8px;color:var(--muted);font-size:.88rem}.question-card input,.question-card select,.question-card textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#ffffffdb;color:var(--text);padding:12px 14px;font:inherit}.video-viewer{display:grid;gap:16px}.video-frame{overflow:hidden;border-radius:24px;border:1px solid var(--line);background:linear-gradient(135deg,#7a4fd61f,#ffffffc2)}.video-frame video{display:block;width:100%;max-height:420px;background:#000}.video-description{max-width:760px;color:var(--muted);line-height:1.8}.qna-form{display:grid;gap:14px}.qna-form label{display:grid;gap:8px;font-size:.9rem;color:var(--muted)}.qna-form input,.qna-form select,.qna-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffffb3;color:var(--text);padding:14px 16px;font:inherit;outline:none}.qna-form textarea{resize:vertical}.qna-form input:focus,.qna-form select:focus,.qna-form textarea:focus{border-color:#7a4fd666;box-shadow:0 0 0 4px #7a4fd614}@media(max-width:1024px){.hero,.two-up,.three-up,.lms-grid,.community-grid,.calendar-page-grid,.page-hero{grid-template-columns:1fr;display:grid}.lms-shell,.summary-grid{grid-template-columns:1fr}.calendar-redesign-layout{grid-template-columns:1fr;gap:16px}.calendar-redesign-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.calendar-redesign-hero{margin-bottom:24px}.calendar-board-head{padding:16px 20px}.profile-overview{grid-template-columns:1fr}.profile-photo-wrap{justify-items:start}.login-shell{min-height:auto}.login-stage{min-height:580px}.login-card{width:min(460px,calc(100% - 24px))}}@media(max-width:720px){.shell{padding:16px}.topbar-nav-row{flex-direction:column;align-items:stretch}.calendar-redesign{padding:18px;border-radius:26px;min-height:unset}.calendar-redesign-hero{flex-direction:column;align-items:stretch;margin-bottom:24px;gap:16px}.calendar-redesign-stats{flex-direction:row;flex-wrap:wrap;gap:10px;align-items:center}.calendar-view-toggle{flex:1;justify-content:space-between;gap:6px}.calendar-redesign-layout{grid-template-columns:1fr;gap:16px}.calendar-redesign-sidebar{grid-template-columns:1fr 1fr;gap:14px;align-items:start}.mini-month-card,.calendar-check-card{min-height:0}.calendar-month-cell{min-height:56px;padding:4px 6px}.calendar-month-cell>span{font-size:.82rem}.calendar-month-event{font-size:.68rem;padding:1px 4px}.calendar-board-head{padding:16px 18px}.calendar-week-row{grid-template-columns:56px repeat(var(--calendar-columns, 7),minmax(0,1fr));min-height:72px;padding:0 12px}.calendar-view-toggle button{min-width:0;flex:1 1 0;padding-inline:12px}.calendar-redesign-stats>div{padding-left:0;border-left:0}.calendar-redesign-layout,.calendar-event-list{grid-template-columns:1fr}.calendar-week-row{grid-template-columns:64px repeat(var(--calendar-columns, 7),minmax(76px,1fr));overflow-x:auto}.calendar-time-row{grid-template-columns:64px minmax(520px,1fr);overflow-x:auto}.calendar-month-board{grid-template-columns:repeat(7,minmax(132px,1fr));overflow-x:auto}.calendar-event-chip{min-width:118px}.account-menu-wrap{align-self:flex-end}.account-meta{max-width:min(260px,calc(100vw - 108px))}.account-meta span,.account-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar h1{font-size:clamp(1.9rem,8vw,3rem)}.floating-nav{width:100%;border-radius:24px}.floating-nav a{padding-inline:12px}.hero,.card{border-radius:24px;padding:18px}.login-page{min-height:auto;padding-block:14px;padding-top:14px}.login-shell{gap:14px;padding:14px 0 0;border-radius:24px}.login-shell-top{padding-inline:4px}.login-stage{min-height:620px;padding-top:0}.login-card{width:min(100%,460px);padding:26px 22px 24px;border-radius:22px}.login-actions{width:100%}.login-actions .button{flex:1 1 0;min-width:0}.tabs-shell{flex-direction:column}.review-flyout-wrap{width:100%;padding-top:0}.review-trigger{width:100%}.review-popover{width:100%;right:0}.calendar-grid{grid-template-columns:repeat(4,1fr)}.asset-grid{grid-template-columns:1fr}.schedule-item{align-items:start;flex-direction:column}.lms-main{padding:18px}.lms-hero{flex-direction:column}.tabs-row{gap:14px;overflow-x:auto}.summary-grid{gap:14px}.lesson-item,.event-item,.sidebar-lesson{align-items:start;flex-direction:column}.drawer-backdrop{padding:0}.side-drawer{width:100%;height:100%;border-radius:0}.question-options,.question-meta,.asset-draft-fields,.asset-link-row,.profile-info-grid,.profile-form-grid,.subscription-detail-grid{grid-template-columns:1fr}}.forum-header{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:start;margin-bottom:24px}.forum-header-left h2{font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:-.04em;margin-top:8px}.forum-header-sub{color:var(--muted);font-size:.9rem;margin-top:6px}.forum-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:260px;max-width:340px}.forum-search{width:100%;border:1px solid var(--line);border-radius:999px;background:#ffffffb3;color:var(--text);padding:10px 18px;font:inherit;font-size:.85rem;outline:none;transition:border-color .2s,box-shadow .2s}.forum-search:focus{border-color:#7a4fd666;box-shadow:0 0 0 4px #7a4fd614}.forum-category-filters{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.forum-filter-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#fff9;color:var(--muted);font:inherit;font-size:.8rem;cursor:pointer;transition:all .15s;white-space:nowrap}.forum-filter-btn:hover{border-color:#7a4fd64d;color:var(--accent)}.forum-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.forum-composer{background:#fff;border-radius:22px;border:1px solid var(--line);padding:22px 24px 16px;margin-bottom:24px;box-shadow:0 4px 20px #1f1c170d;display:flex;flex-direction:column;gap:14px}.forum-composer-top{display:flex;align-items:flex-start;gap:14px}.forum-composer-identity{flex:1;display:flex;flex-direction:column;gap:2px}.forum-composer-name{font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.forum-composer-role{font-size:.8rem;color:var(--muted)}.forum-composer-category-row{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px 4px 12px;border:1px solid var(--line);border-radius:999px;background:#fffc;cursor:pointer;width:fit-content;position:relative}.forum-composer-category-select{appearance:none;border:none;background:transparent;font:inherit;font-size:.82rem;font-weight:700;color:var(--text);cursor:pointer;outline:none;padding-right:4px}.forum-composer-chevron{color:var(--muted);pointer-events:none;flex-shrink:0}.forum-composer-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:.8rem;color:var(--muted);display:grid;place-items:center;flex-shrink:0;transition:background .15s}.forum-composer-close:hover{background:#7a4fd614}.forum-composer-fields{padding-left:60px}.forum-composer-title-input{width:100%;border:none;border-bottom:1px solid var(--line);background:transparent;font:inherit;font-size:.95rem;font-weight:600;color:var(--text);padding:6px 0;outline:none;margin-bottom:4px}.forum-composer-title-input::placeholder{color:#c0b8cc;font-weight:400}.forum-composer-body-wrap{padding-left:60px}.forum-composer-textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#0000000a;font:inherit;font-size:1rem;color:var(--text);resize:none;outline:none;line-height:1.6;padding:14px 18px}.forum-composer-textarea::placeholder{color:#c0b8cc}.forum-composer-divider{height:1px;background:var(--line);margin:0 -24px}.forum-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.forum-composer-icons{display:flex;align-items:center;gap:4px}.forum-composer-icon-btn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:background .15s,color .15s;border:none;background:transparent}.forum-composer-icon-btn:hover{background:#7a4fd614;color:var(--accent)}.forum-composer-post-btn{padding:10px 28px;border-radius:12px;border:none;background:#167f72;color:#fff;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap}.forum-composer-post-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.forum-composer-post-btn:disabled{background:#a8c5c1;cursor:default}.forum-thread-list{display:flex;flex-direction:column;gap:12px}.forum-thread-card{padding:20px 24px;border-radius:16px;border:1px solid var(--line);background:#ffffff8c;cursor:pointer;transition:background .15s,border-color .15s}.forum-thread-card:hover{background:#7a4fd60a}.forum-thread-card-top{margin-bottom:8px}.forum-thread-card-author{display:flex;align-items:center;gap:8px;margin-bottom:10px}.forum-thread-author-name{font-size:.82rem;font-weight:600;color:var(--text)}.forum-thread-card-time{font-size:.78rem;color:var(--muted)}.forum-category-tag{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.01em}.forum-thread-title{font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0 0 6px;line-height:1.35}.forum-thread-excerpt{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0 0 12px}.forum-thread-thumb{width:100%;max-width:320px;border-radius:12px;margin-bottom:12px;object-fit:cover;max-height:180px}.forum-thread-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.forum-avatar-stack{display:flex;align-items:center}.forum-avatar-xs{width:28px;height:28px;border-radius:50%;border:2px solid white;margin-left:-8px;object-fit:cover}.forum-avatar-xs:first-child{margin-left:0}.forum-avatar-sm{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.forum-avatar-md{width:46px;height:46px;border-radius:50%;object-fit:cover;flex-shrink:0}.forum-thread-stats{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.forum-dot{opacity:.5}.forum-empty{padding:48px;text-align:center;color:var(--muted)}.forum-loading{padding:64px;text-align:center;color:var(--muted);font-size:.9rem}.forum-modal-overlay{position:fixed;inset:0;background:#1f1c1766;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:200;padding:24px}.forum-modal{background:var(--card);border-radius:28px;padding:32px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow);border:1px solid var(--line)}.forum-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.forum-modal-header h3{font-size:1.1rem;font-weight:700;letter-spacing:-.03em}.forum-modal-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:.9rem;color:var(--muted);display:grid;place-items:center;transition:background .15s}.forum-modal-close:hover{background:#7a4fd614}.forum-new-thread-form{display:grid;gap:16px}.forum-new-thread-form label,.forum-reply-form label{display:grid;gap:6px;font-size:.85rem;color:var(--muted);font-weight:600}.forum-new-thread-form input,.forum-new-thread-form select,.forum-new-thread-form textarea,.forum-reply-textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffffb3;color:var(--text);padding:12px 16px;font:inherit;font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s}.forum-new-thread-form textarea{resize:vertical;min-height:130px}.forum-reply-textarea{resize:vertical;min-height:90px;border-radius:16px;margin-top:10px}.forum-new-thread-form input:focus,.forum-new-thread-form select:focus,.forum-new-thread-form textarea:focus,.forum-reply-textarea:focus{border-color:#7a4fd666;box-shadow:0 0 0 4px #7a4fd614}.forum-detail{display:flex;flex-direction:column;gap:24px}.forum-back-btn{align-self:flex-start;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer;transition:all .15s}.forum-back-btn:hover{border-color:var(--accent);color:var(--accent)}.forum-op{border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff9;display:flex;flex-direction:column;gap:14px}.forum-op-header{display:flex;align-items:center;gap:14px}.forum-op-actions{margin-left:auto;position:relative}.forum-action-menu-btn{background:none;border:none;border-radius:8px;padding:4px 8px;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--muted);letter-spacing:3px;transition:color .15s}.forum-action-menu-btn:hover{color:var(--accent)}.forum-action-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--card, #fff);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #0000001f;min-width:170px;z-index:100;overflow:hidden}.forum-action-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:11px 16px;background:none;border:none;font:inherit;font-size:.88rem;color:var(--text);cursor:pointer;text-align:left;transition:background .12s}.forum-action-menu button:hover{background:#0000000a}body.dark .forum-action-menu button:hover{background:#ffffff0f}.forum-action-menu .forum-action-delete{color:#d93025}.forum-action-menu .forum-action-delete:hover{background:#d9302514}body.dark .forum-action-menu .forum-action-delete:hover{background:#d930251f}.forum-edit-form{display:flex;flex-direction:column;gap:10px}.forum-edit-title-input{font:inherit;font-size:1.1rem;font-weight:700;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2, #f9f9f9);width:100%;box-sizing:border-box}.forum-edit-body-input{font:inherit;font-size:.9rem;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2, #f9f9f9);width:100%;box-sizing:border-box;resize:vertical}.forum-edit-actions{display:flex;gap:8px;justify-content:flex-end}.forum-edit-cancel-btn{padding:7px 18px;border:1px solid var(--line);border-radius:999px;background:transparent;font:inherit;font-size:.85rem;cursor:pointer;color:var(--muted)}.forum-edit-save-btn{padding:7px 18px;border:none;border-radius:999px;background:#167f72;color:#fff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.forum-edit-save-btn:disabled{background:#a8c5c1;cursor:not-allowed}.forum-copy-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#1a1a2e;color:#fff;padding:10px 22px;border-radius:999px;font-size:.85rem;z-index:3000;pointer-events:none;animation:forum-toast-in .2s ease}@keyframes forum-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.forum-op-author{font-size:.95rem;display:block}.forum-op-meta{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:.8rem;color:var(--muted)}.forum-op-title{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.3}.forum-op-body{font-size:.95rem;line-height:1.75;color:var(--text);white-space:pre-wrap}.forum-op-image{max-width:100%;border-radius:14px;max-height:400px;object-fit:cover}.forum-img-thumb-btn{position:relative;display:inline-block;border:none;background:none;padding:0;cursor:pointer;border-radius:14px;overflow:hidden;max-width:320px}.forum-img-thumb{display:block;width:100%;max-width:320px;height:180px;object-fit:cover;border-radius:14px;transition:filter .2s}.forum-img-thumb-btn:hover .forum-img-thumb{filter:brightness(.75)}.forum-img-thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;font-weight:700;opacity:0;transition:opacity .2s;pointer-events:none;font-family:inherit}.forum-img-thumb-btn:hover .forum-img-thumb-overlay{opacity:1}.forum-lightbox-overlay{position:fixed;inset:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px;cursor:zoom-out}.forum-lightbox-img{max-width:100%;max-height:90vh;border-radius:16px;object-fit:contain;cursor:default;box-shadow:0 32px 80px #00000080}.forum-lightbox-close{position:fixed;top:20px;right:24px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1rem;cursor:pointer;display:grid;place-items:center;transition:background .15s;z-index:2001}.forum-lightbox-close:hover{background:#ffffff47}.forum-op-stats{display:flex;gap:10px;font-size:.8rem;color:var(--muted);padding-top:8px;border-top:1px solid var(--line)}.forum-replies-section{display:flex;flex-direction:column;gap:4px}.forum-replies-heading{font-size:.9rem;font-weight:700;color:var(--muted);letter-spacing:.01em;margin-bottom:12px}.forum-empty-replies{color:var(--muted);font-size:.9rem;padding:24px 0;text-align:center}.forum-reply{border-radius:16px;padding:16px 18px;background:#ffffff80;border:1px solid var(--line);margin-bottom:8px}.forum-reply.depth-1,.forum-reply.depth-2,.forum-reply.depth-3{background:#7a4fd608}.forum-reply-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.forum-reply-meta{display:flex;flex-direction:column}.forum-reply-meta strong{font-size:.9rem}.forum-reply-meta span{font-size:.78rem;color:var(--muted)}.forum-reply-body p{font-size:.9rem;line-height:1.7;white-space:pre-wrap}.forum-reply-image{max-width:100%;border-radius:10px;margin-top:10px;max-height:260px;object-fit:cover}.forum-reply-actions{display:flex;gap:12px;margin-top:10px}.forum-action-btn{padding:4px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:.78rem;cursor:pointer;transition:all .15s}.forum-action-btn:hover{border-color:var(--accent);color:var(--accent)}.forum-reply-children{margin-top:12px;padding-left:20px;border-left:2px solid var(--accent-soft);display:flex;flex-direction:column;gap:8px}.forum-reply-form{border:1px solid var(--line);border-radius:20px;padding:22px;background:#ffffff8c;display:flex;flex-direction:column;gap:0}.forum-reply-form-header{display:flex;align-items:center;gap:10px;margin-bottom:4px;font-size:.9rem;flex-wrap:wrap}.forum-replying-to{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 12px;background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:.78rem}.forum-replying-to button{border:none;background:none;color:var(--accent);cursor:pointer;font-size:.75rem;line-height:1;padding:0}.forum-reply-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.forum-attach-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:.82rem;cursor:pointer;transition:all .15s}.forum-attach-btn:hover{border-color:var(--accent);color:var(--accent)}.forum-reply-preview-wrap{position:relative;display:inline-block;margin-top:8px}.forum-reply-preview{max-width:200px;border-radius:10px;border:1px solid var(--line);object-fit:cover}.forum-remove-img{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#1f1c17b3;color:#fff;font-size:.7rem;cursor:pointer;display:grid;place-items:center}.forum-reply-meta{display:grid;gap:2px}.admin-page{display:flex;flex-direction:column;gap:24px}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.admin-header h2{margin:4px 0 0}.admin-add-btn{padding:9px 20px;border:none;border-radius:999px;background:#167f72;color:#fff;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.admin-add-btn:hover{background:#125f55}.admin-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-stat-card{background:#ffffffb3;border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}.admin-stat-label{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.admin-stat-value{font-size:1.6rem;font-weight:700;color:var(--fg)}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding-bottom:0}.admin-tab{padding:8px 18px;background:none;border:none;border-bottom:2px solid transparent;font:inherit;font-size:.88rem;color:var(--muted);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}.admin-tab.active{color:#167f72;border-bottom-color:#167f72;font-weight:600}.admin-tab:hover:not(.active){color:var(--fg)}.admin-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--line)}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;padding:12px 16px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#00000005;border-bottom:1px solid var(--line)}.admin-table td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#00000004}.admin-row-inactive{opacity:.5}.admin-user-cell{display:flex;align-items:center;gap:10px}.admin-user-avatar{width:32px;height:32px;border-radius:50%;background:#167f72;color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-user-avatar-img{object-fit:cover}.admin-user-name{font-weight:600;font-size:.875rem}.admin-user-username{font-size:.78rem;color:var(--muted)}.admin-date-cell{font-size:.8rem;color:var(--muted);white-space:nowrap}.admin-credits-cell{font-weight:600}.admin-referral-badge{display:inline-block;font-size:11px;font-weight:600;background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:2px 7px;white-space:nowrap}.admin-empty-row{text-align:center;padding:32px!important;color:var(--muted)}.admin-role-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.admin-role-student{background:#eef4ff;color:#3b5bdb}.admin-role-developer{background:#fff0e6;color:#e07b10}.admin-role-admin{background:#fce8e8;color:#c92a2a}.admin-status-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.admin-status-badge.active{background:#e6f9f0;color:#167f72}.admin-status-badge.inactive{background:#f5f5f5;color:#888}.admin-actions{display:flex;gap:6px;flex-wrap:nowrap;align-items:center}.admin-action-btn{padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:transparent;font:inherit;font-size:.78rem;cursor:pointer;color:var(--fg);transition:all .12s;white-space:nowrap}.admin-action-btn:hover{border-color:#167f72;color:#167f72}.admin-action-btn.danger{color:#c92a2a}.admin-action-btn.danger:hover{border-color:#c92a2a;background:#fff5f5}.admin-tx-type{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600}.admin-tx-topup{background:#e6f9f0;color:#167f72}.admin-tx-usage{background:#fff0e6;color:#e07b10}.admin-tx-adjustment{background:#eef4ff;color:#3b5bdb}.admin-tx-refund{background:#fce8e8;color:#c92a2a}.admin-tx-amount{font-weight:600}.admin-tx-amount.positive{color:#167f72}.admin-tx-amount.negative{color:#c92a2a}.admin-revenue{display:flex;flex-direction:column;gap:20px}.admin-referral-tab{display:flex;flex-direction:column;gap:16px}.admin-referral-tab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.referral-code-badge{display:inline-block;background:#f3f0ff;color:#6d28d9;border:1.5px solid #ddd6fe;border-radius:8px;padding:3px 10px;font-size:.82rem;font-weight:800;letter-spacing:.08em;font-family:monospace}.referral-preview-box{display:flex;align-items:center;gap:10px;background:#f8f6ff;border:1px solid #e0d9ff;border-radius:10px;padding:10px 14px;font-size:.88rem;flex-wrap:wrap}.referral-type-toggle{display:flex;flex-direction:column;gap:8px}.referral-type-label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.referral-type-options{display:flex;gap:8px}.referral-type-btn{flex:1;padding:8px 14px;border-radius:8px;border:1.5px solid var(--line);background:var(--card);color:var(--text);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s}.referral-type-btn.active{border-color:var(--accent);background:#7c4dff14;color:var(--accent);font-weight:700}.referral-feature-checks{display:flex;flex-direction:column;gap:4px}.referral-feature-check-row{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px;font-size:.9rem;cursor:pointer;padding:6px 2px;font-weight:400;color:var(--text)}.referral-feature-check-row input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent);cursor:pointer;margin:0}.referral-feature-tags{display:flex;gap:4px;flex-wrap:wrap}.referral-feature-tag{display:inline-flex;align-items:center;background:#7c4dff14;border-radius:6px;padding:2px 8px;font-size:.85rem}.admin-packages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-pkg-card{background:#ffffffb3;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:4px}.admin-pkg-name{font-weight:700;font-size:.95rem}.admin-pkg-detail{font-size:.78rem;color:var(--muted)}.admin-pkg-count{font-size:.88rem;margin-top:8px}.admin-pkg-revenue{font-size:1.1rem;font-weight:700;color:#167f72}.admin-revenue-total{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:#167f720f}.admin-revenue-total strong{font-size:1.2rem;color:#167f72}.admin-section-label{font-size:.82rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.admin-inbox-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-inbox-clear-btn{flex-shrink:0;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;padding:6px 14px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.admin-inbox-clear-btn:hover{color:#ef4444;border-color:#ef444480;background:#ef444414}.admin-modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px}.admin-modal{background:#fff;border-radius:20px;padding:28px;width:100%;max-width:460px;box-shadow:0 16px 48px #0000002e}.admin-modal-title{margin:0 0 4px;font-size:1.1rem}.admin-modal-sub{margin:0 0 18px;font-size:.85rem;color:var(--muted)}.admin-modal-form{display:flex;flex-direction:column;gap:14px}.admin-modal-form label{display:flex;flex-direction:column;gap:5px;font-size:.83rem;font-weight:600;color:var(--muted)}.admin-modal-form input,.admin-modal-form select,.admin-modal-input{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.9rem;background:#fafafa;width:100%;box-sizing:border-box}.admin-modal-label{display:flex;flex-direction:column;gap:5px;font-size:.83rem;font-weight:600;color:var(--muted);margin-top:10px}.admin-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.admin-modal-cancel{padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:transparent;font:inherit;font-size:.85rem;cursor:pointer;color:var(--muted)}.admin-modal-submit{padding:8px 20px;border:none;border-radius:999px;background:#167f72;color:#fff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.admin-modal-submit:disabled{background:#a8c5c1;cursor:not-allowed}.admin-error{color:#c92a2a;font-size:.82rem;margin:0}.admin-pkg-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.admin-pkg-option{padding:12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px;transition:border-color .15s}.admin-pkg-option.selected{border-color:#167f72;background:#167f720d}.admin-pkg-opt-name{font-weight:700;font-size:.88rem}.admin-pkg-opt-credits{font-size:.8rem;color:var(--muted)}.admin-pkg-opt-price{font-size:.82rem;font-weight:600;color:#167f72;margin-top:4px}.admin-revenue-header{display:flex;align-items:center;justify-content:space-between}.admin-settings-btn{padding:7px 16px;border:1px solid var(--line);border-radius:999px;background:transparent;font:inherit;font-size:.82rem;cursor:pointer;color:var(--muted);transition:all .15s}.admin-settings-btn:hover{border-color:#167f72;color:#167f72}.admin-payment-preview{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#167f720a}.admin-payment-info-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.88rem}.admin-confirm-link{color:#167f72;text-decoration:none;font-weight:600}.admin-confirm-link:hover{text-decoration:underline}.admin-modal-wide{max-width:560px}.admin-modal-landscape{max-width:940px;width:96vw;max-height:90vh;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;column-gap:28px;row-gap:0;align-items:start}.admin-modal-landscape .admin-modal-title{grid-column:1 / -1}.admin-modal-landscape .admin-modal-actions{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.admin-landscape-col{display:flex;flex-direction:column;gap:12px;min-width:0;overflow-y:auto;max-height:calc(90vh - 120px);padding-right:4px}.admin-landscape-col:first-of-type{border-right:1px solid var(--line);padding-right:28px}.admin-settings-packages{display:flex;flex-direction:column;gap:8px}.admin-settings-pkg-col-headers{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:8px;padding:0 2px 4px}.admin-settings-pkg-col-headers span{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.admin-settings-pkg-block{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--bg-soft, #f9f9f9)}.admin-settings-pkg-row{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:8px;align-items:center}.admin-pkg-promo-section{display:flex;flex-direction:column;gap:8px;padding-top:6px;border-top:1px dashed var(--line)}.admin-pkg-promo-toggle{display:flex;align-items:center;gap:8px;font-size:.83rem;font-weight:600;color:var(--text-secondary, #555);cursor:pointer}.admin-pkg-promo-toggle input[type=checkbox]{accent-color:var(--accent, #167f72);width:15px;height:15px}.admin-pkg-promo-fields{display:flex;flex-direction:column;gap:7px;padding-left:8px}.admin-pkg-promo-bonus-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.admin-pkg-promo-bonus-label{font-size:.78rem;color:var(--text-secondary, #666);font-weight:600;width:100%}.admin-pkg-promo-feat{display:flex;align-items:center;gap:5px;font-size:.8rem;cursor:pointer;background:var(--card-bg, #fff);border:1px solid var(--line);border-radius:6px;padding:3px 8px}.admin-pkg-promo-feat input[type=checkbox]{accent-color:var(--accent, #167f72)}.admin-settings-pkg-price-preview{font-size:.8rem;font-weight:700;color:#167f72;white-space:nowrap;min-width:80px;text-align:right}.admin-settings-input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.85rem;background:#fafafa}.admin-settings-pkg-field{position:relative;display:flex;align-items:center}.admin-settings-pkg-unit{position:absolute;left:10px;font-size:.75rem;color:var(--muted);pointer-events:none}.admin-settings-pkg-field .admin-settings-input{padding-left:40px}.admin-coin-rate-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:18px;border-radius:14px;background:#7a4fd60f;border:1px solid rgba(122,79,214,.12)}.admin-coin-rate-label{display:flex;flex-direction:column;gap:2px}.admin-coin-rate-label span:first-child{font-weight:700;font-size:.9rem;color:var(--text)}.admin-coin-rate-hint{font-size:.75rem;color:var(--muted)}.admin-coin-rate-input-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.admin-coin-rate-prefix,.admin-coin-rate-suffix{font-size:.85rem;color:var(--muted);white-space:nowrap}.admin-coin-rate-input{width:110px!important;text-align:right}.admin-settings-pkg-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.admin-pkg-add-btn{padding:5px 12px;border:1px dashed #167f72;border-radius:999px;background:transparent;color:#167f72;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s}.admin-pkg-add-btn:hover{background:#167f7214}.admin-pkg-remove-btn{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;flex-shrink:0}.admin-pkg-remove-btn:hover{border-color:#c92a2a;color:#c92a2a;background:#fff5f5}.profile-password-section{border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff9;margin-top:16px;display:flex;flex-direction:column;gap:16px}.profile-password-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.profile-password-header h3{margin:4px 0 0}.profile-password-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:end}.profile-password-form label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--muted);font-weight:500}.profile-password-form label input{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.9rem;background:#fafafa}.profile-password-error{grid-column:1 / -1;color:#c92a2a;font-size:.82rem;margin:0}.profile-password-success{grid-column:1 / -1;color:#167f72;font-size:.82rem;font-weight:600;margin:0}.profile-password-actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.credit-balance-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff9}.credit-balance-left{display:flex;flex-direction:column;gap:10px}.credit-balance-amount{display:flex;align-items:baseline;gap:8px}.credit-balance-icon{color:#167f72;font-size:1.2rem}.credit-balance-number{font-size:2.8rem;font-weight:800;color:#167f72;line-height:1}.credit-balance-unit{font-size:1rem;color:var(--muted);font-weight:500}.credit-balance-desc{font-size:.82rem;color:var(--muted);max-width:280px}.credit-balance-history{border-left:1px solid var(--line);padding-left:24px}.credit-tx-list{display:flex;flex-direction:column;gap:8px}.credit-tx-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;padding:6px 0;border-bottom:1px solid var(--line)}.credit-tx-row:last-child{border-bottom:none}.credit-tx-desc{color:var(--fg)}.credit-tx-amt{font-weight:700}.credit-tx-amt.pos{color:#167f72}.credit-tx-amt.neg{color:#c92a2a}.credit-empty{font-size:.82rem;color:var(--muted);margin:0}.credit-topup-section{border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff9}.credit-pkg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}.credit-custom-wrap{border:1.5px dashed var(--line);border-radius:14px;padding:14px 16px;margin-bottom:20px}.credit-custom-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.credit-custom-row{display:flex;align-items:center;gap:8px}.credit-custom-icon{color:var(--accent);font-size:.9rem}.credit-custom-input{width:110px;padding:8px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:.95rem;background:#fff;transition:border-color .18s}.credit-custom-input:focus,.credit-custom-input.active{outline:none;border-color:var(--accent)}.credit-custom-unit{font-size:.85rem;color:var(--text-muted)}.credit-custom-price{margin-left:auto;font-weight:700;color:var(--accent);font-size:.95rem}.credit-pkg-card{border:1.5px solid var(--line);border-radius:16px;padding:18px 16px;background:#fff;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s}.credit-pkg-card:hover{border-color:#167f72}.credit-pkg-card.selected{border-color:#167f72;background:#167f720d;box-shadow:0 0 0 3px #167f721a}.credit-pkg-label{font-size:.9rem;font-weight:700}.credit-pkg-discount{display:inline-block;font-size:.7rem;font-weight:700;color:#fff;background:#e05c2a;border-radius:4px;padding:1px 5px;margin-top:2px}.credit-pkg-credits{font-size:.82rem;color:#167f72;font-weight:600}.credit-pkg-price{font-size:.85rem;color:var(--fg);font-weight:700;margin-top:4px}.credit-pkg-base-price{font-size:.75rem;color:var(--muted);text-decoration:line-through}.credit-pkg-card.promo-active{border-color:#e05c2a;background:linear-gradient(135deg,#fff 80%,#fff5f0);box-shadow:0 2px 10px #e05c2a1f}.credit-pkg-card.promo-active:hover{border-color:#c04010}.credit-pkg-card.promo-active.selected{border-color:#c04010;box-shadow:0 0 0 3px #e05c2a26}.credit-pkg-promo-badge{display:inline-block;font-size:.72rem;font-weight:700;background:#e05c2a;color:#fff;border-radius:6px;padding:2px 8px;width:fit-content;animation:promo-pulse 2s ease-in-out infinite}@keyframes promo-pulse{0%,to{opacity:1}50%{opacity:.75}}.credit-pkg-promo-bonus{font-size:.75rem;color:#c04010;font-weight:600;background:#e05c2a14;border-radius:6px;padding:3px 7px}.credit-payment-info{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px;margin-top:24px;border:1px solid var(--line);border-radius:14px;background:#167f7208}.credit-payment-summary{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center;font-size:.85rem;color:var(--muted)}.credit-payment-summary strong{color:var(--fg)}.credit-payment-total{font-size:1.1rem;color:#167f72}.credit-payment-bank{border-left:1px solid var(--line);padding-left:16px;display:flex;flex-direction:column;gap:4px}.credit-bank-name{font-weight:700;font-size:1rem}.credit-bank-number{font-size:1.2rem;font-weight:800;letter-spacing:.05em;color:#167f72}.credit-bank-holder{font-size:.82rem;color:var(--muted)}.credit-confirm-btn{margin-top:10px;display:inline-flex;align-items:center;padding:8px 18px;background:#167f72;color:#fff;border-radius:999px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s;align-self:flex-start}.credit-confirm-btn:hover{background:#125f55}.credit-bank-number-row{display:flex;align-items:center;gap:10px}.credit-copy-btn{padding:3px 10px;border:1px solid #167f72;border-radius:999px;background:transparent;color:#167f72;font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.credit-copy-btn:hover{background:#167f72;color:#fff}.asset-manager-page{display:grid;gap:24px}.asset-manager-filters{display:flex;flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}.asset-manager-search{width:100%;max-width:280px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffffb8;font:inherit;font-size:.875rem;color:var(--fg);outline:none;transition:border-color .18s}.asset-manager-search:focus{border-color:var(--accent)}.asset-manager-cats{display:flex;flex-wrap:wrap;gap:8px}.asset-manager-cats .tag{cursor:pointer;border:1px solid var(--line);background:transparent;transition:all .15s}.asset-manager-cats .tag.active{background:var(--accent);border-color:var(--accent);color:#fff}.asset-manager-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.asset-manager-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#ffffffb8;transition:box-shadow .18s}.asset-manager-card:hover{box-shadow:0 4px 18px #7a4fd614}.asset-manager-card-top{display:flex;align-items:center;justify-content:space-between}.asset-manager-type-icon{font-size:1.4rem;line-height:1}.asset-manager-title{font-size:.95rem;line-height:1.3}.asset-manager-desc{font-size:.8rem;color:var(--muted);line-height:1.4;flex:1}.asset-manager-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.asset-manager-empty{color:var(--muted);font-size:.9rem;padding:24px 0;text-align:center}.asset-manager-form{display:grid;gap:14px}.asset-thumb-upload-label{display:grid;gap:6px}.asset-thumb-upload-zone{width:100%;height:160px;border:1.5px dashed var(--line);border-radius:14px;background:#ffffff80;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .15s}.asset-thumb-upload-zone:hover{border-color:var(--accent)}.asset-thumb-preview-img{width:100%;height:100%;object-fit:cover}.asset-thumb-placeholder{font-size:.82rem;color:var(--muted)}.asset-manager-thumb{position:relative;width:100%;height:180px;border-radius:14px;overflow:hidden;margin-bottom:-4px}.asset-manager-thumb img{width:100%;height:100%;object-fit:cover}.calendar-hub-event{display:flex;flex-direction:column;background:#7c4dff2e;border-left:3px solid var(--accent);border-radius:5px;padding:2px 5px;font-size:.72rem;gap:1px;text-decoration:none;color:inherit;cursor:pointer}.calendar-hub-event:hover{background:#7c4dff47}.calendar-hub-event strong{font-weight:600;line-height:1.2}.calendar-hub-chip{opacity:.92;text-decoration:none}.calendar-hub-chip:hover{opacity:1}.events-page{display:grid;gap:24px;padding-bottom:80px}.events-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.events-title{font-size:1.5rem;font-weight:800;margin:0 0 4px}.events-sub{color:var(--muted);font-size:.9rem;margin:0}.events-loading{text-align:center;color:var(--muted);padding:60px}.events-section{display:grid;gap:14px}.events-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.events-grid.past{opacity:.65}.event-card-cover{width:100%;height:160px;object-fit:cover;border-radius:10px 10px 0 0;margin:-20px -20px 4px;width:calc(100% + 40px);display:block}.event-card{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px;overflow:hidden;transition:box-shadow .15s,border-color .15s}.event-edit-modal{background:var(--card-bg, #fff);border-radius:16px;display:grid;grid-template-columns:1fr 320px;max-width:780px;width:95vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000002e}.event-edit-left{padding:28px 28px 24px;overflow-y:auto;border-right:1px solid var(--line)}.event-edit-right{display:flex;flex-direction:column;gap:12px;padding:28px 20px 24px;background:var(--bg, #f7f7fb)}.event-cover-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 4px}body.dark .event-edit-modal{background:#1a1a2e}body.dark .event-edit-right{background:#ffffff08}body.dark .event-edit-left{border-right-color:#ffffff14}.event-cover-upload-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--bg);border:1.5px dashed var(--line);border-radius:10px;padding:12px;margin-bottom:4px}.event-cover-placeholder{height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:1.6rem;width:100%}.event-cover-placeholder span{font-size:.8rem}.event-cover-preview{width:100%;height:200px;object-fit:cover;border-radius:8px}.event-cover-upload-btn{display:inline-block;padding:6px 14px;border-radius:8px;background:var(--accent);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;font-weight:400;flex-direction:row!important;color:#fff!important}.event-cover-remove-btn{background:none;border:none;color:#e05;font-size:.8rem;cursor:pointer;padding:0}.event-card:hover{box-shadow:0 4px 20px #00000014;border-color:var(--accent)}.event-card.joined{border-color:#22a35a44;background:#22a35a0a}.event-card.past{pointer-events:auto}.event-card-type-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.event-card-type{font-size:.78rem;font-weight:600;color:var(--muted)}.event-joined-badge{font-size:.72rem;font-weight:700;background:#22a35a24;color:#22a35a;border-radius:20px;padding:2px 8px;white-space:nowrap}.event-past-badge{font-size:.72rem;font-weight:700;background:#a0a0aa24;color:var(--muted);border-radius:20px;padding:2px 8px;white-space:nowrap}.event-card-title{font-size:1rem;font-weight:700;margin:0;line-height:1.3}.event-card-desc{font-size:.85rem;color:var(--muted);margin:0;line-height:1.5}.event-card-date{font-size:.82rem;color:var(--muted)}.event-card-footer{margin-top:auto;padding-top:8px}.event-join-btn{width:100%;justify-content:center;font-size:.88rem;padding:9px 16px}.event-joined-label{font-size:.85rem;color:#22a35a;font-weight:600}.event-past-label{font-size:.82rem;color:var(--muted)}.events-free-badge{background:#22a35a1f;color:#22a35a;border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:600}.events-empty{text-align:center;padding:80px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px}.events-empty span{font-size:3rem}.events-empty p{margin:0;font-size:1rem}.events-admin-table-wrap{overflow-x:auto;margin-bottom:32px}.events-admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.events-admin-table th{text-align:left;padding:8px 12px;border-bottom:2px solid var(--line);color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.events-admin-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.events-admin-desc{font-size:.8rem;color:var(--muted);margin-top:2px}.asset-lock-overlay{position:absolute;inset:0;background:#0a081885;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff}.asset-coin-badge{margin-left:auto;font-size:.75rem;font-weight:700;background:#7a4fd61f;color:var(--accent);padding:2px 8px;border-radius:20px;white-space:nowrap}.asset-unlock-modal{max-width:400px}.asset-unlock-thumb{width:100%;max-height:160px;object-fit:cover;border-radius:12px;margin-bottom:14px}.asset-unlock-title{font-weight:700;font-size:1rem;margin:0 0 8px;color:var(--text)}.asset-unlock-desc{font-size:.88rem;color:var(--muted);line-height:1.6;margin:0 0 16px}.asset-manager-form label{display:grid;gap:5px}.asset-manager-form label span{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:lowercase}.asset-manager-form input,.asset-manager-form select{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fffc;font:inherit;font-size:.875rem;color:var(--fg);outline:none;transition:border-color .18s;box-sizing:border-box}.asset-manager-form input:focus,.asset-manager-form select:focus{border-color:var(--accent)}.asset-manager-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.asset-manager-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.db-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 0;color:var(--muted);font-size:.9rem}.db-loading-spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.db-root{display:grid;gap:20px}.db-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px 36px}.db-hero-left{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.db-hero-name{font-size:1.7rem;font-weight:800;letter-spacing:-.04em;line-height:1.15;margin:0}.db-hero-sub{color:var(--muted);font-size:.9rem;line-height:1.5;margin:0}.db-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;position:relative}.db-reply-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#e03c3c;color:#fff;font-size:.65rem;font-weight:800;padding:0 5px;line-height:1;margin-left:4px;animation:badge-pop .2s cubic-bezier(.34,1.56,.64,1)}.db-stats-panel{display:flex;align-items:center;gap:22px;flex-shrink:0;padding:20px 24px;border-radius:24px;border:1px solid rgba(122,79,214,.12);background:radial-gradient(120% 120% at 0% 0%,#7a4fd614,#fff0 55%),#ffffffb3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 4px 18px #7a4fd60d}.db-stats-ring-block{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:inherit;cursor:pointer;border-radius:12px;transition:opacity .18s ease}.db-stats-ring-block:hover{opacity:.82}.db-stats-ring-caption{display:flex;flex-direction:column;align-items:center;gap:1px}.db-stats-ring-caption strong{font-size:.82rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.db-stats-ring-caption span{font-size:.7rem;color:var(--muted);font-weight:500}.db-stats-divider{width:1px;height:80px;background:linear-gradient(180deg,transparent,var(--line) 20%,var(--line) 80%,transparent);flex-shrink:0}.db-progress-ring-wrap{position:relative;width:88px;height:88px;flex-shrink:0}.db-progress-ring{width:88px;height:88px}.db-ring-track{fill:none;stroke:#7a4fd61a}.db-ring-fill{fill:none;stroke:url(#dbRingGrad);transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 2px 4px rgba(122,79,214,.25))}.db-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.db-ring-label strong{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;line-height:1;background:linear-gradient(135deg,#9a6cf0,#6f3fd0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.db-ring-label span{font-size:.62rem;color:var(--muted);font-weight:700;letter-spacing:.02em;margin-top:2px}.db-stat-chips{display:flex;flex-direction:column;gap:10px}.db-stat-chip{display:flex;align-items:center;gap:12px;padding:11px 16px 11px 12px;border-radius:16px;border:1px solid var(--line);background:#ffffffd9;min-width:168px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;text-decoration:none;color:inherit;cursor:pointer}.db-stat-chip:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1f1c1712}.db-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;flex-shrink:0;color:var(--accent);background:#7a4fd61a}.db-stat-chip.chip-coin .db-chip-icon{color:#c98a16;background:#f5b22629}.db-chip-text{display:flex;flex-direction:column;gap:1px}.db-stat-chip span{font-size:.66rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.db-stat-chip strong{font-size:.95rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.db-stat-chip em{font-style:normal;font-size:.7rem;color:var(--muted)}.db-stat-chip.chip-active{border-color:#34d39966;background:#34d39912}.db-stat-chip.chip-active .db-chip-icon{color:#059669;background:#34d39929}.db-stat-chip.chip-active strong{color:#059669}.db-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.db-card{padding:22px 24px;border-radius:24px;border:1px solid var(--line);background:#ffffffb8;display:flex;flex-direction:column;gap:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 12px #1f1c170d;transition:box-shadow .2s}.db-card:hover{box-shadow:0 6px 22px #7a4fd614}.db-card-accent{background:linear-gradient(135deg,#7a4fd612,#7a4fd608);border-color:#7a4fd633}.db-card-head{display:flex;align-items:center;gap:7px}.db-card-head svg{color:var(--accent);flex-shrink:0}.db-card-head .eyebrow{flex:1;margin:0;display:flex;align-items:center;gap:6px}.db-card-head .mini-link{font-size:.75rem;color:var(--accent);text-decoration:none;white-space:nowrap;opacity:.8;transition:opacity .15s}.db-card-head .mini-link:hover{opacity:1}.db-card-title{font-size:1rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}.db-card-sub{font-size:.82rem;color:var(--muted);line-height:1.5;margin:0}.db-card-cta{align-self:flex-start;margin-top:2px}.db-mini-progress{display:flex;align-items:center;gap:8px;margin-top:auto}.db-mini-bar{flex:1;height:5px;border-radius:999px;background:#7a4fd61f;overflow:hidden}.db-mini-bar span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .6s cubic-bezier(.22,1,.36,1)}.db-mini-progress>span{font-size:.72rem;font-weight:700;color:var(--accent);white-space:nowrap}.db-event-list{display:flex;flex-direction:column;gap:10px}.db-event-row{display:flex;align-items:flex-start;gap:10px}.db-event-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.db-event-info{display:flex;flex-direction:column;gap:2px}.db-event-info strong{font-size:.88rem;font-weight:700}.db-event-info span{font-size:.76rem;color:var(--muted)}.db-event-cat{font-size:.7rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)!important}.db-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #22c55e4d;animation:pulse-dot 1.6s infinite;margin-left:2px}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 2px #22c55e4d}50%{box-shadow:0 0 0 5px #22c55e14}}.db-thread-list{display:flex;flex-direction:column;gap:6px}.db-thread-row{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#ffffff80;text-decoration:none;color:inherit;transition:background .15s,border-color .15s}.db-thread-row:hover{background:#7a4fd60d;border-color:#7a4fd633}.db-thread-meta{display:flex;align-items:center;justify-content:space-between}.db-thread-time{font-size:.72rem;color:var(--muted)}.db-thread-title{font-size:.87rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.db-thread-replies{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--muted)}.db-asset-list{display:flex;flex-direction:column;gap:6px}.db-asset-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#ffffff80;text-decoration:none;color:inherit;transition:background .15s,border-color .15s}.db-asset-row:hover{background:#7a4fd60d;border-color:#7a4fd633}.db-asset-icon{font-size:1.2rem;flex-shrink:0}.db-asset-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.db-asset-info strong{font-size:.87rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-asset-info span{font-size:.72rem;color:var(--muted)}.db-asset-arrow{color:var(--muted);flex-shrink:0;opacity:.5;transition:opacity .15s,transform .15s}.db-asset-row:hover .db-asset-arrow{opacity:1;transform:translate(2px,-2px)}.db-empty{font-size:.84rem;color:var(--muted);padding:8px 0}@media(max-width:900px){.db-hero{flex-direction:column;align-items:flex-start;padding:24px}.db-stats-panel{width:100%;flex-wrap:wrap;justify-content:flex-start}.db-stats-divider{width:100%;height:1px}.db-stat-chips{flex-direction:row;flex-wrap:wrap;width:100%}.db-stat-chip{min-width:auto;flex:1}.db-grid{grid-template-columns:1fr}}.credit-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;font-size:.875rem;font-weight:500;box-shadow:0 8px 24px #1f1c172e;animation:toast-in .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer;white-space:nowrap}.credit-toast-error{background:#fff1f1;border:1px solid #fca5a5;color:#b91c1c}.credit-toast button{background:none;border:none;cursor:pointer;color:inherit;font-size:.85rem;opacity:.7;padding:0 0 0 4px}.forum-composer-post-row{display:flex;align-items:center;gap:10px;justify-content:flex-end}.forum-composer-credit-cost{display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--muted);padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#7a4fd60d}.forum-composer-credit-cost svg{color:var(--accent)}.forum-composer-credit-error{font-size:.75rem;color:#b91c1c;flex:1;text-align:left}.admin-feature-costs{margin-top:28px;border-top:1px solid var(--line);padding-top:24px;display:grid;gap:16px}.admin-feature-costs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-costs-saved{font-size:.78rem;font-weight:700;color:#059669;background:#05966914;border:1px solid rgba(5,150,105,.25);padding:4px 12px;border-radius:999px;white-space:nowrap}.admin-feature-costs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.admin-feature-cost-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#ffffffb3}.admin-feature-cost-label{display:flex;align-items:center;gap:10px}.admin-feature-cost-icon{font-size:1.3rem;line-height:1}.admin-feature-cost-label>div{display:flex;flex-direction:column;gap:2px}.admin-feature-cost-label strong{font-size:.85rem;font-weight:700}.admin-feature-cost-label span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.admin-feature-cost-input-wrap{display:flex;align-items:center;gap:6px}.admin-feature-cost-input{width:64px;padding:6px 10px;border:1px solid rgba(122,79,214,.3);border-radius:10px;background:#7a4fd60d;font:inherit;font-size:.92rem;font-weight:700;color:var(--accent);text-align:right;outline:none;transition:border-color .15s}.admin-feature-cost-input:focus{border-color:var(--accent)}.admin-feature-cost-unit{font-size:.72rem;color:var(--muted);white-space:nowrap}.admin-feature-costs-footer{display:flex;gap:10px;justify-content:flex-end}.admin-credits-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.admin-credits-actions{display:flex;align-items:center;gap:10px}.costs-modal{max-width:480px}.costs-modal-sub{font-size:.83rem;color:var(--muted);margin:-8px 0 20px;line-height:1.5}.costs-modal-grid{display:flex;flex-direction:column;gap:10px}.costs-modal-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#7a4fd608;gap:12px}.costs-modal-card-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.costs-modal-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.costs-modal-info{display:flex;flex-direction:column;gap:2px}.costs-modal-info strong{font-size:.88rem;font-weight:700}.costs-modal-info span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.costs-modal-input-wrap{display:flex;align-items:center;gap:0;border:1px solid rgba(122,79,214,.3);border-radius:12px;overflow:hidden;background:#fff;flex-shrink:0}.costs-modal-stepper{width:32px;height:38px;border:none;background:#7a4fd60f;color:var(--accent);font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .15s;flex-shrink:0}.costs-modal-stepper:hover{background:#7a4fd624}.costs-modal-input{width:52px;height:38px;border:none;border-left:1px solid rgba(122,79,214,.15);border-right:1px solid rgba(122,79,214,.15);text-align:center;font:inherit;font-size:.95rem;font-weight:700;color:var(--accent);outline:none;background:#fff;-moz-appearance:textfield}.costs-modal-input::-webkit-inner-spin-button,.costs-modal-input::-webkit-outer-spin-button{-webkit-appearance:none}.costs-modal-footer{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.costs-modal-footer .admin-costs-saved{margin-right:auto}.admin-user-perks{display:flex;gap:4px;flex-wrap:nowrap;align-items:center}.perk-badge{font-size:13px;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;cursor:default}.perk-badge.perk-exempt{background:#7c3aed22;color:#7c3aed;border:1px solid #7c3aed44}.perk-badge.perk-free{background:#f3f0ff;border:1px solid #ddd6fe}.perk-none{color:#ccc;font-size:.85rem}.admin-action-btn.perk-btn{background:#7c3aed15;color:#7c3aed;border-color:#7c3aed44}.admin-action-btn.perk-btn:hover{background:#7c3aed25}.perks-modal-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}.perks-modal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px;transition:border-color .15s}.perks-modal-row:hover{border-color:#7c3aed66}.perks-modal-row-left{display:flex;align-items:center;gap:12px}.perk-toggle{flex-shrink:0;width:40px;height:22px;border-radius:11px;background:var(--line);position:relative;transition:background .2s;cursor:pointer}.perk-toggle.on{background:#7c3aed}.perk-toggle-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.perk-toggle.on .perk-toggle-knob{transform:translate(18px)}.topup-overlay{z-index:1100}.topup-modal{width:min(680px,96vw);max-height:92vh;overflow-y:auto;background:#fff!important;padding:40px 44px;border-radius:24px}.topup-alert{display:flex;gap:14px;align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:16px 18px;margin-bottom:28px;color:#ef4444}.topup-alert svg{flex-shrink:0;margin-top:2px}.topup-alert strong{display:block;margin-bottom:4px;font-size:15px}.topup-alert p{margin:0;font-size:14px;color:#374151;line-height:1.6}.topup-alert em{font-style:normal;font-weight:700;color:var(--accent)}.topup-title{font-size:20px;font-weight:700;margin:0 0 6px;color:#111}.topup-sub{font-size:14px;color:var(--muted);margin:0 0 20px}.topup-pkg-grid{margin-bottom:0;gap:14px}.topup-payment-info{margin-top:20px;background:#f9fafb;border-radius:14px;padding:20px;border:1px solid #e5e7eb}body.dark .topup-payment-info{background:#ffffff0a;border-color:var(--line)}.topup-proses-bar{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#7c4dff12;border:1.5px solid rgba(124,77,255,.2);border-radius:14px;padding:14px 18px}.topup-proses-summary{display:flex;flex-direction:column;gap:2px;font-size:.9rem}.topup-proses-summary span{color:var(--muted);font-size:.82rem}.topup-proses-summary strong{font-size:1rem;font-weight:700}.topup-proses-btn{flex-shrink:0;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 22px;font-size:.92rem;font-weight:700;cursor:pointer;transition:opacity .15s}.topup-proses-btn:hover{opacity:.88}.topup-proses-btn:disabled{opacity:.5;cursor:not-allowed}.topup-payment-success-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.topup-payment-success-icon{width:40px;height:40px;border-radius:50%;background:#22a35a26;color:#22a35a;font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.topup-close-btn{width:100%;margin-top:18px;padding:11px;border-radius:10px;background:var(--accent);color:#fff;border:none;font-size:.95rem;font-weight:700;cursor:pointer}.topup-close-btn:hover{opacity:.88}.confirm-overlay{z-index:1200}.confirm-modal{width:min(380px,94vw);text-align:center;padding:32px 28px 24px}.confirm-icon{width:56px;height:56px;border-radius:50%;background:var(--accent)15;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--accent)}.confirm-title{font-size:18px;font-weight:700;margin:0 0 10px}.confirm-desc{font-size:14px;color:var(--fg);opacity:.85;margin:0 0 6px;line-height:1.55}.confirm-cost{display:inline-block;background:var(--accent)18;color:var(--accent);font-weight:700;padding:2px 10px;border-radius:20px;font-size:15px}.confirm-sub{font-size:13px;color:var(--muted);margin:0 0 24px}.confirm-actions{display:flex;gap:10px;justify-content:center}.confirm-actions .button{flex:1;max-width:150px}.kicked-overlay{position:fixed;inset:0;z-index:9999;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center}.kicked-modal{background:var(--card);border-radius:20px;padding:40px 36px 32px;max-width:380px;width:90%;text-align:center;box-shadow:0 20px 60px #00000040;animation:kicked-in .22s ease}@keyframes kicked-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:none}}.kicked-icon{font-size:48px;margin-bottom:14px;line-height:1}.kicked-title{font-size:1.2rem;font-weight:700;color:var(--text, #111);margin:0 0 10px}.kicked-body{font-size:.95rem;color:var(--text, #333);margin:0 0 6px;line-height:1.5}.kicked-sub{font-size:.8rem;color:var(--text-muted, #888);margin:0 0 24px}.kicked-btn{background:var(--accent, #7c3aed);color:#fff;border:none;border-radius:10px;padding:11px 32px;font-size:.95rem;font-weight:600;cursor:pointer;width:100%;transition:opacity .15s}.kicked-btn:hover{opacity:.88}.promo-overlay{position:fixed;inset:0;z-index:9990;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center}.promo-modal{position:relative;border-radius:24px;padding:40px 32px 32px;max-width:400px;width:90%;text-align:center;box-shadow:0 24px 64px #00000038;animation:promo-in .24s cubic-bezier(.22,.68,0,1.4)}@keyframes promo-in{0%{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:none}}.promo-close{position:absolute;top:14px;right:14px;background:#f0f0f0;border:none;border-radius:50%;width:32px;height:32px;font-size:18px;line-height:1;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center}.promo-close:hover{background:#e0e0e0}.promo-icon{font-size:72px;margin-bottom:16px;line-height:1}.promo-title{font-size:1.6rem;font-weight:800;margin:0 0 6px;color:#111;letter-spacing:-.02em;text-transform:uppercase}.promo-subtitle{font-size:1rem;font-weight:600;color:#333;margin:0 0 10px}.promo-body{font-size:.9rem;color:#555;margin:0 0 24px;line-height:1.55}.promo-cta{display:block;width:100%;background:#111;color:#fff;border:none;border-radius:14px;padding:14px;font-size:1rem;font-weight:700;cursor:pointer;margin-bottom:12px;transition:opacity .15s}.promo-cta:hover{opacity:.85}.promo-dismiss{background:none;border:none;color:#999;font-size:.88rem;cursor:pointer;padding:4px 0;text-decoration:underline}.promo-dismiss:hover{color:#666}.admin-promo-tab{padding:24px 0}.admin-promo-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.promo-enable-toggle{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;cursor:pointer;background:var(--card-bg);border:1.5px solid var(--border);border-radius:10px;padding:8px 14px}.promo-enable-toggle input{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.admin-promo-body{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}.admin-promo-form{display:flex;flex-direction:column;gap:14px}.admin-promo-form label{display:flex;flex-direction:column;gap:6px;font-size:.83rem;font-weight:600;color:var(--text-muted)}.admin-promo-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-promo-form textarea.admin-modal-input{resize:vertical;min-height:80px}.admin-promo-actions{margin-top:8px}.admin-promo-preview{position:sticky;top:20px}.promo-preview-card{border-radius:20px;padding:32px 24px 24px;text-align:center;box-shadow:0 8px 32px #0000001f;border:1.5px solid #eee}.promo-preview-card .promo-title{font-size:1.2rem}.promo-preview-card .promo-icon{font-size:56px}@media(max-width:860px){.admin-promo-body{grid-template-columns:1fr}.admin-promo-preview{position:static}}.promo-icon-upload-wrap{display:flex;align-items:center;gap:10px;padding:10px;border:1.5px dashed var(--border);border-radius:10px;background:var(--bg)}.promo-icon-preview{width:56px;height:56px;object-fit:contain;border-radius:8px;flex-shrink:0}.promo-icon-placeholder{font-size:.8rem;color:var(--text-muted);flex:1}.promo-icon-upload-btn{background:var(--accent);color:#fff;border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-direction:row!important;font-weight:600!important;color:#fff!important}.promo-icon-remove{background:none;border:none;color:#e44;font-size:.78rem;cursor:pointer;padding:4px;text-decoration:underline}.promo-icon-img{width:100px;height:100px;object-fit:contain;margin:0 auto 12px;display:block}.promo-feature-costs-info{background:var(--bg);border-radius:10px;padding:12px 14px;border:1px solid var(--border)}.promo-feature-grid{display:flex;flex-direction:column;gap:6px}.promo-feature-item{display:flex;justify-content:space-between;align-items:center;font-size:.83rem;color:var(--text)}.promo-feature-cost{font-weight:700;color:var(--accent);background:var(--accent)18;padding:2px 8px;border-radius:20px;font-size:.78rem}.admin-promo-actions{display:flex;gap:10px;flex-wrap:wrap}.promo-broadcast-btn{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;border:none;border-radius:10px;padding:11px 20px;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s;white-space:nowrap}.promo-broadcast-btn:hover:not(:disabled){opacity:.88}.promo-broadcast-btn:disabled{opacity:.6;cursor:not-allowed}.promo-broadcast-hint{font-size:.75rem;color:var(--text-muted);margin:6px 0 0;line-height:1.4}.video-lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:inherit}.video-lock-badge{display:flex;align-items:center;gap:8px;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,.25);border-radius:40px;padding:8px 20px}.video-lock-icon{font-size:1.1rem}.video-lock-cost{color:#fff;font-weight:800;font-size:1.1rem;letter-spacing:.01em}.video-lock-play{background:var(--accent, #7c3aed);color:#fff;border-radius:12px;padding:11px 28px;font-size:1rem;font-weight:700;box-shadow:0 4px 16px #7c3aed73;cursor:pointer;letter-spacing:.01em}.video-lock-hint{color:#ffffffb3;font-size:.78rem;margin:0;background:#00000059;padding:4px 12px;border-radius:20px}.global-search-btn{display:flex;align-items:center;gap:8px;background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:7px 14px;color:var(--muted);font-size:.82rem;font-weight:500;cursor:pointer;transition:border-color .15s,box-shadow .15s;white-space:nowrap}.global-search-btn:hover{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 3px #7a4fd61a}.global-search-btn-label{display:none}@media(min-width:640px){.global-search-btn-label{display:inline}}.global-search-kbd{background:#7a4fd61a;color:var(--accent);border-radius:5px;padding:1px 6px;font-size:.75rem;font-family:system-ui,sans-serif;line-height:1.6}.gsearch-overlay{position:fixed;inset:0;z-index:1500;background:#1f1c1773;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding-top:clamp(60px,12vh,120px);animation:gsearch-fade-in .12s ease}@keyframes gsearch-fade-in{0%{opacity:0}to{opacity:1}}.gsearch-modal{width:min(640px,92vw);background:#fff;border-radius:18px;box-shadow:0 24px 80px #1f1c1733,0 0 0 1px #7a4fd61f;overflow:hidden;display:flex;flex-direction:column;animation:gsearch-slide-in .15s ease}@keyframes gsearch-slide-in{0%{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}.gsearch-input-row{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1.5px solid var(--line)}.gsearch-icon{color:var(--muted);flex-shrink:0}.gsearch-input{flex:1;border:none;outline:none;background:transparent;font-size:1.05rem;color:var(--text);font-family:inherit}.gsearch-input::placeholder{color:var(--muted)}.gsearch-clear{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:2px 6px;border-radius:6px;transition:background .1s}.gsearch-clear:hover{background:var(--accent-soft);color:var(--accent)}.gsearch-body{max-height:380px;overflow-y:auto}.gsearch-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;text-align:center;color:var(--muted);font-size:.9rem}.gsearch-empty-icon{font-size:2rem}.gsearch-hints{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.gsearch-hint{background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:4px 12px;font-size:.78rem;font-weight:600}.gsearch-loading{padding:24px;text-align:center;color:var(--muted);font-size:.88rem}.gsearch-results{list-style:none;margin:0;padding:8px 0}.gsearch-result-item{display:flex;align-items:center;gap:12px;padding:10px 20px;cursor:pointer;text-decoration:none;color:var(--text);transition:background .1s}.gsearch-result-item:hover{background:var(--accent-soft)}.gsearch-result-icon{font-size:1.15rem;flex-shrink:0}.gsearch-result-text{flex:1;display:flex;flex-direction:column;gap:1px}.gsearch-result-title{font-size:.9rem;font-weight:600;line-height:1.3}.gsearch-result-sub{font-size:.76rem;color:var(--muted)}.gsearch-result-arrow{color:var(--muted);flex-shrink:0;opacity:0;transition:opacity .1s}.gsearch-result-item:hover .gsearch-result-arrow{opacity:1;color:var(--accent)}.gsearch-footer{display:flex;gap:16px;padding:10px 20px;border-top:1.5px solid var(--line);background:var(--bg);font-size:.76rem;color:var(--muted)}.gsearch-footer kbd{background:#fff;border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:.73rem;margin-right:4px;font-family:system-ui,sans-serif}.onboard-overlay{position:fixed;inset:0;z-index:1600;background:#1f1c1780;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:gsearch-fade-in .2s ease}.onboard-modal{background:#fff;border-radius:22px;padding:40px 36px;width:min(460px,96vw);text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 32px 100px #1f1c1738,0 0 0 1px #7a4fd61a;animation:gsearch-slide-in .18s ease}.onboard-step-icon{font-size:3rem;line-height:1}.onboard-title{font-size:1.25rem;font-weight:800;color:var(--text);line-height:1.3;margin:0}.onboard-desc{font-size:.92rem;color:var(--muted);line-height:1.6;margin:0;max-width:340px}.onboard-dots{display:flex;gap:7px;margin-top:4px}.onboard-dot{width:8px;height:8px;border-radius:50%;background:var(--line);border:none;cursor:pointer;padding:0;transition:background .2s,transform .2s}.onboard-dot.active{background:var(--accent);transform:scale(1.3)}.onboard-actions{display:flex;gap:10px;margin-top:8px;width:100%;justify-content:center}.onboard-btn-skip{background:none;border:1.5px solid var(--line);border-radius:10px;padding:10px 22px;color:var(--muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.onboard-btn-skip:hover{border-color:var(--accent);color:var(--accent)}.onboard-btn-next{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 28px;font-size:.9rem;font-weight:700;cursor:pointer;flex:1;transition:opacity .15s}.onboard-btn-next:hover{opacity:.88}.onboard-btn-done{background:linear-gradient(135deg,#7a4fd6,#a78bfa);color:#fff;border:none;border-radius:10px;padding:12px 36px;font-size:.95rem;font-weight:700;cursor:pointer;width:100%;transition:opacity .15s;box-shadow:0 6px 20px #7a4fd659}.onboard-btn-done:hover{opacity:.9}.review-user-info{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:var(--accent-soft);margin-bottom:4px}.review-user-label{font-size:.78rem;color:var(--muted)}.review-user-name{font-size:.88rem;color:var(--accent)}.credit-referral-wrap{border-top:1.5px dashed var(--line);padding-top:18px;margin-top:4px}.credit-referral-row{display:flex;gap:8px;align-items:center;margin-top:8px}.credit-referral-input{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:9px 14px;font-size:.9rem;font-family:inherit;color:var(--text);background:#fff;outline:none;letter-spacing:.06em;font-weight:600;transition:border-color .15s,box-shadow .15s}.credit-referral-input::placeholder{letter-spacing:0;font-weight:400;color:var(--muted)}.credit-referral-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7a4fd61a}.credit-referral-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.credit-referral-input.valid{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.credit-referral-btn{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:9px 20px;font-size:.88rem;font-weight:700;cursor:pointer;transition:opacity .15s;white-space:nowrap}.credit-referral-btn:disabled{opacity:.45;cursor:not-allowed}.credit-referral-btn:not(:disabled):hover{opacity:.85}.credit-referral-msg{font-size:.78rem;margin:6px 0 0;padding:0}.credit-referral-msg.error{color:#ef4444}.credit-referral-msg.success{color:#10b981}.referral-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:2000;display:flex;align-items:center;gap:10px;background:#1f1c17;color:#fff;border-radius:14px;padding:14px 24px;font-size:.9rem;font-weight:600;box-shadow:0 8px 32px #00000040;white-space:nowrap;animation:toast-in .25s ease,toast-out .3s ease 3.7s forwards}.referral-toast-icon{color:#a78bfa;font-size:1.1rem}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(8px)}}.referral-success-overlay{position:fixed;inset:0;z-index:1800;background:#1f1c1780;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:gsearch-fade-in .18s ease}.referral-success-modal{background:#fff;border-radius:24px;padding:40px 36px;width:min(420px,96vw);text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 32px 100px #1f1c1738,0 0 0 1px #7a4fd61a;animation:gsearch-slide-in .2s ease}.referral-success-icon{font-size:3.2rem;line-height:1}.referral-success-title{font-size:1.2rem;font-weight:800;color:var(--text);margin:0}.referral-success-amount{display:flex;align-items:baseline;gap:8px;background:var(--accent-soft);border-radius:16px;padding:14px 28px}.referral-success-plus{color:var(--accent);font-size:1.4rem;font-weight:800}.referral-success-num{color:var(--accent);font-size:2.4rem;font-weight:900;line-height:1}.referral-success-unit{color:var(--accent);font-size:1rem;font-weight:700}.referral-success-desc{font-size:.88rem;color:var(--muted);line-height:1.6;margin:0}.referral-success-btn{background:linear-gradient(135deg,#7a4fd6,#a78bfa);color:#fff;border:none;border-radius:12px;padding:13px 36px;font-size:.95rem;font-weight:700;cursor:pointer;width:100%;margin-top:4px;box-shadow:0 6px 20px #7a4fd659;transition:opacity .15s}.referral-success-btn:hover{opacity:.88}.booking-cost-info{display:flex;align-items:center;gap:8px;background:#7a4fd614;border:1.5px solid rgba(122,79,214,.18);border-radius:10px;padding:10px 14px;font-size:.84rem;color:var(--text);margin-bottom:4px}.booking-cost-info.free{background:#10b98112;border-color:#10b98133}.booking-cost-icon{color:var(--accent);font-size:1rem;flex-shrink:0}.booking-cost-info.free .booking-cost-icon{color:#10b981}@media(max-width:1024px){.page,.admin-page,.lms-shell,.lms-main,.lms-sidebar{min-width:0}.lms-main{border-right:none}.admin-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.admin-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{flex-shrink:0;white-space:nowrap}.admin-stats-row{gap:10px}.admin-stat-card{padding:14px 16px}.admin-stat-value{font-size:1.35rem}.admin-header{flex-direction:column;align-items:stretch;gap:12px}.admin-add-btn{align-self:flex-start}.lms-action-bar{flex-wrap:wrap;gap:8px;padding:12px 18px}.lms-next-btn{margin-left:auto}.forum-header{grid-template-columns:1fr;gap:16px}.forum-header-right{min-width:0;max-width:none;align-items:stretch}.forum-category-filters{justify-content:flex-start}}@media(max-width:600px){.account-menu-wrap{gap:8px}.account-meta{max-width:none}.account-meta>span:first-child{display:none}.account-trigger{width:46px;height:46px}}@media(max-width:480px){.admin-stats-row{grid-template-columns:1fr}.topbar .eyebrow{font-size:.82rem}}@media(max-width:1024px){.topbar-nav-row{justify-content:flex-end}.floating-nav{position:fixed;bottom:20px;left:16px;right:16px;width:auto;z-index:1000;flex-wrap:nowrap;overflow-x:auto;justify-content:space-between;gap:2px;padding:8px 6px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));border-radius:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 10px 34px #1f1c1729;scrollbar-width:none}.floating-nav::-webkit-scrollbar{display:none}.floating-nav a.nav-item{position:relative;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;font-size:.58rem;line-height:1.15;text-align:center;white-space:normal;border-radius:16px}.floating-nav .nav-icon{opacity:.85}.floating-nav .nav-icon svg{width:18px;height:18px}.nav-admin-divider{display:none}.floating-nav a.nav-admin-item{background:transparent;border:none}.nav-inbox-link{align-items:center}.nav-inbox-badge{position:absolute;top:4px;right:50%;transform:translate(18px);min-width:16px;height:16px;font-size:.6rem}.shell{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.auth-shell{padding:0}}@media(max-width:900px){.asset-manager-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.asset-manager-grid,.calendar-redesign-sidebar{grid-template-columns:1fr}.calendar-redesign-stats{flex-direction:column;align-items:stretch}.calendar-view-toggle{width:100%}}.cert-preview-backdrop{align-items:center;justify-content:center}.cert-preview-modal{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;width:min(860px,95vw);max-height:92vh;display:flex;flex-direction:column;gap:20px;box-shadow:0 24px 64px #0000004d}.cert-preview-modal-head{display:flex;align-items:flex-start;justify-content:space-between}.cert-preview-modal-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#1a1a2e22;border-radius:10px;overflow:hidden;min-height:200px}.cert-preview-modal-img{width:100%;height:auto;display:block;border-radius:6px}.cert-preview-loading{color:var(--muted);font-size:14px;padding:48px}.cert-preview-modal-actions{display:flex;gap:12px;justify-content:flex-end}.cert-designer{display:flex;gap:24px;align-items:flex-start;margin-top:20px}.cert-designer-left{flex:1;min-width:0}.cert-designer-right{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.cert-preview-wrap{position:relative;width:100%;aspect-ratio:1280 / 905;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#f5f0e8;-webkit-user-select:none;user-select:none}.cert-preview-bg{width:100%;height:100%;object-fit:cover;display:block}.cert-preview-bg-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.cert-field-marker{position:absolute;cursor:grab;white-space:nowrap;display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;background:#ffffffbf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 1px 4px #00000026;transition:box-shadow .15s;line-height:1.3}.cert-field-marker:hover,.cert-field-marker.active{box-shadow:0 2px 10px #00000040;z-index:2}.cert-field-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.cert-designer-bg-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.cert-field-tabs{display:flex;flex-direction:column;gap:6px}.cert-field-tab{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1.5px solid var(--line);background:transparent;color:var(--text);font-size:13px;cursor:pointer;text-align:left;transition:all .15s}.cert-field-tab.active{background:var(--bg);font-weight:600}.cert-field-controls{display:flex;flex-direction:column;gap:12px}.cert-ctrl-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.cert-ctrl-row>span:first-child{width:90px;flex-shrink:0;color:var(--muted);font-size:12px}.cert-ctrl-row input[type=range]{flex:1;min-width:0}.cert-ctrl-row input[type=color]{width:36px;height:28px;padding:2px;border-radius:6px;border:1px solid var(--line);cursor:pointer}.cert-ctrl-row select{flex:1;padding:6px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:13px}.cert-ctrl-row input[type=checkbox]{width:16px;height:16px}.cert-ctrl-val{font-size:11px;color:var(--muted);min-width:32px;text-align:right}.admin-cert-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px;flex-wrap:wrap}.cert-course-selector{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.cert-course-selector select{padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:13px}.lms-cert-section{margin:16px;padding:16px;background:linear-gradient(135deg,#6c63ff22,#e05a2b11);border:1.5px solid #6c63ff55;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.lms-cert-badge{font-size:32px;line-height:1}.lms-cert-section strong{font-size:14px;color:var(--text)}.lms-cert-section span{font-size:12px;color:var(--muted)}.cert-download-btn{display:block;width:100%;margin-top:8px;padding:10px 20px;background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:opacity .15s,transform .1s}.cert-download-btn:hover{opacity:.9;transform:translateY(-1px)}.cert-download-btn:active{transform:translateY(0)}.cert-font-upload-row{align-items:center;gap:8px}.cert-custom-fonts-list{display:flex;flex-direction:column;gap:4px;margin-top:4px;padding:6px 8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;max-height:120px;overflow-y:auto}.cert-custom-font-item span{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-custom-font-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.cert-remove-font-btn{background:none;border:none;cursor:pointer;color:#e05a2b;font-size:12px;padding:2px 6px;border-radius:4px;line-height:1;flex-shrink:0}.cert-remove-font-btn:hover{background:#e05a2b1a}.myfile-page{padding:32px 24px 60px}.myfile-header{margin-bottom:28px}.myfile-title{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--text)}.myfile-subtitle{font-size:14px;color:var(--muted);margin:0}.myfile-tabs{display:flex;gap:8px;margin-bottom:28px;border-bottom:1px solid var(--line);padding-bottom:0}.myfile-tab{display:flex;align-items:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;color:var(--muted);margin-bottom:-1px;transition:color .15s,border-color .15s}.myfile-tab.active{color:var(--accent, #6c63ff);border-bottom-color:var(--accent, #6c63ff)}.myfile-tab-badge{background:var(--accent, #6c63ff);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px;line-height:1.6}.myfile-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 20px;color:var(--muted)}.myfile-empty-icon{font-size:48px;margin-bottom:16px}.myfile-empty p{font-size:15px;max-width:360px;line-height:1.6;margin:0}.myfile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.myfile-cert-card{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card);transition:box-shadow .15s,transform .15s}.myfile-cert-card:hover{box-shadow:0 6px 24px #0000001f;transform:translateY(-2px)}.myfile-cert-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.myfile-cert-thumb-empty{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;font-size:36px;background:var(--bg-strong)}.myfile-cert-info{padding:16px;display:flex;flex-direction:column;gap:8px}.myfile-cert-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#2e9e5b;background:#2e9e5b1f;border-radius:999px;padding:2px 10px;width:fit-content}.myfile-cert-name{font-size:15px;font-weight:600;margin:0;color:var(--text);line-height:1.4}.myfile-asset-list{display:flex;flex-direction:column;gap:10px}.myfile-asset-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);text-decoration:none;color:inherit;transition:background .15s,box-shadow .15s}.myfile-asset-item:hover{background:var(--bg-strong);box-shadow:0 2px 10px #00000012}.myfile-asset-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0}.myfile-asset-thumb-empty{width:56px;height:56px;border-radius:8px;background:var(--bg-strong);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.myfile-asset-info{flex:1;min-width:0}.myfile-asset-category{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent, #6c63ff);opacity:.8}.myfile-asset-name{font-size:14px;font-weight:500;margin:2px 0 0;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.myfile-asset-arrow{font-size:16px;color:var(--muted);flex-shrink:0}.topup-proof-upload-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:28px 20px;border:2px dashed var(--accent);border-radius:14px;background:var(--accent-soft);color:var(--accent);cursor:pointer;transition:background .15s,opacity .15s;text-align:center}.topup-proof-upload-btn:hover{opacity:.85}.topup-proof-upload-btn:disabled{opacity:.5;cursor:not-allowed}.topup-proof-upload-btn span{font-size:15px;font-weight:600}.topup-proof-upload-btn small{font-size:12px;opacity:.7}.topup-proof-preview{position:relative;margin-top:16px;border-radius:12px;overflow:hidden}.topup-proof-preview img{width:100%;max-height:260px;object-fit:cover;display:block;border-radius:12px}.topup-proof-uploading{position:absolute;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;border-radius:12px}.topup-uploaded-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 4px;gap:8px}.topup-uploaded-icon{font-size:48px}.topup-uploaded-thumb{width:100%;max-height:180px;object-fit:cover;border-radius:10px;margin-top:8px}.hpp-page{padding:8px 0 40px}.hpp-header{margin-bottom:24px}.hpp-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}@media(max-width:900px){.hpp-layout{grid-template-columns:1fr}}.hpp-section{margin-bottom:20px}.hpp-section-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent, #167f72);margin:0 0 10px}.hpp-field-group{display:flex;flex-direction:column;gap:10px}.hpp-field{display:flex;flex-direction:column;gap:4px}.hpp-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary, #555)}.hpp-input-wrap{display:flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:8px;padding:0 10px;background:var(--card-bg, #fff)}.hpp-input-wrap span{font-size:.8rem;color:var(--muted);white-space:nowrap}.hpp-input-wrap input{flex:1;border:none;outline:none;background:transparent;font-size:.88rem;padding:8px 0;color:var(--fg);min-width:0}.hpp-input-wrap:focus-within{border-color:var(--accent, #167f72)}.hpp-hint{font-size:.72rem;color:var(--muted)}.hpp-subtotal{font-size:.78rem;color:var(--text-secondary, #555);background:var(--bg-soft, #f4f4f4);border-radius:6px;padding:6px 10px}.hpp-subtotal strong{color:var(--accent, #167f72)}.hpp-results{display:flex;flex-direction:column;gap:14px}.hpp-result-card{background:var(--card-bg, #fff);border:1.5px solid var(--line);border-radius:14px;padding:16px 18px}.hpp-result-primary{text-align:center;border-color:var(--accent, #167f72);background:linear-gradient(135deg,#f0faf8,#fff)}.hpp-result-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.hpp-result-big{font-size:2.8rem;font-weight:800;line-height:1}.hpp-result-value{font-size:1.25rem;font-weight:700;color:var(--fg);margin:4px 0}.hpp-result-warn{color:#e08c2a!important}.hpp-result-sub{font-size:.75rem;color:var(--muted);margin-top:4px}.hpp-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hpp-breakeven{background:#e05c2a0f;border-color:#e08c2a}.hpp-proyeksi-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;padding:5px 0;color:var(--fg)}.hpp-proyeksi-divider{border-top:1px solid var(--line);margin:4px 0}.hpp-proyeksi-total{font-size:1rem;font-weight:700}.hpp-pkg-table-wrap{overflow-x:auto}.hpp-pkg-table{width:100%;border-collapse:collapse;font-size:.8rem}.hpp-pkg-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:4px 8px 8px;border-bottom:1px solid var(--line)}.hpp-pkg-table td{padding:7px 8px;border-bottom:1px solid var(--line)}.hpp-pkg-table tr:last-child td{border-bottom:none}.hpp-status-badge{font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:6px;white-space:nowrap}.hpp-status-badge.ok{background:#167f721a;color:#167f72}.hpp-status-badge.warn{background:#e08c2a1f;color:#a06010}.hpp-status-badge.danger{background:#e052521f;color:#c02020}.hpp-disclaimer{font-size:.72rem;color:var(--muted);font-style:italic;line-height:1.5}body.dark .hpp-result-card{background:#ffffff0a;border-color:#ffffff14}body.dark .hpp-result-primary{background:#167f721f;border-color:#167f72}body.dark .hpp-breakeven{background:#e08c2a14;border-color:#e08c2a4d}body.dark .hpp-input-wrap{background:#ffffff0d;border-color:#ffffff1a}body.dark .hpp-input-wrap input{color:var(--text)}body.dark .hpp-input-wrap span{color:#ffffff59}body.dark .hpp-subtotal{background:#ffffff0a}body.dark .hpp-field label{color:#ffffff8c}body.dark .hpp-pkg-table th{color:#ffffff59}body.dark .hpp-pkg-table td,body.dark .hpp-pkg-table th{border-color:#ffffff12}body.dark .hpp-status-badge.ok{background:#167f7233}body.dark .hpp-status-badge.warn{background:#e08c2a33;color:#e08c2a}body.dark .hpp-status-badge.danger{background:#e0525233;color:#e05252}.promo-template-section{margin-bottom:4px}.promo-template-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.promo-template-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--card-bg, #fff);border:2px solid var(--line);border-radius:12px;padding:8px 6px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.promo-template-card:hover{border-color:#6c47ff}.promo-template-card.active{border-color:#6c47ff;box-shadow:0 0 0 3px #6c47ff26}.promo-template-swatch{width:100%;height:52px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.promo-template-swatch-btn{width:60%;height:8px;border-radius:4px}.promo-template-label{font-size:.72rem;font-weight:700;color:var(--fg)}.promo-template-desc{font-size:.65rem;color:var(--muted);text-align:center;line-height:1.3}.promo-style-flash_sale{overflow:visible;position:relative}.pc-flash-tag{font-size:.7rem;font-weight:800;letter-spacing:.08em;background:#00000040;color:#fff;padding:4px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-self:center}.promo-style-flash_sale .promo-cta{animation:btn-pulse 1.6s ease-in-out infinite;font-weight:800;letter-spacing:.04em;text-transform:uppercase}@keyframes btn-pulse{0%,to{box-shadow:0 0 #ffffff80}50%{box-shadow:0 0 0 8px #fff0}}.promo-style-premium{border:2px solid #f5d97e!important;box-shadow:0 0 24px #f5d97e40,0 8px 40px #00000080!important}.promo-style-premium .promo-title{text-shadow:0 0 20px rgba(245,217,126,.6);letter-spacing:.03em}.promo-style-premium .promo-cta{border:1.5px solid #f5d97e;font-weight:800}.promo-style-pastel{border-radius:28px!important}.promo-style-pastel .promo-cta{border-radius:50px!important}.promo-style-dark_announcement:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#3b82f6;border-radius:20px 0 0 20px}.promo-style-dark_announcement{position:relative;text-align:left!important;border-radius:16px!important}.promo-style-dark_announcement .promo-title,.promo-style-dark_announcement .promo-subtitle,.promo-style-dark_announcement .promo-body,.promo-style-dark_announcement .promo-icon{text-align:left}body.dark .promo-template-card{background:#ffffff0a;border-color:#ffffff1a}body.dark .promo-template-card.active{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa33}body.dark .promo-template-label{color:var(--text)}.pc-flash{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.pc-flash-badge{background:#fff3;border-radius:14px;padding:6px 20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pc-flash-pct{font-size:2rem;font-weight:900;letter-spacing:.02em;display:block;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.2)}.pc-flash-title{font-size:1.1rem;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.04em;margin:0}.pc-flash-body{font-size:.82rem;text-align:center;opacity:.9;margin:0;line-height:1.5}.pc-flash-cta{text-transform:uppercase;font-weight:800;letter-spacing:.06em}.pc-premium{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.pc-premium-rule{width:40px;height:1.5px;opacity:.5;border-radius:2px}.pc-premium-title{font-size:1.15rem;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0}.pc-premium-sub{font-size:.78rem;font-style:italic;text-align:center;opacity:.75;margin:0}.pc-premium-body{font-size:.82rem;text-align:center;opacity:.85;margin:0;line-height:1.6}.pc-premium-cta{border-radius:8px!important;background:transparent!important;font-weight:700;letter-spacing:.04em}.pc-pastel{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.pc-pastel-icon{font-size:3rem;line-height:1}.pc-pastel-title{font-size:1.1rem;font-weight:800;text-align:center;margin:0}.pc-pastel-sub{font-size:.82rem;text-align:center;opacity:.8;margin:0}.pc-pastel-body{font-size:.8rem;text-align:center;opacity:.75;margin:0;line-height:1.5}.pc-pastel-actions{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:4px}.pc-pastel-cta{border-radius:50px!important}.pc-pastel-dismiss{border-radius:50px;padding:10px 20px;font-size:.85rem;font-weight:600;cursor:pointer;text-align:center;transition:opacity .15s}.pc-announce{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}.pc-announce-tag{font-size:.7rem;font-weight:800;letter-spacing:.08em;padding:3px 10px;border-radius:6px;display:inline-block}.pc-announce-title{font-size:1.1rem;font-weight:800;text-align:left;margin:0;line-height:1.3}.pc-announce-sub{font-size:.78rem;margin:0;line-height:1.4}.pc-announce-body{margin:4px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:4px;list-style:disc}.pc-announce-body li{font-size:.82rem;line-height:1.5}.pc-announce-cta{align-self:stretch}.pc-announce-dismiss{font-size:.78rem;align-self:center}.lms-notes-section{display:flex;flex-direction:column;gap:8px;padding:8px 20px 20px}.lms-notes-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.lms-notes-hint{font-size:.75rem;color:var(--muted);margin:0}.lms-notes-saving{font-size:.72rem;color:var(--accent, #167f72);animation:promo-pulse 1s ease-in-out infinite}.lms-notes-textarea{width:100%;min-height:200px;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-size:.88rem;line-height:1.7;resize:vertical;background:var(--card-bg, #fff);color:var(--fg);box-sizing:border-box;outline:none;transition:border-color .15s;font-family:inherit}.lms-notes-textarea:focus{border-color:var(--accent, #167f72)}.lms-note-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent, #167f72);margin-left:4px;vertical-align:middle}body.dark .lms-notes-textarea{background:#ffffff0a;border-color:#ffffff1a;color:var(--text)}.db-streak-block{display:flex;align-items:center;gap:10px;padding:10px 4px}.db-streak-fire{font-size:1.6rem;line-height:1}.db-streak-text{display:flex;flex-direction:column;gap:1px}.db-streak-text strong{font-size:1rem;font-weight:800;color:var(--fg)}.db-streak-text span{font-size:.72rem;color:var(--muted)}.lms-bookmark-btn{background:none;border:none;cursor:pointer;font-size:.78rem;padding:6px 10px 6px 4px;opacity:.25;transition:opacity .15s;flex-shrink:0;line-height:1}.lms-bookmark-btn:hover{opacity:.7}.lms-bookmark-btn.active{opacity:1}.update-toast{position:fixed;right:24px;bottom:24px;z-index:9999;display:flex;align-items:center;gap:14px;max-width:min(380px,calc(100vw - 32px));padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 50px #1f1c1738;animation:update-toast-in .32s cubic-bezier(.16,1,.3,1)}body.dark .update-toast{background:#161a30;box-shadow:0 18px 50px #00000080}@keyframes update-toast-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.update-toast-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.update-toast-text{display:flex;flex-direction:column;gap:2px;min-width:0}.update-toast-text strong{font-size:.92rem;color:var(--text)}.update-toast-text span{font-size:.8rem;color:var(--muted);line-height:1.4}.update-toast-btn{flex-shrink:0;border:0;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:.85rem;font-weight:600;padding:8px 16px;cursor:pointer;transition:filter .15s}.update-toast-btn:hover{filter:brightness(1.08)}.update-toast-close{flex-shrink:0;border:0;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:0 2px}.update-toast-close:hover{color:var(--text)}
