.faculty-preparation { margin: 1rem 0 1.5rem; padding: 1.25rem; border: 1px solid var(--border-mint, #cbdde0); border-radius: 20px; background: var(--surface-welcome, #f7fbfb); color: var(--text-heading, #173e50); }
.faculty-preparation__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.faculty-preparation h2 { font-size: 1.25rem; margin: 0 0 .35rem; }
.faculty-preparation p { margin: 0 0 .8rem; line-height: 1.5; }
.faculty-preparation__badge { background: var(--color-accent-weak, #dbeee9); color: var(--color-accent-strong, #22645a); border-radius: 1rem; padding: .4rem .7rem; font-size: .8rem; white-space: nowrap; }
.faculty-preparation__defaults, .faculty-preparation__row-fields { display: grid; grid-template-columns: minmax(150px, 2fr) minmax(90px, 1fr) auto; gap: .75rem; align-items: end; }
.faculty-preparation label { display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; font-weight: 600; }
.faculty-preparation input:not([type=file]), .faculty-preparation select { width: 100%; min-width: 0; box-sizing: border-box; background: var(--color-surface, #fff); color: inherit; border: 1px solid var(--color-border-strong, #c5d6dc); border-radius: 9px; padding: .65rem; font: inherit; }
.faculty-preparation input:disabled, .faculty-preparation select:disabled { opacity: .8; }
.faculty-preparation__choose { cursor: pointer; position: relative; overflow: hidden; justify-content: center; }
.faculty-preparation__choose input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; cursor: pointer; }
.faculty-preparation__choose:focus-within { outline: 2px solid #20838d; outline-offset: 3px; }
.faculty-preparation__hint { margin-top: .7rem !important; font-size: .85rem; opacity: .85; }
.faculty-preparation__rows { display: grid; gap: .65rem; margin: 1rem 0; }
.faculty-preparation__row { padding: .9rem; border: 1px solid var(--color-border, #d7e3e6); border-radius: 12px; background: var(--color-surface, #fff); }
.faculty-preparation__row-fields { grid-template-columns: minmax(150px, 2fr) minmax(140px, 1.5fr) minmax(90px, .6fr); }
.faculty-preparation__progress { margin: .6rem 0; font-size: .9rem; }
.faculty-preparation__actions, .faculty-preparation__footer { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.faculty-preparation [data-error=true] { color: var(--color-danger, #a23333); }
.faculty-preparation__footer [role=status] { flex: 1 1 230px; font-size: .9rem; }
@media (max-width: 700px) { .faculty-preparation__heading { flex-direction: column; } .faculty-preparation__defaults, .faculty-preparation__row-fields { grid-template-columns: 1fr; } .faculty-preparation__badge { white-space: normal; } }

/* Durable lecture preparation lives with the selected lecture, not its upload row. */
.faculty-preparation-workflow { margin-top: 1rem; color: var(--text-heading, #173e50); }
.faculty-preparation-workflow[hidden], .pipeline-console-stepper[hidden], .pipeline-steps[hidden], .pipeline-auto-toggle[hidden], .pipeline-history[hidden] { display: none !important; }
.faculty-preparation-workflow__heading h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.faculty-preparation-workflow__heading p { font-size: .9rem; margin: 0 0 .9rem; opacity: .85; }
.faculty-preparation-workflow__stages { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .55rem; list-style: none; padding: 0; margin: 0 0 .9rem; }
.faculty-preparation-workflow__stages li { display: flex; flex-direction: column; gap: .45rem; min-width: 0; padding: .8rem; background: var(--color-surface, #fff); border: 1px solid var(--color-border, #cbdde0); border-radius: 12px; }
.faculty-preparation-workflow__stages strong { font-size: .9rem; }
.faculty-preparation-workflow__stages span, .faculty-preparation-workflow__stages small { font-size: .8rem; }
.faculty-preparation-workflow__stages [data-state=complete] { border-color: var(--color-accent-strong, #31837c); }
.faculty-preparation-workflow__stages [data-state=running] { box-shadow: inset 0 3px var(--color-accent, #328c96); }
.faculty-preparation-workflow__stages [data-state=error] { border-color: var(--color-danger, #a23333); }
.faculty-preparation-workflow__error { color: var(--color-danger, #a23333); margin: .75rem 0 0; font-size: .9rem; }
.faculty-preparation-workflow__history { margin-top: .8rem; font-size: .85rem; opacity: .85; }
.faculty-preparation-workflow__history summary { cursor: pointer; }
@media (max-width: 1000px) { .faculty-preparation-workflow__stages { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 550px) { .faculty-preparation-workflow__stages { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Textbook choices and source ranges remain readable at narrow widths. */
.faculty-preparation__defaults { grid-template-columns: minmax(150px, 1.5fr) minmax(80px, .6fr) minmax(220px, 1.5fr) auto; }
[data-document-kind=textbook] .faculty-preparation-workflow__stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.faculty-preparation__scope { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: .8rem 0; padding: .85rem; border: 1px solid var(--color-border, #cbdde0); border-radius: 12px; }
.faculty-preparation__scope label { display: flex; flex-direction: column; gap: .3rem; }
.faculty-preparation__scope input { box-sizing: border-box; width: 100%; min-width: 0; padding: .6rem; border: 1px solid var(--color-border, #cbdde0); border-radius: 8px; background: var(--color-surface, #fff); color: inherit; font: inherit; }
.faculty-preparation__scope p { grid-column: 1 / -1; margin: 0; font-size: .85rem; }
@media (max-width: 900px) { .faculty-preparation__defaults { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 550px) { .faculty-preparation__defaults, .faculty-preparation__scope { grid-template-columns: minmax(0, 1fr); } }
