/* Khóa học CANDY - dùng biến màu có sẵn của ứng dụng; tối ưu cho điện thoại. */
#courseView{padding:16px 16px 90px;max-width:1100px;margin:0 auto}
.cr-page{display:flex;flex-direction:column;gap:14px}
.cr-head{display:flex;flex-direction:column;gap:6px}
.cr-head h1{font-size:1.45rem;margin:0}
.cr-back{font-size:.92rem;text-decoration:none;color:var(--accent,#2563eb)}
.cr-note{color:var(--muted,#64748b);font-size:.93rem;margin:0}
.cr-error{color:#b91c1c}
.cr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cr-card{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line,#e2e8f0);border-radius:14px;background:var(--card,#fff);text-decoration:none;color:inherit;min-height:44px}
.cr-card:hover{border-color:var(--accent,#2563eb)}
.cr-folder b{font-size:1.15rem}
.cr-card.empty{opacity:.6;cursor:default}
.cr-card.empty:hover{border-color:var(--line,#e2e8f0)}
.cr-card small{color:var(--muted,#64748b)}
.cr-card span{font-size:.9rem;color:var(--muted,#64748b)}
.cr-sessions{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.cr-session{border:1px solid var(--line,#e2e8f0);border-radius:14px;padding:12px 14px;background:var(--card,#fff);display:flex;flex-direction:column;gap:8px}
.cr-session.locked{opacity:.75}
.cr-session-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cr-session-head a{text-decoration:none;color:var(--accent,#2563eb);min-height:44px;display:inline-flex;align-items:center}
.cr-chips{display:flex;flex-wrap:wrap;gap:8px}
.cr-chip{padding:8px 12px;border-radius:999px;border:1px solid var(--line,#cbd5e1);font-size:.88rem;text-decoration:none;color:inherit;min-height:36px;display:inline-flex;align-items:center}
.cr-chip.done{background:#dcfce7;border-color:#86efac;color:#14532d}
.cr-lesson{margin:0;font-size:1.05rem}
.cr-ws{display:flex;flex-direction:column;gap:16px}
.cr-ws.with-passage{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:960px){.cr-ws.with-passage{grid-template-columns:1fr 1fr;align-items:start}.cr-passage{position:sticky;top:12px;max-height:calc(100vh - 40px);overflow:auto}}
.cr-passage{border:1px solid var(--line,#e2e8f0);border-radius:14px;padding:14px 16px;background:var(--card,#fff);line-height:1.6}
.cr-passage h2{font-size:1.15rem;margin:0 0 8px}
.cr-act{border:1px solid var(--line,#e2e8f0);border-radius:14px;padding:12px 14px;background:var(--card,#fff);margin-bottom:12px}
.cr-act h3{margin:0 0 8px;font-size:1.02rem}
.cr-group{display:flex;flex-direction:column;gap:10px}
.cr-group.info{background:rgba(100,116,139,.06);border-radius:10px;padding:8px}
.cr-instr{margin:0;white-space:pre-line}
.cr-img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--line,#e2e8f0)}
.cr-bank{display:flex;flex-wrap:wrap;gap:6px}
.cr-bank span{padding:4px 10px;border-radius:8px;background:rgba(37,99,235,.08);font-weight:600}
.cr-q{display:flex;flex-direction:column;gap:6px;padding:6px 0;border-top:1px dashed var(--line,#e2e8f0)}
.cr-q p{margin:0;line-height:1.55}
.cr-n{font-weight:700;margin-right:2px}
.cr-in{font:inherit;padding:8px 10px;border:1px solid var(--line,#cbd5e1);border-radius:8px;background:var(--bg,#fff);color:inherit;min-height:44px;margin:2px 4px;max-width:100%}
.cr-in.wide{width:100%}
.cr-in.area{width:100%;box-sizing:border-box;margin:2px 0;resize:vertical}
.cr-in:disabled{opacity:.85;background:rgba(100,116,139,.08)}
.cr-opts{display:flex;flex-direction:column;gap:6px}
.cr-opt,.cr-check{display:flex;gap:8px;align-items:flex-start;min-height:36px;cursor:pointer}
.cr-mark{font-weight:700;margin-left:4px}.cr-mark.ok{color:#15803d}.cr-mark.no{color:#b91c1c}.cr-mark em{font-style:normal;font-weight:500}
.cr-row{display:grid;grid-template-columns:28px 1fr minmax(150px,220px) 28px;gap:8px;align-items:center;padding:4px 0}
@media(max-width:600px){.cr-row{grid-template-columns:24px 1fr}.cr-row .cr-in{grid-column:1/-1}}
.cr-table{border-collapse:collapse;width:100%;font-size:.95rem}
.cr-table th,.cr-table td{border:1px solid var(--line,#cbd5e1);padding:6px 8px;text-align:left;vertical-align:top}
.cr-table th{background:rgba(100,116,139,.1)}
.cr-summary{line-height:2.1;margin:0}
.cr-gap{margin:0 2px 0 6px;color:var(--muted,#64748b)}
.cr-list{margin:0;padding-left:18px}
.cr-legend summary{cursor:pointer;color:var(--accent,#2563eb)}
.cr-bar{position:sticky;bottom:64px;display:flex;gap:10px;align-items:center;padding:10px 0;background:var(--bg,#fff)}
.cr-bar .btn{display:inline-flex;align-items:center;padding:10px 14px;border-radius:10px;text-decoration:none;min-height:44px;box-sizing:border-box}
.cr-save{font-size:.9rem;color:var(--muted,#64748b)}.cr-save.bad{color:#b91c1c}
.cr-result{border-radius:14px;padding:12px 14px;background:rgba(37,99,235,.08)}
.cr-score{font-size:1.15rem}
.cr-model{border:1px solid var(--line,#cbd5e1);border-radius:10px;padding:8px 12px;background:rgba(34,197,94,.06)}
.cr-model summary{font-weight:700;cursor:pointer}
.cr-count{color:var(--muted,#64748b)}

.cr-submit.armed{outline:3px solid #ffd27a;outline-offset:2px}
.cr-flash{font:inherit;text-align:left;cursor:pointer;width:100%;border-left:4px solid var(--accent,#d6246e)}

.cr-reading{margin:12px 0}.cr-reading .cr-work{min-width:0}.cr-passage-tag{display:block;color:var(--muted,#64748b);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:11px;margin-bottom:4px}

/* Tự học X/O */
.xo-entry{border-color:var(--accent,#d6246e)}
.xo-sum{border:1px solid var(--line,#e2e8f0);border-radius:14px;padding:12px 14px;background:var(--card,#fff);display:flex;flex-direction:column;gap:8px}
.xo-sum.xo-flag-vang{border-color:#d9a41a}.xo-sum.xo-flag-do{border-color:#dc2626}.xo-sum.xo-flag-den{border-color:#7f1d1d;border-width:2px}
.xo-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.xo-tiles small{display:block;color:var(--muted,#64748b);font-size:.82rem}.xo-tiles b{font-size:1.25rem}
.xo-bar{height:8px;border-radius:99px;background:rgba(100,116,139,.2);overflow:hidden}.xo-bar i{display:block;height:100%;background:var(--accent,#d6246e)}
.xo-grid{display:flex;flex-direction:column;gap:4px}
.xo-row{display:grid;grid-template-columns:28px repeat(7,minmax(0,1fr));gap:4px;align-items:stretch}
.xo-wk{font-size:.75rem;color:var(--muted,#64748b);align-self:center}
.xo-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:44px;padding:2px 0;border:1px solid var(--line,#cbd5e1);border-radius:8px;background:rgba(100,116,139,.1);color:inherit;font:inherit;cursor:pointer;line-height:1.1}
.xo-cell b{font-size:.95rem}.xo-cell small{font-size:.62rem;opacity:.75}
.xo-cell.xo-x{background:rgba(34,197,94,.28);border-color:#22c55e}
.xo-cell.xo-xs{background:rgba(132,204,22,.24);border-color:#84cc16;border-style:dashed}
.xo-cell.xo-o{background:rgba(239,68,68,.26);border-color:#ef4444}
.xo-cell.xo-p{background:rgba(234,179,8,.26);border-color:#eab308}
.xo-cell.xo-f{background:rgba(100,116,139,.08);color:var(--muted,#64748b)}
.xo-cell.today{box-shadow:0 0 0 2px var(--accent,#d6246e)}
.xo-cell.sel{outline:3px solid #ffd27a;outline-offset:1px}
.xo-cell.mini{display:inline-flex;min-height:0;min-width:26px;padding:1px 6px;cursor:default;font-size:.8rem}
.xo-legend{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.xo-day{border:1px solid var(--line,#e2e8f0);border-radius:14px;padding:12px 14px;background:var(--card,#fff);display:flex;flex-direction:column;gap:10px}
.xo-day h2{margin:0;font-size:1.15rem}
.xo-chip{display:inline-block;padding:1px 10px;border-radius:99px;border:1px solid var(--line,#cbd5e1);font-size:.85rem}
.xo-chip.xo-x{background:rgba(34,197,94,.28)}.xo-chip.xo-xs{background:rgba(132,204,22,.24)}.xo-chip.xo-o{background:rgba(239,68,68,.26)}.xo-chip.xo-p{background:rgba(234,179,8,.26)}
.xo-tasks{margin:0;padding-left:20px;display:grid;gap:6px}
.xo-check{list-style:none;margin:0;padding:0;display:grid;gap:4px}.xo-check .ok{color:#15803d}.xo-check .no{color:inherit}
@media(max-width:380px){.xo-cell small{display:none}}
/* Phiếu: nộp riêng từng bài + script nghe */
.cr-actbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px}
.cr-actbar small{color:var(--muted,#c7b2cd)}
.cr-actbar.done b{color:#4ade80}
.cr-actsubmit.armed{background:var(--accent,#d6246e);color:#fff;border-color:transparent}
.cr-script{margin:14px 0;border:1px solid var(--line,#4f2d5c);border-radius:12px;padding:10px 14px;background:rgba(255,255,255,.04)}
.cr-script summary{cursor:pointer;font-weight:700}
.cr-script-body{margin-top:8px;line-height:1.55;font-size:15px}
.cr-script-body p{margin:6px 0}
.cr-script-body h4{margin:14px 0 2px;color:var(--accent,#d6246e)}
.xo-entry-wrap{display:flex;flex-direction:column;gap:8px}
.xo-notice{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid #ef4444;border-radius:12px;background:rgba(239,68,68,.1);color:inherit;text-decoration:none;min-height:44px;font-size:.92rem}
.xo-notice b{color:#dc2626}
.xo-push{border:1px solid var(--line,#e2e8f0);border-radius:14px;padding:12px 14px;background:var(--card,#fff);display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.xo-push button{min-height:44px;padding:8px 14px}
.cr-retake{border-left:4px solid #f59e0b}

.cr-audio{display:grid;gap:8px;margin:8px 0}.cr-audio figure{margin:0}.cr-audio figcaption{font-size:.85rem;color:#6b5b7b;margin-bottom:2px}.cr-audio audio{width:100%;max-width:420px}
