/* Resource summary and viewer shared by the student and management calendars. */
.study-plans .sp-calendar .sp-homework-link { display:flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;width:fit-content;max-width:100%;min-height:46px;margin-top:16px;padding:12px 20px;border:1px solid #e1d1ef;border-radius:12px;background:#faf5ff;color:var(--color1,#7425b6);font-size:.85rem;font-weight:600;line-height:1.8;text-decoration:none; }
.study-plans .sp-calendar .sp-homework-link:hover { background:#f1e6fa;border-color:#c7a1e0; }
.study-plans .sp-calendar .sp-homework-link:focus-visible { outline:3px solid var(--color1,#7425b6);outline-offset:3px; }
.study-plans .sp-calendar .sp-homework-link > i:last-child { font-size:.75rem;margin-inline-start:8px; }
.study-plans .sp-calendar .sp-homework-link { flex-wrap:nowrap;white-space:nowrap; }
.study-plans .sp-calendar .sp-homework-link > span,.study-plans .sp-calendar .sp-homework-link > i { flex-shrink:0; }
@media(max-width:575px){.study-plans .sp-calendar .sp-homework-link { width:100%; }}
.study-plans .sp-calendar .sp-resource-details { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 20px;font-size:.9rem; }
.study-plans .sp-calendar .sp-resource-detail { display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px 20px;border:1px solid #e9def3;border-radius:12px;background:#faf7fd;text-align:start; }
.study-plans .sp-calendar .sp-resource-detail dt { margin:0;color:#81718e;font-size:.8rem;font-weight:600; }
.study-plans .sp-calendar .sp-resource-detail dd { margin:0;color:#302740;font-size:.95rem;font-weight:600;line-height:1.9;overflow-wrap:anywhere;text-align:start; }
.study-plans .sp-calendar .sp-resource-description { margin:0 0 22px;padding:18px 20px;border-inline-start:3px solid var(--color1,#7425b6);border-radius:10px;background:#fcf9ff; }
.study-plans .sp-calendar .sp-resource-description h4 { margin:0 0 10px;color:#493256;font-size:.85rem;font-weight:700; }
.study-plans .sp-calendar .sp-resource-description p { margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:2.1;font-size:.9rem;text-align:start; }
.study-plans .sp-calendar .sp-file-view { display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;min-width:0;margin:22px 0; }
.study-plans .sp-calendar .sp-file-toolbar { display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;min-width:0; }
.study-plans .sp-calendar .sp-file-caption { display:inline-flex;align-items:center;gap:10px;color:#493256;font-size:.85rem;font-weight:600; }
.study-plans .sp-calendar .sp-file-caption i { color:var(--color1,#7425b6);font-size:1.15rem; }
.study-plans .sp-calendar .sp-file-link { display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border:1px solid #e2d2ee;border-radius:10px;background:#fff;color:var(--color1,#7425b6);font-size:.8rem;font-weight:600;text-decoration:none; }
.study-plans .sp-calendar .sp-file-link:hover { background:#f1e8f9; }
.study-plans .sp-calendar .sp-file-link:focus-visible { outline:3px solid var(--color1,#7425b6);outline-offset:3px; }
.study-plans .sp-calendar .sp-file-view-pdf { gap:0;border:1px solid #e1d5eb;border-radius:14px;overflow:hidden;background:#f0edf3; }
.study-plans .sp-calendar .sp-file-view-pdf .sp-file-toolbar { padding:14px 18px;border-bottom:1px solid #e1d5eb;background:#faf7fd; }
.study-plans .sp-calendar .sp-file-pdf { display:block;box-sizing:border-box;width:100%;max-width:100%;height:clamp(420px,75vh,900px);min-height:420px;border:0;background:#f0edf3; }
.study-plans .sp-calendar .sp-file-media { display:block;width:100%;max-height:540px;border-radius:12px; }
.study-plans .sp-calendar .sp-file-image { display:block;max-width:100%;max-height:600px;margin:auto;object-fit:contain;border-radius:12px; }
@media(max-width:575px){.study-plans .sp-calendar .sp-resource-details { grid-template-columns:minmax(0,1fr);gap:12px; }.study-plans .sp-calendar .sp-resource-detail,.study-plans .sp-calendar .sp-resource-description { padding:14px 16px; }.study-plans .sp-calendar .sp-file-view-pdf .sp-file-toolbar { padding:12px; }.study-plans .sp-calendar .sp-file-pdf { height:65vh;min-height:360px; }}

.study-plans .sp-calendar .sp-protected-view { margin:22px 0;border:1px solid #e1d5eb;border-radius:14px;overflow:hidden;background:#f0edf3;min-width:0; }
.study-plans .sp-calendar .sp-protected-view > .sp-file-toolbar { padding:14px 18px;background:#faf7fd;border-bottom:1px solid #e1d5eb; }
.study-plans .sp-calendar .sp-view-status { padding:18px;margin:0;text-align:center;font-size:.85rem; }
.study-plans .sp-calendar .sp-protected-view .sp-file-image { padding:12px;pointer-events:none; }
.study-plans .sp-calendar .sp-protected-view .sp-file-media { padding:12px; }

.study-plans .sp-calendar,.study-plans .sp-calendar .sp-resource-panel { min-width:0;max-width:100%; }
.study-plans .sp-calendar .sp-protected-view { max-width:100%;contain:inline-size; }

/* Listening transcripts: shared theme styles for learner and management previews. */
.sp-listening .sp-listening-media { display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-width:0;margin-bottom:22px; }
.sp-listening .sp-listening-media .sp-listening-audio { flex:1 1 280px;width:0;min-width:0;max-width:100%;height:46px;margin:0; }
.sp-listening .sp-listening-transcript-toggle { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;margin:0;padding:8px 14px;border:1px solid transparent;border-radius:12px;background:linear-gradient(125deg,var(--color1,#7425b6),var(--color2,#a52bea));color:#fff;font:inherit;font-size:.82rem;font-weight:600;line-height:1.8;letter-spacing:normal;text-transform:none;white-space:normal;box-shadow:0 4px 12px #7425b626;cursor:pointer;transition:box-shadow .18s ease,background .18s ease; }
.sp-listening .sp-listening-transcript-toggle:hover { color:#fff;box-shadow:0 6px 16px #7425b638; }
.sp-listening .sp-listening-transcript-toggle[aria-expanded="true"] { background:linear-gradient(125deg,var(--color2,#a52bea),var(--color1,#7425b6));box-shadow:0 3px 10px #7425b633; }
.sp-listening .sp-listening-transcript-toggle:focus-visible { outline:3px solid #be8be5;outline-offset:3px; }
.sp-listening .sp-listening-transcript-toggle > span:not(.sp-listening-transcript-icon) { min-width:0;overflow-wrap:anywhere; }
.sp-listening .sp-listening-transcript-icon { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border:1px solid #ffffff30;border-radius:9px;background:#ffffff20;color:#fff; }
.sp-listening .sp-listening-transcript-icon i { color:inherit;font-size:.9rem; }
.sp-listening .sp-listening-transcript-chevron { flex-shrink:0;margin-inline-start:5px;font-size:.65rem;color:#ffffffd9; }
.sp-listening .sp-listening-transcript { margin:0 0 22px;padding:20px;border:1px solid #e4d4f0;border-inline-start:3px solid var(--color1,#7425b6);border-radius:12px;background:#fcf9ff;color:#302740;font-size:.95rem;line-height:2;white-space:pre-line;overflow-wrap:anywhere;max-height:480px;overflow-y:auto;overscroll-behavior:contain; }
.sp-listening .sp-listening-transcript[hidden] { display:none; }
@media(max-width:575px) { .sp-listening .sp-listening-media .sp-listening-audio { flex-basis:100%;width:100%; }.sp-listening .sp-listening-transcript-toggle { width:100%; }.sp-listening .sp-listening-transcript { padding:16px;max-height:400px; } }
@media(prefers-reduced-motion:reduce) { .sp-listening .sp-listening-transcript-toggle { transition:none; } }

/* Listening lesson title: explicit LTR order in both interface languages. */
.sp-listening .sp-listening-heading {
    display:flex;align-items:center;flex-wrap:nowrap;gap:14px;min-width:0;
    padding:20px 22px;border:1px solid #ffffff24;border-radius:16px;
    background:linear-gradient(115deg,var(--color1,#7022b8),#862bd2);
    color:#fff;box-shadow:0 6px 18px #7022b81a;direction:ltr;text-align:left;
}
.sp-listening .sp-listening-heading-icon {
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;
    width:42px;height:42px;border:1px solid #ffffff30;border-radius:12px;
    background:#ffffff1c;color:#fff;font-size:1.1rem;
}
.sp-listening .sp-listening-heading-icon i {color:inherit;}
.sp-listening .sp-listening-heading-copy {flex:1;min-width:0;text-align:left;}
.sp-listening .sp-listening-heading-label {
    display:block;font:inherit;font-size:.72rem;font-weight:400;
    color:#f0dfff;line-height:1.8;text-align:left;
}
.sp-listening .sp-listening-heading h3 {
    margin:5px 0 0;font-family:inherit;font-size:1.05rem;font-weight:600;
    line-height:1.9;color:#fff;text-align:left;direction:ltr;overflow-wrap:anywhere;
}
.sp-listening .sp-listening-heading>.sp-listening-badge {
    flex-shrink:0;margin:0;padding:7px 12px;border:1px solid #ffffff30;
    border-radius:10px;background:#ffffff1c;color:#fff;font-size:.75rem;line-height:1.8;
}
@media(max-width:575px) {
    .sp-listening .sp-listening-heading {flex-wrap:wrap;gap:10px;padding:16px;}
    .sp-listening .sp-listening-heading-icon {flex-basis:34px;width:34px;height:34px;border-radius:10px;font-size:1rem;}
    .sp-listening .sp-listening-heading-copy {flex-basis:calc(100% - 44px);}
    .sp-listening .sp-listening-heading h3 {font-size:.92rem;}
    .sp-listening .sp-listening-heading>.sp-listening-badge {margin-left:44px;padding:4px 10px;}
}
