#dshAnalytics,#dshActions{color:var(--text)}
.pd-actions-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--text-muted);margin:0 0 8px}
.pd-header,.pd-filters,.pd-list-heading,.pd-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pd-header h2{font-family:Fraunces,serif;font-size:27px;margin:0}.pd-header p,.pd-card p,.pd-filters p,.pd-method p{font-size:13px;line-height:1.65;color:var(--text-muted);margin:8px 0 14px}
.pd-filters{margin:20px 0;padding:16px;background:var(--sand,#f4f2ec);border-radius:12px;justify-content:flex-start}.pd-filters label{font-size:12px;font-weight:700;display:grid;gap:6px}.pd-filters select{max-width:100%;padding:9px;border:1px solid var(--border);border-radius:8px;background:white;font:inherit}.pd-filters p{margin:0;flex:1;min-width:240px}
.pd-card{padding:20px;background:white;border:1px solid var(--border);border-radius:14px;min-width:0;margin:0 0 16px}.pd-card h3,.pd-method h3{font-size:17px;margin:0 0 8px}.pd-card h4{font-size:15px;margin:0 0 12px;color:var(--green-dark)}
.pd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pd-kpi>div{font-size:13px;font-weight:700}.pd-kpi strong{display:block;font-size:27px;color:var(--green-dark);margin:12px 0}.pd-kpi p{font-size:12px;margin-bottom:5px}.pd-kpi small{font-size:12px}
.pd-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}.pd-actions article{border-top:3px solid var(--green);display:flex;flex-direction:column;align-items:flex-start}.pd-actions p{flex:1}.pd-actions b{font-size:14px}
.pd-columns{display:grid;grid-template-columns:2fr 1fr;gap:14px}.pd-scroll{overflow:auto;max-height:460px}.pd-scroll table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.pd-scroll th{background:var(--sand,#f4f2ec);font-size:11px;color:var(--text-muted);position:sticky;top:0;z-index:1}.pd-scroll th,.pd-scroll td{padding:12px 9px;border-bottom:1px solid #eee9df;vertical-align:top}.pd-scroll th{white-space:normal}.pd-scroll td small{display:block;font-size:10px;word-break:break-all}.pd-scroll tbody tr:hover{background:#fafbf7}
.pd-button{font:inherit;font-size:12px;font-weight:700;cursor:pointer;padding:8px 12px;border-radius:8px;background:var(--green-mist,#e8f5e3);border:1px solid #d7e4d1;color:var(--green-dark,#3d6b41);text-align:left}.pd-button:hover{background:#d6eacb}.pd-button:focus-visible,.pd-filters select:focus-visible{outline:3px solid #7aafc4;outline-offset:2px}.pd-week{margin:18px 0}.pd-week>div{display:flex;justify-content:space-between;font-size:12px;gap:10px}.pd-week progress{width:100%;height:9px;accent-color:var(--green);margin:6px 0}.pd-week small{font-size:11px;color:var(--text-muted)}.pd-skills{background:#faf9f4}.pd-empty{padding:26px!important;color:var(--text-muted)}.pd-pagination{justify-content:flex-end;margin-top:12px;font-size:12px}.pd-list-heading{margin:14px 0;font-size:14px}.pd-method{border-left:3px solid var(--green);padding:10px 20px;margin:20px 0}.pd-error{border-color:#bd7459}.pd-exam-detail{margin:0 0 14px;padding:14px 16px;background:var(--sand,#f4f2ec);border-radius:12px}.pd-exam-detail h4{margin:0 0 8px;font-size:15px}.pd-exam-detail p{margin:4px 0;font-size:14px;color:var(--text)}.pd-exam-detail small{display:block;margin-top:6px;font-size:12px;color:var(--text-muted)}.pd-stale{margin:12px 0 0;padding:9px 14px;font-size:13px;border-radius:10px;background:#fbf6e6;border:1px solid #eadfb8;color:#6b5a1e}.pd-card summary{cursor:pointer;font-weight:700}.pd-dialog{width:min(860px,calc(100vw - 32px));max-height:88vh;border:0;border-radius:16px;padding:0;font:inherit;color:var(--text);background:var(--bg,#fafaf7);overflow:hidden;box-shadow:0 20px 60px #0004}.pd-dialog[open]{display:flex;flex-direction:column}.pd-dialog::backdrop{background:#17251e77}
/* ⭐ 01/10/2026 (Ms. Phúc): mẫu xem bài làm HS dùng chung — popup Dashboard (practice-dashboard.js) + panel chấm bài (teacher.html openSubmissionDetail) */
.pdd-head{padding:20px 24px 16px;background:#fff;border-bottom:1px solid #ece5d6}.pdd-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.pdd-top h3{margin:0;font-family:Fraunces,serif;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.pdd-meta{margin:6px 0 0;font-size:13px;color:var(--text-muted)}.pdd-meta b{color:var(--text)}
.pdd-x{width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:16px;cursor:pointer;color:var(--text-muted)}.pdd-x:hover{background:var(--sand,#f4f2ec)}.pdd-x:focus-visible,.pdd-chip:focus-visible{outline:3px solid #7aafc4;outline-offset:2px}
.pdd-sum{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:stretch}.pdd-score{padding:10px 16px;border-radius:12px;background:var(--green-mist,#e8f5e3);color:var(--green-dark,#3d6b41);min-width:110px}.pdd-score strong{display:block;font-size:24px;line-height:1.1}.pdd-score span{font-size:12px}
.pdd-chips{display:flex;gap:10px;flex-wrap:wrap}.pdd-chip{border:1px solid #e4ddce;background:#fff;border-radius:12px;padding:8px 14px;cursor:pointer;font:inherit;text-align:left;min-width:92px;color:var(--text)}.pdd-chip b{display:block;font-size:19px}.pdd-chip span{font-size:12px;color:var(--text-muted)}.pdd-chip[aria-pressed="true"]{border-color:var(--green-dark,#3d6b41);box-shadow:inset 0 0 0 1px var(--green-dark,#3d6b41)}
.pdd-chip.ok b{color:#2f7d3a}.pdd-chip.bad b{color:#b5452b}.pdd-chip.skip b{color:#8a8072}.pdd-chip.wait b{color:#9a6b12}
.pdd-body{overflow:auto;padding:8px 24px 24px;flex:1}.pdd-body>p{font-size:13px;color:var(--text-muted)}
.pdd-skill{margin-top:18px}.pdd-skill>h4{display:inline-flex;gap:8px;align-items:center;margin:0 0 10px;padding:5px 12px;border-radius:999px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;border:1px solid #d9d0bf;background:var(--sand,#f4f2ec);color:var(--text)}
.pdd-skill.listening>h4{background:var(--s-l-bg);border-color:var(--s-l-bd);color:var(--s-l-tx)}.pdd-skill.reading>h4{background:var(--s-r-bg);border-color:var(--s-r-bd);color:var(--s-r-tx)}.pdd-skill.writing>h4{background:var(--s-w-bg);border-color:var(--s-w-bd);color:var(--s-w-tx)}.pdd-skill.speaking>h4{background:var(--s-s-bg);border-color:var(--s-s-bd);color:var(--s-s-tx)}
.pdd-q[hidden],.pdd-skill[hidden]{display:none}.pdd-q{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px 18px;margin-bottom:8px;background:#fff;border:1px solid #ece5d6;border-left:4px solid #cfc6b6;border-radius:10px}
.pdd-q.ok,.pdd-q.man{border-left-color:#4a9b4b}.pdd-q.bad{border-left-color:#d0654a}.pdd-q.skip{border-left-color:#c9c1b3}.pdd-q.wait{border-left-color:#e0a83a}
.pdd-n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--sand,#f4f2ec);color:var(--text-muted)}.pdd-q.ok .pdd-n,.pdd-q.man .pdd-n{background:#e3f1df;color:#2f7d3a}.pdd-q.bad .pdd-n{background:#fbe3dc;color:#b5452b}.pdd-q.wait .pdd-n{background:#fbefd5;color:#9a6b12}
.pdd-tag{display:inline-block;margin:4px 0 0;font-size:12px;font-weight:700;color:var(--text-muted)}.pdd-q.ok .pdd-tag,.pdd-q.man .pdd-tag{color:#2f7d3a}.pdd-q.bad .pdd-tag{color:#b5452b}.pdd-q.wait .pdd-tag{color:#9a6b12}
.pdd-text{margin:4px 0 8px;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}
.pdd-text p,.pdd-text ul,.pdd-text ol{margin:0 0 4px}.pdd-ans{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;margin-top:6px}.pdd-pill{padding:4px 10px;border-radius:8px;background:var(--sand,#f4f2ec);overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%}.pdd-pill small{color:var(--text-muted);margin-right:4px;font-size:12px}
.pdd-q.ok .pdd-pill.hs,.pdd-q.man .pdd-pill.hs{background:#e3f1df;color:#245f2c}.pdd-q.bad .pdd-pill.hs{background:#fbe3dc;color:#8f3320;text-decoration:line-through;text-decoration-thickness:1px}.pdd-q.skip .pdd-pill.hs{color:#8a8072;font-style:italic}.pdd-pill.key{background:#fff;border:1px solid #d7e4d1;color:var(--green-dark,#3d6b41);font-weight:700}
.pdd-note{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fbf6e6;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.pdd-note b{display:block;font-size:12px;color:#8a6d3b;margin-bottom:2px}
.pdd-q details{margin-top:8px;font-size:13px;color:var(--text-muted)}.pdd-q summary{cursor:pointer;font-weight:600}.pdd-q details p{margin:6px 0 0;line-height:1.5;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}
.pdd-foot{padding:12px 24px;border-top:1px solid #ece5d6;background:#fff;font-size:12px;color:var(--text-muted);display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:600px){.pdd-head,.pdd-body,.pdd-foot{padding-left:16px;padding-right:16px}.pdd-sum>.pdd-score{flex:1 1 100%}.pdd-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.pdd-chip{min-width:0;padding:8px 10px}.pdd-chip span{white-space:nowrap}.pdd-top h3{font-size:18px}.pdd-q{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px 16px}}
@media(max-width:1100px){.pd-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-columns{grid-template-columns:1fr}.pd-actions{grid-template-columns:1fr}.pd-kpi strong{font-size:24px}}@media(max-width:600px){.pd-kpis{grid-template-columns:1fr}.pd-card{padding:15px}.pd-header h2{font-size:23px}.pd-filters label{width:100%}.pd-filters select{width:100%}}
