html,body,#root{width:100%;min-width:100%;min-height:100%;margin:0}body,#root{min-height:100vh}*{box-sizing:border-box}body{color:#17202a;background:#f4f6f8;min-width:0;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}.login-page{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:100vh;display:grid}.login-brand,.login-area{min-width:0}.login-brand{color:#fff;background:#111827;flex-direction:column;justify-content:space-between;padding:52px 64px;display:flex}.brand{letter-spacing:-1px;font-size:28px;font-weight:800}.brand span{color:#4f7cff}.brand-content{max-width:570px}.eyebrow,.welcome{letter-spacing:2px;color:#7897ff;font-size:12px;font-weight:700}.brand-content h1{letter-spacing:-4px;margin:20px 0 28px;font-size:clamp(36px,5vw,76px);line-height:.98}.brand-text{color:#b7c0cf;max-width:500px;font-size:18px;line-height:1.7}.pilot{color:#7f8a9c;font-size:13px}.login-area{justify-content:center;align-items:center;padding:50px;display:flex}.login-card{width:100%;max-width:420px}.login-card h2{letter-spacing:-2px;margin:10px 0;font-size:42px}.subtitle{color:#707782;margin:0 0 38px;line-height:1.6}.login-card label{margin:20px 0 8px;font-size:14px;font-weight:600;display:block}.login-card input{background:#fff;border:1px solid #d8dce2;border-radius:10px;outline:none;width:100%;height:54px;padding:0 16px}.login-card input:focus{border-color:#4f7cff;box-shadow:0 0 0 3px #4f7cff1f}.login-card button{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:10px;width:100%;height:54px;margin-top:28px;font-weight:700}.access-note{text-align:center;color:#9aa0a9;margin-top:20px;font-size:12px}.dashboard{background:#f4f6f8;grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#111827;flex-direction:column;justify-content:space-between;padding:34px 24px;display:flex}.menu{flex-direction:column;gap:10px;margin-top:60px;display:flex}.menu-item,.logout{color:#aeb7c6;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:13px 14px}.menu-item:hover,.menu-item.active{color:#fff;background:#1d2736}.dashboard-content{min-width:0;padding:46px 56px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:38px;display:flex}.dashboard-header h1{letter-spacing:-2px;margin:8px 0;font-size:42px}.dashboard-subtitle{color:#747b86}.avatar{color:#fff;background:#111827;border-radius:50%;place-items:center;width:48px;height:48px;font-weight:700;display:grid}.hero-card{color:#fff;background:#111827;border-radius:18px;justify-content:space-between;align-items:center;gap:30px;margin-bottom:32px;padding:34px;display:flex}.hero-card h2{letter-spacing:-1px;margin:8px 0 10px;font-size:30px}.hero-card p{color:#b7c0cf}.small-label{letter-spacing:1.7px;font-size:11px;font-weight:700;color:#7897ff!important}.hero-card button{color:#111827;cursor:pointer;background:#fff;border:0;border-radius:9px;padding:14px 22px;font-weight:700}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.action-card{background:#fff;border:1px solid #e5e8ec;border-radius:14px;padding:26px}.card-number{color:#8b93a0;font-size:12px}.action-card h3{margin:16px 0 10px;font-size:24px}.action-card p{color:#6f7782;line-height:1.6}.action-card button{color:#4f68d8;cursor:pointer;background:0 0;border:0;margin-top:18px;padding:0;font-weight:700}.test-builder-header{margin-bottom:30px}.test-builder-header h1{letter-spacing:-2px;margin:8px 0;font-size:42px}.builder-card{background:#fff;border:1px solid #e5e8ec;border-radius:16px;padding:32px}.builder-section{margin-bottom:32px}.builder-section h3{margin:0 0 14px;font-size:18px}.fixed-option{background:#f5f7fa;border:1px solid #e2e6eb;border-radius:10px;padding:16px;font-weight:600}.section-title-row,.theme-block-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.theme-actions{gap:8px;display:flex}.theme-actions button,.theme-block-header button{color:#4f68d8;cursor:pointer;background:0 0;border:0;font-weight:700}.theme-block{background:#fbfcfd;border:1px solid #e5e8ec;border-radius:14px;margin-top:16px;padding:18px}.theme-block-header{margin-bottom:16px}.theme-block-header h4{margin:4px 0 0;font-size:18px}.theme-block-kicker{letter-spacing:1.5px;color:#7897ff;font-size:11px;font-weight:700}.themes-grid{grid-template-columns:repeat(10,1fr);gap:10px;display:grid}.general-grid{grid-template-columns:repeat(8,1fr)}.theme-chip{cursor:pointer;color:#59616d;background:#fff;border:1px solid #dfe3e8;border-radius:8px;height:42px;font-weight:600}.theme-chip:hover{border-color:#9cadff}.theme-chip.selected{color:#fff;background:#111827;border-color:#111827}.builder-row{grid-template-columns:1fr 1fr;gap:30px;display:grid}.option-group{flex-wrap:wrap;gap:10px;display:flex}.option-group button{cursor:pointer;color:#59616d;background:#fff;border:1px solid #dfe3e8;border-radius:9px;padding:11px 16px;font-weight:600}.option-group button.selected{color:#fff;background:#111827;border-color:#111827}.generate-test{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:10px;width:100%;height:54px;font-weight:700}.generate-test:disabled{cursor:not-allowed;background:#c8cdd5}.exam-page,.results-page{max-width:980px;margin:0 auto}.exam-top{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.exam-top h1,.results-page h1{letter-spacing:-2px;margin:8px 0 20px;font-size:40px}.difficulty-badge{color:#4f68d8;background:#eef2ff;border-radius:100px;padding:8px 14px;font-size:12px;font-weight:700}.progress-bar{background:#e3e7ec;border-radius:100px;width:100%;height:5px;margin-bottom:30px;overflow:hidden}.progress-bar div{background:#4f68d8;height:100%;transition:width .3s}.question-card{background:#fff;border:1px solid #e3e7ec;border-radius:16px;padding:36px}.question-theme{color:#7e8793;font-size:13px;font-weight:700}.question-card h2{margin:18px 0 30px;font-size:24px;line-height:1.5}.answers-list{flex-direction:column;gap:12px;display:flex}.answer-option{text-align:left;cursor:pointer;color:#333b46;background:#fff;border:1px solid #dfe3e8;border-radius:12px;align-items:flex-start;gap:16px;width:100%;padding:16px;line-height:1.5;display:flex}.answer-option span{background:#f1f3f6;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.answer-option:hover{border-color:#9cadff}.answer-option.selected{background:#f6f8ff;border-color:#4f68d8}.answer-option.selected span{color:#fff;background:#4f68d8}.exam-navigation{justify-content:space-between;margin-top:24px;display:flex}.exam-navigation button,.new-test-button{cursor:pointer;background:#fff;border:1px solid #dfe3e8;border-radius:9px;padding:12px 20px;font-weight:700}.exam-navigation button:disabled{opacity:.4}.exam-navigation .primary,.new-test-button{color:#fff;background:#111827;border-color:#111827}.score-card{color:#fff;background:#111827;border-radius:16px;margin:24px 0 30px;padding:34px}.score-card span{color:#9da9bb;font-size:13px}.score-card strong{margin:8px 0;font-size:52px;display:block}.score-card p{color:#c1c8d2}.review-list{flex-direction:column;gap:18px;display:flex}.review-card{background:#fff;border:1px solid #e3e7ec;border-left:5px solid #ccd2da;border-radius:12px;padding:24px}.review-card.correct{border-left-color:#33a06f}.review-card.wrong{border-left-color:#d45b5b}.review-heading{color:#7b8490;justify-content:space-between;gap:20px;font-size:12px;display:flex}.review-card.correct .review-heading strong{color:#26855c}.review-card.wrong .review-heading strong{color:#c34d4d}.explanation{background:#f5f7f9;border-radius:10px;margin-top:18px;padding:16px}.new-test-button{margin-top:28px}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #4f7cff}.form-error,.form-notice{border-radius:10px;padding:14px 16px;line-height:1.5}.form-error{color:#942f2f;background:#fff0f0}.form-notice{color:#33456c;background:#eaf0ff}.login-card .text-button{color:#445faa;background:0 0;height:auto;margin-top:10px;padding:12px}.invite-form,.enrollment-form{margin-top:24px}.invite-form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.invite-form label,.enrollment-fields label{flex:1;gap:8px;min-width:180px;font-size:14px;font-weight:600;display:grid}.invite-form input,.enrollment-fields input,.enrollment-fields select{width:100%;font:inherit;background:#fff;border:1px solid #cdd3de;border-radius:8px;padding:12px}.enrollment-fields{flex-wrap:wrap;gap:16px;margin-bottom:18px;display:flex}.primary-button,.action-card .primary-button{color:#fff;cursor:pointer;background:#111827;border:1px solid #111827;border-radius:8px;margin:0;padding:12px 18px;font-weight:700}.secondary-button{cursor:pointer;background:#fff;border:1px solid #cdd3de;border-radius:8px;padding:10px 16px}.list-heading{justify-content:space-between;align-items:center;gap:16px;margin-top:32px;display:flex}.student-card{margin-bottom:18px}.student-card>p{overflow-wrap:anywhere}.logout{color:#c0c9d7}.bank-course,.bank-file,.bank-filters label{gap:8px;margin:16px 0;font-weight:600;display:grid}.bank-course select,.bank-filters input,.bank-filters select,.bank-file textarea{font:inherit;background:#fff;border:1px solid #cdd3de;border-radius:8px;max-width:100%;padding:12px}.bank-course{max-width:480px;margin-bottom:24px}.bank-file textarea{resize:vertical;min-height:90px}.bank-hint{color:#68717f;font-size:14px;line-height:1.6}.bank-actions,.bank-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.bank-filters label{flex:1;min-width:190px;margin:0}.bank-row{background:#fff;border:1px solid #e3e7ec;border-radius:12px;justify-content:space-between;align-items:start;gap:18px;padding:20px;display:flex}.bank-row p{margin:8px 0 0}.bank-rows{gap:12px;display:grid}.bank-copy,.bank-row,.bank-review p{white-space:pre-wrap;overflow-wrap:anywhere}.bank-options{padding-left:24px;line-height:1.6}.bank-options li{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px}.bank-review{margin-top:32px}.bank-review details{margin:24px 0;line-height:1.6}.bank-import .secondary-button,.bank-review .secondary-button{color:#17202a;background:#fff;border:1px solid #cdd3de;margin:0;padding:10px 16px}@media (width<=600px){.bank-row{flex-direction:column}}@media (width<=1000px){.themes-grid,.general-grid{grid-template-columns:repeat(6,1fr)}}@media (width<=850px){.dashboard{grid-template-columns:1fr}.sidebar{gap:14px;padding:18px 20px;display:flex}.sidebar .menu{flex-flow:wrap;margin-top:14px}.sidebar .menu-item{width:auto}.sidebar .logout{align-self:flex-start;width:auto}.dashboard-content{padding:28px 20px}.cards-grid{grid-template-columns:1fr}.hero-card{flex-direction:column;align-items:flex-start}}@media (width<=700px){.login-page{grid-template-columns:1fr}.login-brand{gap:18px;padding:24px}.brand-content h1{letter-spacing:-1.5px;margin:12px 0;font-size:36px}.brand-text{margin-bottom:0;font-size:15px}.login-brand .pilot{display:none}.login-area{padding:28px 24px}.login-card h2{font-size:34px}.dashboard-header h1{overflow-wrap:anywhere;font-size:32px}.builder-row{grid-template-columns:1fr}.themes-grid,.general-grid{grid-template-columns:repeat(4,1fr)}.theme-block-header{flex-direction:column;align-items:flex-start}}.test-builder fieldset{border:0;min-width:0;margin:24px 0;padding:0}.test-builder legend{margin-bottom:16px;font-weight:700}.test-builder .themes-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));margin:20px 0}.test-theme{border:1px solid #dce1e9;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:14px;display:flex}.test-theme small{color:#656e7a;width:100%;padding-left:24px}.test-theme input{accent-color:#3549d4;width:18px;height:18px}.test-filters{flex-wrap:wrap;gap:24px;display:flex}.test-filters label{flex:180px;gap:8px;display:grid}.test-filters input,.test-filters select{font:inherit;border:1px solid #dce1e9;border-radius:8px;width:100%;padding:12px}.pending-tests{margin:0;padding:0;list-style:none}.pending-tests li{border-bottom:1px solid #dce1e9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.student-exam{max-width:1050px}.student-exam .question-card h3{margin:20px 0;font-size:1.4rem;line-height:1.5}.student-exam .answer-option{text-align:left}.student-exam button:disabled{cursor:not-allowed;opacity:.55}.student-exam .answer-option.selected:disabled{opacity:.8}.save-status{min-height:28px;margin-top:20px}.question-jumps{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.question-jumps .theme-chip{min-width:48px}.student-result{max-width:1050px}.result-points{text-align:right;gap:4px;display:grid}.result-points strong{font-size:2.8rem;line-height:1.2}.result-counts{grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;display:grid}.result-counts>div{background:#fff;border:1px solid #dce1e9;border-radius:12px;padding:20px}.result-counts dt{color:#656e7a}.result-counts dd{margin:8px 0 0;font-size:2rem;font-weight:700}.student-result details{margin-bottom:32px}.student-result summary{cursor:pointer;font-weight:700}.result-question{margin:24px 0}.result-question .list-heading{flex-wrap:wrap;margin-top:0}.result-question h3{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.3rem;line-height:1.5}.result-options{padding:0;list-style:none}.result-options li{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #dce1e9;border-radius:8px;margin:10px 0;padding:14px}.result-options .result-correct-option{background:#eef8f1;border-color:#83b394}.result-outcome{background:#eef0f4;border-radius:8px;padding:6px 12px}.result-outcome.correct{color:#185d35;background:#eef8f1}.result-outcome.error{color:#933330;background:#fff0ef}.result-explanation{border-top:1px solid #dce1e9;margin-top:24px;padding-top:16px}.result-explanation p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.submit-confirmation{border:2px solid #8997ed}.test-scoring{margin:20px 0}.test-scoring h3{margin-top:0}.scoring-values{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;margin:16px 0 8px;display:grid}.scoring-values dt{color:#656e7a}.scoring-values dd{margin:6px 0 0;font-size:1.15rem;font-weight:700}.test-scoring summary{cursor:pointer;font-weight:600}.student-tests{overflow-wrap:anywhere;min-width:0}.student-tests button{color:#17202a;cursor:pointer;overflow-wrap:anywhere;background:#fff;border:1px solid #cdd3de;border-radius:8px;max-width:100%;min-height:44px;margin-top:0;padding:10px 16px;font-weight:600;line-height:1.4}.student-tests .primary-button{color:#fff;background:#111827;border-color:#111827}.student-tests .answer-option{white-space:pre-wrap;padding:16px}.student-tests .answer-option span{flex-shrink:0}.student-tests .student-exam h3{white-space:pre-wrap}.student-tests .list-heading{flex-wrap:wrap}.student-tests .list-heading>*,.student-tests .pending-tests li>div{min-width:0}.student-tests .exam-top{flex-wrap:wrap;align-items:flex-start}.student-tests summary{min-height:44px;padding-block:12px}.student-tests input:focus-visible{outline-offset:3px;outline:3px solid #4f7cff}.student-tests .exam-footer{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}@media (width<=600px){.student-tests .action-card,.student-tests .question-card{padding:20px}.student-tests .test-builder .themes-grid{grid-template-columns:minmax(0,1fr)}.student-tests .test-filters label{min-width:0}.student-tests .exam-footer>button{width:100%}.result-counts{gap:8px}.result-counts>div{padding:12px 8px}.result-counts dt{font-size:.85rem}.student-result .exam-top{flex-wrap:wrap;align-items:flex-start}.result-points{text-align:left}}.classes-course{gap:8px;max-width:640px;margin:0 0 28px;font-weight:600;display:grid}.classes-course select,.classes-editor input,.classes-editor select{color:#17212b;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d6dbe3;border-radius:10px;padding:12px}.classes-editor fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.classes-editor label{gap:8px;font-weight:600;display:grid}.classes-editor .bank-hint{margin:0}.classes-editor{max-width:850px}
