/* Alpha 27.66: workspace layout. Color, typography and controls inherit the existing theme. */
.workspace-dashboard { display:flex; flex-direction:column; gap:22px; min-width:0; }
.workspace-dashboard .view-header { margin-bottom:0; }
.workspace-dashboard .view-header-actions { flex-wrap:wrap; }
.study-launchpad a { text-decoration:none; }
.workspace-material-item { display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--border); }
.workspace-material-item:last-child { border-bottom:0; }
.workspace-material-item .dashboard-material-row { flex:1; border:0; min-width:0; }
.workspace-item-select { width:17px; height:17px; flex-shrink:0; accent-color:var(--primary); }
.workspace-item-action, .workspace-file-arrow { display:grid; place-items:center; flex-shrink:0; width:40px; height:44px; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; }
.workspace-file-arrow { color:var(--primary); }
.workspace-item-action:hover, .workspace-file-arrow:hover { background:var(--surface-alt); color:var(--primary); }
.workspace-selection-bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--surface); position:sticky; top:12px; z-index:3; }
.workspace-selection-bar[hidden], .library-column-browser[hidden], .workspace-item-select[hidden], .workspace-item-action[hidden], .workspace-file-arrow[hidden] { display:none; }
.column-item-tools { display:flex; justify-content:space-between; align-items:center; padding:0 12px; }
.filing-new-folder { display:flex; gap:12px; align-items:end; margin-top:14px; flex-wrap:wrap; }
.filing-new-folder .field { flex:1; }
.filing-path { color:var(--muted); overflow-wrap:anywhere; }
.workspace-dashboard h2 { font-size:18px; margin:0 0 18px; }
.workspace-dashboard h3 { font-size:20px; margin:12px 0; }
.workspace-dashboard .muted, .dashboard-empty { color:var(--muted); line-height:1.6; }
.dashboard-two-column { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.home-study-row { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); }
.dashboard-panel { padding:24px; min-width:0; }
.dashboard-panel-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
.dashboard-panel-head h2 { margin:0; }
.dashboard-panel-head .text-button { flex-shrink:0; }
.dashboard-panel p { line-height:1.6; }
.dashboard-search { width:100%; max-width:none; }
.dashboard-search input { flex:1; min-width:0; }
.home-launchpad { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.home-launch-card { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:30px; min-height:240px; text-align:left; color:var(--text); cursor:pointer; }
.home-launch-card > svg:first-child { color:var(--primary); }
.home-launch-card > strong { font-size:23px; }
.home-launch-card > span { color:var(--muted); line-height:1.55; max-width:38ch; }
.home-launch-card > svg:last-child { align-self:flex-end; margin-top:auto; }
.home-launchpad.compact { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.home-launchpad.compact .home-launch-card { min-height:190px; padding:20px; gap:12px; }
.home-launchpad.compact .home-launch-card > strong { font-size:17px; }
.home-launchpad.compact .home-launch-card > span { font-size:13px; }
.workspace-dashboard progress { display:block; appearance:none; width:100%; height:9px; border:0; border-radius:20px; background:var(--surface-alt); overflow:hidden; accent-color:var(--primary); }
.workspace-dashboard progress::-webkit-progress-bar { background:var(--surface-alt); border-radius:20px; }
.workspace-dashboard progress::-webkit-progress-value { background:var(--primary); border-radius:20px; }
.workspace-dashboard progress::-moz-progress-bar { background:var(--primary); border-radius:20px; }
.dashboard-day-line { display:flex; align-items:center; gap:12px; margin:20px 0; color:var(--text); text-decoration:none; }
.dashboard-day-line svg { flex-shrink:0; color:var(--primary); }
.dashboard-day-line span { display:grid; gap:5px; }
.dashboard-day-line small { color:var(--muted); }
.dashboard-material-list { display:flex; flex-direction:column; }
.dashboard-material-row { display:flex; align-items:center; gap:14px; padding:14px 0; color:var(--text); text-decoration:none; border-bottom:1px solid var(--border); min-width:0; }
.dashboard-material-row:last-child { border-bottom:0; }
.dashboard-material-row > svg { color:var(--primary); flex-shrink:0; }
.dashboard-material-row > span:first-of-type { display:grid; gap:5px; flex:1; min-width:0; }
.dashboard-material-row strong { overflow-wrap:anywhere; }
.dashboard-material-row small { font-size:12px; color:var(--muted); }
.dashboard-material-row:hover strong, .folder-child-card a:hover { color:var(--primary); }
.dashboard-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:13px; color:var(--muted); }
.dashboard-breadcrumb a { color:var(--muted); text-decoration:none; }
.dashboard-breadcrumb a:last-child { color:var(--text); }
.dashboard-big-number { display:block; color:var(--primary); font-size:46px; line-height:1.2; }
.folder-study-all { margin:8px 0 0 6px; }
.dashboard-progress > div { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.dashboard-progress p { color:var(--muted); font-size:12px; }
.dashboard-count-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:22px 0; }
.dashboard-count-grid span { display:grid; gap:6px; color:var(--muted); font-size:12px; }
.dashboard-count-grid strong { color:var(--text); font-size:23px; }
.workspace-tabs { display:flex; align-items:center; gap:6px; border-bottom:1px solid var(--border); overflow:auto; flex-shrink:0; }
.workspace-tabs > button, .workspace-tabs > a { background:none; border:0; border-bottom:3px solid transparent; color:var(--muted); text-decoration:none; padding:14px 16px; font:inherit; font-weight:600; white-space:nowrap; cursor:pointer; }
.workspace-tabs > .active { color:var(--primary); border-bottom-color:var(--primary); }
.folder-dashboard [role="tabpanel"] { display:flex; flex-direction:column; gap:20px; }
.folder-child-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:14px; }
.folder-child-card { padding:18px; border:1px solid var(--border); border-radius:var(--radius-md,13px); background:var(--surface-alt); display:flex; flex-direction:column; gap:10px; }
.folder-child-card a { color:var(--text); text-decoration:none; }
.folder-child-card > small { color:var(--muted); text-transform:capitalize; }
.is-ghost { border-style:dashed !important; background:transparent !important; }
.is-ghost strong { color:var(--muted); }
.topic-counts { display:block; font-size:11px; color:var(--muted); line-height:1.6; }
.topic-warning { display:flex; align-items:flex-start; gap:6px; font-size:11px; line-height:1.5; color:var(--warning,#d6a847); }
.topic-warning svg { flex-shrink:0; margin-top:2px; }
.topic-ready { color:var(--success); font-size:11px; }
.topic-create { margin-top:14px; }
.library-column-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.library-column-toolbar .search-field { flex:1; min-width:200px; }
.library-column-toolbar .search-field input { min-width:0; width:100%; }
.library-column-browser { display:grid; grid-auto-columns:max(175px,calc((100% - 36px) / 4)); grid-auto-flow:column; gap:12px; overflow-x:auto; padding:2px 2px 12px; align-items:stretch; scroll-snap-type:x proximity; }
.library-column-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.library-column-navigation[hidden] { display:none; }
.library-column-navigation small { color:var(--muted); text-align:center; }
.column-create-actions { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:auto; padding-top:8px; }
.column-create-actions .column-add { margin-top:0; }
.column-material-items .workspace-material-item { display:grid; grid-template-columns:1fr 40px 40px; gap:0 4px; margin-bottom:12px; padding:4px 10px; border:1px solid var(--border); border-radius:var(--radius-sm,8px); background:var(--surface-alt); }
.column-material-items .dashboard-material-row { grid-column:1 / -1; grid-row:1; padding:12px 0; }
.column-material-items .dashboard-material-row strong { font-size:13px; overflow-wrap:anywhere; }
.column-material-items .workspace-item-select, .column-material-items .workspace-item-action, .column-material-items .workspace-file-arrow { grid-row:2; }
.column-material-items .workspace-item-select { grid-column:1; }
.column-material-items .workspace-item-action { grid-column:2; }
.column-material-items .workspace-file-arrow { grid-column:3; }
.library-browser-column { display:flex; flex-direction:column; gap:18px; min-height:410px; height:clamp(410px,calc(100dvh - 330px),720px); padding:18px 12px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md,13px); scroll-snap-align:start; }
.library-column-heading { display:flex; align-items:center; gap:10px; padding:0 4px; }
.library-column-heading > svg { color:var(--primary); flex-shrink:0; }
.library-column-heading h2 { font-size:17px; margin:0 0 6px; overflow-wrap:anywhere; }
.library-column-heading small { font-size:11px; color:var(--muted); }
.column-folder-list { display:flex; flex-direction:column; gap:12px; overflow-y:auto; padding:2px; min-height:0; }
.column-folder { flex-shrink:0; }
.column-folder[data-library-root] > .column-item-tools { min-height:44px; }
.column-folder { border:1px solid var(--border); border-radius:var(--radius-sm,8px); background:var(--surface-alt); overflow:hidden; }
.column-folder.is-selected { border-color:var(--primary); box-shadow:0 0 0 1px var(--primary); }
.column-folder-select { display:flex; width:100%; align-items:center; gap:8px; padding:16px 12px; background:none; border:0; color:var(--text); text-align:left; font:inherit; cursor:pointer; }
.column-folder-select > span { min-width:0; flex:1; display:grid; gap:6px; }
.column-folder-select strong { font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.column-folder-select small { color:var(--muted); font-size:11px; }
.column-folder-select > svg { flex-shrink:0; }
.column-folder-select > svg:first-child { color:var(--primary); }
.column-visit-page { display:flex; align-items:center; gap:5px; color:var(--primary); text-decoration:none; margin:-5px 12px 14px 40px; font-size:11px; width:fit-content; }
.column-visit-page:hover { text-decoration:underline; }
.column-folder > .topic-counts, .column-folder > .topic-warning, .column-folder > .topic-ready { padding:0 12px 10px; }
.column-ghost-create { margin:0 12px 12px; font-size:12px; }
.column-empty { color:var(--muted); font-size:12px; line-height:1.6; padding:0 4px; }
.column-add { margin-top:auto; padding-top:18px; }
.academic-form, .syllabus-form { display:flex; flex-direction:column; gap:18px; }
.academic-form .field, .syllabus-form .field { margin:0; }
.academic-form input, .academic-form select, .academic-form textarea { min-width:0; max-width:100%; }
.academic-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.academic-action-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.topic-form-head, .topic-form-row { display:grid; grid-template-columns:minmax(0,1fr) 90px 90px; gap:12px; align-items:center; }
.topic-form-head { font-size:12px; color:var(--muted); }
.topic-form-rows { display:flex; flex-direction:column; gap:10px; }
.topic-form-row input { width:100%; padding:10px; border:1px solid var(--border); border-radius:8px; color:var(--text); background:var(--surface-alt); font:inherit; }
.create-menu { display:flex; flex-direction:column; gap:22px; }
.create-menu-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),240px)); justify-content:center; gap:16px; }
.create-choice { display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-height:170px; text-align:left; padding:24px; background:var(--surface-alt); color:var(--text); border:1px solid var(--border); border-radius:var(--radius-md,13px); font:inherit; cursor:pointer; }
.create-choice > svg { color:var(--primary); }
.create-choice strong { font-size:17px; }
.create-choice small { color:var(--muted); line-height:1.5; }
.create-choice:disabled { opacity:.5; cursor:default; }
.sidebar-new { margin:18px 12px; justify-content:center; }
.sidebar-tools { margin:0 8px; }
.sidebar-tools > summary { display:flex; align-items:center; gap:9px; color:var(--muted); padding:14px 8px; font-size:12px; cursor:pointer; list-style:none; }
.sidebar-tools[open] > summary { color:var(--text); }
.syllabus-review-exam { border:1px solid var(--border); border-radius:12px; padding:18px; display:flex; flex-direction:column; gap:14px; }
.syllabus-status { color:var(--muted); line-height:1.6; }
.workspace-dashboard button:focus-visible, .workspace-dashboard a:focus-visible, .create-menu button:focus-visible, .sidebar-tools summary:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
@media (max-width:1250px) {
  .home-launchpad.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-two-column, .home-study-row { grid-template-columns:minmax(0,1fr); }
  .dashboard-panel { padding:20px; }
}
@media (min-width:761px) and (max-width:1100px) {
  .sidebar-new { margin:12px 3px; padding:12px; }
  .sidebar-new > span, .sidebar-tools > summary > span { display:none; }
  .sidebar-tools { margin:0; }
  .sidebar-tools > summary { justify-content:center; }
}
@media (max-width:760px) {
  .workspace-dashboard .view-header-actions .button > span { display:inline; }
  .workspace-dashboard .view-header-actions .button { flex:1 1 140px; }
  .app-layout.workspace-shell > .app-ad-rail { order:1; }
  .workspace-dashboard { gap:18px; }
  .home-launchpad { gap:12px; }
  .home-launch-card { min-height:215px; padding:20px; gap:14px; }
  .home-launch-card > strong { font-size:19px; }
  .home-launch-card > span { font-size:13px; }
  .library-column-browser { grid-auto-columns:75vw; }
  .library-browser-column { min-height:340px; }
  .library-column-toolbar .workspace-tabs { width:100%; }
  .academic-form-grid { grid-template-columns:minmax(0,1fr); }
  .workspace-tabs > button, .workspace-tabs > a { padding:12px; font-size:13px; }
  .topic-form-head, .topic-form-row { grid-template-columns:minmax(0,1fr) 66px 66px; gap:8px; }
  .create-choice { padding:18px; min-height:170px; }
  .create-choice strong { font-size:15px; }
  .folder-study-all { margin-left:0; }
}
@media (max-width:400px) {
  .home-launchpad, .home-launchpad.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-launch-card { min-height:180px; }
}

/* Shared table editor: a bounded viewport, with independently scrolling rows and columns. */
.modal.material-table-modal { width: min(1500px, 98vw); height: min(920px, 94vh); max-height: 94vh; }
.material-table-modal .modal-body { display: flex; min-height: 0; flex: 1; overflow: hidden; padding: 16px; }
.material-table-editor { display: flex; flex-direction: column; gap: 12px; min-height: 0; width: 100%; }
.material-table-toolbar, .material-table-footer, .material-table-actions, .material-table-pagination { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.material-table-toolbar, .material-table-footer { justify-content: space-between; }
.material-table-toolbar .field { min-width: 240px; flex: 1; max-width: 420px; }
.material-table-help { color: var(--muted); font-size: 12px; margin: 0; }
.material-table-status:empty { display: none; }
.material-table-status { color: var(--text); font-size: 13px; padding: 8px; background: var(--surface-alt); border: 1px solid var(--border); border-radius: 6px; }
.material-table-scroll { flex: 1; min-height: 110px; overflow: auto; border: 1px solid var(--border); border-radius: 8px; }
.material-edit-table { border-collapse: separate; border-spacing: 0; width: 100%; }
.material-edit-table th, .material-edit-table td { border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 7px; vertical-align: top; }
.material-edit-table thead th { position: sticky; top: 0; z-index: 1; background: var(--surface); text-align: left; font-size: 12px; white-space: nowrap; }
.material-edit-table td { min-width: 210px; }
.material-edit-table td:first-child, .material-edit-table td.table-row-order { min-width: 42px; }
.material-edit-table textarea, .material-edit-table select { width: 100%; min-height: 80px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--text); font: inherit; font-size: 13px; padding: 5px; resize: vertical; }
.material-edit-table select { min-height: 40px; }
.material-table-modal .material-edit-table select[data-field="back"] { appearance: auto; cursor: pointer; }
.material-edit-table textarea:focus, .material-edit-table select:focus { outline: 2px solid var(--primary); background: var(--surface); }
.material-edit-table tr.table-row-invalid { background: color-mix(in srgb, #cf4235 10%, var(--surface)); }
.table-media-mark { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); margin: 0 0 0 6px; }
.table-media-mark small { font-size: 10px; font-weight: 400; white-space: nowrap; }
.material-table-pagination { font-size: 12px; color: var(--muted); }
.material-table-footer { padding-top: 6px; border-top: 1px solid var(--border); }
@media (max-width: 700px) {
  .modal-overlay:has(.material-table-modal) { padding: 5px; }
  .modal.material-table-modal { width: 100%; height: 97dvh; max-height: 97dvh; }
  .material-table-modal .modal-header { padding: 12px; }
  .material-table-modal .modal-body { padding: 10px; }
  .material-table-help { max-height: 48px; overflow: auto; }
  .material-table-actions .button { padding: 7px; font-size: 12px; }
}

/* Table cells keep attachment actions beside text, and show inactive answer fields clearly. */
.table-cell-content { display: flex; align-items: flex-start; gap: 4px; }
.table-cell-content textarea, .table-cell-content select { min-width: 0; flex: 1; }
.table-cell-media { display: flex; flex-direction: column; gap: 3px; padding-top: 4px; }
.table-cell-media .icon-button { width: 25px; height: 25px; min-width: 25px; padding: 4px; opacity: .8; }
.table-cell-attachments { display: flex; flex-wrap: wrap; gap: 3px; }
.table-attachment-chip { display: inline-flex; align-items: center; gap: 3px; font-size: 10px; border: 1px solid var(--border); border-radius: 5px; padding: 3px; color: var(--muted); background: var(--surface-2); }
.material-edit-table .table-field-disabled { background: repeating-linear-gradient(135deg, transparent, transparent 7px, color-mix(in srgb, var(--muted) 8%, transparent) 7px, color-mix(in srgb, var(--muted) 8%, transparent) 9px); }
.table-field-disabled textarea, .table-field-disabled select { opacity: .4; cursor: not-allowed; }
.table-disabled-label { display: block; color: var(--muted); font-size: 10px; padding: 3px 5px; }
.workbook-issues { max-height: 45vh; overflow: auto; overflow-wrap: anywhere; padding: 0 8px; border-left: 3px solid var(--border); }

/* Billing shares the existing Settings surfaces and typography. */
.billing-settings .billing-plans { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:16px; margin:16px 0; }
.billing-plans article { border:1px solid var(--border); border-radius:12px; padding:18px; background:var(--surface-2); display:flex; flex-direction:column; align-items:flex-start; }
.billing-plans article .button { margin-top:auto; }
.billing-settings .field { display:flex; flex-direction:column; gap:7px; margin:14px 0; max-width:640px; }
.billing-settings input[type="url"],.billing-settings input[type="email"] { width:100%; }
.billing-settings .checkbox-row { display:flex; align-items:flex-start; gap:9px; margin:12px 0; }
.billing-settings .checkbox-row input { flex:none; margin-top:4px; }
.billing-settings hr { border:0; border-top:1px solid var(--border); margin:24px 0; }
.billing-actions { display:flex; flex-wrap:wrap; gap:10px; }
.billing-settings .referral-totals { flex-wrap:wrap; }
.billing-settings details { margin-top:20px; }
.billing-settings summary { cursor:pointer; font-weight:650; }
.billing-settings [role="status"] { white-space:pre-wrap; overflow-wrap:anywhere; }
.billing-table-scroll { overflow:auto; max-width:100%; margin:12px 0; }
.billing-table-scroll table { width:100%; border-collapse:collapse; font-size:13px; }
.billing-table-scroll th,.billing-table-scroll td { text-align:left; padding:9px; border-bottom:1px solid var(--border); }
.billing-admin-content li { margin:9px 0; overflow-wrap:anywhere; }
.billing-result-mapping { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:8px 16px; }

/* Syllabus review separates each course in a batch without crowding its fields. */
.syllabus-course-review + .syllabus-course-review { border-top: 1px solid var(--border); margin-top: 28px; padding-top: 20px; }
.syllabus-course-review h3 { margin: 12px 0 4px; }
.syllabus-course-review .syllabus-schedule-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0; align-items: center; }
.syllabus-course-review .schedule-name { flex: 1 1 180px; min-width: 0; }
.academic-setup-form input[type="file"] { max-width: 100%; }

/* Home is the workspace; each disclosure preserves its full-size tools. */
.home-workspace-section{margin:24px 0;min-width:0;background:var(--surface,#faf9f3);scroll-margin-top:20px}
.home-workspace-section>summary{display:flex;align-items:center;gap:16px;list-style:none;cursor:pointer;padding:22px 24px;border-radius:var(--home-widget-radius,12px);color:var(--text,#263f3e)}
.home-workspace-section>summary::-webkit-details-marker{display:none}
.home-workspace-section>summary>span,.home-overview-title>span{flex:1;display:grid;gap:5px}
.home-workspace-section>summary strong,.home-overview-title strong{font-size:1.35rem}
.home-workspace-section>summary small,.home-overview-description{color:var(--muted,#657a77)}
.home-workspace-section>summary>svg:last-child{transition:transform .15s}.home-workspace-section[open]>summary>svg:last-child{transform:rotate(90deg)}
.home-workspace-section[open]>summary{border-bottom:var(--home-widget-border-width,1px) var(--home-widget-border-style,solid) var(--home-widget-border-color,var(--border,#bac5c0));border-radius:var(--home-widget-radius,12px) var(--home-widget-radius,12px) 0 0}
.home-library-content{padding:24px}.home-library-content .embedded-library{padding:0;max-width:none;margin:0}.embedded-library>.view-header h2{font-size:1.3rem}
.home-note-results{max-height:52vh;overflow-y:auto;margin-top:16px}
@media(max-width:700px){.home-workspace-section>summary{padding:18px 14px;gap:10px}.home-library-content{padding:12px}.home-workspace-section>summary small,.home-overview-description{font-size:.8rem}}


/* Local inference status belongs to the current operation and is removed when it ends. */

/* Expanded folder levels preserve the same selection, filing and folder actions. */
.library-column-heading .library-expand-level { margin-left:auto; flex-shrink:0; }
.library-column-browser.library-expanded { display:block; overflow:visible; }
.library-expanded .library-browser-column { width:100%; min-height:340px; max-width:none; }
.library-expanded .library-browser-column[hidden] { display:none; }
/* Intrinsic row heights keep image cards from collapsing into a fixed-height scroller. */
.library-expanded .column-folder-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); grid-auto-rows:max-content; align-content:start; align-items:start; gap:16px; scrollbar-gutter:stable; }
.library-expanded .column-folder-list{scrollbar-color:var(--muted) var(--surface-alt)}
.library-expanded .column-folder-list::-webkit-scrollbar{width:12px}
.library-expanded .column-folder-list::-webkit-scrollbar-track{background:var(--surface-alt);border-radius:6px}
.library-expanded .column-folder-list::-webkit-scrollbar-thumb{background:var(--muted);border:3px solid var(--surface-alt);border-radius:6px}
.library-expanded .column-material-items,.library-expanded .dashboard-material-list { display:contents; }
.library-expanded .workspace-material-item { min-width:0; align-self:start; }
.library-expanded .dashboard-material-row { min-width:0; }
.library-expanded .dashboard-material-row strong { overflow-wrap:anywhere; }
.library-expanded-back { margin:4px 0 16px; align-self:start; }
.folder-needs-cards { color:#975b14; margin:8px 12px; text-align:left; }
/* Published material has a compact, readable header and a clearly grouped action area. */
.published-deck-hero { grid-template-columns:72px minmax(0,1fr);align-items:start;gap:20px;padding:28px; }
.published-deck-actions { grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;max-width:none;padding-top:18px;border-top:1px solid var(--border);gap:10px; }
.published-primary-actions { display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex-basis:100%; }
.published-deck-main h1 { line-height:1.18;font-size:clamp(24px,2.4vw,36px); }
.published-deck-main>p { font-size:14px; }
.published-author { font-size:12px; }
.published-public-address { max-width:100%;overflow-wrap:anywhere; }
.published-deck-details dl { display:grid;gap:12px; }
.published-deck-details dl>div { min-width:0;padding:12px;border-radius:8px;background:var(--surface-alt); }
.published-deck-details dd { margin:4px 0 0;overflow-wrap:anywhere; }
.online-collection-hero { display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px;padding:20px 0; }
.online-collection-hero>div { flex:1;min-width:200px; }
.online-collection-hero h3 { font-size:26px;margin:0 0 10px; }
.online-collection-detail { min-width:0; }
.online-any-collections { margin-top:28px; }
@media(max-width:650px){.published-deck-hero{grid-template-columns:1fr;padding:18px}.published-deck-mark{display:none}.published-deck-actions{grid-column:1}.published-deck-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}.library-expanded .column-folder-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}

.folder-needs-cards{display:block;padding:7px 10px;border:1px solid #c99c45;border-radius:6px;background:#fff4d8;color:#795011;font-size:12px;font-weight:700;text-align:left;line-height:1.4}.library-drop-target{outline:3px solid var(--primary)!important;outline-offset:-3px;background-color:color-mix(in srgb,var(--primary) 16%,var(--surface))!important}.library-dragging [data-library-drop]{transition:outline-color .12s}[data-drag-deck]{cursor:grab}[data-drag-deck]:active{cursor:grabbing}.sidebar-appearance{display:block;width:100%;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;text-align:center;padding:10px 4px;cursor:pointer}.sidebar-appearance:hover{text-decoration:underline}.appearance-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.appearance-options>button{display:grid;gap:10px;text-align:left;padding:16px;border:2px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer}.appearance-options>button[aria-pressed=true]{border-color:var(--primary);outline:1px solid var(--primary)}.appearance-options small{font-size:13px;line-height:1.5;color:var(--muted)}.appearance-sample{display:flex;gap:8px;padding:15px;height:88px;border-radius:5px}.appearance-sample i{flex:1;border-radius:4px}.sample-paper{background:#e9e8e1 url('/assets/wall-grain.svg')}.sample-paper i{background:#f5e699;transform:rotate(-3deg);box-shadow:2px 3px 4px #0002}.sample-paper i+i{background:#bcddea;transform:rotate(2deg)}.sample-classic{background:#edf1f7}.sample-classic i{background:white;border:1px solid #c5cddb}.appearance-result{font-size:13px;min-height:1.5em}.settings-design-choice{margin-bottom:20px}@media(max-width:500px){.appearance-options{grid-template-columns:1fr}}

.library-expanded .column-folder-list{flex:1;min-height:0;overflow-y:auto}
.library-expanded .column-create-actions{flex-shrink:0}
.library-trash-target{display:flex;align-items:center;gap:7px;align-self:flex-end;flex-shrink:0;margin-top:auto;border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface-alt);color:var(--muted);text-decoration:none;font-size:12px}
.library-trash-target:hover,.library-trash-target:focus-visible{color:var(--danger);border-color:var(--danger)}
.library-trash-target.library-drop-target{color:#a52121;border-color:#a52121;background:#ffe9e9;outline:2px solid #a52121}

.library-expanded-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:auto;flex-shrink:0}
.library-expanded-tools .library-trash-target{margin-top:0}

.library-dragging .library-column-browser{scroll-snap-type:none;scroll-behavior:auto}
.library-dragging .column-folder-list{scroll-behavior:auto}

.library-column-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto;flex-shrink:0}
.library-column-footer .column-create-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:1 1 0;margin:0;padding:0;min-width:0}
.library-column-footer .column-create-actions>.button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:48px;height:100%;margin:0;padding:8px 6px;font-size:12px;line-height:1.2;text-align:center;white-space:normal}
.library-column-footer .column-create-actions>.button:only-child{grid-column:1/-1}
.library-column-footer .column-create-actions>.button svg{flex-shrink:0}
.library-expanded .library-column-footer .column-create-actions{flex:0 1 320px}
.library-column-footer .library-expanded-tools{margin:0 0 0 auto}
.library-column-footer .library-expanded-tools>*{min-height:48px;box-sizing:border-box}

/* Search uses the same folder/topic tiles and material rows in one vertical column. */
.library-search-results{min-width:0;width:100%}
.library-search-results .column-folder-list{display:flex;flex-direction:column;gap:12px}
.library-search-results .column-material-items{flex-shrink:0;min-width:0}

.home-workspace-section>summary>span{min-width:0;overflow-wrap:anywhere}
.home-workspace-section>summary>svg{flex-shrink:0}
.plan-course-label{display:block;font-size:14px;font-weight:500;line-height:1.5;color:var(--text);overflow-wrap:anywhere}

/* Dense editing grids need opaque cells and clear hierarchy across every palette. */
.material-table-modal{--table-grid:color-mix(in srgb,var(--text) 55%,var(--surface));--table-secondary:color-mix(in srgb,var(--text) 82%,var(--surface));--table-stripe:color-mix(in srgb,var(--text) 5%,var(--surface));color:var(--text)}
.material-table-modal .material-table-scroll{border-color:var(--table-grid);background:var(--surface)}
.material-table-modal .material-edit-table{color:var(--text);background:var(--surface);font-size:14px}
.material-table-modal .material-edit-table :is(th,td){border-color:var(--table-grid)}
.material-table-modal .material-edit-table thead th{background:var(--text);color:var(--surface);font-size:13px;font-weight:700;padding:12px 8px;border-bottom:2px solid var(--table-grid)}
.material-table-modal .material-edit-table tbody th{background:var(--surface-alt);font-weight:700}
.material-table-modal .material-edit-table tbody tr:nth-child(even){background:var(--table-stripe)}
.material-table-modal .material-edit-table tbody tr:has([data-select]:checked){background:color-mix(in srgb,var(--primary) 17%,var(--surface))}
.material-table-modal .material-edit-table tbody tr:has([data-select]:checked)>td:first-child{box-shadow:inset 4px 0 var(--primary)}
.material-table-modal .material-edit-table tr.table-row-invalid{background:color-mix(in srgb,var(--danger) 14%,var(--surface))}
.material-table-modal .material-edit-table tr.table-row-invalid>td:first-child{box-shadow:inset 4px 0 var(--danger)}
.material-table-modal .material-edit-table :is(textarea,select){background:var(--surface);color:var(--text);border:1px solid var(--table-grid);box-shadow:none;font-size:14px;line-height:1.5}
.material-table-modal .material-edit-table :is(textarea,select):focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary);box-shadow:none}
.material-table-modal .material-edit-table td:focus-within{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}
.material-table-modal :is(.material-table-help,.material-table-pagination,.table-media-mark,.table-disabled-label){color:var(--table-secondary)}
.material-table-modal .material-table-help{font-size:13px;line-height:1.5}
/* Inactive question fields have a continuous gray hatch, including behind the input. */
.material-table-modal .table-field-disabled{--table-disabled-surface:#d0d2d4;--table-disabled-stripe:#969b9f;--table-disabled-ink:#444b51;background:repeating-linear-gradient(135deg,var(--table-disabled-surface) 0,var(--table-disabled-surface) 9px,var(--table-disabled-stripe) 9px,var(--table-disabled-stripe) 12px);cursor:not-allowed}
.material-table-modal .material-edit-table .table-field-disabled :is(textarea,select){opacity:1;color:var(--table-disabled-ink);background:transparent;border-color:#858b90;border-style:dashed;box-shadow:none;resize:none;cursor:not-allowed}
.material-table-modal .material-edit-table .table-field-disabled textarea::placeholder{color:transparent}
.material-table-modal .table-field-disabled .table-cell-media .icon-button:disabled{opacity:.35;color:var(--table-disabled-ink)}
.material-table-modal .material-edit-table textarea::placeholder{color:var(--table-secondary);opacity:1}
.material-table-modal .table-disabled-label{display:inline-block;font-size:12px;font-weight:600;color:var(--table-disabled-ink);background:var(--table-disabled-surface);border-radius:3px;padding:4px 6px;margin-top:3px}
.material-table-modal .table-cell-media .icon-button:not(:disabled){color:var(--text);background:var(--surface-alt);border:1px solid var(--table-grid);opacity:1}
.material-table-modal .table-attachment-chip{color:var(--text);background:var(--surface-alt);border-color:var(--table-grid);font-size:12px}
.deck-plan-choice-copy>.plan-course-label{font-size:14px;line-height:1.5;margin:2px 0}
.deck-plan-choice-copy>small{font-size:12px;line-height:1.5}
.deck-plan-choice.is-inherited{opacity:1}

/* Only column headings and footers are shaded; Library tabs and search keep their original background. */
.library-columns-view .library-browser-column{background:color-mix(in srgb,var(--text) 5%,var(--surface));border-color:color-mix(in srgb,var(--text) 45%,var(--surface))}
.library-columns-view .library-column-footer{background:color-mix(in srgb,var(--text) 24%,var(--surface));margin:auto -12px -18px;padding:12px;border-top:1px solid var(--border);border-radius:0 0 12px 12px}
.library-columns-view .library-column-heading{margin:-18px -12px 0;padding:14px 12px;background:color-mix(in srgb,var(--text) 24%,var(--surface));border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}

/* Library resizes within Home without changing the surrounding dashboard layout. */
.home-library{position:relative}
.home-library[open]{width:var(--home-library-width,100%);max-width:100%;min-width:min(520px,100%)}
.home-library-content{padding-bottom:38px}
.home-library .library-browser-column{height:var(--home-library-column-height,clamp(410px,calc(100dvh - 330px),720px));min-height:260px}
.library-resize-handle{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:30px;height:30px;padding:3px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:nwse-resize;touch-action:none}
.library-resize-handle:hover,.library-resize-handle:focus-visible{background:var(--surface-alt);color:var(--primary)}
.library-resize-handle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.home-library:not([open]) .library-resize-handle{display:none}

@media(max-width:920px){.home-library{scroll-margin-top:76px}}

/* Practice authoring: shared answer width and visibly separate question attachments. */
.practice-inline-edit-choice { grid-template-columns:20px minmax(0,1fr) auto auto; }
.practice-inline-edit-choice .practice-choice-content { width:100%; min-width:0; flex-wrap:wrap; }
.practice-inline-edit-choice .practice-choice-text[contenteditable="true"] { display:block; width:100%; flex:1 1 100%; min-width:0; box-sizing:border-box; }
.practice-inline-choice-tools { display:flex; align-items:center; gap:4px; }
.practice-inline-edit-choice.selected { background:#e3f3e8; border-color:#39835a; box-shadow:inset 3px 0 #39835a; }
.practice-inline-edit-choice.selected .practice-choice-marker { background:#39835a; border-color:#39835a; }
.practice-inline-prompt-stage { border-bottom:0; }
.practice-inline-prompt-media-tools { border-bottom:1px solid var(--border); padding-bottom:16px; }
.practice-answer-settings { display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.practice-answer-settings:empty { display:none; }
.practice-answer-settings label { display:grid; gap:4px; font-size:.85rem; font-weight:600; }
.practice-answer-settings small { flex-basis:100%; }
.practice-answer-warning { color:#946021; font-weight:600; }
.practice-selection-instruction { font-weight:700; margin:0 0 4px; }
@media(max-width:600px){.practice-inline-edit-choice{grid-template-columns:20px minmax(0,1fr) auto auto;gap:6px}.practice-inline-choice-tools{gap:0}}

.table-answer-picker { min-width:130px; padding:8px; background:var(--surface); border:1px solid var(--border); border-radius:5px; }
.table-answer-picker summary { cursor:pointer; }
.table-answer-picker > div { display:flex; flex-wrap:wrap; gap:10px; padding-top:10px; }
.table-answer-picker label { display:flex; align-items:center; gap:4px; }
.table-answer-mode, .table-answer-scoring { display:grid; gap:4px; font-size:.78rem; margin-top:6px; }
.table-answer-mode[hidden], .table-answer-scoring[hidden] { display:none; }
.material-table-editor td:has(.table-answer-picker) .table-cell-content { display:block; }

.practice-answer-settings, .practice-selection-instruction { grid-column:1/-1; }
.practice-inline-edit-choice .practice-choice-marker { cursor:pointer; }
.practice-choice:focus-within { outline:2px solid var(--primary); outline-offset:2px; }
.practice-choice:has(input[type="checkbox"]) .practice-choice-marker { border-radius:4px; }
.practice-inline-choice-tools .practice-inline-choice-video { width:30px; height:30px; padding:0; display:grid; place-items:center; border:0; border-radius:7px; background:transparent; color:var(--primary); cursor:pointer; }
.practice-inline-choice-tools .practice-inline-remove-choice-video { width:22px; height:30px; padding:0; border:0; background:transparent; color:var(--muted); }

.practice-inline-prompt-media-tools { padding:8px 18px 12px; }
.practice-inline-prompt-image-tools { padding:0; border:0; }
.practice-inline-notes-image-tools { margin-top:0; }

/* Shared header dimensions keep entering and leaving the editor steady. */
.practice-test-header { height:70px; min-height:70px; box-sizing:border-box; }
.practice-test-header:has(.practice-test-timer) { grid-template-columns:auto minmax(0,1fr) auto minmax(100px,200px); }
.practice-test-inline-edit-header { grid-template-columns:minmax(0,1fr) minmax(180px,280px); }
.practice-test-header-copy.practice-inline-title-copy { display:flex; align-items:center; justify-content:center; gap:10px; min-width:0; }
.practice-inline-title-copy > label { font-size:.9rem; font-weight:700; flex:none; }
.practice-inline-title-copy > .practice-inline-test-name { margin:0; min-height:36px; height:36px; }
.practice-question-toolbar { height:66px; min-height:66px; max-height:66px; box-sizing:border-box; }
.practice-inline-question-toolbar { display:flex; overflow:visible; }
.practice-question-toolbar > div:first-child { min-width:0; flex:0 1 auto; white-space:nowrap; }
.practice-inline-question-toolbar > .practice-inline-editor-actions { display:flex; flex:0 1 auto; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:6px; min-width:0; margin-left:auto; overflow-x:auto; padding:3px; scrollbar-width:thin; }
.practice-inline-editor-actions .button { flex:0 0 auto; min-height:34px; margin:0; padding:6px 10px; font-size:.85rem; white-space:nowrap; }
.practice-question-content-controls { min-height:58px; padding:10px 18px; box-sizing:border-box; display:flex; align-items:center; }
.practice-question-content-controls.practice-inline-question-settings { max-width:100%; justify-content:flex-start; overflow:visible; margin:0; }
.practice-question-flag-tools { justify-content:flex-end; }
.practice-question-flag-tools > .button { margin:0; }
@media(max-width:700px) {
  .practice-test-header { height:86px; min-height:86px; gap:4px 10px; }
  .practice-test-header:has(.practice-test-timer) { grid-template-columns:auto minmax(0,1fr) auto; }
  .practice-test-header:has(.practice-test-timer) .practice-test-timer { min-width:90px; padding:6px; }
  .practice-test-inline-edit-header { grid-template-columns:minmax(0,1fr); }
  .practice-test-header-copy.practice-inline-title-copy { justify-content:flex-start; }
  .practice-question-toolbar > div:first-child { flex-basis:115px; font-size:.7rem; white-space:normal; }
  .practice-question-toolbar { gap:8px; padding:8px 10px; }
  .practice-question-toolbar-actions { min-width:0; overflow-x:auto; }
  .practice-question-content-controls { padding:10px; }
}

.practice-correct-answers { display:grid; gap:6px; }
.practice-correct-answers strong { white-space:pre-wrap; overflow-wrap:anywhere; }

/* Folder destinations keep deep Libraries navigable without a giant flat select. */
.filing-destination-tree { max-height: min(42vh, 360px); overflow: auto; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 6px; overscroll-behavior: contain; }
.filing-destination-tree ul { list-style: none; margin: 0; padding: 0; }
.destination-tree-row { display: flex; align-items: center; padding-left: calc(var(--folder-depth) * 20px); min-height: 42px; }
.destination-expand, .destination-expand-spacer { width: 32px; height: 32px; flex: 0 0 32px; }
.destination-expand { display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: var(--text); border-radius: 5px; }
.destination-select { display: flex; flex: 1; align-items: center; gap: 9px; min-width: 0; padding: 9px 10px; border: 1px solid transparent; border-radius: 6px; text-align: left; background: transparent; color: var(--text); }
.destination-select span { flex: 1; overflow-wrap: anywhere; }
.destination-select svg { flex-shrink: 0; }
.destination-select[aria-pressed="true"] { background: color-mix(in srgb, var(--primary) 14%, var(--surface)); border-color: var(--primary); font-weight: 700; }
.destination-expand:hover, .destination-select:not(:disabled):hover { background: var(--surface-alt); }
.destination-select:disabled { opacity: .65; cursor: default; }
.destination-expand:focus-visible, .destination-select:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }

/* Overlay scrollbars ignore scrollbar-gutter. Keep a physical lane for the expanded
 * hover track as well as folder outlines, so neither scrollbar mode covers a card. */
.library-browser-column .column-folder-list { margin-right:-12px; padding:5px 24px 8px 4px; min-width:0; scrollbar-gutter:stable; }
.column-folder, .column-material-items { min-width:0; }
.column-folder-select[aria-expanded="true"] > svg:last-child { transform:rotate(90deg); }
