.learning-progress-card { border:1px solid #cee6e1; border-radius:16px; background:#fff; padding:20px; margin:18px 0; color:inherit; min-width:0; }
.learning-progress-card h3, .learning-progress-dialog-heading h3 { margin:0 0 14px; font-size:1.2em; }
.learning-progress-trigger { display:block; text-align:left; background:transparent; border:0; padding:5px; font:inherit; color:inherit; cursor:pointer; max-width:100%; min-width:170px; border-radius:8px; }
.learning-progress-trigger:hover { background:#f1faf7; }
.learning-progress-trigger:focus-visible, .learning-progress-card button:focus-visible, .learning-progress-dialog button:focus-visible, .learning-progress-card select:focus-visible { outline:3px solid #007f70; outline-offset:3px; }
.learning-progress-status { display:inline-block; font-size:.9em; font-weight:700; border-radius:7px; padding:6px 9px; white-space:normal; overflow-wrap:anywhere; }
.learning-progress-strong, .learning-progress-improving { color:#006b59; background:#dff7ee; }
.learning-progress-stable { color:#355876; background:#eaf2f8; }
.learning-progress-support { color:#944304; background:#fff0db; }
.learning-progress-insufficient { color:#536070; background:#f0f3f6; }
.learning-progress-meta, .learning-progress-note { display:block; color:#5b6e78; font-size:.85em; line-height:1.6; overflow-wrap:anywhere; margin:7px 0; }
.learning-progress-filters { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin:14px 0; }
.learning-progress-filters label { display:flex; flex-direction:column; gap:6px; flex:1; min-width:160px; font-size:.9em; }
.learning-progress-filters select { max-width:100%; min-width:0; padding:10px; border:1px solid #cee0e0; border-radius:8px; font:inherit; background:white; }
.learning-progress-card button, .learning-progress-retry { font:inherit; padding:10px 14px; border:1px solid #b4d9d2; background:#e8f7f1; color:#006b59; border-radius:8px; cursor:pointer; }
.learning-progress-averages { display:flex; flex-wrap:wrap; gap:10px 22px; margin:14px 0; }
.learning-progress-dialog { position:fixed; inset:0; margin:auto; width:min(860px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; padding:22px; border:1px solid #c9dedb; border-radius:18px; color:#234851; background:white; box-shadow:0 20px 80px #123c4933; overflow:auto; }
.learning-progress-dialog::backdrop { background:#123c4966; }
.learning-progress-dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.learning-progress-close { font:inherit; font-size:1.6em; border:0; background:#eef6f5; color:#234851; border-radius:8px; min-width:44px; height:44px; cursor:pointer; }
.learning-progress-periods { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.learning-progress-period { min-width:0; }
.learning-progress-period h4 { margin-bottom:6px; }
.learning-progress-period p { font-size:.85em; color:#5b6e78; overflow-wrap:anywhere; }
.learning-progress-table-wrap { overflow-x:auto; max-width:100%; }
.learning-progress-table { border-collapse:collapse; width:100%; text-align:left; font-size:.9em; }
.learning-progress-table th, .learning-progress-table td { padding:10px 8px; border-bottom:1px solid #e5eeed; overflow-wrap:anywhere; }
.learning-progress-table td:first-child { min-width:110px; max-width:260px; }
.learning-progress-chart { height:170px; position:relative; max-width:100%; margin:15px 0; }
.learning-progress-svg { width:100%; height:100%; font:inherit; overflow:visible; }
@media(max-width:600px) {
  .learning-progress-periods { grid-template-columns:1fr; }
  .learning-progress-dialog { padding:16px; }
  .learning-progress-card { padding:15px; }
}
