:root{--ink:#20243a;--muted:#777e92;--line:#e8eaf1;--purple:#6558db;--purple-dark:#5144c4;--bg:#f5f7fb;--white:#fff;--green:#17845b;--shadow:0 8px 28px rgba(39,44,79,.055)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px}.topbar{position:sticky;top:0;z-index:20;height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eef0f5}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);font:800 20px Manrope,sans-serif;text-decoration:none;letter-spacing:-.8px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#7165eb,#4d40c5);color:white;font-size:21px}.brand-light{color:var(--purple)}.brand small{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:1.2px;color:#9a9db0;margin-top:1px}.top-actions{display:flex;align-items:center;gap:16px}.main-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto;margin-right:24px}.nav-button{border:0;background:transparent;color:#73798c;padding:10px 13px;border-radius:7px;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.nav-button:hover,.nav-button.active{background:#f0edff;color:var(--purple)}.table-wrap{overflow-x:auto}.local-badge{font-size:12px;color:#7c8191;background:#f6f6fa;border:1px solid #ededf3;border-radius:30px;padding:7px 11px}.local-badge i{display:inline-block;background:#39af7b;width:7px;height:7px;border-radius:50%;margin-right:6px}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#757a8c;font-size:17px;cursor:pointer}.app-shell{max-width:1110px;margin:0 auto;padding:43px 24px 75px}.welcome-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--purple);margin:0 0 9px}.welcome-row h1,.page-heading h1{font:800 29px Manrope,sans-serif;letter-spacing:-1px;margin:0 0 6px}.muted{color:var(--muted);margin:0;line-height:1.55}.button{font:600 13px 'DM Sans',sans-serif;border:1px solid transparent;border-radius:8px;padding:11px 16px;cursor:pointer;transition:.18s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.button-primary{color:#fff;background:var(--purple);box-shadow:0 4px 10px #6558db2b}.button-primary:hover{background:var(--purple-dark);transform:translateY(-1px)}.button-outline{background:white;border-color:#dedfeb;color:#4e5265}.button-outline:hover{border-color:var(--purple);color:var(--purple)}.button-ghost{background:transparent;color:#74798b}.notice{position:relative;display:flex;align-items:flex-start;gap:12px;padding:15px 40px 15px 16px;background:#fff9e9;border:1px solid #f4e8c1;border-radius:10px;color:#71613b;margin-bottom:22px}.notice-icon{font-size:17px;color:#b38a24}.notice strong{font-size:12px}.notice p{font-size:12px;line-height:1.55;margin:3px 0 0}.dismiss{position:absolute;right:12px;top:9px;border:0;background:none;color:#978b6a;font-size:20px;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:white;border:1px solid #eff0f5;border-radius:11px;box-shadow:0 3px 10px #20243a05}.stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;font-size:18px}.purple{background:#f0edff;color:#6558db}.blue{background:#eaf4ff;color:#3882d5}.green{background:#e7f7ef;color:#27a16e}.stat-label{display:block;color:#858a9b;font-size:11px;margin-bottom:3px}.stat-card strong{font:800 21px Manrope,sans-serif}.panel{background:#fff;border:1px solid #eceef4;border-radius:12px;box-shadow:var(--shadow)}.papers-panel{padding:22px 24px}.panel-heading,.questions-header{display:flex;justify-content:space-between;align-items:center}.dashboard-actions{display:flex;align-items:center;gap:8px}.dashboard-actions .file-button{white-space:nowrap}.coaching-folder{padding:17px 0;border-bottom:1px solid #eff0f5}.coaching-folder:last-child{border-bottom:0}.coaching-folder>summary,.class-folder>summary{cursor:pointer;font:700 15px Manrope,sans-serif;color:var(--purple);list-style:none}.coaching-folder>summary::-webkit-details-marker,.class-folder>summary::-webkit-details-marker{display:none}.coaching-folder>summary:before,.class-folder>summary:before{content:'▸';display:inline-block;margin-right:8px;transition:transform .15s}.coaching-folder[open]>summary:before,.class-folder[open]>summary:before{transform:rotate(90deg)}.coaching-folder>summary{margin:0 0 12px}.class-folder{margin:8px 0 8px 12px;padding:9px 0 0 12px;border-left:2px solid #eeecff}.class-folder>summary{font-size:13px;color:#585d71}.subject-folder{display:block;margin:9px 0 0 12px;padding:9px 0 0 12px;border-left:2px solid #f1f0fa}.subject-folder>summary,.paper-date-folder>summary{cursor:pointer;list-style:none;font-size:12px;font-weight:700;color:#686d80}.subject-folder>summary::-webkit-details-marker,.paper-date-folder>summary::-webkit-details-marker{display:none}.subject-folder>summary:before,.paper-date-folder>summary:before{content:'▸';display:inline-block;margin-right:7px;transition:transform .15s}.subject-folder[open]>summary:before,.paper-date-folder[open]>summary:before{transform:rotate(90deg)}.subject-toolbar,.folder-toolbar,.class-folder-toolbar{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin:7px 0}.class-folder-toolbar{padding:0 0 5px}.paper-date-folder{margin:8px 0 8px 10px;padding:8px 0 0 11px;border-left:2px solid #e9e8f2}.folder-count{margin-left:8px;color:#9296a4;font:500 10px 'DM Sans',sans-serif}.folder-empty{padding:5px 8px;color:#9094a2;font-size:11px}.subject-folder h4{font:700 12px 'DM Sans',sans-serif;color:#666b7d;margin:0 0 3px}.archive-import{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding:13px 14px;border:1px solid #e9eaf1;border-radius:8px;background:#fcfcfe;font-size:12px}.archive-import span{color:var(--muted);font-size:11px}.archive-import .file-button{margin-left:auto}.rank-highlight{text-align:center;margin:12px auto 4px;padding:12px;border-radius:8px;background:#fff8df;color:#8a6820;font-weight:700;font-size:14px;max-width:360px}.panel-heading{padding-bottom:19px;border-bottom:1px solid #f0f1f5}.panel-heading h2,.questions-header h2{font:700 17px Manrope,sans-serif;margin:0 0 4px}.panel-heading .muted,.questions-header .muted{font-size:12px}.empty-state{text-align:center;padding:46px 15px 38px}.empty-icon{width:52px;height:52px;border-radius:16px;background:#f1efff;color:var(--purple);display:grid;place-items:center;font-size:22px;margin:0 auto 13px}.empty-state h3{font:700 16px Manrope,sans-serif;margin:0 0 6px}.empty-state p{font-size:12px;color:var(--muted);margin:0 0 17px}.paper-row{display:flex;align-items:center;justify-content:space-between;padding:17px 2px;border-bottom:1px solid #f0f1f5;gap:15px}.paper-row:last-child{border-bottom:0}.paper-main{min-width:0}.paper-title{font-weight:700;font-size:14px;margin-bottom:6px}.paper-meta{font-size:11px;color:var(--muted)}.code-pill,.count-pill{display:inline-block;background:#f1efff;color:#5c50c9;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:700;letter-spacing:.5px}.paper-meta .code-pill{margin-right:7px}.paper-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.small-button{border:1px solid #e6e7ee;background:white;color:#62677a;border-radius:6px;padding:7px 9px;font:600 11px 'DM Sans',sans-serif;cursor:pointer}.small-button:hover{border-color:var(--purple);color:var(--purple)}.small-button.danger:hover{color:#c44450;border-color:#f0c6ca}.view.hidden{display:none}.back-link{border:0;background:none;color:#777d90;font:600 12px 'DM Sans',sans-serif;padding:0;cursor:pointer;margin-bottom:27px}.back-link:hover{color:var(--purple)}.page-heading{margin-bottom:22px}.page-heading h1{font-size:27px}.form-panel{padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:20px}.form-grid label,.student-form label{display:flex;flex-direction:column;gap:7px;color:#555b70;font-weight:600;font-size:12px}.form-grid input,.form-grid textarea,.student-form input,.question-card input[type=text],.option-input{width:100%;border:1px solid #e3e5ed;border-radius:7px;padding:11px 12px;color:var(--ink);font:13px 'DM Sans',sans-serif;outline:none;background:#fff}.form-grid textarea{resize:vertical;min-height:82px;line-height:1.5}.form-grid input:focus,.form-grid textarea:focus,.student-form input:focus,.question-card input:focus{border-color:#8278e6;box-shadow:0 0 0 3px #6558db12}.instruction-field{grid-column:1/-1}.upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}@media(max-width:900px){.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-card:last-child{grid-column:1/-1}}.upload-card{min-height:126px;display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px dashed #d9dbe7;border-radius:9px;background:#fcfcfe}.upload-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:9px;background:#f0edff;color:var(--purple);font-size:21px}.key-icon{background:#eaf5ff;color:#3986c9}.upload-card strong{font-size:12px}.upload-card p{font-size:11px;color:var(--muted);margin:4px 0 10px}.file-button{padding:7px 10px;font-size:11px;position:relative}.file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.template-download{padding:7px 10px;font-size:11px;margin-left:6px}.file-name{font-size:10px;color:#9095a5;margin-left:8px}.format-hint{margin:17px 0 25px;padding:12px 14px;border-radius:8px;background:#f8f8fc;display:flex;flex-direction:column;gap:5px;font-size:11px;color:#777d90;line-height:1.4}.format-hint strong{color:#555b70}.format-hint code,.upload-card code{background:#efeff6;color:#5145be;padding:2px 4px;border-radius:3px;font-size:10px}.questions-header{padding-top:19px;border-top:1px solid #eff0f5;margin-bottom:14px}.count-pill{vertical-align:2px;margin-left:5px}.question-list{display:flex;flex-direction:column;gap:12px}.question-card{border:1px solid #e9eaf1;background:#fff;border-radius:9px;padding:15px}.question-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.question-label{font-size:12px;font-weight:700;color:#585d71}.remove-question{border:0;background:none;color:#a0a3b0;cursor:pointer;font-size:17px}.question-prompt{margin-bottom:10px}.solution-field{display:flex;flex-direction:column;gap:6px;margin-top:14px;color:#666b7d;font-size:11px;font-weight:600}.question-card .solution-field textarea{width:100%;border:1px solid #e3e5ed;border-radius:7px;padding:10px 12px;color:var(--ink);font:13px 'DM Sans',sans-serif;resize:vertical;line-height:1.5}.question-card .solution-field textarea:focus{border-color:#8278e6;outline:none;box-shadow:0 0 0 3px #6558db12}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option-wrap{display:flex;gap:7px;align-items:center}.option-wrap>span{color:#818699;font-size:11px;font-weight:700;width:14px}.option-wrap input[type=radio]{accent-color:var(--purple)}.correct-label{font-size:10px;color:#9a9eac;margin:12px 0 6px}.question-placeholder{font-size:12px;color:#898e9d;text-align:center;border:1px dashed #e1e2eb;border-radius:8px;padding:22px}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:17px;border-top:1px solid #eff0f5}.student-wrap,.result-card{max-width:700px;margin:16px auto}.student-head{text-align:center;padding:32px 20px 23px}.student-logo{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 12px;border-radius:14px;background:#efedff;color:var(--purple);font:800 23px Manrope}.student-head h1{font:800 24px Manrope;margin:5px 0}.student-head p{font-size:12px;color:var(--muted);margin:0}.student-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:20px 22px 22px;border-bottom:1px solid #eff0f5}.student-form .button{grid-column:1/-1}.take-shell{max-width:800px;margin:18px auto}.exam-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.exam-top h1{font:800 21px Manrope;margin:0 0 4px}.exam-top p{font-size:12px;color:var(--muted);margin:0}.timer{padding:9px 12px;border:1px solid #e8e7f4;border-radius:8px;color:#564dc0;font-weight:700;font-size:13px;background:#fff}.timer.warning{color:#c34f54;background:#fff2f2}.progress-line{height:5px;background:#e8e9f0;border-radius:5px;margin-bottom:16px;overflow:hidden}.progress-fill{height:100%;background:var(--purple);transition:width .2s}.exam-card{background:#fff;border:1px solid #eceef4;border-radius:10px;margin-bottom:12px;padding:20px}.exam-card h3{font-size:14px;line-height:1.55;margin:0 0 14px}.exam-card h3 span{color:var(--purple);margin-right:7px}.answer-option{display:flex;align-items:flex-start;gap:9px;border:1px solid #e9eaf0;padding:10px 12px;border-radius:7px;margin-top:7px;cursor:pointer;font-size:12px;line-height:1.4}.answer-option:hover{border-color:#b8b2ed;background:#fcfbff}.answer-option input{accent-color:var(--purple);margin:1px 0 0}.take-footer{display:flex;justify-content:space-between;align-items:center;padding:7px 0 20px}.take-footer span{font-size:11px;color:var(--muted)}.result-card{padding:27px}.result-hero{text-align:center;padding:13px 10px 20px;border-bottom:1px solid #eeeef4}.result-check{width:52px;height:52px;border-radius:50%;background:#e8f7ef;color:#228d60;display:grid;place-items:center;margin:0 auto 12px;font-size:26px}.result-hero h1{font:800 23px Manrope;margin:0 0 5px}.result-hero p{margin:0;color:var(--muted);font-size:12px}.score-circle{width:112px;height:112px;border-radius:50%;border:8px solid #eceaff;margin:19px auto 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--purple)}.score-circle strong{font:800 27px Manrope}.score-circle span{font-size:10px;color:#83879a}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:17px 0;text-align:center}.result-stats strong{display:block;font:700 19px Manrope}.result-stats span{font-size:10px;color:var(--muted)}.result-actions{display:flex;justify-content:center;gap:9px;margin:10px 0 19px}.review-title{font:700 14px Manrope;margin:17px 0 10px}.review-item{font-size:11px;line-height:1.5;padding:11px;border-radius:7px;background:#f9f9fc;margin-top:7px}.review-item.correct{border-left:3px solid #36a475}.review-item.incorrect{border-left:3px solid #d66c71} .review-answer{color:#687083;margin-top:3px}.review-solution{margin-top:8px;padding:9px 10px;background:#fff8e8;border-radius:6px;color:#6f5b2b;white-space:pre-wrap}.attempt-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.attempt-heading h1{font:800 24px Manrope;margin:0 0 4px}.attempt-table{width:100%;border-collapse:collapse}.attempt-table th,.attempt-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #eff0f5;font-size:11px}.attempt-table th{font-size:10px;color:#82879a;font-weight:600}.toast{position:fixed;bottom:23px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#24263a;color:#fff;padding:11px 16px;border-radius:8px;font-size:12px;box-shadow:var(--shadow);transition:.22s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(450px,calc(100% - 30px));border:0;border-radius:13px;padding:26px;box-shadow:0 15px 60px #20243a2b;color:var(--ink)}dialog::backdrop{background:#22243c66}dialog h2{font:800 21px Manrope;margin:0 0 10px}.app-popup{width:min(390px,calc(100% - 32px));padding:28px 26px 24px;text-align:center;border:1px solid #eceef4;border-radius:16px;box-shadow:0 18px 60px #20243a30}.app-popup .app-popup-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 13px;border-radius:50%;background:#f0edff;color:var(--purple);font:800 20px Manrope}.app-popup h2{margin:0 0 8px;font-size:18px}.app-popup p{margin:0 0 22px;color:#62677a;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.app-popup .button{min-width:105px}dialog ol{padding-left:19px;font-size:12px;line-height:1.7;color:#676d7d}dialog .dialog-note{padding:11px;background:#fff7e7;color:#806b37;border-radius:7px;font-size:11px;line-height:1.5}.download-note{font-size:12px;margin-bottom:16px}.download-choices{display:flex;flex-direction:column;gap:9px}.dialog-close{position:absolute;right:16px;top:13px;background:none;border:0;font-size:21px;color:#8a8c98;cursor:pointer}.hidden{display:none!important}.paper-preview-dialog{width:min(760px,calc(100% - 24px));max-height:88vh;overflow:auto;background:#f5f6fa}.preview-paper{max-width:650px;margin:14px auto 0;padding:34px 38px;background:#fff;border:1px solid #e6e8ef;box-shadow:0 4px 18px #20243a12}.preview-paper-heading{text-align:center;border-bottom:1px solid #e6e8ef;padding-bottom:17px;margin-bottom:20px}.preview-paper-heading p{font-weight:700;margin:0 0 8px}.preview-paper-heading h2{font-size:21px;margin:0 0 7px}.preview-paper-heading span{font-size:12px;color:#777e92}.preview-question{margin:0 0 19px;font-size:13px;line-height:1.55}.preview-question ol{margin:7px 0 0;padding-left:29px}.preview-question li{padding:2px 0}.paper-instructions{margin:14px 0 18px;padding:12px 14px;border:1px solid #eee6c9;border-radius:8px;background:#fffaf0;color:#695c39;font-size:12px;line-height:1.55;text-align:left}.paper-instructions p{margin:4px 0 0;white-space:pre-wrap}.student-head .paper-instructions{max-width:590px;margin:18px auto 0}.route-note,.link-help{margin-top:9px;padding:10px 12px;border-radius:7px;background:#fff8e8;color:#796535;font-size:11px;line-height:1.5}.link-help{background:#f4f5fa;color:#697084}.instruction-field{grid-column:1/-1}.instructions-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:17px}.instructions-grid label{display:flex;flex-direction:column;gap:7px;color:#555b70;font-weight:600;font-size:12px}.instructions-grid textarea{width:100%;border:1px solid #e3e5ed;border-radius:7px;padding:11px 12px;color:var(--ink);font:13px 'DM Sans',sans-serif;outline:none;background:#fff;resize:vertical;min-height:120px;line-height:1.5}.instructions-grid textarea:focus{border-color:#8278e6;box-shadow:0 0 0 3px #6558db12}.bilingual-instructions{display:grid;grid-template-columns:1fr 1fr;gap:0}.instruction-column{padding:0 14px}.instruction-column:first-child{padding-left:0;border-right:1px solid #dfdfdf}.instruction-column:last-child{padding-right:0}.instruction-column strong{display:block;text-align:center;margin-bottom:8px}.instruction-column p{white-space:pre-wrap;margin:0;line-height:1.55}@media(max-width:600px){.preview-paper{padding:24px 18px}.preview-paper-heading h2{font-size:18px}}.marksheet{max-width:900px;margin:0 auto;padding:26px;color:#20243a;background:#fff}.marksheet>header{text-align:center;border-bottom:2px solid #20243a;padding-bottom:14px}.marksheet>header p,.marksheet>header h1,.marksheet>header h2{margin:5px 0}.marksheet-details{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:18px 0}.marksheet-answers{width:100%;border-collapse:collapse}.marksheet-answers th,.marksheet-answers td{border:1px solid #cfd2dc;padding:8px;text-align:left;font-size:11px}.marksheet>footer{text-align:center;margin-top:20px;color:#777e92;font-size:10px}@media print{#attemptsView:not(.hidden)>*:not(#printMarksheet){display:none!important}#printMarksheet{display:block!important}.marksheet{max-width:none;padding:0}.marksheet-answers tr{break-inside:avoid}}
@media(max-width:700px){.app-shell{padding:28px 16px 50px}.topbar{height:auto;min-height:64px;padding:10px 16px;flex-wrap:wrap;gap:8px}.main-nav{order:3;width:100%;margin:0;justify-content:center;border-top:1px solid #eef0f5;padding-top:6px}.brand{font-size:18px}.welcome-row{align-items:flex-start;gap:13px;flex-direction:column}.welcome-row h1{font-size:25px}.stats-grid{gap:8px}.stat-card{padding:13px 10px;gap:8px}.stat-icon{width:34px;height:34px;font-size:15px}.stat-label{font-size:9px}.stat-card strong{font-size:18px}.papers-panel{padding:17px 14px}.panel-heading{align-items:flex-start;gap:10px}.panel-heading .button{white-space:nowrap;padding:9px}.dashboard-actions{flex-wrap:wrap;justify-content:flex-start}.paper-row{align-items:flex-start;flex-direction:column}.paper-actions{justify-content:flex-start}.form-panel{padding:17px 13px}.form-grid{grid-template-columns:1fr;gap:11px}.instructions-grid{grid-template-columns:1fr;gap:11px}.bilingual-instructions{grid-template-columns:1fr}.instruction-column{padding:10px 0}.instruction-column:first-child{padding-left:0;border-right:0;border-bottom:1px solid #dfdfdf}.instruction-column:last-child{padding-right:0}.upload-grid{grid-template-columns:1fr}.upload-card{min-height:0}.file-name{display:block;margin:7px 0 0}.template-download{margin:7px 0 0}.options-grid{grid-template-columns:1fr}.question-card{padding:12px}.student-form{padding:17px;grid-template-columns:1fr}.student-form .button{grid-column:auto}.exam-top h1{font-size:18px}.take-shell{margin:10px auto}.exam-card{padding:15px}.result-card{padding:18px 13px}.attempt-table th,.attempt-table td{padding:10px 5px;font-size:10px}.attempt-heading{align-items:flex-start;gap:8px;flex-direction:column}.local-badge{font-size:10px;padding:6px 8px}.notice{padding-left:12px}.notice p{font-size:11px}}
.results-search{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;color:#555b70;font-size:12px;font-weight:600}.results-search input{width:100%;max-width:520px;padding:11px 12px;border:1px solid #e3e5ed;border-radius:7px;font:13px 'DM Sans',sans-serif;color:var(--ink);outline:none}.results-search input:focus{border-color:#8278e6;box-shadow:0 0 0 3px #6558db12}.coaching-bulk-reports{margin:0 0 17px;padding:15px 17px;background:#fff;border:1px solid #eceef4;border-radius:10px}.coaching-bulk-reports h2{font:700 14px Manrope,sans-serif;margin:0 0 8px}.coaching-report-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #f0f1f5;font-size:12px}.coaching-report-row>div{display:flex;gap:7px;flex-wrap:wrap}.strength-coaching{padding:20px 22px;margin:0 0 16px}.strength-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid #eff0f5}.strength-heading h2{font:700 17px Manrope,sans-serif;margin:0}.strength-total{padding:7px 11px;border-radius:20px;background:#f0edff;color:var(--purple);font-size:11px;font-weight:700}.strength-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:15px 0}.strength-stats div{padding:12px;border-radius:8px;background:#f8f8fc;text-align:center}.strength-stats strong,.strength-stats span{display:block}.strength-stats strong{font:800 21px Manrope,sans-serif;color:var(--purple)}.strength-stats span{font-size:10px;color:var(--muted);margin-top:3px}.strength-note{font-size:10px;line-height:1.5;color:var(--muted);margin:12px 0 0}.student-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:17px}.student-tool{padding:19px}.student-tool h2,.students-list-head h2{font:700 16px Manrope,sans-serif;margin:0 0 6px}.student-tool>.muted,.student-tool-note{font-size:11px;line-height:1.5}.student-tool-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.student-entry-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;padding-top:14px;border-top:1px solid #eff0f5}.student-entry-form label{display:flex;flex-direction:column;gap:6px;color:#555b70;font-size:11px;font-weight:600}.student-entry-form input,.student-entry-form select,.student-card-actions select{width:100%;min-width:0;padding:10px;border:1px solid #e3e5ed;border-radius:7px;background:#fff;color:var(--ink);font:12px 'DM Sans',sans-serif}.student-entry-form button{grid-column:1/-1}.student-tool-note{color:var(--muted);margin:10px 0 0}.students-list-panel{padding:19px 21px}.students-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.students-list-head .muted{font-size:11px}.student-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.student-card-actions select{width:auto;min-width:140px}.single-id-lookup{display:flex;flex-direction:column;gap:4px;color:#555b70;font-size:10px;font-weight:600}.single-id-lookup input{width:130px;min-width:0;padding:8px 9px;border:1px solid #e3e5ed;border-radius:7px;background:#fff;color:var(--ink);font:11px 'DM Sans',sans-serif}.single-id-lookup input:focus{border-color:#8278e6;outline:none;box-shadow:0 0 0 3px #6558db12}.student-directory-link{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 2px}.student-directory-link .muted{font-size:12px}.student-form select{width:100%;border:1px solid #e3e5ed;border-radius:7px;padding:11px 12px;color:var(--ink);font:13px 'DM Sans',sans-serif;background:white}.student-form select:focus{border-color:#8278e6;outline:none;box-shadow:0 0 0 3px #6558db12}.marksheet-screen{max-width:850px;margin:0 auto}.marksheet-actions{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.marksheet-score{display:flex;align-items:baseline;justify-content:center;gap:5px;margin:4px 0 18px;padding:15px;background:#f4f2ff;border-radius:8px;color:var(--purple);font:800 24px Manrope}.marksheet-score span{font:600 13px 'DM Sans',sans-serif;color:#62677a}.marksheet-score strong{margin-left:14px;font:800 23px Manrope}.marksheet footer{padding-top:12px;border-top:1px solid #e7e8ef}@media(max-width:600px){.marksheet{padding:18px 12px}.marksheet-details{grid-template-columns:1fr;gap:8px}.marksheet-actions{flex-direction:column}.marksheet-actions .button{width:100%}.coaching-report-row{align-items:flex-start;flex-direction:column}.strength-coaching{padding:16px 12px}.strength-stats{grid-template-columns:1fr 1fr}}
.question-step{display:flex;justify-content:space-between;align-items:center;margin:0 0 9px;color:#62677a;font-size:12px;font-weight:700}.question-step span{color:#858a9b;font-weight:500}.question-navigation{display:flex;gap:8px}.question-navigation button:disabled{opacity:.45;cursor:not-allowed}.folder-toolbar{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #f0f1f5}
@media print{#resultView:not(.hidden) .marksheet-actions{display:none!important}#resultView:not(.hidden) .marksheet-screen{max-width:none;margin:0}#resultView:not(.hidden) .marksheet{max-width:none;margin:0;padding:0;border:0;box-shadow:none}#resultView:not(.hidden) .marksheet-score{print-color-adjust:exact;-webkit-print-color-adjust:exact}.app-shell>section.view:not(#resultView){display:none!important}}
@media print{body{background:white}.topbar,.result-actions,.back-link,.toast{display:none!important}.app-shell{padding:0;max-width:none}.app-shell>section.view{display:none!important}.app-shell>section.view:not(.hidden){display:block!important}.result-card{box-shadow:none;border:0;max-width:none;padding:0}.result-hero{padding-top:0}.review-item{break-inside:avoid}.result-card .eyebrow{display:none}}
/* Colorful coaching marksheet with a subtle logo watermark. */
.marksheet{position:relative;overflow:hidden;border:2px solid #6558db;border-radius:16px;background:linear-gradient(145deg,#fff 48%,#f3f1ff);box-shadow:0 8px 26px #302b5b12}
.marksheet>.watermark{position:absolute;z-index:0;right:22px;top:110px;color:rgba(101,88,219,.075);font:bold 230px Arial,sans-serif;line-height:1;pointer-events:none}
.marksheet>.marksheet-header,.marksheet>.marksheet-details,.marksheet>.marksheet-score,.marksheet>footer{position:relative;z-index:1}
.marksheet>.marksheet-header{display:flex;align-items:center;gap:14px;text-align:left;padding:17px;color:#fff;border:0;border-radius:12px;background:linear-gradient(115deg,#6558db,#3587d5)}
.marksheet-header .marksheet-logo{flex:0 0 52px;width:52px;height:52px;margin:0;border:2px solid #ffffff9c;border-radius:15px;background:#ffffff24;color:#fff;font-size:25px}.marksheet-header img.marksheet-logo{object-fit:contain;background:#fff;padding:4px}.marksheet-header .marksheet-logo.logo-fallback{display:grid;place-items:center}
.marksheet-header p{color:#fff;font-size:12px;opacity:.9}.marksheet-header h1{font-size:21px}.marksheet-header h2{font-size:14px;color:#fff}
.marksheet-header .subject-chip{margin-left:auto;padding:8px 11px;border-radius:22px;background:#ffffff2a;color:#fff;font-size:11px;white-space:nowrap}
.marksheet-details{gap:0;margin:18px 0;border:1px solid #e2e1ef;border-radius:10px;overflow:hidden;background:#ffffffd9}
.marksheet-details div{padding:11px;border-bottom:1px solid #e9e8f1}.marksheet-details div:nth-child(odd){border-right:1px solid #e9e8f1}
.marksheet-details strong,.marksheet-details span{display:block}.marksheet-details strong{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#777e92;margin-bottom:4px}
.marksheet-score{justify-content:space-between;margin:10px 0 18px;padding:15px 20px;background:linear-gradient(110deg,#f0edff,#e9f5ff);color:#5144c4}.marksheet-score>strong{font-size:24px}.marksheet-score small{font:600 12px 'DM Sans',sans-serif;color:#62677a}.marksheet-score>span{font-size:25px;font-weight:800;color:#17845b}
@media print{.marksheet{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;box-shadow:none}.marksheet>.watermark{color:rgba(101,88,219,.09)!important}}
@media(max-width:600px){.marksheet-header{flex-wrap:wrap}.marksheet-header .subject-chip{margin-left:66px}.marksheet-header h1{font-size:18px}}
@media(max-width:750px){.student-tools-grid{grid-template-columns:1fr}.students-list-head{align-items:flex-start;flex-direction:column}.student-card-actions{justify-content:flex-start;width:100%}.student-card-actions select{width:100%}}
@media(max-width:480px){.student-entry-form{grid-template-columns:1fr}.student-entry-form button{grid-column:auto}.student-tool{padding:15px 12px}.students-list-panel{padding:15px 12px}}
.app-popup-actions{display:flex;justify-content:center;gap:9px}
.app-popup-actions .button{min-width:105px}
.app-popup-input{display:block;width:100%;margin:-7px 0 19px;padding:11px 12px;border:1px solid #dedfeb;border-radius:8px;color:var(--ink);font:14px 'DM Sans',sans-serif;outline:none}
.app-popup-input:focus{border-color:#8278e6;box-shadow:0 0 0 3px #6558db12}
.app-popup-input[hidden]{display:none}
.print-theme-tools{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:12px 0 16px;padding:13px 14px;border:1px solid #eceef4;border-radius:9px;background:#fff}
.print-theme-control{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:#555b70;font-size:11px;font-weight:700}
.print-theme-control label{display:flex;flex-direction:column;gap:6px;color:#555b70;font-size:11px;font-weight:700}
.print-theme-control select{min-width:155px;padding:9px 10px;border:1px solid #e3e5ed;border-radius:7px;background:#fff;color:var(--ink);font:12px 'DM Sans',sans-serif}
.print-theme-delete{padding:5px 8px;font-size:10px}
.print-theme-note{flex-basis:100%;font-size:11px}
@media(max-width:600px){.print-theme-tools{align-items:stretch;flex-direction:column}.print-theme-control select{width:100%}.print-theme-tools>.button{width:100%}}
.joining-builder-panel{padding:20px 22px;margin:0 0 17px}.joining-builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.joining-builder-heading h2{font:700 17px Manrope,sans-serif;margin:0 0 5px}.joining-builder-heading .muted{font-size:11px}.joining-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.joining-form-actions .button{white-space:nowrap}.joining-form-settings{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:15px 0;padding:12px;border:1px solid #eff0f5;border-radius:8px;background:#fcfcfe}.joining-form-settings label{display:flex;flex-direction:column;gap:5px;min-width:180px;color:#555b70;font-size:11px;font-weight:600}.joining-form-settings input{padding:9px 10px;border:1px solid #e3e5ed;border-radius:7px;color:var(--ink);font:12px 'DM Sans',sans-serif}.joining-color-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.joining-color-note i{width:15px;height:15px;border-radius:4px;border:1px solid #ddd}.joining-form-preview{max-width:800px;margin:16px auto;padding:25px 28px;border:2px solid var(--joining-accent,#6558db);border-radius:10px;background:white;color:#252940}.joining-form-preview>header{text-align:center;padding:10px 8px 14px;margin-bottom:14px;border-bottom:2px solid var(--joining-accent,#6558db)}.joining-preview-brand{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--joining-accent,#6558db);font-weight:700;font-size:13px}.joining-preview-logo{width:34px;height:34px;object-fit:contain;border-radius:7px}.joining-preview-brand .logo-fallback{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:var(--joining-accent,#6558db);color:#fff}.joining-form-preview>header h2{margin:8px 0 4px;color:var(--joining-accent,#6558db);font:700 20px Manrope,sans-serif}.joining-form-preview>header p{margin:0;color:#74798b;font-size:10px}.joining-form-section{margin:13px 0}.joining-form-section h3{margin:0 0 8px;padding:6px 9px;border-left:4px solid var(--joining-accent,#6558db);background:#f5f4fb;color:var(--joining-accent,#6558db);font:700 12px 'DM Sans',sans-serif}.joining-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px}.joining-field{min-width:0;break-inside:avoid}.joining-field-wide{grid-column:1/-1}.joining-field-label{margin-bottom:6px;font-size:11px;font-weight:700}.joining-field-label b{color:#bd3c49}.joining-blank-line{height:18px;border-bottom:1px solid #9196a3}.joining-options{display:flex;gap:14px;flex-wrap:wrap;min-height:18px;font-size:10px}.joining-option{display:inline-flex;align-items:center;gap:5px}.joining-option i{display:inline-block;width:12px;height:12px;border:1px solid #606575}.joining-writing-box{height:46px;border:1px solid #b9bdc8;border-radius:3px}.joining-photo-box{width:58px;height:70px;margin-left:auto;border:1px dashed #9196a3;display:grid;place-items:center;color:#888;font-size:9px}.joining-signature-line{height:32px;border-bottom:1px solid #9196a3}.joining-form-declaration{margin-top:14px;padding-top:10px;border-top:1px solid #d8dbe3;font-size:10px;line-height:1.6}.joining-form-declaration span{display:block;text-align:right;margin-top:16px}.joining-csv-help{margin:10px 2px 0;color:var(--muted);font-size:10px;line-height:1.6}.joining-csv-help code{padding:2px 4px;border-radius:3px;background:#efeff6;color:#5145be;font-size:10px}.joining-builder-panel .file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
@media(max-width:750px){.joining-builder-heading{flex-direction:column}.joining-form-actions{justify-content:flex-start}.joining-form-settings{align-items:stretch;flex-direction:column}.joining-form-settings label{width:100%}}
@media(max-width:600px){.joining-builder-panel{padding:16px 12px}.joining-form-preview{padding:18px 13px}.joining-form-grid{grid-template-columns:1fr}.joining-field-wide{grid-column:auto}.joining-form-actions .button{flex:1 1 auto}.joining-form-actions .file-button{flex:1 1 auto}}
