/* Shared responsive learning dashboard, no chart library. */
.dl-dashboard{padding:22px;color:#253352;background:#fff}
.dl-dash-intro{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:17px}
.dl-dash-intro h2{font-size:23px;line-height:1.35;letter-spacing:-.4px;margin:0}
.dl-dash-intro p{font-size:12px;color:#8290a8;margin:5px 0}
.dl-dash-start{border:1px solid #dfe4f1;background:#fff;color:#535f9f;border-radius:10px;min-height:39px;padding:9px 13px;font-size:12px;font-weight:800}
.dl-dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
.dl-dash-kpis>div{padding:14px 11px;border-radius:13px;background:#f4f6fd;min-width:0}
.dl-dash-kpis span,.dl-dash-kpis small{display:block;font-size:11px;color:#7886a2}
.dl-dash-kpis strong{display:block;font-size:24px;font-weight:900;letter-spacing:-.4px;margin:5px 0 2px}
.dl-dash-today{background:#e0e5f3;height:5px;overflow:hidden;border-radius:8px;margin-top:9px}
.dl-dash-today div{background:#5a65ce;height:100%}
.dl-dash-level{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e6f3;background:#fafaff;border-radius:12px;padding:12px 15px;margin-bottom:13px}
.dl-dash-level strong{font-size:14px;font-weight:820}
.dl-dash-level p{font-size:12px;color:#7b89a4;margin:3px 0 0}
.dl-dash-level-pill{font-size:14px;font-weight:900;color:#4c5aba;background:#e9ebff;border-radius:9px;padding:9px 14px}
.dl-dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:13px}
.dl-dash-card{border:1px solid #e5e9f3;border-radius:14px;padding:17px;min-width:0}
.dl-dash-card h3{font-size:15px;font-weight:840;margin:0 0 4px}
.dl-dash-card p{font-size:12px;color:#7a869e;line-height:1.65;margin:5px 0}
.dl-dash-section-head{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.dl-dash-period{display:flex;gap:3px;background:#f0f2f8;padding:3px;border-radius:9px}
.dl-dash-period button{border:0;background:transparent;color:#758099;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:800;min-width:40px}
.dl-dash-period button[aria-pressed="true"]{background:#fff;color:#525bbe;box-shadow:0 1px 5px #17245112}
.dl-dash-trend-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px}
.dl-dash-trend-meta b{font-size:25px}
.dl-dash-trend-meta span{font-size:12px;color:#8290a5}
.dl-dash-chart{display:flex;align-items:flex-end;gap:3px;height:155px;padding:14px 0 9px;overflow:hidden;border-bottom:1px solid #e9edf5}
.dl-dash-bar-slot{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.dl-dash-bar{background:#6974db;width:min(70%,21px);border-radius:4px 4px 0 0;min-height:2px;display:block}
.dl-dash-bar-slot small{font-size:9px;color:#a3aabb;white-space:nowrap;line-height:12px}
.dl-dash-bar-slot:nth-child(2n) small{opacity:.0}
.dl-dash-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:12px}
.dl-dash-weekday{text-align:center;display:flex;flex-direction:column;gap:5px}
.dl-dash-weekday span{color:#929caf;font-size:10px}
.dl-dash-weekday b{border:1px solid #e6eaf3;border-radius:8px;padding:6px 2px;font-size:12px;color:#a2aabc}
.dl-dash-weekday b.studied{background:#e9ecfe;color:#4d5db8;border-color:#dce0fb}
.dl-dash-domains{display:grid;gap:14px}
.dl-dash-domain-title{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-bottom:7px}
.dl-dash-domain-title strong{font-size:13px}
.dl-dash-domain-title span,.dl-dash-domain small{font-size:11px;color:#78859d}
.dl-dash-domain small{display:block;margin-top:6px}
.dl-dash-track{width:100%;height:8px;border-radius:8px;background:#e9ecf4;overflow:hidden}
.dl-dash-track div{height:100%;border-radius:8px;background:#727ce0}
.dl-dashboard .dl-dash-explainer{margin-top:15px;font-size:11px;line-height:1.6;color:#8390a6}
.dl-dashboard .dl-dash-advice{padding:11px 13px;background:#f5f6fd;border-radius:9px;color:#495671;line-height:1.65}
.dl-dash-recent{list-style:none;margin:12px 0 0;padding:0}
.dl-dash-recent li{display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf0f7;padding:7px 0;font-size:11px;flex-wrap:wrap}
.dl-dash-recent li span{flex:1;min-width:0;color:#697891}
.dl-dash-recent li strong{white-space:nowrap}
.dl-dash-recent li strong.good{color:#18846b}
.dl-dash-recent li strong.bad{color:#c15c66}
.dl-dash-recent li small{font-size:10px;color:#a6aebe}
.dl-dashboard .dl-dash-muted{padding:16px;background:#f6f7fb;border-radius:9px}
.dl-dashboard .dl-dash-disclaimer{font-size:11px;color:#9aa4b4;line-height:1.7;margin:16px 0 0}
@media(max-width:700px){.dl-dashboard{padding:17px 12px}.dl-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dl-dash-grid{grid-template-columns:1fr;gap:10px}.dl-dash-card{padding:14px}.dl-dash-bar-slot small{font-size:8px}}

.dl-workspace-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.dl-dashboard-shortcut{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:#fff;border:1px solid #dce2ef;color:#53649a;padding:10px 13px;min-height:42px;border-radius:11px;font-size:13px;font-weight:800}
.dl-dashboard-shortcut[aria-pressed="true"]{background:#e9ecff;border-color:#cfd5ff;color:#4251b8}
.dl-dashboard-shortcut:focus-visible{outline:3px solid #a6a1ed;outline-offset:3px}
@media(max-width:520px){.dl-compact-toolbar{align-items:center;flex-wrap:wrap;gap:8px}.dl-compact-toolbar p,.dl-compact-toolbar strong{flex:1 1 100%;margin-bottom:0}.dl-workspace-actions{width:100%;justify-content:flex-end}.dl-workspace-actions button{flex:1;justify-content:center}}

.dl-dash-speaking{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:15px 17px;margin:0 0 13px;border:1px solid #e3e8f3;border-radius:13px;background:#f8f9ff}
.dl-dash-speaking strong{font-size:14px;font-weight:850}.dl-dash-speaking p{font-size:12px;color:#75829c;margin:4px 0}
.dl-dash-speaking>p{width:100%;font-size:11px;color:#929bad;margin:2px 0 0}
.dl-dash-speaking-rate{text-align:right}.dl-dash-speaking-rate b{display:block;font-size:22px;color:#555fbe}
.dl-dash-speaking-rate small{font-size:11px;color:#8791a7}
