/* Owns the learner-plan surface. No legacy dashboard selectors are reused. */
.plan-home{--plan-line:#c5dadd;--plan-soft:#e9f4f0;display:grid;gap:28px;max-width:1440px;margin-inline:auto}
.plan-learner{display:flex;align-items:center;gap:20px;min-width:0}.plan-section-label{font-weight:650;white-space:nowrap}.plan-learner .learner-strip{flex-wrap:wrap;min-width:0;margin:0}
.plan-overview{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:stretch}
.plan-next{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(150px,.8fr);gap:24px;align-items:center;background:var(--plan-soft);border:1px solid var(--plan-line);border-radius:18px;padding:clamp(22px,3vw,36px);min-width:0}
.plan-next-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#075d63;font-weight:650}.plan-next h2{font-size:clamp(1.45rem,2.3vw,2.1rem);line-height:1.28;margin:18px 0 12px;overflow-wrap:break-word}.plan-next p{font-size:1rem;line-height:1.6;margin:0 0 18px;max-width:48ch}.plan-next-meta{display:flex;flex-wrap:wrap;gap:10px 18px;color:#486578;font-size:.88rem;margin-bottom:22px}.plan-next-actions{display:flex;flex-wrap:wrap;gap:10px}.plan-next-actions .btn{min-height:48px}
.plan-next-art{display:grid;place-items:center;min-width:0;overflow:hidden;aspect-ratio:1/1;border-radius:14px}.plan-next-art>svg,.plan-next-art>img{width:100%;height:100%;max-height:240px;object-fit:contain}.plan-next-art .plan-song-poster{aspect-ratio:16/9;object-fit:contain}.plan-next-art .asl-artwork{max-width:100%}
.plan-brief{padding:24px;background:white;border:1px solid var(--plan-line);border-radius:18px;display:flex;flex-direction:column;gap:18px;min-width:0}.plan-brief h2{font-size:1.1rem;margin:0}.plan-totals{display:flex;align-items:center;gap:14px}.plan-totals>strong{font:600 2.5rem/1 'Sora',sans-serif;color:#075d63}.plan-totals span{font-size:.9rem}.plan-totals small{display:block;color:#486578;font-size:.78rem;line-height:1.5;margin-top:4px}.plan-supports{border-top:1px solid var(--plan-line);padding-top:16px}.plan-supports h3{font-size:.85rem;font-weight:650;line-height:1.4;margin:0 0 8px}.plan-supports ul{padding-left:18px;margin:0;font-size:.85rem;line-height:1.65}.plan-brief>.btn:last-child{margin-top:auto}
.plan-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}.plan-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--plan-line)}.plan-section-heading h2{font-size:1.15rem;margin:0;line-height:1.4}.plan-section-heading>span{font-size:.85rem;color:#486578;white-space:nowrap}
.plan-ordered{list-style:none;padding:0;margin:0}.plan-ordered>li{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--plan-line)}.plan-order{width:24px;flex:none;color:#486578;text-align:center;font-size:.85rem}.plan-ordered .activity-row{flex:1;min-width:0;border:0;padding:20px 0;gap:14px}.plan-home .activity-thumb{width:64px;height:64px;flex:0 0 64px;overflow:hidden;border-radius:10px}.plan-home .activity-thumb>svg{width:100%;height:100%}.plan-home .activity-body h3{font-size:1rem;margin:0 0 5px}.plan-home .activity-meta{font-size:.78rem;gap:7px}.plan-home .activity-actions{gap:8px}.plan-home .activity-actions .btn{font-size:.85rem;min-height:44px;padding:8px 14px}.plan-queue-empty{padding:24px 0}.plan-queue-empty p{margin:0 0 10px;color:#486578}.plan-queue-empty a,.plan-observations>a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.plan-observations{padding:0 4px}.plan-observations p,.plan-observations blockquote{font-size:.9rem;line-height:1.65}.plan-observations blockquote{margin:18px 0 8px;border-left:3px solid #83b5b0;padding-left:14px;overflow-wrap:anywhere}.plan-observations .plan-note-date{font-size:.78rem;color:#486578}.plan-observations>.btn{width:100%;margin:8px 0}.plan-observations>a{font-size:.85rem}
.plan-finished{margin-top:24px;border:1px solid var(--plan-line);border-radius:12px;background:white;padding:0 18px}.plan-finished summary{display:flex;align-items:center;gap:10px;min-height:56px;cursor:pointer;font-weight:600}.plan-finished summary::after{content:'+';margin-left:auto}.plan-finished[open] summary::after{content:'−'}.plan-finished summary span{font-size:.8rem;font-weight:400}.plan-finished>p{font-size:.8rem;color:#486578}.plan-empty{max-width:600px;padding:40px 0}.plan-home a:focus-visible,.plan-home button:focus-visible,.plan-home summary:focus-visible{outline:3px solid #275eb8;outline-offset:3px}
@media(max-width:1200px){.plan-overview,.plan-detail-grid{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.plan-next{grid-template-columns:minmax(0,1fr)}.plan-next-art{display:none}.plan-brief{padding:20px}.plan-home .activity-meta .badge{display:none}}
@media(max-width:900px){.plan-overview,.plan-detail-grid{grid-template-columns:minmax(0,1fr)}.plan-brief{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center}.plan-brief h2{grid-column:1/-1}.plan-supports{grid-column:1/-1}.plan-brief>.btn:last-child{margin:0;grid-column:1/-1;justify-self:start}.plan-observations{padding:20px;background:white;border:1px solid var(--plan-line);border-radius:14px}.plan-observations>.btn{width:auto;margin-right:16px}.plan-next{grid-template-columns:minmax(0,1.3fr) minmax(100px,.7fr)}.plan-next-art{display:grid}.plan-learner{display:block}.plan-section-label{margin-bottom:10px}}
@media(max-width:560px){.plan-home{gap:22px}.plan-next{display:block;padding:22px;position:relative}.plan-next-art{display:grid;position:absolute;right:18px;top:18px;width:64px;height:64px}.plan-next-label{min-height:48px;padding-right:68px}.plan-next h2{font-size:1.5rem}.plan-next p{font-size:.95rem}.plan-brief{display:flex;align-items:stretch}.plan-brief h2{font-size:1.1rem}.plan-supports{display:none}.plan-ordered>li{gap:8px}.plan-home .activity-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px}.plan-home .activity-thumb{width:48px;height:48px;min-width:0}.plan-home .activity-actions{grid-column:2;justify-content:flex-start}.plan-home .activity-body h3{font-size:.95rem}.plan-home .activity-meta{font-size:.75rem}.plan-section-heading h2{font-size:1.05rem}.plan-learner .learner-chip{padding:8px 12px}.plan-learner .learner-chip .avatar{width:32px;height:32px}}
