/* Department directory reference: letter rail, compact cards, responsive course table. */
.liquid-departments,.liquid-department { max-width:1104px; margin:0 auto; }
.site-workspace .liquid-departments .site-page-title,.site-workspace .liquid-department .site-page-title { font-size:34px; line-height:1.2; font-weight:600; }
.site-workspace .liquid-departments > div > .site-page-header,.site-workspace .liquid-department > .site-page-header { border-bottom:0; padding-bottom:0; margin-bottom:24px; }
.liquid-departments input[type=search],.liquid-department input[type=search] { height:44px; border-radius:12px; background:var(--glass-card); font-size:16px; }
.liquid-letter-nav { position:sticky; top:68px; z-index:15; display:flex; flex-wrap:nowrap; overflow-x:auto; max-width:100%; gap:2px; width:fit-content; padding:6px; margin:16px 0 24px; border:1px solid var(--glass-glass-edge); border-radius:999px; background:var(--glass-menu); backdrop-filter:blur(20px); box-shadow:inset 0 1px 0 var(--glass-glass-hi); }
/* Keep touch, trackpad and keyboard scrolling without a visible scrollbar. */
.liquid-letter-nav, .instructor-letter-nav { scrollbar-width:none; }
.liquid-letter-nav::-webkit-scrollbar, .instructor-letter-nav::-webkit-scrollbar { display:none; }
.liquid-letter-nav a { flex-shrink:0; display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border-radius:999px; font-size:13px; font-weight:700; color:var(--glass-body); }
.liquid-letter-nav a:hover { background:var(--glass-chip-hover); text-decoration:none; }
.liquid-departments [data-filter-list-target=group] { scroll-margin-top:150px; }
.liquid-departments [data-filter-list-target=group] > h2 { top:124px; }
.liquid-departments [data-filter-list-target=item] > a { min-height:48px; padding:6px 14px; border-radius:12px; gap:12px; }
.liquid-department .card { border-radius:14px; }
.liquid-department table th { padding:12px 16px; }
.liquid-department table td { padding:14px 16px; }
.liquid-department section h2 { font-size:19px; font-family:var(--font-display); font-weight:600; }
@media(max-width:760px){
 .site-workspace .liquid-departments .site-page-title,.site-workspace .liquid-department .site-page-title { font-size:28px; }
 .liquid-letter-nav { border-radius:14px; gap:0; }
 .liquid-letter-nav a { min-width:44px; }
 .liquid-departments [data-filter-list-target=group] > ul { grid-template-columns:minmax(0,1fr); }
 .liquid-departments [data-filter-list-target=item] > a { flex-wrap:wrap; }
 .liquid-departments [data-filter-list-target=item] > a > span:nth-child(2) { white-space:normal; }
 .liquid-department table td { padding:0; }
 .liquid-department table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:14px 16px; }
 .liquid-department table td:first-child,.liquid-department table td:nth-child(2) { grid-column:1 / -1; }
}

.liquid-instructor-directory { max-width:1104px; margin:0 auto; }
.site-workspace .liquid-instructor-directory .site-page-title { font-size:34px; font-weight:600; line-height:1.2; }
.site-workspace .liquid-instructor-directory > .site-page-header { border:0; padding-bottom:0; margin-bottom:24px; }
.liquid-instructor-directory form[role=search] { max-width:672px; margin-bottom:24px; }
.liquid-instructor-directory input[type=search] { border-radius:12px; height:44px; background:var(--glass-card); }
.liquid-instructor-directory input[type=submit] { border-radius:999px; }
.liquid-instructor-table { border-radius:14px; margin-top:20px; }
.liquid-instructor-table table { width:100%; border-collapse:collapse; font-size:14px; }
.liquid-instructor-table th { text-align:left; padding:12px 16px; font-size:12px; letter-spacing:.05em; text-transform:uppercase; font-weight:600; color:var(--glass-muted); border-bottom:1px solid var(--glass-line); }
.liquid-instructor-table td { padding:14px 16px; border-bottom:1px solid var(--glass-line); vertical-align:top; font-variant-numeric:tabular-nums; }
.liquid-instructor-table tr:last-child td { border:0; }
.liquid-instructor-table tbody tr:hover { background:var(--glass-row-hover); }
.liquid-instructor-table td:first-child a { font-weight:600; }
.liquid-instructor-departments { display:block; color:var(--glass-muted); font-size:12px; }
.liquid-instructor-provenance { max-width:80ch; margin-top:16px; color:var(--glass-muted); font-size:13px; line-height:1.6; }
@media(max-width:760px){
 .site-workspace .liquid-instructor-directory .site-page-title { font-size:28px; }
 .liquid-instructor-table thead { display:none; }
 .liquid-instructor-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:14px 16px; border-bottom:1px solid var(--glass-line); }
 .liquid-instructor-table td { border:0; padding:0; }
 .liquid-instructor-table td:first-child { grid-column:1 / -1; }
 .liquid-instructor-table td:not(:first-child)::before { content:attr(data-label); display:block; font-size:11px; font-weight:600; text-transform:uppercase; color:var(--glass-muted); }
}

.liquid-directory-filters { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; }
.liquid-directory-filters label { display:flex; align-items:center; gap:8px; min-width:0; font-size:13px; color:var(--glass-muted); }
.liquid-directory-filters select { min-height:44px; max-width:100%; border:1px solid var(--glass-glass-edge); border-radius:999px; padding:0 30px 0 14px; background:var(--glass-chip); color:var(--glass-ink); font-size:14px; }
@media(max-width:760px) { .liquid-directory-filters label { width:100%; } .liquid-directory-filters select { flex:1; min-width:0; } }

/* Fresh department index: scope belongs above the directory, beside its filter. */
.site-workspace .liquid-departments > div > .site-page-header { margin-bottom:0; }
.department-ge-shortcut { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:600; }
.department-filter-row { display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px 16px; margin-top:6px; }
.department-filter-field { flex:1 1 360px; min-width:0; max-width:520px; }
.department-filter-count { margin:0; min-height:44px; display:flex; align-items:center; font-size:13px; color:var(--glass-muted); white-space:pre-wrap; }
.department-directory-scope { margin:14px 0 0; max-width:820px; font-size:13px; line-height:1.6; color:var(--glass-muted); }
.liquid-departments [data-filter-list-target=group] > ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
.liquid-departments [data-filter-list-target=item] > a > span:nth-child(2) { font-size:15px; line-height:1.3; white-space:normal; }
.department-filter-empty { margin-top:18px; padding:18px 20px; }
.department-filter-clear { min-height:44px; color:var(--glass-brand); font-weight:600; }
@media(max-width:760px) {
 .liquid-departments [data-filter-list-target=group] > ul { grid-template-columns:minmax(0,1fr); }
 .department-filter-count { min-height:24px; }
}

@media(min-width:761px) and (max-width:980px) { .liquid-departments [data-filter-list-target=group] > ul { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.department-filter-field { position:relative; }
.department-search-icon { position:absolute; left:14px; top:14px; color:var(--glass-muted); pointer-events:none; z-index:1; }
.liquid-departments .department-filter-field input[type=search] { padding-left:40px; }
.liquid-departments .department-ge-shortcut { color:var(--glass-brand); }

/* Reference scope panel and department card surfaces in both themes. */
.department-directory-scope { padding:14px 16px; border-radius:12px; background:var(--glass-sunk); }
.liquid-departments [data-filter-list-target=item] > a { background:var(--glass-card); border-color:var(--glass-line); }

/* Current department detail reference; intentionally scoped away from directory index. */
.liquid-department .department-provenance { max-width:892px;background:var(--glass-sunk);border-radius:14px;padding:16px;margin:0 0 16px;font-size:12px;color:var(--glass-muted); }
.liquid-department .department-provenance > * { margin:0 0 8px;max-width:none; }
.liquid-department .department-provenance > :last-child { margin-bottom:0; }
.liquid-department .department-provenance .provenance { border:0;padding:0;background:transparent; }
.liquid-department .department-seat-note { font-size:12px; }
.liquid-department .department-course-title { margin-left:8px;font-weight:600; }
.liquid-department table { table-layout:fixed;font-size:13px; }
.liquid-department table th:nth-child(1) { width:38%; }
.liquid-department table th:nth-child(2) { width:24%; }
.liquid-department table th:nth-child(3) { width:8%; }
.liquid-department table th:nth-child(4) { width:30%; }
.liquid-department table td { vertical-align:top; }
.liquid-department td[data-label="Predicted GPA"] > .font-semibold { display:block;font-size:20px;line-height:1.3; }
.liquid-department td[data-label="Predicted GPA"] > .ml-1 { display:block;margin-left:0;font-size:12px; }
.liquid-department .department-availability-note { display:block;font-size:12px;color:var(--glass-muted);margin-top:4px; }
@media(max-width:760px){
 .liquid-department table td:nth-child(2) { grid-column:auto; }
 .liquid-department table td.department-availability { grid-column:1 / -1; }
 .liquid-department .department-course-title { display:block;margin-left:0;margin-top:3px; }
}

.liquid-department td[data-label="Course"] { white-space:normal; }

.liquid-department label[for="course-filter"] { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
@media(max-width:760px){
 .liquid-department table.stack-table td[data-label] { display:block;min-width:0;padding:0; }
 .liquid-department table.stack-table td[data-label]::before { position:static;display:block;width:auto;margin-bottom:4px; }
 .liquid-department table.stack-table td:first-child::before { display:none; }
}

.liquid-department .department-status { display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;margin-right:4px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap; }
.liquid-department .department-course-filter { position:relative; }
.liquid-department .department-search-icon { position:absolute;left:14px;top:14px;width:16px;height:16px;color:var(--glass-muted);pointer-events:none; }
.liquid-department .department-course-filter input { padding-left:40px; }

/* Instructor directory: reference view chips and compact, factual schedule counts. */
.instructor-directory-modes { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.instructor-directory-modes button { min-height:44px; padding:0 14px; border:1px solid var(--glass-glass-edge); border-radius:999px; background:var(--glass-chip); color:var(--glass-body); font-size:13px; font-weight:600; }
.instructor-directory-modes button[aria-pressed=true] { background:var(--glass-brand); color:var(--glass-on-brand); border-color:transparent; }
.instructor-letter-nav { display:flex; flex-wrap:wrap; gap:4px; margin:16px 0; }
.instructor-letter-nav a { min-width:32px; min-height:44px; display:flex; align-items:center; justify-content:center; padding:0 8px; border-radius:9px; color:var(--glass-muted); font-size:13px; }
.instructor-letter-nav a[aria-current=page] { background:var(--glass-chip); color:var(--glass-ink); }
.liquid-instructor-table td[data-label="Average awarded"] strong { font-size:17px; font-family:var(--font-mono); font-weight:600; }
.instructor-section-count { display:inline-block; white-space:nowrap; border-radius:999px; padding:3px 9px; color:var(--glass-brand); background:var(--glass-chip); font-size:12px; }
.liquid-instructor-directory form[role=search] { max-width:none; }
.liquid-instructor-directory form[role=search] > .flex { max-width:680px; }
.liquid-instructor-table th,.liquid-instructor-table td { padding-left:12px; padding-right:12px; }
@media(max-width:760px) {
 .liquid-instructor-directory .liquid-directory-filters label { width:auto; max-width:100%; }
 .instructor-directory-modes { width:100%; }
 .instructor-letter-nav { flex-wrap:nowrap; overflow-x:auto; }
 .instructor-letter-nav a { flex-shrink:0; }
 .liquid-instructor-table td { padding:0; }
}

.instructor-query-wrap { position:relative; }
.liquid-instructor-directory .instructor-query-wrap input[type=search] { padding-left:38px; }
.instructor-query-icon { position:absolute; left:14px; top:14px; pointer-events:none; color:var(--glass-muted); z-index:1; }
.liquid-instructor-directory .liquid-instructor-departments { display:inline; margin-left:8px; }
.instructor-suggestions { position:absolute; top:50px; left:0; right:0; z-index:30; border:1px solid var(--glass-line); border-radius:14px; background:var(--glass-card); box-shadow:0 14px 36px #0004; overflow:hidden; }
.instructor-suggestion-heading { padding:12px 16px 6px; color:var(--glass-muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.instructor-suggestions ul { list-style:none; padding:0; margin:0; }
.instructor-suggestions a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; padding:12px 16px; font-size:13px; color:var(--glass-ink); }
.instructor-suggestions li[aria-selected=true],.instructor-suggestions a:hover { background:var(--glass-row-hover); }
.instructor-suggestion-identity { min-width:0; }
.instructor-suggestion-identity > .text-muted { font-size:11px; margin-left:6px; }
.instructor-suggestion-identity small { display:block; color:var(--glass-muted); font-size:11px; margin-top:4px; }
.instructor-suggestion-stat { text-align:right; color:var(--glass-muted); font-size:11px; }
.instructor-suggestion-stat strong { font-family:var(--font-mono); font-size:17px; color:var(--glass-ink); }
.instructor-suggestion-stat > span { display:block; }
.instructor-suggestion-all { border-top:1px solid var(--glass-line); }
.instructor-suggestion-all a { min-height:44px; color:var(--glass-brand); font-weight:600; }
@media(max-width:760px) { .instructor-suggestions a { align-items:flex-start; flex-direction:column; gap:6px; } .instructor-suggestion-stat { text-align:left; } .instructor-suggestion-stat > span { display:inline; margin-left:6px; } }

/* Leave the end letters clear of the rounded scrollport, including focus rings. */
.liquid-letter-nav { scroll-padding-inline:8px; }
.liquid-letter-nav::after { content:""; flex:0 0 6px; }
.liquid-letter-nav a { scroll-margin-inline:2px; }

/* Keep department names clear of the counts on narrow phones. */
@media(max-width:480px) {
 .liquid-departments [data-filter-list-target=item] > a { display:grid; grid-template-columns:64px minmax(0,1fr); gap:4px 12px; }
 .liquid-departments [data-filter-list-target=item] > a > span:nth-child(2) { overflow-wrap:anywhere; }
 .liquid-departments [data-filter-list-target=item] > a > span:last-child { grid-column:2; justify-content:flex-start; }
}
