:root{--gold:#d9a441;--gold-dark:#b77d20;--cream:#fff4d6;--cream-light:#fffaf0;--brown:#6b4e2e;--brown-dark:#382315;--terra:#c7653e;--red:#a94335;--pink:#d9918b;--purple:#75506f;--ink:#30251d;--muted:#7b6a5c;--line:#ead9bb;--white:#fff;--success:#41835b;--shadow:0 18px 48px rgba(75,48,28,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--cream-light)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:linear-gradient(180deg,#fffaf0,#f9f2e7)}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.app-header{height:68px;background:rgba(255,250,240,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.app-header,.brand{display:flex;align-items:center}.brand{gap:11px;font-weight:800;color:var(--brown);font-size:18px}.brand-mark{background:linear-gradient(135deg,var(--gold),var(--terra));color:white;padding:8px 9px;border-radius:10px;font-size:14px;box-shadow:0 6px 16px rgba(199,101,62,.25)}.header-nav{gap:10px}.header-nav,.header-nav>a{display:flex;align-items:center}.header-nav>a{gap:7px;padding:9px 12px;border-radius:10px;color:var(--brown)}.header-nav>a:hover{background:var(--cream)}.user-chip{background:white;border:1px solid var(--line);padding:8px 13px;border-radius:999px;font-weight:600}.icon-button{border:0;background:transparent;padding:8px 10px;border-radius:10px;color:var(--red);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#fbe9e5}.page-container{max-width:1240px;margin:0 auto;padding:24px 28px 70px}.course-hero,.leaderboard-hero,.welcome-banner{background:linear-gradient(115deg,var(--brown-dark),var(--brown) 55%,var(--terra));color:white;border-radius:24px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);overflow:hidden;position:relative}.course-hero:after,.welcome-banner:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,244,214,.1);right:-80px;top:-150px}.course-hero h1,.leaderboard-hero h1,.welcome-banner h1{font-size:34px;margin:7px 0}.course-hero p,.leaderboard-hero p,.welcome-banner p{max-width:720px;color:#f6e7d2}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#ffd989}.banner-icon{width:100px;height:100px;border-radius:30px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#ffd989;transform:rotate(5deg)}.section-heading{margin:38px 0 18px}.section-heading h2{font-size:27px;margin:0 0 5px}.section-heading p{color:var(--muted);margin:0}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(70,48,31,.07);transition:.2s}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.course-cover{height:145px;padding:25px;display:flex;align-items:center;justify-content:space-between;color:white}.course-cover span{font-weight:800;letter-spacing:.08em}.cover-0{background:linear-gradient(135deg,var(--gold-dark),var(--terra))}.cover-1{background:linear-gradient(135deg,var(--purple),var(--pink))}.cover-2{background:linear-gradient(135deg,var(--red),var(--gold))}.course-body{padding:22px}.course-body h3{font-size:20px;margin:12px 0 8px}.course-body p{color:var(--muted);font-size:14px;line-height:1.6;min-height:67px}.course-footer,.course-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px}.pill{background:var(--cream);color:var(--brown);padding:5px 9px;border-radius:999px;font-weight:700;text-transform:capitalize}.progress-line{height:8px;background:#f1e8dc;border-radius:99px;overflow:hidden;margin:19px 0 12px}.progress-line>div{height:100%;background:linear-gradient(90deg,var(--gold),var(--terra));border-radius:99px}.course-link{color:var(--red);font-weight:700;display:flex;align-items:center;gap:5px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.stat-row>div{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;grid-template-columns:auto 1fr;column-gap:13px}.stat-row svg{grid-row:1/3;color:var(--terra)}.stat-row span{color:var(--muted);font-size:13px}.loading-card{padding:35px;text-align:center;background:white;border:1px solid var(--line);border-radius:18px}.course-hero{margin-bottom:28px}.primary-button,.secondary-button{border:0;border-radius:12px;padding:12px 18px;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.secondary-button{background:#fff1d0;color:var(--brown);z-index:2}.primary-button{background:linear-gradient(135deg,var(--gold-dark),var(--terra));color:white;box-shadow:0 9px 20px rgba(199,101,62,.24)}.full{width:100%;justify-content:center}.breadcrumb-bar{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:16px;font-weight:600}.breadcrumb-bar a{color:var(--brown)}.breadcrumb-bar a:hover{color:var(--terra)}.course-progress-summary{margin-top:16px;font-size:13px;color:#fcecdb}.progress-bar-bg{height:8px;background:rgba(255,255,255,.2);border-radius:99px;margin-top:6px;overflow:hidden}.progress-bar-fill{height:100%;background:#ffd989;border-radius:99px}.curriculum-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 16px;flex-wrap:wrap}.curriculum-header h2{display:flex;align-items:center;gap:9px;font-size:22px;color:var(--brown-dark);margin:0 0 4px}.curriculum-header p{color:var(--muted);margin:0;font-size:14px}.curriculum-controls{display:flex;align-items:center;gap:8px}.curriculum-control-btn{display:inline-flex;align-items:center;gap:6px;background:white;border:1px solid var(--line);color:var(--brown);padding:8px 14px;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px rgba(0,0,0,.03)}.curriculum-control-btn:hover{background:var(--cream);color:var(--brown-dark);border-color:var(--gold)}.module-list{display:flex;flex-direction:column;gap:26px}.module-card{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(75,48,28,.05);transition:all .2s ease}.module-header{padding:20px 28px;background:linear-gradient(90deg,#fff2d4,#fffaf0);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.module-header:hover{background:linear-gradient(90deg,#ffecc2,#fff6e0)}.module-header.is-collapsed{border-bottom:0}.module-badge{letter-spacing:.14em;font-weight:900;color:var(--terra);background:#ffe7c2;padding:4px 10px;border-radius:6px}.module-badge,.module-meta-pill{display:inline-block;font-size:11px;margin-bottom:6px}.module-meta-pill{font-weight:700;color:var(--brown);background:rgba(255,255,255,.7);border:1px solid var(--line);padding:3px 9px;border-radius:6px}.module-toggle-btn{display:inline-flex;align-items:center;gap:6px;background:white;border:1px solid var(--line);color:var(--brown-dark);padding:9px 16px;border-radius:12px;font-size:13px;font-weight:800;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px rgba(75,48,28,.06);flex-shrink:0}.module-header:hover .module-toggle-btn,.module-toggle-btn.expanded{border-color:var(--gold);color:var(--terra)}.module-toggle-btn.expanded{background:#fff8eb}.module-header h2{margin:4px 0;font-size:21px;color:var(--brown-dark)}.module-header p{margin:0;color:var(--muted);font-size:14px}.lesson-list{display:flex;flex-direction:column;gap:20px;padding:24px 28px}.lesson-block{background:#fffcf7;border:1px solid #f2e5d0;border-radius:16px;padding:20px 22px}.lesson-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.lesson-title-area{display:flex;flex-direction:column;gap:4px}.lesson-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:#1e6b37;background:#e3f3e7;border:1px solid #a8e0b7;padding:4px 9px;border-radius:6px;width:fit-content}.lesson-badge.locked-badge{color:#a94335;background:#fde8e5;border:1px solid #f8cfcb}.lesson-header h3{margin:4px 0 0;font-size:18px;color:var(--brown-dark)}.view-theory-btn{background:#e8f5e9;border:1px solid #81c784;color:#1b5e20;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px rgba(46,125,50,.12)}.view-theory-btn:hover{background:#2e7d32;color:white;border-color:#1b5e20;box-shadow:0 4px 12px rgba(46,125,50,.25)}.view-theory-btn.disabled,.view-theory-btn.locked{background:#fde8e5!important;border:1px solid #e57373!important;color:#c62828!important;opacity:.95;cursor:not-allowed;box-shadow:0 2px 6px rgba(198,40,40,.1)!important}.view-theory-btn.disabled:hover,.view-theory-btn.locked:hover{background:#fde8e5!important;border-color:#e57373!important;color:#c62828!important}.exercise-section-label{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}.exercise-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.exercise-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:15px 17px;border-bottom:1px solid var(--line);transition:.15s}.exercise-row:last-child{border:0}.exercise-row:not(.locked):hover{background:var(--cream-light)}.exercise-row.locked{background:#faf8f4;color:#a29589;grid-template-columns:auto 1fr auto}.exercise-row>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.exercise-row span{font-size:12px;color:var(--muted)}.status-icon{width:36px;height:36px;border-radius:11px;background:var(--cream);color:var(--terra);display:grid;place-items:center}.status-icon.complete{background:#e3f3e7;color:var(--success)}.score-chip{font-size:12px;font-weight:800;background:#f6eee2;padding:7px 10px;border-radius:10px}.alert{padding:13px 15px;border-radius:11px;margin:14px 0}.alert.error{background:#fce8e5;color:#812f25;border:1px solid #f0bfb7}.video-player-container{margin:20px 0 26px;background:#2a211c;border-radius:18px;overflow:hidden;border:1px solid #4a3e36;box-shadow:0 8px 24px rgba(0,0,0,.15)}.video-label{padding:12px 18px;font-size:12px;font-weight:800;letter-spacing:.08em;color:#ffd989;background:#1e1815;border-bottom:1px solid #3d322b;display:flex;align-items:center;gap:7px}.video-iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.video-element{width:100%;max-height:420px;display:block;background:black}.theory-document{background:white;border:1px solid var(--line);border-radius:18px;padding:24px 28px;margin-bottom:26px;box-shadow:0 4px 16px rgba(0,0,0,.03)}.theory-header-label{font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--terra);margin-bottom:16px;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--line);padding-bottom:10px}.lesson-page-title{font-size:30px;color:var(--brown-dark);margin:10px 0 20px}.lesson-exercise-links{background:#fffaf0;border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin-top:20px}.lesson-exercise-links h3{margin:0 0 14px;font-size:16px;color:var(--brown-dark);display:flex;align-items:center;gap:8px}.exercise-link-grid{display:flex;flex-direction:column;gap:9px}.lesson-exercise-card{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);padding:13px 18px;border-radius:12px;transition:.15s}.lesson-exercise-card:hover{border-color:var(--gold);transform:translateX(3px)}.lesson-exercise-card span{font-size:11px;font-weight:800;background:var(--cream);color:var(--brown);padding:4px 8px;border-radius:6px}.lesson-exercise-card strong{flex:1 1;font-size:14px;color:var(--brown-dark)}.attachments-section{background:#fffaf0;border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin-bottom:26px}.attachments-label{font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--terra);margin-bottom:14px;display:flex;align-items:center;gap:7px}.attachments-list{display:flex;flex-direction:column;gap:10px}.attachment-item-card{display:flex;align-items:center;gap:13px;background:white;border:1px solid var(--line);padding:13px 17px;border-radius:14px;transition:.15s}.attachment-item-card:hover{border-color:var(--gold);box-shadow:0 4px 12px rgba(0,0,0,.04)}.file-type-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-none:true}.file-type-icon.type-pdf{background:#fde8e5;color:#c73e3e}.file-type-icon.type-docx{background:#e8f0fe;color:#2b6cb0}.file-type-icon.type-video{background:#f3e8ff;color:#7e22ce}.file-type-icon.type-image{background:#e6f4ea;color:#137333}.file-type-icon.type-other{background:var(--cream);color:var(--terra)}.attachment-info{flex:1 1;display:flex;flex-direction:column;gap:3px}.attachment-info strong{font-size:14px;color:var(--brown-dark)}.attachment-info span{font-size:12px;color:var(--muted)}.attachment-actions{display:flex;align-items:center;gap:8px}.preview-action-btn{border:0;background:var(--cream);color:var(--brown-dark);padding:8px 14px;border-radius:9px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:.15s}.preview-action-btn:hover{background:var(--gold);color:white}.download-action-btn{display:inline-grid;place-items:center;padding:8px;border-radius:9px;background:#f5eee6;color:var(--brown);border:1px solid var(--line)}.download-action-btn:hover{background:var(--brown);color:white}.doc-viewer-modal{width:min(1150px,95vw)!important;height:88vh!important;max-height:88vh!important}.doc-viewer-header-info{display:flex;align-items:center;gap:12px}.doc-viewer-header-actions{display:flex;align-items:center;gap:8px}.doc-type-badge{font-size:11px;font-weight:900;padding:4px 8px;border-radius:6px;color:white}.doc-type-badge.type-pdf{background:#c73e3e}.doc-type-badge.type-docx{background:#2b6cb0}.doc-type-badge.type-video{background:#7e22ce}.doc-type-badge.type-image{background:#137333}.doc-type-badge.type-other{background:var(--terra)}.doc-viewer-body{padding:0!important;height:calc(100% - 68px);background:#1a1715;display:flex;flex-direction:column;overflow:hidden}.doc-iframe{width:100%;height:100%;border:0;background:white}.docx-preview-wrapper,.image-preview-wrapper,.other-file-fallback,.video-preview-wrapper{width:100%;height:100%;display:grid;place-items:center;background:#151210}.modal-video-element{max-width:100%;max-height:100%;outline:0}.modal-image-element{max-width:100%;max-height:100%;object-fit:contain}.other-file-fallback{display:flex;flex-direction:column;gap:12px;color:#ded3c9;text-align:center;padding:40px}.editor-container-wrapper{position:relative;width:100%;height:100%}.editor-no-paste-toast{position:absolute;top:12px;right:16px;z-index:50;background:#991b1b;color:white;padding:9px 16px;border-radius:10px;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.3);animation:toastPop .2s ease-out;display:flex;align-items:center;gap:8px;border:1px solid #f87171}@keyframes toastPop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.vertical-split-handle{height:6px;cursor:row-resize;background:#443830;position:relative;flex:none;z-index:10;transition:background .15s}.vertical-split-handle:active,.vertical-split-handle:hover{background:var(--gold)}.modal-backdrop{position:fixed;inset:0;background:rgba(28,24,21,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:grid;place-items:center;padding:24px}.modal-card{background:white;border-radius:24px;width:min(820px,100%);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.25);overflow:hidden;animation:modalPop .2s ease-out}@keyframes modalPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{padding:22px 28px;background:linear-gradient(90deg,#fff2d4,#fffaf0);border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.modal-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900;color:var(--terra);letter-spacing:.08em;margin-bottom:4px}.modal-header h2{margin:0;font-size:22px;color:var(--brown-dark)}.modal-close{background:transparent;border:0;padding:6px;border-radius:8px;cursor:pointer;color:var(--muted)}.modal-close:hover{background:var(--cream);color:var(--brown)}.modal-body{padding:28px;overflow-y:auto;line-height:1.7;color:#453a31}.modal-body h1,.modal-body h2,.modal-body h3{color:var(--brown-dark)}.modal-body code{background:#f4e8d5;padding:3px 7px;border-radius:6px;font-family:monospace;font-size:13px}.modal-body pre{background:#2a211c;color:#fff2d7;padding:16px;border-radius:12px;overflow-x:auto}.modal-body pre code{background:transparent;padding:0;color:inherit}.pane-tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:2px}.pane-tab{border:0;background:transparent;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:700;color:var(--muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.pane-tab.active{background:var(--cream);color:var(--brown-dark);box-shadow:0 2px 5px rgba(0,0,0,.04)}.exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-top:20px}.exam-card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 24px rgba(70,48,31,.05);transition:.2s}.exam-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.exam-card.submitted{border-color:#d0c4b4;background:#fffcf7}.exam-card.in-progress{border-color:var(--gold);background:#fffdf7}.exam-card-header{display:flex;justify-content:space-between;align-items:center}.exam-code{font-size:11px;font-weight:900;background:var(--cream);color:var(--brown);padding:4px 8px;border-radius:6px}.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:4px 10px;border-radius:99px;background:#eee5d8;color:var(--brown)}.status-pill.success{background:#e3f3e7;color:var(--success)}.status-pill.warning{background:#fff1cb;color:var(--gold-dark)}.status-pill.passed{background:#e3f3e7;color:var(--success)}.status-pill.failed{background:#fde8e5;color:var(--red)}.status-pill.muted{background:#e8e0d5;color:var(--muted)}.exam-title{font-size:18px;margin:0;color:var(--brown-dark)}.exam-description{font-size:13px;color:var(--muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exam-meta{display:flex;gap:14px;font-size:12px;color:var(--brown);flex-wrap:wrap}.meta-item{gap:5px;background:#f9f2e7;padding:5px 9px;border-radius:8px}.exam-result-box,.meta-item{display:flex;align-items:center}.exam-result-box{background:#f6ece0;border:1px solid #e7d7c3;border-radius:12px;padding:10px 14px;justify-content:space-between}.score-label{font-size:12px;color:var(--brown)}.score-value strong{font-size:18px;color:var(--terra)}.exam-card-footer{margin-top:auto;padding-top:10px}.btn-exam{width:100%;border:0;padding:11px 16px;border-radius:12px;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.15s}.btn-exam.primary{background:linear-gradient(135deg,var(--terra),var(--red));color:white;box-shadow:0 6px 16px rgba(199,101,62,.2)}.btn-exam.primary:hover{opacity:.9}.btn-exam.secondary{background:var(--cream);color:var(--brown-dark);border:1px solid var(--line)}.btn-exam.secondary:hover{background:#f5e7ce}.btn-exam.disabled{background:#e5ded5;color:#a09285;cursor:not-allowed}.btn-exam.large{font-size:16px;padding:14px 24px;border-radius:14px}.countdown-box{display:flex;align-items:center;gap:7px;background:#2b221b;color:#ffd989;padding:6px 14px;border-radius:10px;font-weight:800;font-size:15px;font-family:monospace;letter-spacing:.05em;border:1px solid #4a3c31}.countdown-box.pulsing-low{background:#801b1b;color:white;border-color:#f87171;animation:pulseRed 1s infinite alternate}@keyframes pulseRed{0%{opacity:1;box-shadow:0 0 0 rgba(248,113,113,0)}to{opacity:.8;box-shadow:0 0 12px rgba(248,113,113,.6)}}.finish-btn{background:linear-gradient(135deg,#c7653e,#a94335)!important;font-weight:900!important}.fullscreen-btn{background:#2b221b!important;border:1px solid #4a3c31!important;color:#ffd989!important;padding:8px 10px!important}.fullscreen-btn:hover{background:#3d3022!important;border-color:#7a5c3e!important}.fullscreen-btn.active{background:#1a2b1a!important;border-color:#3a6b3a!important;color:#86efac!important}.exam-question-tabs{display:flex;gap:6px;padding:10px 14px;background:#f3e7d4;border-bottom:1px solid var(--line);overflow-x:auto}.question-tab{border:0;background:white;color:var(--brown);padding:7px 12px;border-radius:8px;font-size:12px;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:6px;transition:.15s;border:1px solid var(--line)}.question-tab.active{background:var(--brown);color:white;border-color:var(--brown)}.question-tab .icon-ok{color:#41835b}.question-tab.active .icon-ok{color:#ffd989}.dot-code{width:6px;height:6px;border-radius:50%;background:var(--terra)}.exercise-header-badge{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--terra);margin-bottom:8px}.exercise-header-badge .points{background:var(--cream);color:var(--brown-dark);padding:3px 8px;border-radius:6px}.editor-tab-actions{margin-left:auto;display:flex;gap:6px}.btn-action{border:0;padding:5px 11px;border-radius:7px;font-size:11px;font-weight:800;color:white;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.btn-action.run{background:var(--success)}.btn-action.debug{background:var(--purple)}.btn-action.submit{background:var(--terra)}.exam-start-card{background:white;border:1px solid var(--line);border-radius:24px;padding:40px;box-shadow:var(--shadow);margin-top:30px}.exam-start-card h1{font-size:28px;color:var(--brown-dark);margin:12px 0 10px}.exam-start-card .description{color:var(--muted);font-size:15px;line-height:1.6;margin-bottom:24px}.exam-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.detail-box{background:#fffaf0;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px;color:var(--terra)}.detail-box label{font-size:11px;color:var(--muted);display:block}.detail-box strong{font-size:16px;color:var(--brown-dark)}.exam-rules-box{background:#fff7ea;border:1px solid #ebd4b2;border-radius:16px;padding:20px;margin-bottom:28px}.exam-rules-box h3{margin:0 0 10px;font-size:15px;color:var(--brown-dark);display:flex;align-items:center;gap:8px}.exam-rules-box ul{margin:0;padding-left:20px;font-size:13px;line-height:1.7;color:var(--brown)}.exam-result-summary-card{background:white;border:1px solid var(--line);border-radius:24px;padding:40px;box-shadow:var(--shadow);text-align:center;margin-top:30px}.exam-result-summary-card.passed .result-header svg{color:var(--success)}.exam-result-summary-card.failed .result-header svg{color:var(--red)}.result-header h2{font-size:26px;margin:12px 0 4px}.result-header .exam-title{font-size:14px;color:var(--muted)}.result-score-circle{width:130px;height:130px;border:7px solid var(--gold);border-radius:50%;margin:26px auto;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fffcf5}.result-score-circle strong{font-size:38px;color:var(--brown-dark);line-height:1}.result-score-circle span{font-size:12px;color:var(--muted);margin-top:4px}.spin-icon{animation:spin 1s linear infinite}.result-note{font-size:14px;color:var(--brown);margin-bottom:28px}.exercise-results-list{text-align:left;background:#fffaf0;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:28px}.exercise-results-list h3{margin:0 0 14px;font-size:15px;color:var(--brown-dark)}.result-item-row{justify-content:space-between;padding:10px 14px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:8px}.item-info,.result-item-row{display:flex;align-items:center}.item-info{gap:10px}.q-badge{font-size:11px;font-weight:900;background:var(--cream);color:var(--brown);padding:3px 7px;border-radius:5px}.confirm-modal{background:white;border-radius:20px;padding:28px;width:min(480px,90vw);box-shadow:0 24px 60px rgba(0,0,0,.3)}.confirm-modal h2{margin:0 0 8px;font-size:20px;color:var(--brown-dark)}.confirm-modal p{margin:0 0 16px;font-size:14px;color:var(--muted)}.modal-summary{background:#fbf5ec;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.summary-line{display:flex;justify-content:space-between;font-size:13px}.text-success{color:var(--success)}.text-warning{color:var(--gold-dark)}.text-muted{color:var(--muted)}.modal-buttons{display:flex;gap:10px;justify-content:flex-end}.login-page{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.login-hero{background:linear-gradient(140deg,var(--brown-dark),var(--brown) 50%,var(--terra));color:white;display:flex;align-items:center;padding:9vw;position:relative;overflow:hidden}.hero-content{position:relative;z-index:2;max-width:650px}.logo-large{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:900;color:#ffd989}.login-hero h1{font-size:52px;line-height:1.12;margin:35px 0 22px}.login-hero p{font-size:18px;line-height:1.7;color:#f4e5d3}.feature-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px}.feature-row span{padding:9px 13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:99px}.hero-orb{position:absolute;border-radius:50%;background:rgba(255,217,137,.1)}.hero-orb-one{width:430px;height:430px;right:-100px;top:-90px}.hero-orb-two{width:220px;height:220px;left:10%;bottom:-90px}.login-panel{display:grid;place-items:center;padding:45px;background:var(--cream-light)}.login-card{width:min(430px,100%);background:white;border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:var(--shadow)}.login-icon{width:56px;height:56px;display:grid;place-items:center;background:var(--cream);color:var(--terra);border-radius:17px}.login-card h2{font-size:28px;margin:20px 0 7px}.login-card>p{color:var(--muted);margin-bottom:25px}.login-card label{display:block;font-size:13px;font-weight:800;margin:16px 0}.input-with-icon{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;padding:0 13px;margin-top:7px;color:var(--muted)}.input-with-icon:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,164,65,.12)}.input-with-icon input{width:100%;border:0;outline:0;padding:13px;background:transparent}.demo-note{background:var(--cream-light);border:1px dashed var(--gold);border-radius:12px;padding:12px;line-height:1.5}.admin-link,.demo-note{margin-top:18px;font-size:13px}.admin-link{display:block;text-align:center;color:var(--purple);font-weight:700}.learn-page{height:100vh;overflow:hidden;background:#1c1815}.learn-page .app-header{height:58px;position:relative}.learn-toolbar{height:54px;background:#fffaf0;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 18px;gap:10px}.learn-toolbar>a{display:flex;align-items:center;gap:6px;color:var(--brown);font-size:13px}.exercise-title{display:flex;align-items:center;gap:9px;margin-right:auto;padding-left:13px;border-left:1px solid var(--line)}.exercise-title span{font-size:11px;background:var(--cream);padding:5px 7px;border-radius:6px;color:var(--brown);font-weight:800}.save-status{gap:5px;color:var(--muted);font-size:12px}.save-status,.toolbar-button{display:flex;align-items:center}.toolbar-button{border:0;padding:9px 14px;border-radius:9px;color:white;font-weight:800;gap:7px;cursor:pointer}.toolbar-button.run{background:var(--success)}.toolbar-button.debug{background:var(--purple)}.toolbar-button.submit{background:linear-gradient(135deg,var(--terra),var(--red))}.toolbar-button:disabled{opacity:.65}.workspace{display:flex;height:calc(100vh - 112px)}.lesson-pane{background:var(--cream-light);min-width:25%;max-width:60%;height:100%;overflow:hidden}.lesson-scroll{height:100%;overflow:auto;padding:26px 30px 55px}.lesson-breadcrumb{font-size:12px;color:var(--terra);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.lesson-scroll h1{font-size:27px;margin:9px 0 25px}.lesson-scroll h3{font-size:15px;color:var(--brown);margin-top:24px}.lesson-scroll li,.lesson-scroll p{font-size:14px;line-height:1.7;color:#51463d}.lesson-scroll code{background:#f2e4cd;padding:2px 5px;border-radius:5px}.io-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.guide-box,.hint,.sample-card{background:white;border:1px solid var(--line);padding:15px;border-radius:13px;margin:12px 0}.sample-card pre{background:#2a211c;color:#fff2d7;padding:11px;border-radius:8px;white-space:pre-wrap}.sample-card label{font-size:11px;color:var(--muted);font-weight:800}.lesson-scroll details{border-top:1px solid var(--line);padding:15px 0}.lesson-scroll summary{cursor:pointer;font-weight:800;color:var(--brown);display:flex;align-items:center;justify-content:space-between}.hint strong{color:var(--terra);font-size:13px}.split-handle{width:6px;cursor:col-resize;background:#5c4638;position:relative;flex:none}.split-handle:hover{background:var(--gold)}.ide-pane{min-width:40%;height:100%;display:flex;flex-direction:column;background:#1e1e1e}.editor-tab{height:38px;background:#2a2420;color:#eee0d2;padding:0 15px;display:flex;align-items:center;gap:8px;font-size:12px;border-bottom:1px solid #3e342e}.editor-tab span{margin-left:auto;color:#c2a986}.editor-area{height:57%;min-height:220px}.bottom-panel{height:43%;background:#211c19;color:#e8ddd5;border-top:1px solid #4a3e36;display:flex;flex-direction:column}.panel-tabs{height:38px;display:flex;background:#2b2521}.panel-tabs button{border:0;background:transparent;color:#bbaea5;padding:0 15px;display:flex;align-items:center;gap:7px;cursor:pointer;border-bottom:2px solid transparent;font-size:12px}.panel-tabs button.active{color:#ffd989;border-color:var(--gold)}.panel-content{flex:1 1;overflow:auto}.io-panel{display:grid;grid-template-columns:1fr 1.25fr;height:100%}.io-panel>div{display:flex;flex-direction:column;padding:12px;border-right:1px solid #423831}.io-panel label{font-size:11px;text-transform:uppercase;color:#c6a983;font-weight:800;margin-bottom:8px}.io-panel pre,.io-panel textarea{flex:1 1;margin:0;background:#161311;border:1px solid #423831;color:#f5eadd;border-radius:7px;padding:10px;resize:none;outline:0;white-space:pre-wrap;overflow:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.breakpoint-glyph{background:var(--red);border-radius:50%;width:10px!important;height:10px!important;margin-left:5px;margin-top:5px}.empty-panel{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#b5a69c}.empty-panel strong{color:#f0ded0}.debug-panel{height:100%;display:flex;flex-direction:column}.debug-toolbar{height:38px;padding:0 10px;display:flex;align-items:center;gap:4px;border-bottom:1px solid #423831}.debug-toolbar button{background:#3a302a;color:#eee0d2;border:0;border-radius:6px;padding:6px;cursor:pointer}.debug-state{display:flex;align-items:center;gap:7px;margin-right:auto;font-size:12px;color:#e9cb8b}.debug-columns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#423831;flex:1 1;min-height:0}.debug-columns>div{background:#211c19;padding:10px;overflow:auto}.debug-columns h4{font-size:11px;text-transform:uppercase;color:#c6a983;margin:5px 0 8px}.debug-table>div{display:flex;justify-content:space-between;padding:5px;border-bottom:1px solid #342c27;font-size:12px}.debug-table small{color:#8f8279}.evaluate-row{display:flex;gap:5px}.evaluate-row input{flex:1 1;background:#171310;color:white;border:1px solid #4a3e36;padding:7px}.evaluate-row button{background:var(--purple);border:0;color:white}.eval-value{display:block;padding:8px;color:#ffd989}.debug-console{height:100px;background:#151210;color:#ddd;padding:8px;overflow:auto;white-space:pre-wrap}.submission-panel{padding:14px;height:100%;overflow:auto}.submission-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 17px;border:1px solid #51443b;border-radius:12px;background:#2d2723}.submission-summary.passed{border-color:#4f8a63;background:#20372a}.submission-summary.failed{border-color:#a9574c;background:#40231f}.submission-summary span{font-size:10px;color:#c6a983}.submission-summary h3{margin:3px 0}.submission-summary p{margin:0;color:#c9bbb1;font-size:12px}.score-circle{width:76px;height:76px;border:5px solid var(--gold);border-radius:50%;display:grid;place-content:center;text-align:center}.score-circle strong{font-size:24px;color:#ffd989}.score-circle span{color:#e9d8c7}.compile-output{white-space:pre-wrap;background:#151210;color:#f2b3aa;padding:10px;border-radius:8px}.test-result-list>div{display:grid;grid-template-columns:auto 1fr 1fr auto auto;gap:10px;align-items:center;padding:9px;border-bottom:1px solid #3b322c;font-size:12px}.test-ok{color:#7fc894}.test-fail{color:#ef8174}.test-result-list small,.test-result-list span:nth-child(3){color:#a99b91}.result-note{margin-top:12px;padding:10px;background:#342b25;border-radius:8px;color:#e9d2b8}.full-loading{height:calc(100vh - 68px);display:grid;place-items:center}.leaderboard-hero{justify-content:flex-start;gap:22px;margin-bottom:25px}.leaderboard-hero>svg{color:#ffd989}.leaderboard-table{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.leaderboard-head,.leaderboard-row{display:grid;grid-template-columns:80px 1.7fr 1fr 1fr 1fr;align-items:center;padding:15px 20px}.leaderboard-head{background:var(--cream);font-size:12px;font-weight:800;color:var(--brown)}.leaderboard-row{border-top:1px solid var(--line)}.leaderboard-row>span:first-child{font-size:20px;font-weight:900;color:var(--terra)}.leaderboard-row>span:nth-child(2){display:flex;flex-direction:column}.leaderboard-row small{color:var(--muted)}.leaderboard-row.rank-1{background:#fffaf0}.leaderboard-row.rank-1>span:first-child{color:#d9a441}.leaderboard-row.rank-2>span:first-child{color:#9b9b9b}.leaderboard-row.rank-3>span:first-child{color:#b46d42}@media(max-width:900px){.course-grid,.login-page,.stat-row{grid-template-columns:1fr}.login-hero{display:none}.page-container{padding:22px 15px}.app-header{padding:0 14px}.header-nav>a{font-size:0}.user-chip{display:none}.course-hero,.welcome-banner{padding:27px}.workspace{display:block;overflow:auto}.ide-pane,.lesson-pane{width:100%!important;max-width:none}.lesson-pane{height:auto}.ide-pane{height:780px}.split-handle{display:none}.learn-page{height:auto;overflow:auto}.learn-toolbar{position:sticky;top:58px;z-index:10}.exercise-title{display:none}}.exam-page .lesson-pane{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.exam-page .lesson-pane.blurred-pane .lesson-scroll{filter:blur(14px);pointer-events:none}@media print{.exam-page .lesson-pane,.exam-page .workspace{display:none!important}}.exam-blur-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(18,18,20,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fbbf24;text-align:center;padding:32px;border-radius:8px}.exam-blur-overlay h4{margin:14px 0 8px;font-size:1.15rem;color:#f3f4f6;font-weight:600}.exam-blur-overlay p{font-size:.9rem;color:#9ca3af;max-width:320px;line-height:1.5}.exam-copy-toast{position:absolute;top:60px;left:50%;transform:translateX(-50%);background:#ef4444;color:#fff;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;z-index:250;display:flex;align-items:center;gap:8px;box-shadow:0 10px 25px rgba(239,68,68,.4);animation:fadeInDown .3s ease}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.teacher-unlock-banner{background:linear-gradient(135deg,#2b211a,#3d2b20);border:1px solid var(--gold);border-radius:18px;padding:18px 24px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:white;box-shadow:0 8px 24px rgba(0,0,0,.12)}.teacher-unlock-info{display:flex;align-items:center;gap:14px}.teacher-unlock-info svg{color:#ffd989}.teacher-unlock-info strong{display:block;font-size:15px;color:#ffd989;letter-spacing:.05em}.teacher-unlock-info span{font-size:13px;color:#f1e4d5}.teacher-unlock-controls{display:flex;align-items:center;gap:12px}.teacher-unlock-controls label{font-size:13px;font-weight:700;color:#ffd989}.teacher-unlock-select{background:#1e1814;color:#fff;border:1px solid var(--gold);padding:9px 14px;border-radius:10px;font-weight:700;font-size:14px;outline:none;cursor:pointer}.teacher-unlock-select:focus{box-shadow:0 0 0 3px rgba(217,164,65,.3)}.success-toast-inline{background:#41835b;color:white;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700}.teacher-lesson-btn{border:0;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease}.teacher-lesson-btn.unlocked{background:#e3f3e7;color:#1e6b37;border:1px solid #41835b}.teacher-lesson-btn.unlocked:hover{background:#c8e8cf}.teacher-lesson-btn.locked{background:#fde8e5;color:#a94335;border:1px solid #d9918b}.teacher-lesson-btn.locked:hover{background:#f8cfcb}.attendance-hero{background:linear-gradient(120deg,#1b263b,#2b3a55 50%,#3a506b);color:white;border-radius:24px;padding:32px 38px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 16px 40px rgba(27,38,59,.25);margin-bottom:28px;position:relative;overflow:hidden}.attendance-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.05);right:-80px;top:-140px;pointer-events:none}.attendance-hero h1{font-size:32px;margin:6px 0;color:#fff}.attendance-hero p{color:#cbd5e1;max-width:600px;font-size:15px;margin:0}.hero-action-box{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px 22px;border-radius:20px;border:1px solid rgba(255,255,255,.2)}.live-clock{display:flex;flex-direction:column;align-items:flex-end}.live-clock-time{font-family:monospace;font-size:26px;font-weight:800;color:#ffd989;line-height:1}.live-clock-date{font-size:12px;color:#cbd5e1;margin-top:4px}.btn-check-in{background:linear-gradient(135deg,#10b981,#059669);color:white;border:0;padding:12px 22px;border-radius:14px;font-size:15px;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 8px 20px rgba(16,185,129,.35);transition:all .2s ease}.btn-check-in:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,185,129,.45)}.btn-check-out{background:linear-gradient(135deg,#f59e0b,#d97706);color:white;border:0;padding:12px 22px;border-radius:14px;font-size:15px;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 8px 20px rgba(245,158,11,.35);transition:all .2s ease}.btn-check-out:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(245,158,11,.45)}.attendance-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.attendance-stat-card{background:white;border:1px solid var(--line);border-radius:18px;padding:18px 22px;display:flex;align-items:center;gap:16px;box-shadow:0 6px 18px rgba(0,0,0,.03)}.stat-icon-wrapper{width:52px;height:52px;border-radius:15px;display:grid;place-items:center}.stat-icon-wrapper.green{background:#e6f4ea;color:#137333}.stat-icon-wrapper.blue{background:#e8f0fe;color:#1a73e8}.stat-icon-wrapper.orange{background:#fef7e0;color:#b06000}.stat-icon-wrapper.purple{background:#f3e8ff;color:#7e22ce}.stat-info label{font-size:12px;color:var(--muted);font-weight:700;display:block;margin-bottom:3px}.stat-info strong{font-size:22px;color:var(--brown-dark);font-weight:800}.attendance-filter-card{background:white;border:1px solid var(--line);border-radius:20px;padding:18px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 6px 18px rgba(0,0,0,.02);flex-wrap:wrap}.filter-inputs-group{display:flex;align-items:center;gap:14px;flex:1 1;flex-wrap:wrap}.search-box-input{display:flex;align-items:center;gap:9px;background:#fbf8f3;border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-width:260px;color:var(--brown-dark)}.search-box-input input{border:0;background:transparent;outline:0;width:100%;font-size:14px;color:var(--brown-dark)}.date-picker-input{display:flex;align-items:center;gap:9px;background:#fbf8f3;border:1px solid var(--line);border-radius:12px;padding:10px 14px;color:var(--brown-dark);font-size:14px}.date-picker-input input{border:0;background:transparent;outline:0;font-weight:700;color:var(--brown-dark)}.btn-clear-filter{background:#f5eee6;color:var(--brown);border:1px solid var(--line);padding:10px 16px;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.btn-clear-filter:hover{background:var(--cream);color:var(--brown-dark)}.btn-manual-add{background:linear-gradient(135deg,var(--brown-dark),var(--brown));color:white;border:0;padding:11px 18px;border-radius:12px;font-weight:800;font-size:14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 6px 16px rgba(56,35,21,.2);transition:all .15s ease}.btn-manual-add:hover{opacity:.92;transform:translateY(-1px)}.attendance-table-wrapper{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.attendance-table{width:100%;border-collapse:collapse;text-align:left}.attendance-table th{background:#fbf6ee;color:var(--brown-dark);font-size:13px;font-weight:800;padding:16px 20px;border-bottom:1px solid var(--line)}.attendance-table td{padding:18px 20px;border-bottom:1px solid #f3e9db;font-size:14px;vertical-align:middle}.attendance-table tr:last-child td{border-bottom:0}.attendance-table tr:hover td{background:#fffcf7}.student-user-cell{display:flex;align-items:center;gap:12px}.user-avatar-circle{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--terra));color:white;display:grid;place-items:center;font-weight:800;font-size:16px;box-shadow:0 4px 10px rgba(199,101,62,.2)}.user-cell-info{display:flex;flex-direction:column}.user-cell-info strong{font-size:15px;color:var(--brown-dark)}.user-cell-info small{font-size:12px;color:var(--muted)}.date-pill-badge{background:#f4ece1;color:var(--brown);padding:5px 11px;border-radius:8px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:6px}.session-badges-list{display:flex;flex-wrap:wrap;gap:8px}.session-badge-item{display:inline-flex;align-items:center;gap:6px;background:#f7f1e7;border:1px solid #e7dbcb;padding:6px 12px;border-radius:10px;font-size:13px;color:var(--brown-dark);font-weight:600}.session-badge-item.active-session{background:#e6f4ea;border-color:#a8e0b7;color:#137333}.pulse-green-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.7);animation:pulseGreen 1.5s infinite}@keyframes pulseGreen{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{transform:scale(1);box-shadow:0 0 0 8px rgba(16,185,129,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,0)}}.total-time-chip{font-weight:800;color:var(--terra);font-size:14px}.empty-table-box{padding:50px 20px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.full-width{grid-column:1/-1}.form-field label{font-size:13px;font-weight:800;color:var(--brown-dark)}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14px;outline:0;background:#fffdf9}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,164,65,.15)}.attendance-main-tabs{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid var(--line);padding-bottom:8px}.tab-switch-btn{background:white;border:1px solid var(--line);padding:12px 22px;border-radius:14px;font-size:15px;font-weight:800;color:var(--brown);display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s ease}.tab-switch-btn:hover{background:var(--cream);color:var(--brown-dark)}.tab-switch-btn.active{background:linear-gradient(135deg,var(--brown-dark),var(--brown));color:white;border-color:var(--brown-dark);box-shadow:0 6px 18px rgba(56,35,21,.2)}.focus-rate-card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:24px;box-shadow:0 8px 24px rgba(0,0,0,.04)}.focus-rate-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.focus-rate-header h3{margin:0;font-size:20px;color:var(--brown-dark);display:flex;align-items:center;gap:10px}.focus-pill-badge{font-size:14px;font-weight:900;padding:6px 14px;border-radius:99px;display:inline-flex;align-items:center;gap:6px}.focus-pill-badge.high{background:#dcfce7;color:#15803d;border:1px solid #86efac}.focus-pill-badge.medium{background:#fef9c3;color:#a16207;border:1px solid #fde047}.focus-pill-badge.low{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.focus-bar-wrapper{height:16px;background:#fee2e2;border-radius:99px;overflow:hidden;display:flex;box-shadow:inset 0 2px 4px rgba(0,0,0,.06)}.focus-bar-active{background:linear-gradient(90deg,#10b981,#059669);height:100%;transition:width .4s ease}.focus-bar-legend{display:flex;gap:24px;margin-top:14px;font-size:13px;color:var(--brown-dark)}.legend-item{display:flex;align-items:center;gap:8px;font-weight:600}.legend-dot{width:12px;height:12px;border-radius:4px}.legend-dot.green{background:#10b981}.legend-dot.red{background:#ef4444}.session-history-card{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px;box-shadow:0 6px 18px rgba(0,0,0,.03)}.session-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.timeline-events-list{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding-left:12px;border-left:2px solid var(--line)}.timeline-event-row{display:flex;align-items:flex-start;gap:12px;position:relative;font-size:14px}.timeline-event-row:before{content:"";position:absolute;left:-17px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--muted)}.timeline-event-row.event-visible:before{background:#10b981;box-shadow:0 0 6px rgba(16,185,129,.6)}.timeline-event-row.event-hidden:before{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,.6)}.timeline-event-row.event-idle:before{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,.6)}.timeline-event-row.event-auth:before{background:#3b82f6;box-shadow:0 0 6px rgba(59,130,246,.6)}.event-time-badge{font-family:monospace;font-size:12px;background:#f1e6d7;color:var(--brown-dark);padding:3px 7px;border-radius:6px;font-weight:700;flex-shrink:0}.event-desc-text{color:var(--brown-dark);font-weight:600}.event-desc-text small{color:var(--muted);font-weight:400;display:block;font-size:12px}.import-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease-out forwards}.import-modal-container{background:#fff;width:100%;max-width:740px;max-height:90vh;border-radius:24px;box-shadow:0 25px 60px -15px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;animation:scaleUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes scaleUp{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.import-modal-header{background:linear-gradient(135deg,#1e293b,#0f172a);color:white;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.import-header-title{display:flex;align-items:center;gap:14px}.import-header-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--terra),var(--gold));display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 6px 16px rgba(199,101,62,.4)}.import-header-title h3{margin:0;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.3px}.import-header-title p{margin:2px 0 0;font-size:13px;color:#94a3b8}.import-modal-close-btn{background:rgba(255,255,255,.1);border:none;color:#cbd5e1;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.import-modal-close-btn:hover{background:rgba(255,255,255,.2);color:white;transform:rotate(90deg)}.import-modal-body{padding:28px;overflow-y:auto;flex:1 1}.import-template-banner{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:16px;padding:16px 20px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.import-template-banner-info{display:flex;align-items:center;gap:12px}.import-template-banner-info h4{margin:0;font-size:15px;font-weight:800;color:#92400e}.import-template-banner-info p{margin:2px 0 0;font-size:12px;color:#b45309}.btn-download-template{background:#fff;color:#92400e;border:1px solid #fcd34d;padding:9px 16px;border-radius:12px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px rgba(180,83,9,.1);white-space:nowrap}.btn-download-template:hover{background:#92400e;color:#fff;border-color:#92400e;box-shadow:0 4px 12px rgba(146,64,14,.25)}.import-source-tabs{display:flex;background:#f1f5f9;padding:4px;border-radius:14px;margin-bottom:22px}.import-source-tab-btn{flex:1 1;border:none;background:transparent;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:700;color:#64748b;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s ease}.import-source-tab-btn.active{background:#fff;color:var(--brown-dark);box-shadow:0 2px 8px rgba(0,0,0,.08)}.import-dropzone-box{border:2px dashed #cbd5e1;background:#f8fafc;border-radius:18px;padding:28px;text-align:center;transition:all .2s ease;cursor:pointer;position:relative}.import-dropzone-box:hover{border-color:var(--terra);background:#fff8f6}.import-dropzone-icon{width:52px;height:52px;border-radius:16px;background:#f1f5f9;color:var(--terra);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.import-code-editor-container{background:#0f172a;border-radius:16px;overflow:hidden;border:1px solid #334155}.import-code-editor-header{background:#1e293b;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #334155;font-size:12px;color:#94a3b8}.import-json-textarea{width:100%;height:200px;background:#0f172a;color:#38bdf8;border:none;padding:16px;font-family:Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;resize:vertical;outline:none}.import-json-textarea::placeholder{color:#475569}.status-pill-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:800}.status-pill-badge.valid{background:#dcfce7;color:#15803d}.status-pill-badge.invalid{background:#fee2e2;color:#b91c1c}.import-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.import-metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;text-align:center}.import-metric-card label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted);display:block}.import-metric-card strong{font-size:20px;font-weight:900;color:var(--brown-dark)}.import-modal-footer{background:#f8fafc;padding:18px 28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:12px}.profile-menu{position:relative}.profile-trigger{border:1px solid var(--line);background:#fff;color:var(--brown-dark);border-radius:999px;padding:5px 10px 5px 6px;display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px;color:#ffd989}.pub-lb-refresh-btn{box-shadow:0 6px 18px rgba(75,48,28,.06)}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{border-color:var(--gold);background:#fffaf0}.profile-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-dark),var(--terra));color:#fff;font-size:11px;font-weight:900;flex:none}.profile-avatar.large{width:46px;height:46px;font-size:14px}.profile-name{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:280px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 42px rgba(75,48,28,.18);padding:8px;z-index:60}.profile-dropdown:before{content:"";position:absolute;right:24px;top:-7px;width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.profile-dropdown-head{display:flex;align-items:center;gap:11px;padding:11px 12px 13px;border-bottom:1px solid var(--line);margin-bottom:6px}.profile-dropdown-head div{min-width:0;display:flex;flex-direction:column;gap:2px}.profile-dropdown-head span,.profile-dropdown-head strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-dropdown-head strong{color:var(--brown-dark)}.profile-dropdown-head span{font-size:12px;color:var(--muted)}.profile-dropdown button{width:100%;border:0;background:transparent;color:var(--brown);padding:11px 12px;border-radius:11px;display:flex;align-items:center;gap:10px;font-weight:750;cursor:pointer;text-align:left}.profile-dropdown button:hover{background:var(--cream-light);color:var(--terra)}.profile-dropdown button.danger{color:var(--red)}.profile-modal-card{width:min(540px,94vw);background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.25);animation:modalPop .2s ease-out}.profile-modal-header{padding:20px 24px;background:linear-gradient(90deg,#fff2d4,#fffaf0);border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.profile-modal-header h2{margin:0;font-size:22px;color:var(--brown-dark)}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px}.profile-info-grid>div{border:1px solid var(--line);background:#fffdf8;border-radius:14px;padding:14px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:center}.profile-info-grid svg{grid-row:1/3;color:var(--terra)}.profile-info-grid span{font-size:12px;color:var(--muted)}.profile-info-grid strong{font-size:14px;color:var(--brown-dark);overflow-wrap:anywhere}.profile-form-body{padding:22px;display:flex;flex-direction:column;gap:14px}.profile-form-body label{font-size:13px;font-weight:800;color:var(--brown);display:flex;flex-direction:column;gap:7px}.profile-form-body input{border:1px solid var(--line);border-radius:12px;padding:12px 13px;outline:0;background:#fffdf8}.profile-form-body input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,164,65,.12)}.profile-modal-footer{padding:16px 22px;background:#fffaf0;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.alert.success{background:#e3f3e7;color:#1e6b37;border:1px solid #a8e0b7}.primary-button:disabled{opacity:.65;cursor:wait}@media(max-width:900px){.profile-name{display:none}.profile-dropdown{right:-8px;width:min(280px,100vw - 24px)}.profile-info-grid{grid-template-columns:1fr}}.pub-lb-page{min-height:100vh;background:linear-gradient(160deg,#1a1410,#2e1f14 40%,#3d2a1a);color:#f5ede0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.pub-lb-header{height:64px;justify-content:space-between;padding:0 32px;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,215,130,.15);position:sticky;top:0;z-index:20}.pub-lb-brand,.pub-lb-header{display:flex;align-items:center}.pub-lb-brand{gap:12px;font-weight:800;font-size:17px;color:#ffd989}.pub-lb-brand-mark{background:linear-gradient(135deg,#d9a441,#c7653e);color:white;padding:7px 10px;border-radius:10px;font-size:13px;font-weight:900;box-shadow:0 6px 16px rgba(199,101,62,.4)}.pub-lb-header-right{display:flex;align-items:center;gap:12px}.pub-lb-refresh-info{font-size:12px;color:rgba(255,217,137,.6)}.pub-lb-refresh-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,215,130,.25);color:#ffd989;border-radius:10px;padding:8px 10px;cursor:pointer;display:flex;align-items:center;transition:all .2s ease}.pub-lb-refresh-btn:hover:not(:disabled){background:rgba(255,215,130,.15)}.pub-lb-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pub-lb-login-btn{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,#d9a441,#c7653e);color:white;font-size:13px;font-weight:800;padding:9px 18px;border-radius:10px;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 14px rgba(199,101,62,.35)}.pub-lb-login-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 20px rgba(199,101,62,.5)}.pub-lb-main{max-width:1100px;margin:0 auto;padding:40px 28px 80px}.pub-lb-hero{display:flex;align-items:center;gap:28px;margin-bottom:36px;padding:40px 44px;background:linear-gradient(115deg,rgba(217,164,65,.18),rgba(199,101,62,.12));border:1px solid rgba(217,164,65,.25);border-radius:28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.pub-lb-hero:before{content:"";position:absolute;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(217,164,65,.12),transparent 70%);right:-80px;top:-120px;pointer-events:none}.pub-lb-hero-icon{width:90px;height:90px;border-radius:24px;background:linear-gradient(135deg,#d9a441,#c7653e);display:grid;place-items:center;color:white;flex-shrink:0;box-shadow:0 12px 32px rgba(199,101,62,.4)}.pub-lb-eyebrow{font-size:11px;font-weight:900;letter-spacing:.18em;color:#ffd989;display:block;margin-bottom:8px}.pub-lb-hero-text h1{font-size:36px;font-weight:900;margin:0 0 10px;color:#fff;line-height:1.2}.pub-lb-hero-text p{color:rgba(245,237,224,.7);font-size:15px;margin:0;line-height:1.6}.pub-lb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.pub-lb-stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,215,130,.15);border-radius:18px;padding:20px 22px;display:flex;align-items:center;gap:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease}.pub-lb-stat:hover{background:rgba(255,215,130,.08);border-color:rgba(255,215,130,.3)}.pub-lb-stat svg{color:#d9a441;flex-shrink:0}.pub-lb-stat strong{display:block;font-size:26px;font-weight:900;color:#ffd989;line-height:1;margin-bottom:4px}.pub-lb-stat span{font-size:12px;color:rgba(245,237,224,.55);font-weight:600}.pub-lb-table-wrapper{background:rgba(255,255,255,.04);border:1px solid rgba(255,215,130,.15);border-radius:24px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pub-lb-empty,.pub-lb-loading{padding:80px;text-align:center;color:rgba(245,237,224,.45);display:flex;flex-direction:column;align-items:center;gap:16px}.pub-lb-empty p,.pub-lb-loading p{margin:0;font-size:15px}.pub-lb-spinner{width:44px;height:44px;border:4px solid rgba(217,164,65,.2);border-top-color:#d9a441;border-radius:50%;animation:spin .8s linear infinite}.pub-lb-table{width:100%;border-collapse:collapse}.pub-lb-table thead tr{background:rgba(0,0,0,.25);border-bottom:1px solid rgba(255,215,130,.15)}.pub-lb-table th{padding:16px 20px;font-size:11px;font-weight:900;letter-spacing:.12em;color:rgba(255,215,130,.7);text-align:left;text-transform:uppercase}.pub-lb-table th.col-rank{width:90px;text-align:center}.pub-lb-table th.col-attempts,.pub-lb-table th.col-score{text-align:center;width:120px}.pub-lb-table th.col-progress{width:220px}.pub-lb-row{border-bottom:1px solid rgba(255,215,130,.07);transition:all .2s ease}.pub-lb-row:last-child{border-bottom:0}.pub-lb-row:hover{background:rgba(255,215,130,.06)}.pub-lb-row.rank-1{background:linear-gradient(90deg,rgba(217,164,65,.15),transparent);border-bottom-color:rgba(217,164,65,.15)}.pub-lb-row.rank-2{background:linear-gradient(90deg,rgba(180,180,180,.1),transparent)}.pub-lb-row.rank-3{background:linear-gradient(90deg,rgba(180,109,66,.12),transparent)}.pub-lb-table td{padding:18px 20px;vertical-align:middle}.pub-lb-table td.col-attempts,.pub-lb-table td.col-rank,.pub-lb-table td.col-score{text-align:center}.lb-medal{font-size:28px;display:block;line-height:1;filter:drop-shadow(0 3px 8px rgba(0,0,0,.3))}.lb-rank-num{font-size:18px;font-weight:900;color:rgba(245,237,224,.4)}.lb-student-cell{display:flex;align-items:center;gap:14px}.lb-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#6b4e2e,#c7653e);display:grid;place-items:center;font-weight:900;font-size:18px;color:white;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.3)}.lb-avatar[data-rank="1"]{background:linear-gradient(135deg,#b77d20,#d9a441);box-shadow:0 4px 16px rgba(217,164,65,.4)}.lb-avatar[data-rank="2"]{background:linear-gradient(135deg,#6b7280,#9b9b9b)}.lb-avatar[data-rank="3"]{background:linear-gradient(135deg,#92400e,#b45309)}.lb-student-info{display:flex;flex-direction:column;gap:3px}.lb-student-info strong{font-size:15px;font-weight:800;color:#f5ede0}.lb-student-info small{font-size:12px;color:rgba(245,237,224,.45);font-weight:600}.lb-progress-cell{display:flex;flex-direction:column;gap:7px}.lb-progress-label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.lb-progress-nums{display:flex;align-items:baseline;gap:3px}.lb-progress-nums b{font-size:17px;font-weight:900}.lb-progress-sep{color:rgba(245,237,224,.35);font-size:14px}.lb-progress-total{font-size:13px;color:rgba(245,237,224,.45);font-weight:700}.lb-progress-pct{font-size:12px;font-weight:800;opacity:.8}.lb-progress-bar-bg{height:7px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.lb-progress-bar-fill{height:100%;border-radius:99px;transition:width .6s ease}.lb-score-badge{display:inline-block;background:rgba(217,164,65,.15);border:1px solid rgba(217,164,65,.3);color:#ffd989;font-size:16px;font-weight:900;padding:7px 16px;border-radius:12px;min-width:70px;text-align:center}.lb-attempts{font-size:15px;font-weight:700;color:rgba(245,237,224,.5)}.pub-lb-error{max-width:500px;margin:120px auto;text-align:center;padding:40px;background:rgba(255,255,255,.04);border:1px solid rgba(199,101,62,.3);border-radius:24px}.pub-lb-error h2{font-size:22px;color:#ffd989;margin:0 0 12px}.pub-lb-error p{color:rgba(245,237,224,.55);margin:0}.pub-lb-footer{margin-top:48px;text-align:center}.pub-lb-footer p{font-size:12px;color:rgba(245,237,224,.25);margin:0}@media(max-width:768px){.pub-lb-hero{flex-direction:column;align-items:flex-start;padding:28px 24px;gap:20px}.pub-lb-hero-text h1{font-size:26px}.pub-lb-stats{grid-template-columns:repeat(2,1fr)}.pub-lb-main{padding:24px 16px 60px}.pub-lb-header{padding:0 16px}.pub-lb-table td,.pub-lb-table th{padding:14px 12px}.lb-student-info small,.pub-lb-table .col-attempts{display:none}}@media(max-width:520px){.pub-lb-stats{grid-template-columns:1fr 1fr}.pub-lb-table .col-score{display:none}}.lb-index-hero{margin-bottom:40px}.lb-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-bottom:48px}.lb-course-card{display:flex;flex-direction:column;background:rgba(255,255,255,.05);border:1px solid rgba(255,215,130,.15);border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;transition:all .25s ease;cursor:pointer}.lb-course-card:hover{transform:translateY(-5px);border-color:rgba(217,164,65,.45);background:rgba(255,215,130,.08);box-shadow:0 20px 50px rgba(0,0,0,.35)}.lb-course-cover{height:130px;padding:28px 28px 20px;display:flex;align-items:flex-start;justify-content:space-between;color:rgba(255,255,255,.9);position:relative;overflow:hidden}.lb-course-cover:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.07);right:-50px;bottom:-70px;pointer-events:none}.lb-cover-0{background:linear-gradient(135deg,#b77d20,#c7653e)}.lb-cover-1{background:linear-gradient(135deg,#5b3a8a,#c7653e)}.lb-cover-2{background:linear-gradient(135deg,#1a5c78,#2ea88a)}.lb-level-pill{font-size:11px;font-weight:900;letter-spacing:.1em;padding:5px 10px;border-radius:8px;text-transform:uppercase;position:relative;z-index:1}.lb-level-basic{background:rgba(255,255,255,.2);color:#ffe}.lb-level-intermediate{background:rgba(255,200,60,.3);color:#ffe}.lb-level-advanced{background:rgba(200,60,60,.3);color:#ffe}.lb-course-body{padding:22px 24px 16px;flex:1 1}.lb-course-code{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.1em;color:rgba(255,215,130,.65);background:rgba(255,215,130,.1);padding:4px 9px;border-radius:6px;margin-bottom:10px;text-transform:uppercase}.lb-course-body h2{font-size:19px;font-weight:800;color:#f5ede0;margin:0 0 10px;line-height:1.3}.lb-course-body p{font-size:13px;color:rgba(245,237,224,.45);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lb-course-footer{padding:14px 24px;border-top:1px solid rgba(255,215,130,.1);display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;color:#d9a441;transition:all .2s ease}.lb-course-card:hover .lb-course-footer{color:#ffd989}@media(max-width:640px){.lb-course-grid{grid-template-columns:1fr;gap:16px}}:root{--theme-elevation-0:#fffaf0;--theme-elevation-50:#fff4d6;--theme-elevation-100:#f4e2bd;--theme-elevation-150:#ead1a0;--theme-elevation-800:#6b4e2e;--theme-elevation-900:#49311d;--theme-elevation-1000:#2c1b11;--theme-success-500:#d9a441;--theme-error-500:#a94335}.nav__brand{color:#6b4e2e}.attendance-admin-dashboard~.list-controls,.attendance-admin-dashboard~.table-container,.attendance-admin-dashboard~div .table-container,.attendance-admin-dashboard~div table,.attendance-admin-dashboard~table,.collection-list:has(.attendance-admin-dashboard) .list-controls,.collection-list:has(.attendance-admin-dashboard)>div>.table-wrapper,.collection-list:has(.attendance-admin-dashboard)>div>table{display:none!important}.attendance-admin-dashboard table{display:table!important}