@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAQAABAAAAAACEwAAAOmAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEgAZBEICoMkgmcLFgABNgIkAyYEIAWFNAdiDAcb3wYgngU5GW9qFpxcIlPzNPVjx7JSP3iet+s9971Zzn7Q8yEHG1C91aUi2aFP6j1c07wqko0ssGwl8RDyRPehgRL1M2Z+akJOifHwcbX3d1ZvWowiysMskA0v3NL0wohiuX//l5EDn7gc/6xs+9oikSbyg6LCvegvncOw87lpLFr4wF0a4AIKCLJtSQTXJ0FUc+nW+HePCPAAAEUITQhwS1VELdq2lyi7mSBClGUAfAiQcQoLURwIEAbFSTgpoQyQKZ5QAIQmFC1RkEIyQbp0pOgGEpLm3PgkW7FBndVwEN1qI7KmHk2wjgMoN/MuNwf0QzU7Z/j7kmFrZXIicgFQg/oLEmlS/KkQSoFU6jDNFoqGGVviKyYilIFgeICEGqgfEltBPQFQQINQmoBQhgEQgQJp4CdRoy9ui0o85+N8br7clI0pPwej4FsISZ8AAG4AocADpkJsAmKJAgaVDFMxCCmFTiMiwqAEjpMAFgtkLp3maM5wD/V4R2VGmtOOnpVldz6417+z3Hs/fjQ3vH/P8VTm8PUfPsiyszHmoVMsvf3e3PCx2Nz17t3UTWLjVinvrCiLufT6svGmhrWE6j1tzjbHRH9FSDV/huK83vrzvQ3fI6ndj0Zy4vGOxfHp5Y1xeSVeq2vI33SA3qppmjKsHF6ZEGh7/N5KGlGRkPj/ZcXKUFbp4I6/swFaqzO4Ma0xdWffCXO6Pk1bcMKYilvTUptzO3JeZGW9yGnPTWl2rULNEeDgdJnXYLs0jrQATKiT/q1eKoDq8x6fmt/6kqv5H9f6D+D76dxIgF8Hd4wmlf/C2bAnARD8c2b1CGD+x+Y/y3RXsZSaYiOmkDkC4A/SVw6msSjArYwhliYAAAAUAab1aFK6gHsy1ZSJ5GiRKf5RJtNa/MsMRW7JbKqsltnlGy71VyZZRzQe4YCJuAlcAgYBASK0IhA+h+aGwWGxiY5BNcKNFPyXRTSMIyJwXYs4fF3zMJaefnNbRz6JWyM8BCMQF4gQ1zGIwSL5COaageEcIIQVyWcpV6jaNCYBAB/3oC9fpXzFLGNS1cPDhIcenLt9c3odbByMS851lFpG5gSIfGIfNo4VsYQ1kdcJGCW/zusPwACXQSNgjSTBBhgOyzwy+zRO0LeRVF2TgEDPYsADhE8RQ4/8DQob9KVubTdI9VgUOrQYYhO7OOyNE6/83y22ZK7Ttxot1TzIenBoNZW4JkySwrgAB+bE17sUW2WXxLfqlLEJAA==)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/plus-jakarta-sans-vietnamese-400-normal-Cg2kxhWu.woff2)format("woff2"),url(/assets/fonts/plus-jakarta-sans-vietnamese-400-normal-B8TCSmUq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/plus-jakarta-sans-latin-ext-400-normal-D127hM_v.woff2)format("woff2"),url(/assets/fonts/plus-jakarta-sans-latin-ext-400-normal-2ppkqaOR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2)format("woff2"),url(/assets/fonts/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/fonts/material-symbols-rounded-L-6jqUNH.woff2)format("woff2")}.material-symbols-rounded{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"liga";direction:ltr;font-family:Material Symbols Rounded;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}:root{--md-primary:#4f46e5;--md-on-primary:#fff;--md-primary-container:#eaddff;--md-on-primary-container:#21005d;--md-secondary-container:#e8def8;--md-on-secondary-container:#1d192b;--md-surface:#f8f9fd;--md-surface-container:#fff;--md-surface-container-high:#eceff4;--md-on-surface:#1c1b1f;--md-on-surface-variant:#49454f;--md-outline:#79747e;--md-outline-variant:#cac4d0;--md-error:#b3261e;--md-error-container:#f9dedc;--md-success:#2e7d32;--md-success-container:#e8f5e9;--md-warning:#d97706;--md-warning-container:#fff8e1;--md-shadow:0 1px 3px #0000000a, 0 4px 16px #0000000a;--md-radius-sm:8px;--md-radius-md:12px;--md-radius-lg:16px;--md-radius-xl:24px;--md-radius-pill:9999px;--md-transition:all .2s cubic-bezier(.2,0,0,1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--md-surface);color:var(--md-on-surface);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--md-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}.material-symbols-rounded{vertical-align:middle;font-size:20px;line-height:1}.icon-sm{font-size:16px}.icon-lg{font-size:28px}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--md-surface-container);border-right:1px solid var(--md-outline-variant);flex-direction:column;gap:2px;width:200px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.admin-sidebar .brand{color:var(--md-primary);letter-spacing:.02em;margin-bottom:16px;padding:8px 12px;font-size:14px;font-weight:700}.admin-sidebar a{border-radius:var(--md-radius-lg);color:var(--md-on-surface-variant);transition:var(--md-transition);align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.admin-sidebar a .material-symbols-rounded{font-size:22px}.admin-sidebar a:hover{background:var(--md-secondary-container);color:var(--md-on-secondary-container);text-decoration:none}.admin-sidebar a.active{background:var(--md-primary-container);color:var(--md-on-primary-container)}.admin-sidebar .spacer{flex:1}.admin-sidebar .logout{color:var(--md-error)}.admin-sidebar .logout:hover{background:var(--md-error-container)}.admin-content{flex:1;max-width:1240px;padding:32px}.page-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.02em;color:var(--md-on-surface);align-items:center;gap:12px;font-size:28px;font-weight:700;display:flex}.page-header h1 .material-symbols-rounded{color:var(--md-primary);font-size:32px}.card{background:var(--md-surface-container);border-radius:var(--md-radius-xl);box-shadow:var(--md-shadow);border:1px solid var(--md-outline-variant);margin-bottom:20px;padding:24px}.card-header{border-bottom:1px solid var(--md-outline-variant);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.card-header h2{color:var(--md-on-surface);align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.card-header h2 .material-symbols-rounded{color:var(--md-primary);font-size:22px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);border:1px solid var(--md-outline-variant);box-shadow:var(--md-shadow);padding:20px;position:relative}.stat-card .stat-icon{color:var(--md-primary);opacity:.2;position:absolute;top:16px;right:16px}.stat-card .stat-icon .material-symbols-rounded{font-size:36px}.stat-card h3{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:13px;font-weight:500}.stat-card .value{color:var(--md-on-surface);font-size:30px;font-weight:700}.table-wrap{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-lg);overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--md-on-surface-variant);background:var(--md-surface-container-high);white-space:nowrap;padding:14px 16px;font-size:12px;font-weight:600}.data-table thead th .material-symbols-rounded{margin-right:4px;font-size:14px}.data-table tbody td{border-top:1px solid var(--md-outline-variant);color:var(--md-on-surface);padding:14px 16px;font-size:14px}.data-table tbody tr:hover td{background:#4f46e508}.data-table .actions{white-space:nowrap;text-align:right}.data-table .actions button{margin-left:6px}.segmented-control{background:var(--md-surface-container-high);border-radius:var(--md-radius-pill);border:1px solid var(--md-outline-variant);gap:2px;margin-bottom:24px;padding:4px;display:inline-flex}.segmented-btn{border-radius:var(--md-radius-pill);color:var(--md-on-surface-variant);transition:var(--md-transition);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:8px 20px;font-size:14px;font-weight:500;display:flex}.segmented-btn:hover{color:var(--md-on-surface);background:#4f46e50a}.segmented-btn.active{background:var(--md-surface-container);color:var(--md-primary);box-shadow:var(--md-shadow)}.btn{border-radius:var(--md-radius-pill);transition:var(--md-transition);white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 24px;font-size:14px;font-weight:500;display:inline-flex}.btn .material-symbols-rounded{font-size:18px}.btn-sm{padding:6px 16px;font-size:13px}.btn-xs{border-radius:var(--md-radius-pill);padding:4px 12px;font-size:12px}.btn-primary{background:var(--md-primary);color:var(--md-on-primary)}.btn-primary:hover{box-shadow:0 2px 8px #4f46e54d}.btn-secondary{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.btn-secondary:hover{box-shadow:0 1px 4px #00000014}.btn-cancel{background:var(--md-surface-container-high);color:var(--md-on-surface-variant);border:1px solid var(--md-outline-variant)}.btn-cancel:hover{background:var(--md-outline-variant)}.btn-danger{background:var(--md-error-container);color:var(--md-error)}.btn-danger:hover{box-shadow:0 1px 4px #b3261e33}.btn-ghost{color:var(--md-on-surface-variant);background:0 0}.btn-ghost:hover{color:var(--md-primary);background:#4f46e50f}.fab{border-radius:var(--md-radius-lg);background:var(--md-primary-container);color:var(--md-on-primary-container);transition:var(--md-transition);cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 4px 16px #4f46e533}.fab:hover{transform:translateY(-1px);box-shadow:0 6px 24px #4f46e54d}.fab .material-symbols-rounded{font-size:22px}.form-group{margin-bottom:18px}.form-group label{color:var(--md-on-surface-variant);letter-spacing:.01em;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface-container);width:100%;color:var(--md-on-surface);transition:var(--md-transition);outline:none;padding:12px 16px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--md-primary);box-shadow:0 0 0 3px #4f46e514}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--md-outline)}.form-group textarea{resize:vertical;min-height:80px}.form-group .helper-text{color:var(--md-on-surface-variant);margin-top:4px;font-size:12px}.form-group .char-count{color:var(--md-on-surface-variant);text-align:right;font-size:11px}.form-row{gap:16px;margin-bottom:18px;display:flex}.form-row .form-group{flex:1;margin-bottom:0}.form-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.floating-group{margin-bottom:18px;position:relative}.floating-group input,.floating-group select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface-container);width:100%;color:var(--md-on-surface);transition:var(--md-transition);outline:none;padding:18px 16px 6px;font-size:14px}.floating-group input:focus,.floating-group select:focus{border-color:var(--md-primary);box-shadow:0 0 0 3px #4f46e514}.floating-group label{color:var(--md-on-surface-variant);pointer-events:none;transition:var(--md-transition);background:0 0;padding:0 4px;font-size:14px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.floating-group input:focus~label,.floating-group input:not(:placeholder-shown)~label,.floating-group select:focus~label,.floating-group select:not([value=""])~label{color:var(--md-primary);font-size:11px;font-weight:500;top:10px}.floating-group select[value=""]~label{color:var(--md-on-surface-variant);font-size:14px;top:50%}input[readonly]{background:var(--md-surface-container-high);cursor:default;color:var(--md-on-surface-variant)}input[readonly]:focus{border-color:var(--md-outline-variant);box-shadow:none}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0000004d;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--md-surface-container);border-radius:var(--md-radius-xl);width:92%;max-width:520px;max-height:80vh;padding:28px;animation:.2s slideUp;overflow-y:auto;box-shadow:0 24px 80px #0000001f}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.modal-header h2 .material-symbols-rounded{color:var(--md-primary);font-size:24px}.modal-close{border-radius:var(--md-radius-pill);width:36px;height:36px;color:var(--md-on-surface-variant);transition:var(--md-transition);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--md-surface-container-high)}.confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:101;background:#0000004d;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.confirm-box{background:var(--md-surface-container);border-radius:var(--md-radius-xl);text-align:center;width:92%;max-width:400px;padding:28px;animation:.2s slideUp;box-shadow:0 24px 80px #0000001f}.confirm-box .confirm-icon{color:var(--md-warning);margin-bottom:12px;font-size:48px}.confirm-box h3{margin-bottom:8px;font-size:18px;font-weight:600}.confirm-box p{color:var(--md-on-surface-variant);margin-bottom:24px;font-size:14px}.confirm-box .form-actions{justify-content:center}.login-page{background:linear-gradient(135deg, var(--md-primary-container) 0%, var(--md-surface) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--md-surface-container);border-radius:var(--md-radius-xl);border:1px solid var(--md-outline-variant);width:100%;max-width:380px;padding:36px;box-shadow:0 8px 32px #0000000f}.login-card h1{text-align:center;margin-bottom:28px;font-size:22px;font-weight:700}.login-card .form-group{margin-bottom:18px}.login-card .btn{width:100%;padding:12px}.login-card .error{background:var(--md-error-container);color:var(--md-error);border-radius:var(--md-radius-md);text-align:center;margin-bottom:18px;padding:12px 16px;font-size:13px}.chip{border-radius:var(--md-radius-pill);border:1px solid #0000;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.chip-success{background:var(--md-success-container);color:var(--md-success)}.chip-warning{background:var(--md-warning-container);color:var(--md-warning)}.chip-error{background:var(--md-error-container);color:var(--md-error)}.chip-info{color:#3949ab;background:#e8eaf6}.filters{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.filters input,.filters select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface-container);transition:var(--md-transition);outline:none;padding:10px 14px;font-size:13px}.filters input:focus,.filters select:focus{border-color:var(--md-primary);box-shadow:0 0 0 3px #4f46e514}.btn-edit{background:var(--md-secondary-container);color:var(--md-on-secondary-container);border-radius:var(--md-radius-pill);transition:var(--md-transition);cursor:pointer;border:none;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.btn-edit:hover{box-shadow:0 1px 3px #00000014}.btn-delete{background:var(--md-error-container);color:var(--md-error);border-radius:var(--md-radius-pill);transition:var(--md-transition);cursor:pointer;border:none;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.btn-delete:hover{box-shadow:0 1px 3px #00000014}.btn-approve{background:var(--md-success-container);color:var(--md-success);border-radius:var(--md-radius-pill);transition:var(--md-transition);cursor:pointer;border:none;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.btn-reject{background:var(--md-error-container);color:var(--md-error);border-radius:var(--md-radius-pill);transition:var(--md-transition);cursor:pointer;border:none;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.status-pending{color:var(--md-warning)}.status-approved{color:var(--md-success)}.status-rejected{color:var(--md-error)}.loading{text-align:center;color:var(--md-on-surface-variant);flex-direction:column;align-items:center;gap:12px;padding:60px;display:flex}.loading .material-symbols-rounded{font-size:36px}.error-banner{background:var(--md-error-container);color:var(--md-error);border-radius:var(--md-radius-md);align-items:center;gap:8px;margin-bottom:20px;padding:12px 16px;font-size:13px;display:flex}.empty-state{text-align:center;color:var(--md-on-surface-variant);padding:48px 24px;font-size:14px}.empty-state .empty-icon{color:var(--md-outline-variant);margin-bottom:12px;font-size:56px;display:block}.empty-state h4{color:var(--md-on-surface);margin-bottom:6px;font-size:16px;font-weight:600}.empty-state p{color:var(--md-on-surface-variant);margin-bottom:16px}.csv-bar{align-items:center;gap:10px;display:flex}.csv-upload-label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.import-panel{background:var(--md-surface-container-high);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-lg);margin-top:20px;padding:24px}.import-panel h3{align-items:center;gap:6px;margin-bottom:14px;font-size:15px;font-weight:600;display:flex}.import-panel .data-table{font-size:13px}.import-panel .data-table th{padding:8px 12px;font-size:11px}.import-panel .data-table td{padding:8px 12px;font-size:13px}.import-more{color:var(--md-on-surface-variant);margin-bottom:14px;font-size:13px}.import-result{border-radius:var(--md-radius-md);background:var(--md-success-container);color:var(--md-success);align-items:center;gap:6px;margin-top:10px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.import-errors{color:var(--md-error);margin-top:12px;font-size:13px}.import-errors strong{margin-bottom:6px;display:block}.import-errors ul{margin:0;padding-left:20px}.import-errors li{margin-bottom:3px}.cur-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0000004d;justify-content:center;align-items:flex-start;padding-top:40px;display:flex;position:fixed;inset:0;overflow-y:auto}.cur-modal{background:var(--md-surface-container);border-radius:var(--md-radius-xl);flex-direction:column;width:92%;max-width:700px;max-height:85vh;display:flex;box-shadow:0 24px 80px #0000001f}.cur-modal-header{border-bottom:1px solid var(--md-outline-variant);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.cur-modal-header h3{align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.cur-modal-body{flex:1;padding:24px;overflow-y:auto}.cur-toolbar{margin-bottom:16px}.cur-add-section-form{gap:10px;display:flex}.cur-add-section-form input{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface-container);outline:none;flex:1;padding:10px 16px;font-size:14px}.cur-add-section-form input:focus{border-color:var(--md-primary);box-shadow:0 0 0 3px #4f46e514}.cur-section{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-lg);background:var(--md-surface-container);margin-bottom:10px}.cur-section-header{background:var(--md-surface-container-high);border-bottom:1px solid var(--md-outline-variant);border-radius:var(--md-radius-lg) var(--md-radius-lg) 0 0;align-items:center;gap:10px;padding:12px 16px;display:flex}.cur-section-unsectioned{border-style:dashed}.cur-section-drag{cursor:grab;color:var(--md-on-surface-variant);align-items:center;display:flex}.cur-section-drag:active{cursor:grabbing}.cur-section-title{cursor:pointer;color:var(--md-on-surface);flex:1;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.cur-section-title-edit{flex:1;gap:6px;display:flex}.cur-section-title-edit input{border:1px solid var(--md-primary);border-radius:var(--radius-sm);outline:none;flex:1;padding:6px 10px;font-size:13px}.cur-section-actions{gap:4px;display:flex}.cur-lesson-list{padding:4px 0}.cur-lesson{border-bottom:1px solid var(--md-outline-variant);align-items:center;gap:10px;padding:10px 16px 10px 12px;transition:background .1s;display:flex}.cur-lesson:last-child{border-bottom:none}.cur-lesson:hover{background:#4f46e505}.cur-lesson-drag{cursor:grab;color:var(--md-on-surface-variant);align-items:center;display:flex}.cur-lesson-drag:active{cursor:grabbing}.cur-lesson-info{flex:1;align-items:center;gap:10px;font-size:14px;display:flex}.cur-lesson-index{color:var(--md-on-surface-variant);min-width:20px;font-size:12px}.cur-lesson-duration{color:var(--md-on-surface-variant);background:var(--md-surface-container-high);border-radius:var(--md-radius-pill);padding:2px 8px;font-size:12px}.cur-lesson-quiz-badge{color:var(--md-warning);align-items:center;gap:3px;font-size:12px;display:inline-flex}.cur-lesson-actions{gap:4px;display:flex}.cur-lesson-editing{padding:16px}.cur-lesson-form{width:100%}.cur-quiz-editor{padding:4px 0}.cur-quiz-question{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);flex-direction:column;gap:10px;margin-top:10px;padding:16px;display:flex}.cur-opt-label{color:var(--md-on-surface-variant);font-size:.7rem;font-weight:600;position:absolute;top:10px;left:10px}.cur-opt-input{padding-left:26px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:1s linear infinite spin}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}
