.jr-filters{display:flex;gap:16px;padding:20px;margin-bottom:24px;flex-wrap:wrap}.jr-filters label{flex:1;min-width:160px;font-size:14px;font-weight:550;display:grid;gap:9px}.jr-filters select{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:inherit;font:inherit;min-width:0;width:100%}.jr-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.jr-metrics .metric{min-width:0}.jr-metrics .metric-top{font-size:14px;display:flex;gap:8px;align-items:center}.jr-metrics svg{width:18px;height:18px;flex-shrink:0;color:var(--blue)}.jr-metrics .metric>strong{font-size:32px}.jr-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;margin-bottom:24px}.jr-panel{min-width:0;overflow:hidden}.jr-step{display:flex;gap:14px;align-items:center;width:100%;text-align:left;padding:18px 24px;background:none;border:0;border-bottom:1px solid var(--line);color:inherit;cursor:pointer}.jr-step:hover,.jr-history-row:hover{background:var(--soft)}.jr-step>span:nth-child(2){flex:1;min-width:0}.jr-step strong{font-size:15px;line-height:1.5;display:block}.jr-step small{font-size:13px;color:var(--muted);display:block;margin-top:6px;line-height:1.5}.jr-step>svg{width:18px;flex-shrink:0}.jr-step-icon{padding:10px;background:var(--soft);color:var(--blue);border-radius:12px;display:flex}.jr-step-icon svg{width:20px;height:20px}.jr-step-icon.amber{color:#a0681d;background:#fff4de}.jr-note{font-size:13px;line-height:1.65;color:var(--muted);margin:18px 24px}.jr-subject{padding:18px 24px;border:0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center;background:none;width:100%;text-align:left;color:inherit;cursor:pointer}.jr-subject:hover{background:var(--soft)}.jr-subject>span:nth-child(2){flex:1}.jr-subject strong{font-size:15px;display:block}.jr-subject small{display:block;font-size:13px;color:var(--muted);margin:6px 0 10px}.jr-subject progress{width:100%;height:6px}.jr-subject b{font-size:22px;color:var(--blue)}.jr-program{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;margin-bottom:24px;padding:26px}.jr-program h2{font-size:19px;margin:0}.jr-program p{font-size:14px;color:var(--muted);line-height:1.6;margin:10px 0}.jr-program strong{font-size:30px}.jr-program strong span{color:var(--muted);font-size:20px}.jr-program progress{width:100%;height:7px}.jr-program small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px}.jr-chart-empty{padding:30px;min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.jr-chart-empty>svg{width:32px;color:var(--blue)}.jr-chart-empty p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.jr-chart{display:flex;gap:14px;padding:24px;overflow:auto}.jr-chart-axis{display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);font-size:12px;height:160px;padding-top:23px;flex-shrink:0}.jr-bars{display:flex;align-items:end;gap:14px;min-height:200px;flex:1;min-width:max-content}.jr-bars button{display:flex;flex:1;flex-direction:column;align-items:center;gap:8px;min-width:42px;background:none;border:0;cursor:pointer;color:inherit;padding:0;font:inherit}.jr-bars strong{font-size:13px;color:var(--blue)}.jr-bars small{font-size:11px;color:var(--muted);white-space:nowrap}.jr-bar-track{height:140px;width:28px;background:var(--soft);border-radius:6px;display:flex;align-items:flex-end;overflow:hidden}.jr-bar-track>span{width:100%;background:var(--blue);border-radius:6px;min-height:2px}.jr-bars button:hover .jr-bar-track{outline:2px solid var(--blue);outline-offset:3px}.jr-heatmap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:24px}.jr-heatday{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);border-radius:8px;min-height:44px;font-size:12px;gap:2px;border:1px solid var(--line)}.jr-heatday small{font-size:11px;color:var(--muted)}.jr-heatday.level-1{background:#e1edff;border-color:#b8d0fb;color:#244da5}.jr-heatday.level-2{background:#98baf5;color:#173a83}.jr-heatday.level-3{background:#466ccc;color:white}.jr-heatday.level-3 small{color:white}.jr-heat-legend{margin:0 24px;display:flex;gap:12px;justify-content:space-between;font-size:12px;color:var(--muted)}.jr-history-row{display:flex;align-items:center;gap:18px;padding:18px 24px;background:none;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left;color:inherit;cursor:pointer}.jr-history-row>span:nth-child(2){flex:1;min-width:0}.jr-history-row strong{font-size:15px;line-height:1.5;display:block}.jr-history-row small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:5px}.jr-history-date{width:68px;font-size:13px;color:var(--muted);flex-shrink:0}.jr-history-score{font-size:18px;text-align:right;white-space:nowrap}.jr-history-row>svg{width:18px;flex-shrink:0}.jr-history .panel-foot>div{display:flex;gap:8px}[data-theme=dark] .jr-heatday.level-1{background:#253b5e;color:#bfd7ff;border-color:#415779}[data-theme=dark] .jr-heatday.level-2{background:#3e5e95;color:#e9f1ff}[data-theme=dark] .jr-step-icon.amber{background:#342c21;color:#e6bb72}
@media(max-width:1050px){.jr-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.jr-columns{grid-template-columns:1fr}.jr-program{grid-template-columns:1fr 1fr}.jr-program>div:first-child{grid-column:1/-1}.jr-bars{max-width:100%}}
@media(max-width:600px){.jr-filters{gap:12px;padding:16px}.jr-filters label{min-width:120px;font-size:13px}.jr-filters select{font-size:13px;padding:10px}.jr-metrics{gap:12px}.jr-metrics .metric{padding:16px}.jr-metrics .metric-top{font-size:12px;align-items:flex-start}.jr-metrics .metric>strong{font-size:28px}.jr-metrics .metric small{font-size:12px}.jr-step,.jr-subject{padding:16px}.jr-note{margin:16px}.jr-program{padding:18px;gap:20px}.jr-program small{font-size:12px}.jr-heatmap{margin:16px;gap:5px}.jr-heat-legend{margin:0 16px;flex-direction:column;gap:6px}.jr-history-row{padding:16px;gap:12px;flex-wrap:wrap}.jr-history-date{width:auto;flex-basis:100%;font-size:12px}.jr-history-row>span:nth-child(2){flex-basis:60%}.jr-history-row>svg{display:none}.jr-history-score{font-size:16px}.jr-history-row strong{font-size:14px}.jr-history-row small{font-size:12px}.jr-chart{padding:16px}.jr-chart-axis{display:none}.jr-chart-empty{padding:22px}.jr-bars button{min-width:45px}}
