
:root{--perf-ink:#152b52;--perf-muted:#63758f;--perf-line:#e0e7f1}
.performance-main{max-width:1480px;margin:auto;padding:30px 32px 18px;min-height:calc(100vh - 74px)}
.perf-page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.perf-eyebrow{font-size:10px;font-weight:650;letter-spacing:1.4px;color:#607eaa;margin-bottom:7px}
.perf-page-title h1{font-size:28px;line-height:1.25;letter-spacing:-.75px;font-weight:650}
.perf-subtitle{margin-top:8px;color:var(--perf-muted);font-size:13px}
.perf-preview-badge{display:flex;align-items:center;gap:6px;border:1px solid #dce5f1;padding:6px 9px;border-radius:6px;color:#64748b;font-size:11px;white-space:nowrap;background:#fff}
.perf-preview-badge svg{width:14px;height:14px}
.perf-scope{display:flex;align-items:flex-end;gap:14px;margin-bottom:24px}
.perf-scope label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:550;color:#4a607f}
.perf-scope select,.perf-inline-select,.perf-footer select{height:40px;border:1px solid #d4dfee;background:#fff;border-radius:7px;padding:0 32px 0 12px;color:#223958;font-size:12px}
.perf-scope label:first-child{width:280px}.perf-scope label:nth-child(2){width:156px}
.perf-scope-note{margin-left:auto;text-align:right;color:#728099;font-size:11px;line-height:1.8;max-width:300px;padding-bottom:2px}
.perf-scope-note strong{font-weight:550;color:#3c5270;display:block}
.perf-tabs{display:flex;gap:26px;border-bottom:1px solid #dce4ef;margin-bottom:23px}
.perf-tabs button{position:relative;padding:0 0 14px;font-size:13px;font-weight:500;white-space:nowrap;color:#61728b}
.perf-tabs button[aria-selected=true]{color:#155de0;font-weight:650}
.perf-tabs button[aria-selected=true]:after{content:'';height:3px;background:#1467f3;position:absolute;bottom:-1px;left:0;right:0;border-radius:3px}
.perf-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.perf-kpi{padding:18px 20px;border-radius:10px;border:1px solid;min-height:129px}
.perf-kpi.blue{background:#eef4ff;border-color:#d4e2ff;color:#2560c8}
.perf-kpi.green{background:#edf8f5;border-color:#d0eae0;color:#0c7b69}
.perf-kpi.purple{background:#f4f0fb;border-color:#e3d9f5;color:#7954b4}
.perf-kpi.amber{background:#fff7eb;border-color:#f1e2c8;color:#a46e1e}
.perf-kpi-label{display:flex;align-items:center;gap:8px;color:#304669;font-size:12px;font-weight:500}
.perf-kpi-label svg{width:17px;height:17px;color:inherit}
.perf-kpi strong{display:block;font-size:29px;letter-spacing:-.6px;line-height:1.2;margin:11px 0 8px;font-weight:650;font-variant-numeric:tabular-nums}
.perf-kpi small{font-size:10px;color:#61718a;line-height:1.6}
.perf-overview-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(255px,1fr);gap:20px;margin-bottom:22px}
.perf-card{background:#fff;border:1px solid var(--perf-line);border-radius:11px;box-shadow:0 3px 12px rgba(32,60,96,.02);min-width:0}
.perf-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:22px 22px 0}
.perf-card h2{font-size:15px;font-weight:650;letter-spacing:-.15px}
.perf-card h3{font-size:13px;font-weight:600}
.perf-card-head p,.perf-card .perf-help{font-size:11px;line-height:1.7;color:var(--perf-muted);margin-top:5px}
.perf-segment{display:flex;border:1px solid #e0e7f2;padding:3px;border-radius:7px;background:#f8faff;flex-shrink:0}
.perf-segment button{padding:5px 9px;font-size:10px;border-radius:4px;color:#6c7d95}
.perf-segment button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #dbe3ef;color:#175bd1;font-weight:600}
.perf-chart-wrap{height:235px;margin:14px 17px 0;position:relative}
.perf-chart-wrap .score-chart{width:100%;height:100%;display:block}
.perf-chart-bottom{padding:9px 22px 18px;display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:11px;color:#65758f}
.perf-chart-bottom strong{color:#226f61;font-weight:600}
.perf-text-button{display:inline-flex;align-items:center;gap:6px;color:#1460da;font-size:12px;font-weight:550;padding:0}
.perf-text-button svg{width:15px;height:15px}
.perf-values{margin:0 22px 20px}.perf-values table{width:100%;border-collapse:collapse;font-size:11px}.perf-values th,.perf-values td{padding:8px;border-bottom:1px solid #e7edf5;text-align:left}.perf-values th{background:#f7f9fc;color:#536784;font-weight:600}
.perf-priority{background:#fff;padding:22px;display:flex;flex-direction:column;border-top:3px solid #d7a145}
.perf-priority-top{display:flex;align-items:center;gap:7px;color:#9c6819;font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.perf-priority-top svg{width:15px;height:15px}
.perf-priority h2{font-size:20px;line-height:1.4;margin-top:15px;letter-spacing:-.4px}
.perf-priority p{margin-top:12px;font-size:12px;line-height:1.8;color:#67768c}
.perf-priority .perf-priority-stat{display:flex;align-items:baseline;gap:7px;margin-top:15px;color:#62738c;font-size:11px}
.perf-priority-stat strong{font-size:26px;font-weight:600;letter-spacing:-.5px;color:#935f14}
.perf-priority .perf-priority-basis{font-size:10px;color:#7a879a;margin:4px 0 20px;line-height:1.5}
.perf-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d8e2f1;background:#fff;color:#1d5cd4;padding:10px 15px;border-radius:7px;font-size:12px;font-weight:600;min-height:40px}
.perf-button svg{width:16px;height:16px}
.perf-button.primary{background:#1467f3;border-color:#1467f3;color:#fff;box-shadow:0 3px 8px rgba(20,103,243,.13)}
.perf-button.primary:hover{background:#0752d2}.perf-button:hover{border-color:#9bbcf4;background:#f7faff}
.perf-priority .perf-button{width:100%;margin-top:auto}.perf-priority>.perf-text-button{justify-content:center;margin-top:15px;font-size:11px}
.perf-subjects-overview .perf-card-head{padding-bottom:19px;align-items:center}
.perf-subject-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 22px 23px;gap:22px}
.perf-subject-mini{border-right:1px solid #e7edf5;padding-right:22px;min-width:0}.perf-subject-mini:last-child{border:0;padding-right:0}
.perf-subject-mini h3{font-size:12px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.perf-tag{font-size:9px;font-weight:500;padding:3px 6px;border-radius:4px;background:#fff3e2;color:#966219;white-space:nowrap}
.perf-subject-numbers{display:flex;align-items:baseline;gap:6px;margin-top:12px}.perf-subject-numbers strong{font-size:23px;font-weight:650;letter-spacing:-.4px;color:#264a81}.perf-subject-numbers span{font-size:10px;color:#75839a}
.perf-progress{height:5px;background:#eef2f8;border-radius:5px;margin:10px 0;overflow:hidden}.perf-progress span{display:block;height:100%;border-radius:5px;background:#7ca3e5}.perf-progress.amber span{background:#d8ad68}.perf-progress.green span{background:#6ba993}
.perf-subject-mini p{color:#6a7a92;font-size:10px}
.perf-outcome-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e8edf4;padding:16px 22px;font-size:11px;color:#61728a}
.perf-outcome-bar{height:7px;border-radius:4px;overflow:hidden;background:#edf1f7;width:120px;display:flex;flex-shrink:0}.perf-outcome-bar span{height:100%}
.perf-legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.perf-legend span{display:flex;align-items:center;gap:6px}.perf-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}
.perf-correct{background:#51a38b}.perf-incorrect{background:#dc2626}.perf-skipped{background:#b6c3d5}
.perf-recent{margin-top:22px}.perf-recent .perf-card-head{padding-bottom:18px;align-items:center}
.perf-attempt-row{display:grid;grid-template-columns:minmax(0,1fr) 85px 88px 66px;gap:20px;align-items:center;padding:16px 22px;border-top:1px solid #e8edf4}
.perf-attempt-row h3{font-size:12px;margin-bottom:4px}.perf-attempt-row p{font-size:10px;color:#7b889d}.perf-attempt-row strong{font-size:14px;font-weight:600;color:#324c70}.perf-attempt-row small{display:block;font-size:9px;margin-top:3px;color:#718198}
.perf-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#7c8ba0;font-size:10px;padding:22px 0 5px}
.perf-footer>span{display:flex;align-items:center;gap:6px}.perf-footer svg{width:13px;height:13px}.perf-footer label{display:flex;align-items:center;gap:8px}.perf-footer select{height:30px;font-size:10px;padding-left:8px}
.perf-section-intro{margin-bottom:20px}.perf-section-intro h2{font-size:19px;letter-spacing:-.3px;font-weight:600}.perf-section-intro p{font-size:12px;color:#687a93;margin-top:5px}
.perf-table-wrap{overflow-x:auto;max-width:100%}
.perf-table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}
.perf-table th{background:#f7f9fc;color:#4e6381;font-weight:600;font-size:10px;padding:14px 20px;border-top:1px solid #e6edf5;border-bottom:1px solid #e6edf5;text-align:left}
.perf-table td{padding:19px 20px;border-bottom:1px solid #e8edf5;vertical-align:middle}.perf-table tbody tr:last-child td{border-bottom:0}.perf-table td strong{display:block;font-weight:600;font-size:12px}.perf-table td small{display:block;color:#77879c;font-size:10px;margin-top:5px}
.perf-table .perf-emphasis{color:#926219}.perf-table th:not(:first-child),.perf-table td:not(:first-child){text-align:right}
.perf-table .perf-text-button{font-size:11px}
.perf-table-footnote{padding:15px 22px;font-size:10px;line-height:1.8;color:#76859b;border-top:1px solid #e6edf5}
.perf-subject-deep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px}
.perf-insight{padding:22px}.perf-insight .perf-help{font-size:12px;line-height:1.8;margin-top:10px}.perf-insight .perf-text-button{margin-top:18px}
.perf-insight-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#edf8f3;color:#338673;margin-bottom:13px}.perf-insight-icon.amber{background:#fff6e7;color:#a87528}.perf-insight-icon svg{width:18px;height:18px}
.perf-time-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.perf-time-summary .perf-card{padding:20px 22px}
.perf-time-summary p{font-size:12px;color:#566c88}.perf-time-summary strong{display:block;font-size:28px;font-weight:600;line-height:1.3;margin-top:8px;color:#264269}.perf-time-summary small{font-size:10px;display:block;margin-top:8px;color:#78879b}
.perf-timing-head{padding-bottom:18px;align-items:center}.perf-timing-head label{display:flex;align-items:center;gap:8px;color:#6c7d93;font-size:11px}.perf-inline-select{height:34px;font-size:11px}
.perf-time-note{padding:16px 22px;background:#f9fbfd;font-size:11px;line-height:1.8;color:#64758f;border-top:1px solid #e5edf7;border-radius:0 0 11px 11px}
.perf-history-tools{padding:20px 22px;display:flex;gap:15px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.perf-history-search{display:flex;gap:8px;align-items:center;border:1px solid #d9e2f0;border-radius:7px;padding:8px 11px;max-width:270px;flex:1;min-width:180px}.perf-history-search input{border:0;outline:0;width:100%;font-size:12px;color:#2c4568;background:transparent;min-width:0}.perf-history-search svg{width:15px;height:15px;color:#7187a6}
.perf-history-tools label{font-size:11px;color:#6c7c92;display:flex;gap:8px;align-items:center}
.perf-history-tools .perf-button{margin-left:auto;font-size:11px;padding:8px 11px;min-height:34px}
.perf-empty{display:flex;align-items:center;flex-direction:column;text-align:center;padding:65px 24px 75px;border:1px solid var(--perf-line);border-radius:11px;background:#fff}
.perf-empty-icon{width:56px;height:56px;border-radius:12px;background:#edf4ff;color:#3c75d7;display:grid;place-items:center;margin-bottom:21px}.perf-empty-icon svg{width:25px;height:25px}.perf-empty h2{font-size:20px;font-weight:600}.perf-empty p{font-size:12px;line-height:1.8;color:#6d7e94;margin:12px 0 22px;max-width:370px}
.perf-dialog{width:min(670px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;background:#fff;color:#263e60;border:1px solid #dce5f0;border-radius:12px;box-shadow:0 24px 70px rgba(15,34,66,.24)}
.perf-dialog::backdrop{background:rgba(21,43,77,.38);backdrop-filter:blur(2px)}.perf-dialog[open]{display:flex;flex-direction:column}
.perf-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 20px;border-bottom:1px solid #e3eaf4;gap:15px;flex-shrink:0}
.perf-dialog-heading h2{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.3px}.perf-dialog-heading .icon-button{width:30px;height:30px;margin-top:-3px}
.perf-dialog-body{padding:23px 26px;overflow:auto;min-height:0;font-size:12px;line-height:1.8}.perf-dialog-body p{color:#657991}.perf-dialog-body h3{font-size:14px;font-weight:600;margin:16px 0 7px}
.perf-dialog-note{padding:12px 26px;background:#f8fafe;border-top:1px solid #e3eaf4;font-size:10px;color:#7a8ba4;display:flex;align-items:center;gap:7px;flex-shrink:0}.perf-dialog-note svg{width:13px;height:13px}
.perf-dialog-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.perf-dialog-metrics>div{padding:14px 8px;text-align:center;background:#f3f6fc;border-radius:8px}.perf-dialog-metrics strong{font-size:23px;font-weight:650;display:block;color:#163b70;line-height:1.4}.perf-dialog-metrics span{font-size:10px;color:#7b8ca5}
.perf-dialog-body .perf-button{margin-top:18px}.perf-dialog-body .perf-table th,.perf-dialog-body .perf-table td{padding:12px;font-size:11px}.perf-dialog-body .perf-table td small{font-size:9px}
.perf-question{padding:15px 0;border-bottom:1px solid #e5ebf3}.perf-question:last-child{border:0}.perf-question strong{display:block;margin-bottom:7px;color:#2b456b}
.perf-answer-wrong{color:#a5485b!important;font-size:11px}.perf-answer-right{color:#237e65!important;font-size:11px}
.perf-quiz label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e0e6f1;border-radius:7px;margin:8px 0;font-size:12px}.perf-quiz input{accent-color:#1467f3}.perf-quiz-feedback{background:#eff8f4;border-radius:7px;padding:12px;margin-top:16px;color:#347c64!important}
#perfPanel:focus-visible{outline-offset:6px}
@media(min-width:1600px){.perf-chart-wrap{height:270px}.perf-priority h2{font-size:22px}.perf-subject-list{gap:30px}}
@media(max-width:1250px){.performance-main{padding:28px 24px 18px}.perf-kpi{padding:17px 16px}.perf-scope-note{max-width:230px}.perf-subject-mini h3{display:block}.perf-subject-mini .perf-tag{display:table;margin-top:5px}.perf-subject-list{gap:17px}.perf-subject-mini{padding-right:17px}.perf-overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(245px,1fr)}}
@media(max-width:1040px){.performance-main{padding:25px 24px 15px}.perf-scope-note{max-width:none}.perf-overview-grid{grid-template-columns:minmax(0,1.85fr) minmax(260px,1fr)}}
@media(max-width:760px){.performance-main{padding:23px 20px 15px}.perf-page-title{margin-bottom:22px}.perf-page-title h1{font-size:25px}.perf-preview-badge{font-size:0;padding:7px}.perf-preview-badge svg{width:15px;height:15px}.perf-scope{flex-wrap:wrap;gap:11px}.perf-scope label:first-child{flex:1;width:auto;min-width:165px}.perf-scope label:nth-child(2){width:132px}.perf-scope-note{width:100%;margin:2px 0 0;text-align:left}.perf-scope-note strong{display:inline;margin-right:7px}.perf-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.perf-kpi{min-height:118px;padding:16px}.perf-kpi strong{font-size:27px}.perf-overview-grid{grid-template-columns:1fr}.perf-priority{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}.perf-priority-top,.perf-priority h2,.perf-priority>p{grid-column:1}.perf-priority-stat{grid-column:2;grid-row:2;margin-top:12px!important}.perf-priority .perf-priority-basis{grid-column:2;grid-row:3;margin-top:0;align-self:start}.perf-priority .perf-button{grid-column:2;grid-row:4;align-self:center;margin-top:0}.perf-priority>.perf-text-button{grid-column:1;grid-row:4;justify-content:start;margin-top:0}.perf-subject-list{grid-template-columns:1fr;gap:17px}.perf-subject-mini{border-right:0;border-bottom:1px solid #e7edf5;padding:0 0 17px}.perf-subject-mini:last-child{padding:0}.perf-subject-mini h3{display:flex}.perf-subject-mini .perf-tag{display:inline;margin:0}.perf-subject-numbers{margin-top:7px}.perf-outcome-strip{flex-wrap:wrap}.perf-subject-deep{grid-template-columns:1fr}.perf-time-summary{gap:10px}.perf-time-summary .perf-card{padding:16px 14px}.perf-time-summary p{font-size:11px}.perf-time-summary strong{font-size:24px}.perf-attempt-row{grid-template-columns:minmax(0,1fr) 70px 55px;gap:12px}.perf-attempt-row>div:nth-child(3){display:none}.perf-tabs{gap:23px;overflow:auto;scrollbar-width:none}.perf-tabs button{font-size:12px}.perf-footer{gap:12px;flex-wrap:wrap}.perf-table{min-width:660px}.perf-timing-head{flex-direction:column;align-items:flex-start;gap:12px}.perf-dialog-body .perf-table{min-width:480px}}
@media(max-width:420px){.performance-main{padding:22px 16px 14px}.perf-scope label:nth-child(2){width:125px}.perf-tabs{gap:20px}.perf-tabs button{font-size:11px}.perf-card-head{padding:20px 18px 0}.perf-chart-wrap{height:215px;margin-left:11px;margin-right:11px}.perf-chart-bottom{padding:8px 18px 17px;font-size:10px;align-items:flex-start}.perf-priority{display:flex;gap:0;padding:22px}.perf-priority h2{font-size:20px}.perf-priority>.perf-text-button{justify-content:center;margin-top:14px}.perf-priority .perf-button{margin-top:0}.perf-priority .perf-priority-basis{margin-bottom:18px}.perf-time-summary{grid-template-columns:1fr}.perf-time-summary .perf-card{display:grid;grid-template-columns:1fr auto;gap:0 16px}.perf-time-summary strong{grid-column:2;grid-row:1/3;margin:0}.perf-time-summary small{margin-top:4px}.perf-attempt-row{padding:16px 18px}.perf-subject-list{padding:0 18px 20px}.perf-outcome-strip{padding:15px 18px}.perf-legend{gap:12px}.perf-dialog-heading{padding:22px 20px 18px}.perf-dialog-body{padding:20px}.perf-dialog-note{padding:12px 20px}.perf-dialog-metrics strong{font-size:20px}.perf-footer select{max-width:145px}.perf-history-tools{padding:18px}.perf-history-search{max-width:none;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:760px){.perf-subject-list{grid-template-columns:1fr!important}}

.drawer-backdrop{position:fixed;inset:0;z-index:39;background:rgba(21,43,77,.35);cursor:default}
.search-result{justify-content:space-between}.search-result strong{font-weight:550}

@media(max-width:420px){.perf-scope label:nth-child(2){width:136px}.perf-scope label:first-child{min-width:150px}.perf-scope select{font-size:11px;padding:0 22px 0 10px}}

.perf-mobile-subjects,.perf-mobile-history{display:none}
.perf-mobile-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.perf-mobile-card-heading h3{font-size:13px;font-weight:600}
.perf-mobile-card-heading p{font-size:10px;color:#73869e;margin-top:5px}
.perf-mobile-subject{padding:20px;margin-bottom:15px}
.perf-mobile-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin:20px 0}
.perf-mobile-metrics dt{font-size:10px;color:#73839b;margin-bottom:5px}
.perf-mobile-metrics dd{margin:0;font-size:17px;font-weight:600;color:#31527f;letter-spacing:-.3px}
.perf-mobile-help{font-size:10px;line-height:1.8;color:#7a8aa0;padding:0 3px}
.perf-mobile-history-row{padding:20px;border-top:1px solid #e6edf5}
.perf-mobile-metrics.history{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:0}
.perf-mobile-metrics.history dd{font-size:13px}
@media(max-width:760px){.perf-mobile-subjects,.perf-mobile-history{display:block}.perf-desktop-subjects,.perf-desktop-history{display:none}}

/* Best result uses marks, while test-specific rank stays in Attempts. */
.perf-score-total{font-size:15px;font-weight:500;letter-spacing:0;white-space:nowrap;margin-left:2px}
.perf-rank-cell{font-variant-numeric:tabular-nums}
.perf-mobile-metrics.history{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:420px){.perf-kpi.amber strong{font-size:22px;white-space:nowrap}.perf-score-total{font-size:12px;margin-left:1px}}

/* Loading and real-data actions retain the approved layout. */
.perf-skeleton{display:block;height:13px;border-radius:5px;margin:14px 0;background:linear-gradient(100deg,#e8eef6 20%,#f6f8fc 40%,#e8eef6 60%);background-size:200% 100%;animation:perf-shimmer 1.6s ease-in-out infinite}
.perf-skeleton-number{height:29px;width:75px;margin:12px 0 10px}.perf-skeleton-note{height:9px;width:75%;margin-top:8px}.perf-skeleton-title{width:45%;height:15px}
.perf-loading-chart{padding:22px;min-height:360px}.perf-loading-bars{height:240px;margin-top:25px;border-radius:6px;background:linear-gradient(#f4f7fb,#fafbfd)}
.perf-loading-priority{padding:25px 22px;border-top:3px solid #e6d4b4}.perf-loading-priority .perf-skeleton{margin:20px 0}.perf-skeleton-button{height:40px;margin-top:65px!important}
.perf-dialog-loading{display:flex;align-items:center;gap:12px;margin-bottom:25px;min-height:38px}.perf-loading-spinner{width:20px;height:20px;border:2px solid #dce7f8;border-top-color:#1467f3;border-radius:50%;animation:perf-spin .8s linear infinite;flex-shrink:0}
.perf-preview-badge{cursor:pointer}.perf-preview-badge:hover{border-color:#a8c2ed;color:#175bcc}.perf-preview-badge.is-refreshing>svg{animation:perf-spin 1s linear infinite}
.perf-dialog-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.perf-dialog-actions .perf-button{margin-top:0}
.perf-empty>.perf-button+.perf-button{margin-top:12px}
.perf-chart-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;font-size:12px;line-height:1.8;color:#74869d}
.perf-review-image{display:block;max-width:100%;max-height:260px;object-fit:contain;margin:10px 0}.perf-review-passage{padding:12px;background:#f5f8fd;border-radius:7px;margin:8px 0}.perf-answer-wrong,.perf-answer-right{margin-top:8px}.perf-question>p{margin-top:9px}
.perf-practice-list{margin:16px 0}.perf-practice-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e5ebf4;padding:16px 0}.perf-practice-row h3{font-size:12px;margin:0}.perf-practice-row p{font-size:10px;line-height:1.7;margin-top:5px}.perf-practice-row .perf-button{margin:0;flex-shrink:0}
.perf-unavailable-label{font-size:10px;color:#7c8ba0}
@keyframes perf-shimmer{to{background-position:-200% 0}}
@keyframes perf-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.perf-loading-chart{min-height:340px}.perf-loading-priority{min-height:240px}.perf-skeleton-button{margin-top:30px!important}.perf-practice-row{align-items:flex-start}.perf-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.perf-skeleton,.perf-loading-spinner,.perf-preview-badge.is-refreshing>svg{animation:none}}

/* Keep saved-result details readable within a phone dialog. */
@media(max-width:760px){
 .perf-dialog-body .perf-table{min-width:0;table-layout:fixed;white-space:normal}
 .perf-dialog-body .perf-table th,.perf-dialog-body .perf-table td{padding:11px 6px;overflow-wrap:anywhere}
 .perf-dialog-body .perf-table th:first-child{width:42%}
 .perf-dialog-body .perf-table th:not(:first-child){width:29%}
}
@media(max-width:420px){.perf-dialog-metrics strong{font-size:18px}}

/* Keep the chart controls as clear as the score bars. */
#progressChartSubtitle{color:#475e7a}
.perf-segment{border-color:#cbd6e5}
.perf-segment button{font-size:11px;color:#425777;font-weight:550}
.perf-segment button[aria-pressed=true]{background:#1754b6;color:#fff;box-shadow:none;font-weight:600}
.perf-chart-bottom{color:#405573}

/* Comfortable, consistent reading across Overview, Subjects, Timing and Attempts. */
.performance-main{--perf-muted:#475569}
.performance-main .perf-eyebrow{color:#36557e;font-size:11px}
.performance-main .perf-scope label{color:#334155;font-size:12px;font-weight:600}
.performance-main .perf-scope-note{color:#475569;font-size:12px}
.performance-main .perf-tabs button{font-size:13px;color:#40516b;font-weight:550}
.performance-main .perf-tabs button[aria-selected=true]{color:#1552b5;font-weight:650}
.performance-main .perf-kpi-label{font-size:13px;font-weight:550;color:#273d5c}
.performance-main .perf-kpi small{font-size:12px;color:#475569}
.performance-main .perf-card h2{font-size:17px}
.performance-main .perf-priority h2{font-size:21px}
.performance-main .perf-card-head p,#progressChartSubtitle,.performance-main .perf-card .perf-help{font-size:13px;color:#475569}
.performance-main .perf-segment button{font-size:12px;color:#334155;font-weight:600}
.performance-main .perf-segment button[aria-pressed=true]{color:#fff}
.performance-main .perf-chart-wrap{height:255px}
.performance-main .perf-chart-bottom{font-size:12px;color:#334155;line-height:1.6}
.performance-main .perf-priority p{font-size:13px;color:#475569}
.performance-main .perf-priority .perf-priority-basis,.performance-main .perf-priority .perf-priority-stat{font-size:12px;color:#475569}
.performance-main .perf-subject-mini h3,.performance-main .perf-attempt-row h3{font-size:13px}
.performance-main .perf-subject-mini p,.performance-main .perf-subject-numbers span,.performance-main .perf-attempt-row p,.performance-main .perf-attempt-row small{font-size:12px;color:#475569}
.performance-main .perf-tag{font-size:11px;font-weight:600;color:#805012}
.performance-main .perf-outcome-strip,.performance-main .perf-section-intro p,.performance-main .perf-time-note{font-size:12px;color:#475569}
.performance-main .perf-progress span{background:#2563d6}.performance-main .perf-progress.amber span{background:#b7791f}.performance-main .perf-progress.green span{background:#178065}
.performance-main .perf-correct{background:#178065}.performance-main .perf-incorrect{background:#dc2626}.performance-main .perf-skipped{background:#7b8ca5}
.performance-main .perf-table th,.perf-dialog .perf-table th{font-size:12px;color:#334155}
.performance-main .perf-table td,.performance-main .perf-table td strong{font-size:13px}
.performance-main .perf-table td small,.performance-main .perf-table-footnote,.performance-main .perf-time-summary small,.performance-main .perf-timing-head label,.performance-main .perf-history-tools label{font-size:12px;color:#475569}
.performance-main .perf-footer,.performance-main .perf-footer select,.performance-main .perf-unavailable-label{font-size:12px;color:#475569}
.performance-main .perf-mobile-card-heading p,.performance-main .perf-mobile-metrics dt,.performance-main .perf-mobile-help{font-size:12px;color:#475569}
.performance-main .perf-values table{font-size:12px}
.perf-dialog .perf-dialog-body,.perf-dialog .perf-dialog-body p{font-size:13px;color:#40516b}
.perf-dialog .perf-dialog-note,.perf-dialog .perf-dialog-metrics span,.perf-dialog .perf-table td small,.perf-dialog .perf-practice-row p{font-size:12px;color:#475569}
@media(max-width:760px){.performance-main .perf-card-head{flex-wrap:wrap;gap:12px}.performance-main .perf-card-head>div:first-child{flex:1;min-width:150px}.performance-main .perf-chart-wrap{height:245px;margin-left:12px;margin-right:12px}.performance-main .perf-chart-bottom{flex-wrap:wrap;gap:8px 14px}.performance-main .perf-scope select{font-size:12px}}
