: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 #4b301c1f;color:var(--ink);background:var(--cream-light);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:linear-gradient(#fffaf0 0%,#f9f2e7 100%)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:20;background:#fffaf0f0;justify-content:space-between;align-items:center;height:68px;padding:0 32px;display:flex;position:sticky;top:0}.brand{color:var(--brown);align-items:center;gap:11px;font-size:18px;font-weight:800;display:flex}.brand-mark{background:linear-gradient(135deg,var(--gold),var(--terra));color:#fff;border-radius:10px;padding:8px 9px;font-size:14px;box-shadow:0 6px 16px #c7653e40}.header-nav{align-items:center;gap:10px;display:flex}.header-nav>a{color:var(--brown);border-radius:10px;align-items:center;gap:7px;padding:9px 12px;display:flex}.header-nav>a:hover{background:var(--cream)}.user-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-weight:600}.icon-button{color:var(--red);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:8px 10px;display:inline-flex}.icon-button:hover{background:#fbe9e5}.page-container{max-width:1240px;margin:0 auto;padding:24px 28px 70px}.welcome-banner,.course-hero,.leaderboard-hero{background:linear-gradient(115deg,var(--brown-dark),var(--brown) 55%,var(--terra));color:#fff;box-shadow:var(--shadow);border-radius:24px;justify-content:space-between;align-items:center;padding:34px 40px;display:flex;position:relative;overflow:hidden}.welcome-banner:after,.course-hero:after{content:"";background:#fff4d61a;border-radius:50%;width:300px;height:300px;position:absolute;top:-150px;right:-80px}.welcome-banner h1,.course-hero h1,.leaderboard-hero h1{margin:7px 0;font-size:34px}.welcome-banner p,.course-hero p,.leaderboard-hero p{color:#f6e7d2;max-width:720px}.eyebrow{letter-spacing:.16em;color:#ffd989;font-size:12px;font-weight:800}.banner-icon{color:#ffd989;background:#ffffff1f;border-radius:30px;place-items:center;width:100px;height:100px;display:grid;transform:rotate(5deg)}.section-heading{margin:38px 0 18px}.section-heading h2{margin:0 0 5px;font-size:27px}.section-heading p{color:var(--muted);margin:0}.course-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.course-card{border:1px solid var(--line);background:#fff;border-radius:20px;transition:all .2s;overflow:hidden;box-shadow:0 10px 28px #46301f12}.course-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.course-cover{color:#fff;justify-content:space-between;align-items:center;height:145px;padding:25px;display:flex}.course-cover span{letter-spacing:.08em;font-weight:800}.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{margin:12px 0 8px;font-size:20px}.course-body p{color:var(--muted);min-height:67px;font-size:14px;line-height:1.6}.course-meta,.course-footer{justify-content:space-between;align-items:center;font-size:13px;display:flex}.pill{background:var(--cream);color:var(--brown);text-transform:capitalize;border-radius:999px;padding:5px 9px;font-weight:700}.progress-line{background:#f1e8dc;border-radius:99px;height:8px;margin:19px 0 12px;overflow:hidden}.progress-line>div{background:linear-gradient(90deg,var(--gold),var(--terra));border-radius:99px;height:100%}.course-link{color:var(--red);align-items:center;gap:5px;font-weight:700;display:flex}.stat-row{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;display:grid}.stat-row>div{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:auto 1fr;column-gap:13px;padding:20px;display:grid}.stat-row svg{color:var(--terra);grid-row:1/3}.stat-row span{color:var(--muted);font-size:13px}.loading-card{text-align:center;border:1px solid var(--line);background:#fff;border-radius:18px;padding:35px}.course-hero{margin-bottom:28px}.secondary-button,.primary-button{cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;padding:12px 18px;font-weight:800;display:inline-flex}.secondary-button{color:var(--brown);z-index:2;background:#fff1d0}.primary-button{background:linear-gradient(135deg,var(--gold-dark),var(--terra));color:#fff;box-shadow:0 9px 20px #c7653e3d}.full{justify-content:center;width:100%}.breadcrumb-bar{color:var(--muted);align-items:center;gap:8px;margin-bottom:16px;font-size:13px;font-weight:600;display:flex}.breadcrumb-bar a{color:var(--brown)}.breadcrumb-bar a:hover{color:var(--terra)}.course-progress-summary{color:#fcecdb;margin-top:16px;font-size:13px}.progress-bar-bg{background:#fff3;border-radius:99px;height:8px;margin-top:6px;overflow:hidden}.progress-bar-fill{background:#ffd989;border-radius:99px;height:100%}.curriculum-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px;display:flex}.curriculum-header h2{color:var(--brown-dark);align-items:center;gap:9px;margin:0 0 4px;font-size:22px;display:flex}.curriculum-header p{color:var(--muted);margin:0;font-size:14px}.curriculum-controls{align-items:center;gap:8px;display:flex}.curriculum-control-btn{border:1px solid var(--line);color:var(--brown);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 2px 6px #00000008}.curriculum-control-btn:hover{background:var(--cream);color:var(--brown-dark);border-color:var(--gold)}.module-list{flex-direction:column;gap:26px;display:flex}.module-card{border:1px solid var(--line);background:#fff;border-radius:22px;transition:all .2s;overflow:hidden;box-shadow:0 8px 24px #4b301c0d}.module-header{border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#fff2d4,#fffaf0);justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;transition:background .15s;display:flex}.module-header:hover{background:linear-gradient(90deg,#ffecc2,#fff6e0)}.module-header.is-collapsed{border-bottom:0}.module-badge{letter-spacing:.14em;color:var(--terra);background:#ffe7c2;border-radius:6px;margin-bottom:6px;padding:4px 10px;font-size:11px;font-weight:900;display:inline-block}.module-meta-pill{color:var(--brown);border:1px solid var(--line);background:#ffffffb3;border-radius:6px;margin-bottom:6px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.module-toggle-btn{border:1px solid var(--line);color:var(--brown-dark);cursor:pointer;background:#fff;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:800;transition:all .15s;display:inline-flex;box-shadow:0 2px 6px #4b301c0f}.module-header:hover .module-toggle-btn{border-color:var(--gold);color:var(--terra)}.module-toggle-btn.expanded{color:var(--terra);border-color:var(--gold);background:#fff8eb}.module-header h2{color:var(--brown-dark);margin:4px 0;font-size:21px}.module-header p{color:var(--muted);margin:0;font-size:14px}.lesson-list{flex-direction:column;gap:20px;padding:24px 28px;display:flex}.lesson-block{background:#fffcf7;border:1px solid #f2e5d0;border-radius:16px;padding:20px 22px}.lesson-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.lesson-title-area{flex-direction:column;gap:4px;display:flex}.lesson-badge{color:#1e6b37;background:#e3f3e7;border:1px solid #a8e0b7;border-radius:6px;align-items:center;gap:5px;width:fit-content;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.lesson-badge.locked-badge{color:#a94335;background:#fde8e5;border:1px solid #f8cfcb}.lesson-header h3{color:var(--brown-dark);margin:4px 0 0;font-size:18px}.view-theory-btn{color:#1b5e20;cursor:pointer;background:#e8f5e9;border:1px solid #81c784;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:800;transition:all .15s;display:inline-flex;box-shadow:0 2px 6px #2e7d321f}.view-theory-btn:hover{color:#fff;background:#2e7d32;border-color:#1b5e20;box-shadow:0 4px 12px #2e7d3240}.view-theory-btn.disabled,.view-theory-btn.locked{opacity:.95;cursor:not-allowed;color:#c62828!important;background:#fde8e5!important;border:1px solid #e57373!important;box-shadow:0 2px 6px #c628281a!important}.view-theory-btn.disabled:hover,.view-theory-btn.locked:hover{color:#c62828!important;background:#fde8e5!important;border-color:#e57373!important}.exercise-section-label{letter-spacing:.1em;color:var(--muted);margin-bottom:10px;font-size:11px;font-weight:800}.exercise-list{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.exercise-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:15px 17px;transition:all .15s;display:grid}.exercise-row:last-child{border:0}.exercise-row:not(.locked):hover{background:var(--cream-light)}.exercise-row.locked{color:#a29589;background:#faf8f4;grid-template-columns:auto 1fr auto}.exercise-row>div:nth-child(2){flex-direction:column;gap:4px;display:flex}.exercise-row span{color:var(--muted);font-size:12px}.status-icon{background:var(--cream);width:36px;height:36px;color:var(--terra);border-radius:11px;place-items:center;display:grid}.status-icon.complete{color:var(--success);background:#e3f3e7}.score-chip{background:#f6eee2;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:800}.alert{border-radius:11px;margin:14px 0;padding:13px 15px}.alert.error{color:#812f25;background:#fce8e5;border:1px solid #f0bfb7}.video-player-container{background:#2a211c;border:1px solid #4a3e36;border-radius:18px;margin:20px 0 26px;overflow:hidden;box-shadow:0 8px 24px #00000026}.video-label{letter-spacing:.08em;color:#ffd989;background:#1e1815;border-bottom:1px solid #3d322b;align-items:center;gap:7px;padding:12px 18px;font-size:12px;font-weight:800;display:flex}.video-iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.video-element{background:#000;width:100%;max-height:420px;display:block}.theory-document{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:26px;padding:24px 28px;box-shadow:0 4px 16px #00000008}.theory-header-label{letter-spacing:.08em;color:var(--terra);border-bottom:1px solid var(--line);align-items:center;gap:7px;margin-bottom:16px;padding-bottom:10px;font-size:12px;font-weight:900;display:flex}.lesson-page-title{color:var(--brown-dark);margin:10px 0 20px;font-size:30px}.lesson-exercise-links{border:1px solid var(--line);background:#fffaf0;border-radius:18px;margin-top:20px;padding:20px 24px}.lesson-exercise-links h3{color:var(--brown-dark);align-items:center;gap:8px;margin:0 0 14px;font-size:16px;display:flex}.exercise-link-grid{flex-direction:column;gap:9px;display:flex}.lesson-exercise-card{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:13px 18px;transition:all .15s;display:flex}.lesson-exercise-card:hover{border-color:var(--gold);transform:translate(3px)}.lesson-exercise-card span{background:var(--cream);color:var(--brown);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:800}.lesson-exercise-card strong{color:var(--brown-dark);flex:1;font-size:14px}.attachments-section{border:1px solid var(--line);background:#fffaf0;border-radius:18px;margin-bottom:26px;padding:20px 24px}.attachments-label{letter-spacing:.08em;color:var(--terra);align-items:center;gap:7px;margin-bottom:14px;font-size:12px;font-weight:900;display:flex}.attachments-list{flex-direction:column;gap:10px;display:flex}.attachment-item-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:13px 17px;transition:all .15s;display:flex}.attachment-item-card:hover{border-color:var(--gold);box-shadow:0 4px 12px #0000000a}.file-type-icon{flex-none:true;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.file-type-icon.type-pdf{color:#c73e3e;background:#fde8e5}.file-type-icon.type-docx{color:#2b6cb0;background:#e8f0fe}.file-type-icon.type-video{color:#7e22ce;background:#f3e8ff}.file-type-icon.type-image{color:#137333;background:#e6f4ea}.file-type-icon.type-other{background:var(--cream);color:var(--terra)}.attachment-info{flex-direction:column;flex:1;gap:3px;display:flex}.attachment-info strong{color:var(--brown-dark);font-size:14px}.attachment-info span{color:var(--muted);font-size:12px}.attachment-actions{align-items:center;gap:8px;display:flex}.preview-action-btn{background:var(--cream);color:var(--brown-dark);cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.preview-action-btn:hover{background:var(--gold);color:#fff}.download-action-btn{color:var(--brown);border:1px solid var(--line);background:#f5eee6;border-radius:9px;place-items:center;padding:8px;display:inline-grid}.download-action-btn:hover{background:var(--brown);color:#fff}.doc-viewer-modal{width:min(1150px,95vw)!important;height:88vh!important;max-height:88vh!important}.doc-viewer-header-info{align-items:center;gap:12px;display:flex}.doc-viewer-header-actions{align-items:center;gap:8px;display:flex}.doc-type-badge{color:#fff;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:900}.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{background:#1a1715;flex-direction:column;height:calc(100% - 68px);display:flex;overflow:hidden;padding:0!important}.doc-iframe{background:#fff;border:0;width:100%;height:100%}.video-preview-wrapper,.image-preview-wrapper,.docx-preview-wrapper,.other-file-fallback{background:#151210;place-items:center;width:100%;height:100%;display:grid}.modal-video-element{outline:0;max-width:100%;max-height:100%}.modal-image-element{object-fit:contain;max-width:100%;max-height:100%}.other-file-fallback{color:#ded3c9;text-align:center;flex-direction:column;gap:12px;padding:40px;display:flex}.editor-container-wrapper{width:100%;height:100%;position:relative}.editor-no-paste-toast{z-index:50;color:#fff;background:#991b1b;border:1px solid #f87171;border-radius:10px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:700;animation:.2s ease-out toastPop;display:flex;position:absolute;top:12px;right:16px;box-shadow:0 8px 24px #0000004d}@keyframes toastPop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.vertical-split-handle{cursor:row-resize;z-index:10;background:#443830;flex:none;height:6px;transition:background .15s;position:relative}.vertical-split-handle:hover,.vertical-split-handle:active{background:var(--gold)}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#1c1815a6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:24px;flex-direction:column;width:min(820px,100%);max-height:85vh;animation:.2s ease-out modalPop;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000040}@keyframes modalPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fff2d4,#fffaf0);justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 28px;display:flex}.modal-badge{color:var(--terra);letter-spacing:.08em;align-items:center;gap:5px;margin-bottom:4px;font-size:11px;font-weight:900;display:inline-flex}.modal-header h2{color:var(--brown-dark);margin:0;font-size:22px}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px}.modal-close:hover{background:var(--cream);color:var(--brown)}.modal-body{color:#453a31;padding:28px;line-height:1.7;overflow-y:auto}.modal-body h1,.modal-body h2,.modal-body h3{color:var(--brown-dark)}.modal-body code{background:#f4e8d5;border-radius:6px;padding:3px 7px;font-family:monospace;font-size:13px}.modal-body pre{color:#fff2d7;background:#2a211c;border-radius:12px;padding:16px;overflow-x:auto}.modal-body pre code{color:inherit;background:0 0;padding:0}.pane-tab-bar{border-bottom:1px solid var(--line);gap:4px;margin-bottom:18px;padding-bottom:2px;display:flex}.pane-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.pane-tab.active{background:var(--cream);color:var(--brown-dark);box-shadow:0 2px 5px #0000000a}.exam-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-top:20px;display:grid}.exam-card{border:1px solid var(--line);background:#fff;border-radius:20px;flex-direction:column;gap:14px;padding:24px;transition:all .2s;display:flex;box-shadow:0 8px 24px #46301f0d}.exam-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.exam-card.submitted{background:#fffcf7;border-color:#d0c4b4}.exam-card.in-progress{border-color:var(--gold);background:#fffdf7}.exam-card-header{justify-content:space-between;align-items:center;display:flex}.exam-code{background:var(--cream);color:var(--brown);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:900}.status-pill{color:var(--brown);background:#eee5d8;border-radius:99px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.success{color:var(--success);background:#e3f3e7}.status-pill.warning{color:var(--gold-dark);background:#fff1cb}.status-pill.passed{color:var(--success);background:#e3f3e7}.status-pill.failed{color:var(--red);background:#fde8e5}.status-pill.muted{color:var(--muted);background:#e8e0d5}.exam-title{color:var(--brown-dark);margin:0;font-size:18px}.exam-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.exam-meta{color:var(--brown);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.meta-item{background:#f9f2e7;border-radius:8px;align-items:center;gap:5px;padding:5px 9px;display:flex}.exam-result-box{background:#f6ece0;border:1px solid #e7d7c3;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.score-label{color:var(--brown);font-size:12px}.score-value strong{color:var(--terra);font-size:18px}.exam-card-footer{margin-top:auto;padding-top:10px}.btn-exam{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 16px;font-size:14px;font-weight:800;transition:all .15s;display:flex}.btn-exam.primary{background:linear-gradient(135deg,var(--terra),var(--red));color:#fff;box-shadow:0 6px 16px #c7653e33}.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{color:#a09285;cursor:not-allowed;background:#e5ded5}.btn-exam.large{border-radius:14px;padding:14px 24px;font-size:16px}.countdown-box{color:#ffd989;letter-spacing:.05em;background:#2b221b;border:1px solid #4a3c31;border-radius:10px;align-items:center;gap:7px;padding:6px 14px;font-family:monospace;font-size:15px;font-weight:800;display:flex}.countdown-box.pulsing-low{color:#fff;background:#801b1b;border-color:#f87171;animation:1s infinite alternate pulseRed}@keyframes pulseRed{0%{opacity:1;box-shadow:0 0 #f8717100}to{opacity:.8;box-shadow:0 0 12px #f8717199}}.finish-btn{background:linear-gradient(135deg,#c7653e,#a94335)!important;font-weight:900!important}.exam-question-tabs{border-bottom:1px solid var(--line);background:#f3e7d4;gap:6px;padding:10px 14px;display:flex;overflow-x:auto}.question-tab{color:var(--brown);cursor:pointer;border:0;border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:800;transition:all .15s;display:flex}.question-tab.active{background:var(--brown);color:#fff;border-color:var(--brown)}.question-tab .icon-ok{color:#41835b}.question-tab.active .icon-ok{color:#ffd989}.dot-code{background:var(--terra);border-radius:50%;width:6px;height:6px}.exercise-header-badge{letter-spacing:.08em;color:var(--terra);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:900;display:flex}.exercise-header-badge .points{background:var(--cream);color:var(--brown-dark);border-radius:6px;padding:3px 8px}.editor-tab-actions{gap:6px;margin-left:auto;display:flex}.btn-action{color:#fff;cursor:pointer;border:0;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:800;display:inline-flex}.btn-action.run{background:var(--success)}.btn-action.debug{background:var(--purple)}.btn-action.submit{background:var(--terra)}.exam-start-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;margin-top:30px;padding:40px}.exam-start-card h1{color:var(--brown-dark);margin:12px 0 10px;font-size:28px}.exam-start-card .description{color:var(--muted);margin-bottom:24px;font-size:15px;line-height:1.6}.exam-details-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.detail-box{border:1px solid var(--line);color:var(--terra);background:#fffaf0;border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.detail-box label{color:var(--muted);font-size:11px;display:block}.detail-box strong{color:var(--brown-dark);font-size:16px}.exam-rules-box{background:#fff7ea;border:1px solid #ebd4b2;border-radius:16px;margin-bottom:28px;padding:20px}.exam-rules-box h3{color:var(--brown-dark);align-items:center;gap:8px;margin:0 0 10px;font-size:15px;display:flex}.exam-rules-box ul{color:var(--brown);margin:0;padding-left:20px;font-size:13px;line-height:1.7}.exam-result-summary-card{border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:24px;margin-top:30px;padding:40px}.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{margin:12px 0 4px;font-size:26px}.result-header .exam-title{color:var(--muted);font-size:14px}.result-score-circle{border:7px solid var(--gold);background:#fffcf5;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:130px;height:130px;margin:26px auto;display:flex}.result-score-circle strong{color:var(--brown-dark);font-size:38px;line-height:1}.result-score-circle span{color:var(--muted);margin-top:4px;font-size:12px}.spin-icon{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result-note{color:var(--brown);margin-bottom:28px;font-size:14px}.exercise-results-list{text-align:left;border:1px solid var(--line);background:#fffaf0;border-radius:16px;margin-bottom:28px;padding:20px}.exercise-results-list h3{color:var(--brown-dark);margin:0 0 14px;font-size:15px}.result-item-row{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 14px;display:flex}.item-info{align-items:center;gap:10px;display:flex}.q-badge{background:var(--cream);color:var(--brown);border-radius:5px;padding:3px 7px;font-size:11px;font-weight:900}.confirm-modal{background:#fff;border-radius:20px;width:min(480px,90vw);padding:28px;box-shadow:0 24px 60px #0000004d}.confirm-modal h2{color:var(--brown-dark);margin:0 0 8px;font-size:20px}.confirm-modal p{color:var(--muted);margin:0 0 16px;font-size:14px}.modal-summary{border:1px solid var(--line);background:#fbf5ec;border-radius:12px;flex-direction:column;gap:8px;margin-bottom:20px;padding:14px;display:flex}.summary-line{justify-content:space-between;font-size:13px;display:flex}.text-success{color:var(--success)}.text-warning{color:var(--gold-dark)}.text-muted{color:var(--muted)}.modal-buttons{justify-content:flex-end;gap:10px;display:flex}.login-page{grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.login-hero{background:linear-gradient(140deg,var(--brown-dark),var(--brown) 50%,var(--terra));color:#fff;align-items:center;padding:9vw;display:flex;position:relative;overflow:hidden}.hero-content{z-index:2;max-width:650px;position:relative}.logo-large{color:#ffd989;align-items:center;gap:12px;font-size:22px;font-weight:900;display:flex}.login-hero h1{margin:35px 0 22px;font-size:52px;line-height:1.12}.login-hero p{color:#f4e5d3;font-size:18px;line-height:1.7}.feature-row{flex-wrap:wrap;gap:18px;margin-top:30px;display:flex}.feature-row span{background:#ffffff1a;border:1px solid #ffffff26;border-radius:99px;padding:9px 13px}.hero-orb{background:#ffd9891a;border-radius:50%;position:absolute}.hero-orb-one{width:430px;height:430px;top:-90px;right:-100px}.hero-orb-two{width:220px;height:220px;bottom:-90px;left:10%}.login-panel{background:var(--cream-light);place-items:center;padding:45px;display:grid}.login-card{border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:38px}.login-icon{background:var(--cream);width:56px;height:56px;color:var(--terra);border-radius:17px;place-items:center;display:grid}.login-card h2{margin:20px 0 7px;font-size:28px}.login-card>p{color:var(--muted);margin-bottom:25px}.login-card label{margin:16px 0;font-size:13px;font-weight:800;display:block}.input-with-icon{border:1px solid var(--line);color:var(--muted);border-radius:12px;align-items:center;margin-top:7px;padding:0 13px;display:flex}.input-with-icon:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #d9a4411f}.input-with-icon input{background:0 0;border:0;outline:0;width:100%;padding:13px}.demo-note{background:var(--cream-light);border:1px dashed var(--gold);border-radius:12px;margin-top:18px;padding:12px;font-size:13px;line-height:1.5}.admin-link{text-align:center;color:var(--purple);margin-top:18px;font-size:13px;font-weight:700;display:block}.learn-page{background:#1c1815;height:100vh;overflow:hidden}.learn-page .app-header{height:58px;position:relative}.learn-toolbar{border-bottom:1px solid var(--line);background:#fffaf0;align-items:center;gap:10px;height:54px;padding:0 18px;display:flex}.learn-toolbar>a{color:var(--brown);align-items:center;gap:6px;font-size:13px;display:flex}.exercise-title{border-left:1px solid var(--line);align-items:center;gap:9px;margin-right:auto;padding-left:13px;display:flex}.exercise-title span{background:var(--cream);color:var(--brown);border-radius:6px;padding:5px 7px;font-size:11px;font-weight:800}.save-status{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.toolbar-button{color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:7px;padding:9px 14px;font-weight:800;display:flex}.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{height:calc(100vh - 112px);display:flex}.lesson-pane{background:var(--cream-light);min-width:25%;max-width:60%;height:100%;overflow:hidden}.lesson-scroll{height:100%;padding:26px 30px 55px;overflow:auto}.lesson-breadcrumb{color:var(--terra);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.lesson-scroll h1{margin:9px 0 25px;font-size:27px}.lesson-scroll h3{color:var(--brown);margin-top:24px;font-size:15px}.lesson-scroll p,.lesson-scroll li{color:#51463d;font-size:14px;line-height:1.7}.lesson-scroll code{background:#f2e4cd;border-radius:5px;padding:2px 5px}.io-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.sample-card,.guide-box,.hint{border:1px solid var(--line);background:#fff;border-radius:13px;margin:12px 0;padding:15px}.sample-card pre{color:#fff2d7;white-space:pre-wrap;background:#2a211c;border-radius:8px;padding:11px}.sample-card label{color:var(--muted);font-size:11px;font-weight:800}.lesson-scroll details{border-top:1px solid var(--line);padding:15px 0}.lesson-scroll summary{cursor:pointer;color:var(--brown);justify-content:space-between;align-items:center;font-weight:800;display:flex}.hint strong{color:var(--terra);font-size:13px}.split-handle{cursor:col-resize;background:#5c4638;flex:none;width:6px;position:relative}.split-handle:hover{background:var(--gold)}.ide-pane{background:#1e1e1e;flex-direction:column;min-width:40%;height:100%;display:flex}.editor-tab{color:#eee0d2;background:#2a2420;border-bottom:1px solid #3e342e;align-items:center;gap:8px;height:38px;padding:0 15px;font-size:12px;display:flex}.editor-tab span{color:#c2a986;margin-left:auto}.editor-area{height:57%;min-height:220px}.bottom-panel{color:#e8ddd5;background:#211c19;border-top:1px solid #4a3e36;flex-direction:column;height:43%;display:flex}.panel-tabs{background:#2b2521;height:38px;display:flex}.panel-tabs button{color:#bbaea5;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 15px;font-size:12px;display:flex}.panel-tabs button.active{color:#ffd989;border-color:var(--gold)}.panel-content{flex:1;overflow:auto}.io-panel{grid-template-columns:1fr 1.25fr;height:100%;display:grid}.io-panel>div{border-right:1px solid #423831;flex-direction:column;padding:12px;display:flex}.io-panel label{text-transform:uppercase;color:#c6a983;margin-bottom:8px;font-size:11px;font-weight:800}.io-panel textarea,.io-panel pre{color:#f5eadd;resize:none;white-space:pre-wrap;background:#161311;border:1px solid #423831;border-radius:7px;outline:0;flex:1;margin:0;padding:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;overflow:auto}.breakpoint-glyph{background:var(--red);border-radius:50%;margin-top:5px;margin-left:5px;width:10px!important;height:10px!important}.empty-panel{color:#b5a69c;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.empty-panel strong{color:#f0ded0}.debug-panel{flex-direction:column;height:100%;display:flex}.debug-toolbar{border-bottom:1px solid #423831;align-items:center;gap:4px;height:38px;padding:0 10px;display:flex}.debug-toolbar button{color:#eee0d2;cursor:pointer;background:#3a302a;border:0;border-radius:6px;padding:6px}.debug-state{color:#e9cb8b;align-items:center;gap:7px;margin-right:auto;font-size:12px;display:flex}.debug-columns{background:#423831;flex:1;grid-template-columns:1fr 1fr;gap:1px;min-height:0;display:grid}.debug-columns>div{background:#211c19;padding:10px;overflow:auto}.debug-columns h4{text-transform:uppercase;color:#c6a983;margin:5px 0 8px;font-size:11px}.debug-table>div{border-bottom:1px solid #342c27;justify-content:space-between;padding:5px;font-size:12px;display:flex}.debug-table small{color:#8f8279}.evaluate-row{gap:5px;display:flex}.evaluate-row input{color:#fff;background:#171310;border:1px solid #4a3e36;flex:1;padding:7px}.evaluate-row button{background:var(--purple);color:#fff;border:0}.eval-value{color:#ffd989;padding:8px;display:block}.debug-console{color:#ddd;white-space:pre-wrap;background:#151210;height:100px;padding:8px;overflow:auto}.submission-panel{height:100%;padding:14px;overflow:auto}.submission-summary{background:#2d2723;border:1px solid #51443b;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 17px;display:flex}.submission-summary.passed{background:#20372a;border-color:#4f8a63}.submission-summary.failed{background:#40231f;border-color:#a9574c}.submission-summary span{color:#c6a983;font-size:10px}.submission-summary h3{margin:3px 0}.submission-summary p{color:#c9bbb1;margin:0;font-size:12px}.score-circle{border:5px solid var(--gold);text-align:center;border-radius:50%;place-content:center;width:76px;height:76px;display:grid}.score-circle strong{color:#ffd989;font-size:24px}.score-circle span{color:#e9d8c7}.compile-output{white-space:pre-wrap;color:#f2b3aa;background:#151210;border-radius:8px;padding:10px}.test-result-list>div{border-bottom:1px solid #3b322c;grid-template-columns:auto 1fr 1fr auto auto;align-items:center;gap:10px;padding:9px;font-size:12px;display:grid}.test-ok{color:#7fc894}.test-fail{color:#ef8174}.test-result-list span:nth-child(3),.test-result-list small{color:#a99b91}.result-note{color:#e9d2b8;background:#342b25;border-radius:8px;margin-top:12px;padding:10px}.full-loading{place-items:center;height:calc(100vh - 68px);display:grid}.leaderboard-hero{justify-content:flex-start;gap:22px;margin-bottom:25px}.leaderboard-hero>svg{color:#ffd989}.leaderboard-table{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.leaderboard-head,.leaderboard-row{grid-template-columns:80px 1.7fr 1fr 1fr 1fr;align-items:center;padding:15px 20px;display:grid}.leaderboard-head{background:var(--cream);color:var(--brown);font-size:12px;font-weight:800}.leaderboard-row{border-top:1px solid var(--line)}.leaderboard-row>span:first-child{color:var(--terra);font-size:20px;font-weight:900}.leaderboard-row>span:nth-child(2){flex-direction:column;display:flex}.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,.stat-row,.login-page{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}.welcome-banner,.course-hero{padding:27px}.workspace{display:block;overflow:auto}.lesson-pane,.ide-pane{max-width:none;width:100%!important}.lesson-pane{height:auto}.ide-pane{height:780px}.split-handle{display:none}.learn-page{height:auto;overflow:auto}.learn-toolbar{z-index:10;position:sticky;top:58px}.exercise-title{display:none}}.exam-page .lesson-pane{-webkit-user-select:none!important;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{-webkit-backdrop-filter:blur(18px);z-index:200;color:#fbbf24;text-align:center;background:#121214eb;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex;position:absolute;inset:0}.exam-blur-overlay h4{color:#f3f4f6;margin:14px 0 8px;font-size:1.15rem;font-weight:600}.exam-blur-overlay p{color:#9ca3af;max-width:320px;font-size:.9rem;line-height:1.5}.exam-copy-toast{color:#fff;z-index:250;background:#ef4444;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;animation:.3s fadeInDown;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #ef444466}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.teacher-unlock-banner{border:1px solid var(--gold);color:#fff;background:linear-gradient(135deg,#2b211a,#3d2b20);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:18px 24px;display:flex;box-shadow:0 8px 24px #0000001f}.teacher-unlock-info{align-items:center;gap:14px;display:flex}.teacher-unlock-info svg{color:#ffd989}.teacher-unlock-info strong{color:#ffd989;letter-spacing:.05em;font-size:15px;display:block}.teacher-unlock-info span{color:#f1e4d5;font-size:13px}.teacher-unlock-controls{align-items:center;gap:12px;display:flex}.teacher-unlock-controls label{color:#ffd989;font-size:13px;font-weight:700}.teacher-unlock-select{color:#fff;border:1px solid var(--gold);cursor:pointer;background:#1e1814;border-radius:10px;outline:none;padding:9px 14px;font-size:14px;font-weight:700}.teacher-unlock-select:focus{box-shadow:0 0 0 3px #d9a4414d}.success-toast-inline{color:#fff;background:#41835b;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.teacher-lesson-btn{cursor:pointer;border:0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:800;transition:all .15s;display:inline-flex}.teacher-lesson-btn.unlocked{color:#1e6b37;background:#e3f3e7;border:1px solid #41835b}.teacher-lesson-btn.unlocked:hover{background:#c8e8cf}.teacher-lesson-btn.locked{color:#a94335;background:#fde8e5;border:1px solid #d9918b}.teacher-lesson-btn.locked:hover{background:#f8cfcb}.attendance-hero{color:#fff;background:linear-gradient(120deg,#1b263b 0%,#2b3a55 50%,#3a506b 100%);border-radius:24px;justify-content:space-between;align-items:center;margin-bottom:28px;padding:32px 38px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #1b263b40}.attendance-hero:after{content:"";pointer-events:none;background:#ffffff0d;border-radius:50%;width:320px;height:320px;position:absolute;top:-140px;right:-80px}.attendance-hero h1{color:#fff;margin:6px 0;font-size:32px}.attendance-hero p{color:#cbd5e1;max-width:600px;margin:0;font-size:15px}.hero-action-box{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;align-items:center;gap:16px;padding:16px 22px;display:flex}.live-clock{flex-direction:column;align-items:flex-end;display:flex}.live-clock-time{color:#ffd989;font-family:monospace;font-size:26px;font-weight:800;line-height:1}.live-clock-date{color:#cbd5e1;margin-top:4px;font-size:12px}.btn-check-in{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:0;border-radius:14px;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 8px 20px #10b98159}.btn-check-in:hover{transform:translateY(-2px);box-shadow:0 12px 24px #10b98173}.btn-check-out{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);border:0;border-radius:14px;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 8px 20px #f59e0b59}.btn-check-out:hover{transform:translateY(-2px);box-shadow:0 12px 24px #f59e0b73}.attendance-stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.attendance-stat-card{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:16px;padding:18px 22px;display:flex;box-shadow:0 6px 18px #00000008}.stat-icon-wrapper{border-radius:15px;place-items:center;width:52px;height:52px;display:grid}.stat-icon-wrapper.green{color:#137333;background:#e6f4ea}.stat-icon-wrapper.blue{color:#1a73e8;background:#e8f0fe}.stat-icon-wrapper.orange{color:#b06000;background:#fef7e0}.stat-icon-wrapper.purple{color:#7e22ce;background:#f3e8ff}.stat-info label{color:var(--muted);margin-bottom:3px;font-size:12px;font-weight:700;display:block}.stat-info strong{color:var(--brown-dark);font-size:22px;font-weight:800}.attendance-filter-card{border:1px solid var(--line);background:#fff;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:18px 24px;display:flex;box-shadow:0 6px 18px #00000005}.filter-inputs-group{flex-wrap:wrap;flex:1;align-items:center;gap:14px;display:flex}.search-box-input{border:1px solid var(--line);min-width:260px;color:var(--brown-dark);background:#fbf8f3;border-radius:12px;align-items:center;gap:9px;padding:10px 14px;display:flex}.search-box-input input{width:100%;color:var(--brown-dark);background:0 0;border:0;outline:0;font-size:14px}.date-picker-input{border:1px solid var(--line);color:var(--brown-dark);background:#fbf8f3;border-radius:12px;align-items:center;gap:9px;padding:10px 14px;font-size:14px;display:flex}.date-picker-input input{color:var(--brown-dark);background:0 0;border:0;outline:0;font-weight:700}.btn-clear-filter{color:var(--brown);border:1px solid var(--line);cursor:pointer;background:#f5eee6;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.btn-clear-filter:hover{background:var(--cream);color:var(--brown-dark)}.btn-manual-add{background:linear-gradient(135deg, var(--brown-dark), var(--brown));color:#fff;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:800;transition:all .15s;display:inline-flex;box-shadow:0 6px 16px #38231533}.btn-manual-add:hover{opacity:.92;transform:translateY(-1px)}.attendance-table-wrapper{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;overflow:hidden}.attendance-table{border-collapse:collapse;text-align:left;width:100%}.attendance-table th{color:var(--brown-dark);border-bottom:1px solid var(--line);background:#fbf6ee;padding:16px 20px;font-size:13px;font-weight:800}.attendance-table td{vertical-align:middle;border-bottom:1px solid #f3e9db;padding:18px 20px;font-size:14px}.attendance-table tr:last-child td{border-bottom:0}.attendance-table tr:hover td{background:#fffcf7}.student-user-cell{align-items:center;gap:12px;display:flex}.user-avatar-circle{background:linear-gradient(135deg, var(--gold), var(--terra));color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:16px;font-weight:800;display:grid;box-shadow:0 4px 10px #c7653e33}.user-cell-info{flex-direction:column;display:flex}.user-cell-info strong{color:var(--brown-dark);font-size:15px}.user-cell-info small{color:var(--muted);font-size:12px}.date-pill-badge{color:var(--brown);background:#f4ece1;border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:700;display:inline-flex}.session-badges-list{flex-wrap:wrap;gap:8px;display:flex}.session-badge-item{color:var(--brown-dark);background:#f7f1e7;border:1px solid #e7dbcb;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.session-badge-item.active-session{color:#137333;background:#e6f4ea;border-color:#a8e0b7}.pulse-green-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulseGreen;box-shadow:0 0 #10b981b3}@keyframes pulseGreen{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 8px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.total-time-chip{color:var(--terra);font-size:14px;font-weight:800}.empty-table-box{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:50px 20px;display:flex}.modal-form-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field.full-width{grid-column:1/-1}.form-field label{color:var(--brown-dark);font-size:13px;font-weight:800}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);background:#fffdf9;border-radius:10px;outline:0;padding:10px 14px;font-size:14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d9a44126}.attendance-main-tabs{border-bottom:2px solid var(--line);gap:12px;margin-bottom:24px;padding-bottom:8px;display:flex}.tab-switch-btn{border:1px solid var(--line);color:var(--brown);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:10px;padding:12px 22px;font-size:15px;font-weight:800;transition:all .2s;display:inline-flex}.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:#fff;border-color:var(--brown-dark);box-shadow:0 6px 18px #38231533}.focus-rate-card{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:24px;padding:24px;box-shadow:0 8px 24px #0000000a}.focus-rate-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.focus-rate-header h3{color:var(--brown-dark);align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.focus-pill-badge{border-radius:99px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:900;display:inline-flex}.focus-pill-badge.high{color:#15803d;background:#dcfce7;border:1px solid #86efac}.focus-pill-badge.medium{color:#a16207;background:#fef9c3;border:1px solid #fde047}.focus-pill-badge.low{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.focus-bar-wrapper{background:#fee2e2;border-radius:99px;height:16px;display:flex;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.focus-bar-active{background:linear-gradient(90deg,#10b981,#059669);height:100%;transition:width .4s}.focus-bar-legend{color:var(--brown-dark);gap:24px;margin-top:14px;font-size:13px;display:flex}.legend-item{align-items:center;gap:8px;font-weight:600;display:flex}.legend-dot{border-radius:4px;width:12px;height:12px}.legend-dot.green{background:#10b981}.legend-dot.red{background:#ef4444}.session-history-card{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:18px;padding:22px;box-shadow:0 6px 18px #00000008}.session-card-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.timeline-events-list{border-left:2px solid var(--line);flex-direction:column;gap:12px;margin-top:14px;padding-left:12px;display:flex}.timeline-event-row{align-items:flex-start;gap:12px;font-size:14px;display:flex;position:relative}.timeline-event-row:before{content:"";background:var(--muted);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:-17px}.timeline-event-row.event-visible:before{background:#10b981;box-shadow:0 0 6px #10b98199}.timeline-event-row.event-hidden:before{background:#ef4444;box-shadow:0 0 6px #ef444499}.timeline-event-row.event-idle:before{background:#f59e0b;box-shadow:0 0 6px #f59e0b99}.timeline-event-row.event-auth:before{background:#3b82f6;box-shadow:0 0 6px #3b82f699}.event-time-badge{color:var(--brown-dark);background:#f1e6d7;border-radius:6px;flex-shrink:0;padding:3px 7px;font-family:monospace;font-size:12px;font-weight:700}.event-desc-text{color:var(--brown-dark);font-weight:600}.event-desc-text small{color:var(--muted);font-size:12px;font-weight:400;display:block}.import-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ab3;justify-content:center;align-items:center;padding:20px;animation:.25s ease-out forwards fadeIn;display:flex;position:fixed;inset:0}.import-modal-container{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:740px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) forwards scaleUp;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #00000059,0 0 0 1px #ffffff1a}@keyframes scaleUp{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.import-modal-header{color:#fff;background:linear-gradient(135deg,#1e293b,#0f172a);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:22px 28px;display:flex}.import-header-title{align-items:center;gap:14px;display:flex}.import-header-icon{background:linear-gradient(135deg, var(--terra), var(--gold));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 6px 16px #c7653e66}.import-header-title h3{color:#fff;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:800}.import-header-title p{color:#94a3b8;margin:2px 0 0;font-size:13px}.import-modal-close-btn{color:#cbd5e1;cursor:pointer;background:#ffffff1a;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.import-modal-close-btn:hover{color:#fff;background:#fff3;transform:rotate(90deg)}.import-modal-body{flex:1;padding:28px;overflow-y:auto}.import-template-banner{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:16px 20px;display:flex}.import-template-banner-info{align-items:center;gap:12px;display:flex}.import-template-banner-info h4{color:#92400e;margin:0;font-size:15px;font-weight:800}.import-template-banner-info p{color:#b45309;margin:2px 0 0;font-size:12px}.btn-download-template{color:#92400e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #fcd34d;border-radius:12px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #b453091a}.btn-download-template:hover{color:#fff;background:#92400e;border-color:#92400e;box-shadow:0 4px 12px #92400e40}.import-source-tabs{background:#f1f5f9;border-radius:14px;margin-bottom:22px;padding:4px;display:flex}.import-source-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.import-source-tab-btn.active{color:var(--brown-dark);background:#fff;box-shadow:0 2px 8px #00000014}.import-dropzone-box{text-align:center;cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:18px;padding:28px;transition:all .2s;position:relative}.import-dropzone-box:hover{border-color:var(--terra);background:#fff8f6}.import-dropzone-icon{width:52px;height:52px;color:var(--terra);background:#f1f5f9;border-radius:16px;justify-content:center;align-items:center;margin-bottom:12px;display:inline-flex}.import-code-editor-container{background:#0f172a;border:1px solid #334155;border-radius:16px;overflow:hidden}.import-code-editor-header{color:#94a3b8;background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;display:flex}.import-json-textarea{color:#38bdf8;resize:vertical;background:#0f172a;border:none;outline:none;width:100%;height:200px;padding:16px;font-family:Fira Code,Consolas,monospace;font-size:13px;line-height:1.6}.import-json-textarea::placeholder{color:#475569}.status-pill-badge{border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-pill-badge.valid{color:#15803d;background:#dcfce7}.status-pill-badge.invalid{color:#b91c1c;background:#fee2e2}.import-summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.import-metric-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:12px 16px}.import-metric-card label{text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700;display:block}.import-metric-card strong{color:var(--brown-dark);font-size:20px;font-weight:900}.import-modal-footer{border-top:1px solid var(--line);background:#f8fafc;justify-content:flex-end;align-items:center;gap:12px;padding:18px 28px;display:flex}
