/* Final shared theme. Structural and service styles retain their behavior. */
.dense-ui,
.portal-minimal.dense-ui {
  --ui-ground: #ffffff;
  --ui-surface: #ffffff;
  --ui-soft: #f8f7f7;
  --ui-ink: #2f3437;
  --ui-secondary: #706e68;
  --ui-line: #eaeaea;
  --ui-accent: #880422;
  --ui-accent-hover: #6d031b;
  --ui-accent-soft: #f8edf0;
  --ui-on-accent: #ffffff;
  /* Legacy consumers use these tokens as backgrounds, including selected tabs. */
  --ui-gradient: #880422;
  --ui-gradient-soft: #fcf6f8;
  --ui-focus: #880422;
  --portal-bg: var(--ui-ground);
  --portal-surface: var(--ui-surface);
  --portal-border: var(--ui-line);
  --portal-border-light: var(--ui-line);
  --portal-text: var(--ui-ink);
  --portal-text-secondary: var(--ui-secondary);
  --portal-text-muted: var(--ui-secondary);
  --portal-accent: var(--ui-accent);
  --portal-accent-hover: var(--ui-accent-hover);
  --primary: var(--ui-accent);
  font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ui-ink);
}
body.dense-ui { background: var(--ui-ground) !important; }
.dark .dense-ui {
  --ui-ground: #1d1e1b; --ui-surface: #252621; --ui-soft: #30312b;
  --ui-ink: #efeee8; --ui-secondary: #bbb9af; --ui-line: #414239;
  --ui-accent: #f0a6bb; --ui-accent-hover: #fac5d3; --ui-accent-soft: #452a35;
  --ui-on-accent: #36121f; --ui-gradient: #f0a6bb; --ui-gradient-soft: #35262c;
  --ui-focus: #aec4a7;
}
.dense-ui :is(.workspace-main, .content-area) { background: var(--ui-ground); }
.portal-minimal .content-area { background: var(--ui-ground); }
.dense-ui .module-screen { max-width: 1440px; }
.dense-ui .workspace-main { padding: 32px clamp(20px, 3vw, 48px) 48px; }
.dense-ui :is(.workspace-sidebar, .portal-workspace-sidebar) { background: var(--ui-surface); }
.dense-ui .workspace-sidebar-group h2 { font-size: 11px; letter-spacing: .04em; }
.dense-ui .workspace-sidebar :is(.workspace-destination, .workspace-home-link) { min-height: 44px; }
.dense-ui .workspace-sidebar-sections { border-color: var(--ui-line); }
.dense-ui .workspace-sidebar-sections button { min-height: 36px; }
.dense-ui .workspace-brand img { filter: grayscale(1); }
.dense-ui .workspace-topbar { min-height: 68px; padding-inline: 28px; }
.dense-ui :is(.workspace-mobile-toggle, .workspace-sidebar-close) { min-width: 44px; min-height: 44px; }
.dense-ui :is(.module-title, .ui-page-header h1, .directory-heading h1, .workspace-heading h1),
.portal-minimal .student-home-heading h1 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.12;
  text-wrap: balance;
}
.dense-ui :is(.ui-panel, .settings-field-section, .library-book-card, .note-card, .ui-table-wrap) {
  border: 1px solid var(--ui-line); border-radius: 8px; box-shadow: none;
}
.dense-ui .ui-data-table th { color: var(--ui-secondary); background: var(--ui-soft); }
.dense-ui .ui-data-table td { font-size: 13px; }
.dense-ui .font-mono { font-family: 'SF Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.dense-ui :is(input.ui-input, select.ui-input, textarea.ui-input):focus {
  border-color: var(--ui-focus); box-shadow: 0 0 0 3px rgb(136 4 34 / 7%);
}
.dense-ui :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--ui-focus); outline-offset: 3px;
}
.dense-ui :is(.primary-action, .btn-primary, .btn-p, .auth-submit),
.portal-minimal :is(.btn-primary, .auth-submit) {
  background: var(--ui-accent) !important; color: var(--ui-on-accent) !important;
  border-radius: 6px; box-shadow: none; font-weight: 600; min-height: 42px;
}
.dense-ui :is(.primary-action, .btn-primary, .btn-p, .auth-submit):hover:not(:disabled) {
  background: var(--ui-accent-hover) !important;
}
.dense-ui .module-tabbar .module-tab:is([aria-pressed="true"], [aria-selected="true"]),
.dense-ui .services-page .service-tabs .module-tab:is([aria-pressed="true"], [aria-selected="true"]),
.dense-ui .settings-category-grid > button[aria-pressed="true"],
.dense-ui .workspace-section-nav button[aria-current="page"] {
  background: var(--ui-accent) !important; color: var(--ui-on-accent) !important;
}
.dense-ui .portal-sidebar-services .sidebar-rail-item.active {
  color: var(--ui-accent) !important; box-shadow: inset 2px 0 var(--ui-accent);
}
.portal-minimal :is(.biodata-tab, .finance-tab, .opensea-tab-item).active,
.portal-minimal .portal-view :is(.text-blue-500, .text-blue-600, .text-indigo-500, .text-indigo-600, .text-purple-600) {
  color: var(--ui-accent);
}
.portal-minimal .portal-view :is(.bg-blue-50, .bg-indigo-50, .bg-purple-50),
.portal-minimal .student-home-actions button > div { background: var(--ui-accent-soft); color: var(--ui-accent); }
.portal-minimal .student-home-actions button:hover { border-color: var(--ui-focus); background: var(--ui-soft) !important; }
.dense-ui .library-book-card > div:first-child { background: var(--ui-soft); }
.dense-ui .library-action-grid button:hover { background: var(--ui-soft); border-color: var(--ui-line); }

/* Dashboard: an editorial heading, a number strip, and independent work panels. */
.dense-ui .dense-dashboard { gap: 24px; }
.dense-ui .workspace-heading { padding-block: 4px 8px; }
.dense-ui .workspace-heading-copy > p { font-size: 12px; color: var(--ui-secondary); margin-bottom: 8px; }
.dense-ui .workspace-period strong { color: var(--ui-ink); font-weight: 500; }
.dense-ui .workspace-period > span { font-size: 11px; }
.dense-ui .overview-stats { background: var(--ui-surface); border-radius: 8px; }
.dense-ui .overview-stats > div { padding: 24px; }
.dense-ui .overview-stats p:nth-child(2) { font-size: 38px; font-weight: 500; letter-spacing: -.05em; line-height: 1.2; margin-block: 10px; }
.dense-ui .overview-stats p:nth-child(3) { color: var(--ui-secondary) !important; font-size: 11px; }
.dense-ui .overview-shortcuts { gap: 8px; }
.dense-ui .dashboard-services .overview-shortcuts button { background: var(--ui-surface); border: 1px solid var(--ui-line); padding: 10px 14px; min-height: 42px; }
.dense-ui .dashboard-services .overview-shortcuts button:hover { background: var(--ui-accent-soft); }
.dense-ui .dashboard-services .overview-shortcuts iconify-icon { color: var(--ui-ink); font-size: 17px; }
.dense-ui .dashboard-grid.dashboard-widget-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.dense-ui .dashboard-widget-grid > * { width: 100%; min-width: 0; }
.dense-ui .dashboard-widget-grid > .workspace-tasks { grid-column: 1 / -1; }
.dense-ui .dense-dashboard .workspace-panel { padding: 24px; border-radius: 8px; }
.dense-ui .dense-dashboard .workspace-panel h3 { font-size: 15px; font-weight: 600; }
.dense-ui .dense-dashboard .task-tabs { background: var(--ui-soft); }
.dense-ui .dense-dashboard .task-empty { padding: 24px 16px; background: var(--ui-soft); color: var(--ui-secondary); border-radius: 6px; }
.dense-ui .dense-dashboard .workspace-schedule {
  background: var(--ui-gradient-soft) !important; color: var(--ui-ink) !important;
  border: 1px solid var(--ui-line); border-radius: 8px; box-shadow: none;
}
.dense-ui .dense-dashboard .workspace-schedule > .p-5 { padding: 24px; }
.dense-ui .dense-dashboard .workspace-schedule button { background: var(--ui-surface); color: var(--ui-ink); border: 1px solid var(--ui-line); border-radius: 6px; }
.dense-ui .dense-dashboard .workspace-schedule h3 + p { color: var(--ui-secondary); }
.dense-ui .workspace-panel > :is(h3, header) { text-wrap: balance; }
.dense-ui .workspace-highlight .bg-rose-50 { background: #fdebec; }
.dense-ui .workspace-highlight .bg-rose-50 p { color: #9f2f2d; }
.dark .dense-ui .workspace-brand img { background: #efeee8; border-radius: 4px; }
.dark .dense-ui .workspace-highlight .grid > div { background: var(--ui-soft); }
.dark .dense-ui .workspace-highlight .grid > div p { color: var(--ui-ink); }
.dark .dense-ui .workspace-highlight .grid > div p:first-child { color: var(--ui-secondary); }
.dark .dense-ui .workspace-highlight .grid > .bg-rose-50 { background: #45312f; }
.dark .dense-ui .workspace-highlight .grid > .bg-rose-50 p { color: #f0b6af; }
.dark .dense-ui .task-tabs > button > span + span { color: var(--ui-on-accent) !important; }
.dark .dense-ui .module-tabbar .module-tab[aria-selected="true"] :is(span, iconify-icon) { color: var(--ui-on-accent) !important; }

/* Sign-in: a quiet document cover alongside the existing authentication flow. */
.dense-ui .auth-layout,
.portal-minimal .auth-layout {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center; gap: clamp(32px, 6vw, 96px); padding: clamp(24px, 5vw, 72px);
  width: 100%; max-width: none; min-height: 100dvh; margin: 0;
  background: var(--ui-ground); overflow-y: auto;
}
.dense-ui .auth-story,
.portal-minimal .auth-story {
  position: relative; isolation: isolate; overflow: hidden;
  align-self: stretch; min-height: 540px; padding: 40px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 40px;
  background: var(--ui-ground); color: var(--ui-ink); border-radius: 0;
  border-left: 1px solid var(--ui-line);
}
.dense-ui .auth-story::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 280px; height: 280px; right: -100px; bottom: 40px;
  border: 1px solid var(--ui-line); border-radius: 50%;
  box-shadow: 0 0 0 40px var(--ui-ground), 0 0 0 41px var(--ui-line), 0 0 0 80px var(--ui-ground), 0 0 0 81px var(--ui-line);
}
.dense-ui .auth-story-brand { color: var(--ui-ink); font-size: 25px; font-weight: 700; letter-spacing: -.06em; }
.dense-ui .auth-story h2,
.portal-minimal .auth-story h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(42px, 5vw, 68px); font-weight: 800; letter-spacing: -.04em; line-height: 1.08; max-width: 12ch;
}
.dense-ui .auth-story p { color: var(--ui-secondary); max-width: 36ch; font-size: 15px; line-height: 1.75; margin-top: 24px; }
.dense-ui .auth-story-footer { color: var(--ui-secondary); font-size: 11px; }
.dense-ui .auth-card,
.portal-minimal .auth-card { max-width: 420px; padding: 36px; background: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: 12px; box-shadow: none; text-align: left; }
.dense-ui .auth-card > .text-center { text-align: left; }
.dense-ui .auth-card > .text-center img { margin-left: 0; }
.dense-ui .auth-card :is(h1, h2) { font-size: 26px; font-weight: 500; letter-spacing: -.035em; }
.dense-ui .auth-card :is([class*="bg-gradient"], .transform.rotate-3) {
  background: var(--ui-accent-soft); background-image: none; color: var(--ui-ink);
  width: 44px; height: 44px; border-radius: 8px; transform: none; box-shadow: none; margin-left: 0;
}
.dense-ui .auth-card iconify-icon { transform: none; }
.dense-ui .auth-card button { border-radius: 6px; box-shadow: none; min-height: 44px; }
.dense-ui .auth-card input { min-height: 46px; border-radius: 6px; font-size: 14px; }
.dense-ui .auth-card label { color: var(--ui-ink); font-size: 12px; }
.dense-ui .auth-card > p { color: var(--ui-secondary); }
@media (prefers-reduced-motion: no-preference) {
  .dense-ui :is(button, a) { transition: background-color 200ms, color 200ms, transform 200ms !important; }
  .dense-ui .primary-action:active:not(:disabled), .dense-ui .auth-submit:active:not(:disabled) { transform: scale(.98); }
  .dense-ui .auth-story, .dense-ui .auth-card { animation: minimalist-entry 600ms cubic-bezier(.16, 1, .3, 1) both; }
  .dense-ui .auth-card { animation-delay: 80ms; }
}
@keyframes minimalist-entry { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .dense-ui .auth-story, .dense-ui .auth-card { animation: none; opacity: 1; transform: none; }
}
@media (max-width: 767px) {
  .dense-ui .workspace-main { padding: 24px 16px 40px; }
  .dense-ui .workspace-topbar { padding-inline: 16px; }
  .dense-ui .dashboard-grid.dashboard-widget-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .dense-ui .overview-stats > div { padding: 18px; }
  .dense-ui .overview-stats p:nth-child(2) { font-size: 32px; }
  .dense-ui .dense-dashboard .workspace-panel { padding: 20px; }
  .dense-ui .auth-layout, .portal-minimal .auth-layout { display: flex; flex-direction: column; align-items: stretch; padding: 24px; gap: 24px; }
  .dense-ui .auth-story, .portal-minimal .auth-story { min-height: auto; padding: 12px 0 12px 20px; gap: 24px; }
  .dense-ui .auth-story h2 { font-size: 40px; max-width: 16ch; }
  .dense-ui .auth-story p { margin-top: 16px; font-size: 14px; }
  .dense-ui .auth-story-footer { display: none; }
  .dense-ui .auth-card, .portal-minimal .auth-card { padding: 24px; width: 100%; }
}

/* Campus workspace: white canvas, burgundy actions, clear information levels. */
.dense-ui { --workspace-rail: 244px; --workspace-gap: 28px; }
.dense-ui .workspace-sidebar { width: var(--workspace-rail); padding: 28px 16px 18px; }
.dense-ui .workspace-brand { margin: 0 12px 6px; }
.dense-ui .workspace-brand img { width: 154px; height: 30px; }
.dense-ui .workspace-brand-caption { margin: 0 12px 28px; color: var(--ui-secondary); font-size: 11px; }
.dense-ui .workspace-brand-symbol { display: none; }
.dense-ui .workspace-sidebar-nav { gap: 24px; }
.dense-ui .workspace-sidebar-group h2 { margin: 0 12px 8px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.dense-ui .workspace-sidebar :is(.workspace-destination, .workspace-home-link, .workspace-profile-link) {
  gap: 12px; min-height: 44px; border-radius: 6px; font-size: 13px; font-weight: 500;
}
.dense-ui .workspace-sidebar :is(.workspace-current-destination, .router-link-active) { box-shadow: none; }
.dense-ui .workspace-sidebar .workspace-destination[data-navigation-group="mhs"].workspace-parent-current {
  background: var(--ui-accent-soft) !important; color: var(--ui-accent) !important; font-weight: 600;
}
.dense-ui .workspace-destination-icon { width: 20px; font-size: 19px; }
.dense-ui .workspace-sidebar-footer { margin-top: 20px; padding-top: 14px; }
.dense-ui .workspace-sidebar-footer > span { font-size: 10px; color: var(--ui-secondary); }
.dense-ui .workspace-collapse {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  width: 100%; min-height: 44px; color: var(--ui-secondary); font-size: 12px; border-radius: 6px;
}
.dense-ui .workspace-collapse:hover { background: var(--ui-soft); color: var(--ui-ink); }
.dense-ui .workspace-collapse iconify-icon { font-size: 18px; }
.dense-ui .workspace-topbar { padding: 16px 32px; min-height: 76px; gap: 20px; }
.dense-ui .workspace-location { font-size: 12px; gap: 10px; }
.dense-ui .workspace-location > span:first-child { display: inline; color: var(--ui-secondary); }
.dense-ui .workspace-search { width: clamp(180px, 19vw, 280px); }
.dense-ui .workspace-search input { min-height: 40px; background: var(--ui-surface); border-radius: 6px; font-size: 12px; }
.dense-ui .workspace-account button { min-width: 36px; min-height: 36px; }
.dense-ui .workspace-refresh { font-size: 12px; }
.dense-ui .workspace-refresh span { display: none; }
.dense-ui .workspace-main { padding: 36px 36px 64px; }
.dense-ui .module-screen { max-width: 1440px; }
.dense-ui .workspace-context-nav {
  display: flex; align-items: center; flex-shrink: 0; gap: 4px; padding: 0 32px;
  min-height: 52px; border-bottom: 1px solid var(--ui-line); background: var(--ui-surface);
  overflow-x: auto; scrollbar-width: thin;
}
.dense-ui .workspace-context-nav button {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; padding: 16px 14px;
  min-height: 52px; border-bottom: 2px solid transparent; font-size: 12px; color: var(--ui-secondary);
}
.dense-ui .workspace-context-nav button:hover { color: var(--ui-accent); background: var(--ui-soft); }
.dense-ui .workspace-context-nav button[aria-current="page"] { color: var(--ui-accent); border-bottom-color: var(--ui-accent); font-weight: 600; }
.dense-ui :is(.module-title, .ui-page-header h1, .directory-heading h1) {
  font-family: inherit; font-size: 30px; font-weight: 600; letter-spacing: -.045em; line-height: 1.2;
}
.dense-ui .ui-page-header { align-items: start; margin-bottom: 8px; }
.dense-ui .page-description { margin-top: 8px; color: var(--ui-secondary); font-size: 13px; max-width: 65ch; line-height: 1.6; }
.dense-ui .primary-action { padding: 11px 17px; font-size: 12px; }
.dense-ui :is(.ui-panel, .ui-table-wrap, .library-book-card, .note-card, .settings-field-section) { border: 1px solid var(--ui-line); border-radius: 8px; }
.dense-ui :is(.ui-dialog, .service-dialog) { border-radius: 12px; box-shadow: 0 12px 48px rgb(30 15 20 / 4%); }
.dense-ui :is(.ui-dialog, .service-dialog) > .overflow-y-auto { padding: 28px; }
.dense-ui .module-screen .module-tabbar,
.dense-ui .services-page .service-tabs { padding: 0; gap: 20px; background: transparent; border-radius: 0; border-bottom: 1px solid var(--ui-line); }
.dense-ui .module-screen .module-tabbar .module-tab,
.dense-ui .services-page .service-tabs .module-tab { border-radius: 0; padding: 12px 2px; min-height: 46px; border-bottom: 2px solid transparent; font-size: 13px; }
.dense-ui .module-screen .module-tabbar .module-tab:is([aria-pressed="true"], [aria-selected="true"]),
.dense-ui .services-page .service-tabs .module-tab:is([aria-pressed="true"], [aria-selected="true"]) {
  background: transparent !important; color: var(--ui-accent) !important; border-bottom-color: var(--ui-accent); font-weight: 600;
}
.dense-ui .module-screen .module-tabbar .module-tab:is([aria-pressed="true"], [aria-selected="true"]) :is(span, iconify-icon) { color: inherit !important; }
.dense-ui .module-screen .module-tabbar .module-tab span + span {
  background: var(--ui-accent-soft) !important; color: var(--ui-accent) !important; border-radius: 4px; padding: 1px 5px;
}
.dense-ui :is(.dataset-toolbar, .directory-search-filter-row, .services-page .service-list-toolbar) { background: var(--ui-soft); border: 1px solid var(--ui-line); border-radius: 8px; padding: 16px; }
.dense-ui .ui-data-table { background: var(--ui-surface); font-size: 13px; }
.dense-ui .ui-data-table th { padding: 14px 18px; font-size: 11px; font-weight: 500; text-transform: none; letter-spacing: 0; }
.dense-ui .ui-data-table td { padding: 15px 18px; border-color: var(--ui-line); }
.dense-ui .ui-data-table tbody tr:hover { background: var(--ui-soft); }
.dense-ui .ui-data-table .record-primary { font-weight: 500; }
.dense-ui .ui-data-table .record-primary a:hover { color: var(--ui-accent); }
.dense-ui .ui-data-table td:is([data-label="Nominal"],[data-label="Total Nominal"],[data-label="Nominal Potongan"]) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.dense-ui .ui-data-table th { white-space: nowrap; }
.dense-ui .table-sort-button { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; color: inherit; text-align: left; }
.dense-ui .directory-workbench { display: flex; flex-direction: column; gap: 20px; }
.dense-ui .directory-controls { width: 100%; display: flex; flex-direction: column; gap: 16px; }
.dense-ui .directory-actions-row { gap: 12px; align-items: center; }
.dense-ui .directory-actions-row > .inline-flex { background: transparent; border: 0; padding: 0; gap: 4px; }
.dense-ui .directory-actions-row > .inline-flex button { min-height: 38px; border-radius: 6px; padding: 8px 12px; }
.dense-ui .directory-actions-row > .inline-flex button.bg-white { color: var(--ui-accent); background: var(--ui-accent-soft); box-shadow: none; }
.dense-ui .directory-tools { gap: 8px; }
.dense-ui .screen-mahasiswa .directory-tools > button,
.dense-ui .screen-dosen .staff-file-tools > button { background: var(--ui-surface) !important; color: var(--ui-ink) !important; border: 1px solid var(--ui-line); border-radius: 6px; padding: 9px 12px; min-height: 38px; box-shadow: none; }
.dense-ui .screen-mahasiswa .directory-tools > button:hover { color: var(--ui-accent) !important; border-color: var(--ui-accent); }
.dense-ui .directory-search-filter-row { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(0, 1.6fr); align-items: end; gap: 20px; }
.dense-ui .directory-search-control > .relative { width: 100%; }
.dense-ui .directory-visible-filters { width: 100%; min-width: 0; }
.dense-ui .directory-filterbar { gap: 12px; align-items: end; }
.dense-ui .directory-filter { min-width: 0; }
.dense-ui .directory-filter > span,
.dense-ui .directory-search-label { display: block; color: var(--ui-secondary); font-size: 11px; margin-bottom: 6px; }
.dense-ui .directory-filter select { min-height: 40px; }
.dense-ui .directory-results { width: 100%; }
.dense-ui .directory-result-heading { margin-block: 2px 12px; }
.dense-ui .directory-result-heading > span { font-size: 12px; }
.dense-ui .directory-results .student-status-cell span { background: #edf3ec !important; color: #346538 !important; font-weight: 500; font-size: 10px; padding: 4px 8px; border-radius: 4px; }
.dense-ui .directory-results .student-nim-cell { font-family: 'SF Mono', ui-monospace, monospace; font-size: 11px; }
.dense-ui .directory-results .student-status-cell span:not([data-status="Aktif"]) { background: var(--ui-soft) !important; color: var(--ui-secondary) !important; }
.dense-ui .directory-results .student-status-cell span[data-status="Lulus"] { background: #e1f3fe !important; color: #1f6c9f !important; }
.dense-ui .directory-results .student-status-cell span[data-status="Cuti"] { background: #fbf3db !important; color: #956400 !important; }
.dense-ui .directory-results .student-status-cell span[data-status="Drop Out"] { background: #fdebec !important; color: #9f2f2d !important; }
.dense-ui :is(.module-screen,.portal-view,.auth-layout) :is(.shadow-lg,.shadow-xl,.shadow-2xl) { box-shadow: none; }
.dense-ui :is(.module-screen,.portal-view) :is(.rounded-2xl,.rounded-3xl) { border-radius: 8px; }
.dense-ui :is(.module-screen,.portal-view) [class*="bg-gradient"] { background-image: none !important; }
.dense-ui .settings-category-grid { display: flex; overflow: auto; flex-wrap: nowrap; padding: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; background: transparent; gap: 20px; }
.dense-ui .settings-category-grid > button { flex-shrink: 0; border-radius: 0; padding: 12px 0; border-bottom: 2px solid transparent; font-size: 13px; }
.dense-ui .settings-category-grid > button[aria-pressed="true"] { background: transparent !important; color: var(--ui-accent) !important; border-color: var(--ui-accent); }
.dense-ui .settings-category-grid > button { border-radius: 0 !important; }
.dense-ui .settings-field-section { padding: 28px; }
.dense-ui .settings-section-fields { gap: 24px 20px; }
.dense-ui .settings-field label { margin-bottom: 8px; }
.dense-ui .settings-save-bar { background: var(--ui-surface); border-top: 1px solid var(--ui-line); padding: 16px 0 !important; }
.dense-ui .service-empty { padding: 40px 24px; border-radius: 8px; background: var(--ui-soft); }
.dense-ui .services-page .service-metrics.library-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; border: 1px solid var(--ui-line); border-radius: 8px; overflow: hidden; }
.dense-ui .library-metrics > .ui-panel { border: 0; border-right: 1px solid var(--ui-line); border-radius: 0; padding: 24px; }
.dense-ui .library-metrics > .ui-panel:last-child { border-right: 0; }
.dense-ui .library-metrics > .ui-panel > div:last-child { font-size: 32px; font-weight: 500; line-height: 1.2; margin-top: 16px; }
.dense-ui .library-metrics > .ui-panel > div:first-child { font-size: 11px; }
.dense-ui .library-metrics > .ui-panel > div:first-child > .w-6 { background: transparent !important; color: var(--ui-accent) !important; }

/* Role-aware dashboard columns: work on the left, today's context on the right. */
.dense-ui .dense-dashboard { display: flex; flex-direction: column; gap: 28px; }
.dense-ui .workspace-heading { align-items: center; padding: 4px 0 0; }
.dense-ui .workspace-heading h1 { font-size: clamp(34px, 3vw, 46px); }
.dense-ui .workspace-heading-copy > p { color: var(--ui-accent); font-size: 11px; margin-bottom: 10px; font-weight: 500; }
.dense-ui .dashboard-intro { margin-top: 12px; color: var(--ui-secondary); font-size: 13px; }
.dense-ui .workspace-period { flex-direction: column; align-items: flex-end; gap: 4px; }
.dense-ui .workspace-period strong { color: var(--ui-accent); }
.dense-ui .workspace-period > span:last-child { background: var(--ui-soft); padding: 4px 8px; border-radius: 4px; }
.dense-ui .overview-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; gap: 16px; border: 0; border-radius: 0; overflow: visible; background: transparent; }
.dense-ui .overview-stats > div { position: relative; min-width: 0; border: 1px solid var(--ui-line) !important; border-radius: 8px; padding: 24px; background: var(--ui-surface); }
.dense-ui .overview-stats > div:nth-child(3) { background: var(--ui-gradient-soft); }
.dense-ui .overview-stats p:first-child { padding-right: 26px; font-size: 12px; }
.dense-ui .overview-stats p:nth-child(2) { font-size: 36px; margin: 12px 0 10px; color: var(--ui-ink) !important; }
.dense-ui .metric-icon { position: absolute; right: 22px; top: 24px; font-size: 19px; color: var(--ui-accent); }
.dense-ui .dashboard-services { display: flex; align-items: center; gap: 20px; margin: 0 !important; }
.dense-ui .dashboard-services-label { font-size: 11px; color: var(--ui-secondary); flex-shrink: 0; }
.dense-ui .dashboard-services .overview-shortcuts { gap: 8px; }
.dense-ui .dashboard-services .overview-shortcuts button { border: 0; background: var(--ui-soft); padding: 10px 12px; min-height: 40px; }
.dense-ui .dashboard-services .overview-shortcuts button:hover { background: var(--ui-accent-soft); color: var(--ui-accent); }
.dense-ui .dashboard-services .overview-shortcuts iconify-icon { color: var(--ui-accent); }
.dense-ui .dashboard-grid.dashboard-widget-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, 1fr); gap: 28px; align-items: start; }
.dense-ui .dashboard-main-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.dense-ui .dashboard-main-column > * { min-width: 0; grid-column: 1 / -1; }
.dense-ui .dashboard-main-column > .workspace-highlight { grid-column: auto; }
.dense-ui .dashboard-context-column { display: flex; flex-direction: column; gap: 24px; }
.dense-ui .dashboard-context-column > * { width: 100%; min-width: 0; }
.dense-ui .dashboard-main-column:empty, .dense-ui .dashboard-context-column:empty { display: none; }
.dense-ui .dashboard-grid.dashboard-widget-grid:not(:has(> .dashboard-main-column > *)),
.dense-ui .dashboard-grid.dashboard-widget-grid:not(:has(> .dashboard-context-column > *)) { grid-template-columns: minmax(0, 1fr); }
.dense-ui .dense-dashboard .workspace-panel { padding: 24px; border-radius: 8px; }
.dense-ui .dense-dashboard .workspace-tasks > div:first-child { gap: 18px; }
.dense-ui .dense-dashboard .workspace-tasks .task-tabs { gap: 20px; width: 100%; flex-wrap: nowrap; overflow-x: auto; }
.dense-ui .dense-dashboard .workspace-tasks .task-tabs > button { flex: 0 0 auto; font-size: 12px; }
.dense-ui .dense-dashboard .task-empty { background: transparent; padding: 28px 12px; color: var(--ui-secondary); text-align: left; font-size: 12px; }
.dense-ui .dense-dashboard .task-empty::before { content: 'Selesai'; display: block; color: #346538; font-size: 11px; margin-bottom: 6px; }
.dense-ui .dense-dashboard .workspace-highlight > .grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.dense-ui .workspace-highlight .grid > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-radius: 0; background: transparent; border-bottom: 1px solid var(--ui-line); }
.dense-ui .workspace-highlight .grid > div:last-child { border-bottom: 0; }
.dense-ui .workspace-highlight .grid > div p:first-child { font-weight: 400; }
.dense-ui .workspace-highlight .grid > div p:last-child { font-size: 20px; font-weight: 500; }
.dense-ui .dense-dashboard .dashboard-context-column .workspace-schedule { background: var(--ui-surface) !important; color: var(--ui-ink) !important; border: 1px solid var(--ui-line); border-top: 3px solid var(--ui-accent); }
.dense-ui .dense-dashboard .dashboard-context-column .workspace-schedule :is(h3,p,span) { color: inherit !important; }
.dense-ui .dense-dashboard .dashboard-context-column .workspace-schedule h3 + p { color: var(--ui-secondary) !important; }
.dense-ui .workspace-schedule .truncate { white-space: normal; overflow: visible; text-overflow: clip; }
.dense-ui .workspace-schedule button:last-child { align-items: start; }
.dense-ui .dense-dashboard .workspace-schedule > .p-5 { padding: 22px; }
.dense-ui .workspace-schedule button:last-child { background: var(--ui-gradient-soft); border: 0; padding: 14px; }
.dense-ui .workspace-schedule button span:last-child { border-radius: 4px; }
.dense-ui .workspace-schedule > .p-5 > div:first-child { display: block; }
.dense-ui .workspace-schedule > .p-5 > div:first-child > button { background: transparent; border: 0; border-radius: 0; padding: 0; margin-top: 10px; min-height: 28px; color: var(--ui-accent); }
.dense-ui .workspace-schedule .schedule-class { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
.dense-ui .workspace-schedule .schedule-class > span:nth-child(1) { grid-column: 1; grid-row: 2; width: auto; display: flex; gap: 8px; align-items: center; text-align: left; }
.dense-ui .workspace-schedule .schedule-class > span:nth-child(2) { display: none; }
.dense-ui .workspace-schedule .schedule-class > span:nth-child(3) { grid-column: 1 / -1; grid-row: 1; }
.dense-ui .workspace-schedule .schedule-class > span:nth-child(3) > span:last-child { font-family: inherit; font-size: 11px; margin-top: 5px; line-height: 1.6; }
.dense-ui .workspace-schedule .schedule-class > span:nth-child(4) { grid-column: 2; grid-row: 2; font-size: 10px; }
.dense-ui .workspace-calendar .rounded-full { border-radius: 5px; }
.dense-ui .workspace-transactions .max-h-\[260px\] { max-height: 320px; }
.dense-ui .trend-grid { gap: 16px; }

/* Sign-in: generous white cover, product context, then a focused form. */
.dense-ui .auth-layout, .portal-minimal .auth-layout { max-width: 1320px; margin: auto; padding: 56px; gap: 80px; background: var(--ui-surface); }
.dense-ui .auth-layout::before, .dense-ui .auth-layout::after { display: none; }
.dense-ui .auth-story, .portal-minimal .auth-story { background: var(--ui-surface); border: 0; padding: 28px 12px; min-height: 560px; }
.dense-ui .auth-story-brand { color: var(--ui-accent); }
.dense-ui .auth-story h2, .portal-minimal .auth-story h2 { font-size: clamp(44px, 4.5vw, 66px); max-width: 13ch; }
.dense-ui .auth-story::after { display: none; }
.dense-ui .auth-story-services { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--ui-line); max-width: 42ch; }
.dense-ui .auth-story-services span { display: inline-flex; align-items: center; gap: 7px; color: var(--ui-secondary); font-size: 11px; }
.dense-ui .auth-story-services iconify-icon { color: var(--ui-accent); font-size: 16px; }
.dense-ui .auth-card, .portal-minimal .auth-card { padding: 40px; max-width: 440px; border-radius: 12px; }
.dense-ui .auth-card .auth-form-heading { font-size: 24px; margin-bottom: 6px; }
.dense-ui .auth-card .auth-form-description { font-size: 12px; color: var(--ui-secondary); line-height: 1.6; margin-bottom: 28px; }
.dense-ui .auth-card input { text-align: left; }
.dense-ui .auth-card input[maxlength="6"] { text-align: center; }
.dense-ui .auth-card .auth-submit { min-height: 46px; }
.dense-ui .auth-card .rounded-full { border-radius: 4px; }
.dense-ui .auth-card :is([class*="bg-gradient"], .transform.rotate-3) { background: var(--ui-accent-soft); color: var(--ui-accent); }
.dense-ui .ui-loading-layer { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; background: rgb(255 255 255 / 80%); }
.dense-ui .ui-loading-card { width: min(340px, calc(100vw - 48px)); padding: 28px; background: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: 12px; }
.dense-ui .ui-loading-card strong { display: block; font-size: 14px; margin-bottom: 6px; }
.dense-ui .ui-loading-card p { font-size: 12px; color: var(--ui-secondary); margin-bottom: 24px; }
.dense-ui .ui-skeleton { height: 10px; margin-top: 12px; border-radius: 3px; background: var(--ui-soft); }
.dense-ui .ui-skeleton:nth-last-child(2) { width: 84%; }
.dense-ui .ui-skeleton:last-child { width: 56%; }

/* Student portal uses the same hierarchy and accessible control sizes. */
.portal-minimal .portal-workspace-sidebar { width: 244px; padding: 28px 16px; }
.portal-minimal .portal-workspace-topbar { min-height: 76px; padding-inline: 36px; }
.portal-minimal .content-area { padding: 36px 36px 64px !important; }
.portal-minimal .student-home { gap: 28px; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); }
.portal-minimal .student-home-heading { padding: 0 0 28px; }
.portal-minimal .student-home-heading h1 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 42px; font-weight: 400; }
.portal-minimal .student-home-heading .home-eyebrow { color: var(--ui-accent); font-size: 11px; margin-bottom: 10px; }
.portal-minimal .student-home-status { background: #edf3ec; color: #346538; padding: 5px 10px; border-radius: 4px; font-size: 11px; }
.portal-minimal .student-home-metrics { order: 1; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portal-minimal .student-home-metrics > .ui-panel { padding: 24px; }
.portal-minimal .student-home-actions { order: 2; }
.portal-minimal .student-home-actions button { min-height: 60px; border: 1px solid var(--ui-line); }
.portal-minimal .student-home-actions button > div { background: var(--ui-accent-soft); color: var(--ui-accent); }
.portal-minimal .portal-nav-group { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; padding-top: 24px; }
.portal-minimal .portal-sidebar-services .sidebar-rail-item.active { color: var(--ui-accent) !important; box-shadow: none; }
.portal-minimal :is(.biodata-tabs, .finance-tabs, .opensea-tabs) { background: transparent; border: 0; border-bottom: 1px solid var(--ui-line); padding: 0; border-radius: 0; gap: 24px; }
.portal-minimal :is(.biodata-tab, .finance-tab, .opensea-tab-item) { min-height: 46px; padding: 12px 0; border-radius: 0; border-bottom: 2px solid transparent; }
.portal-minimal :is(.biodata-tab, .finance-tab, .opensea-tab-item).active { color: var(--ui-accent); border-bottom-color: var(--ui-accent); box-shadow: none; }
.portal-minimal :is(.form-input, .form-select, .form-textarea) { border-radius: 6px; min-height: 44px; }
.portal-minimal .modal-card { padding: 28px; border: 1px solid var(--ui-line); border-radius: 12px; }
.portal-minimal .toast-notification { border-radius: 8px; box-shadow: none; font-size: 13px; font-weight: 500; line-height: 1.6; }
.portal-minimal .toast-error { background: #fdebec; color: #9f2f2d; border: 1px solid #f2d8da; }
.portal-minimal .toast-success { background: #edf3ec; color: #346538; border: 1px solid #dde8db; }
.dense-ui .admissions-home .card { border: 1px solid var(--ui-line); border-radius: 8px; box-shadow: none; }

@media (min-width: 1024px) {
  .dense-ui .workspace-rail-mode .workspace-sidebar { width: 76px; padding-inline: 12px; }
  .dense-ui .workspace-rail-mode .workspace-brand { margin: 0 auto 28px; }
  .dense-ui .workspace-rail-mode .workspace-brand > :not(.workspace-brand-symbol) { display: none; }
  .dense-ui .workspace-rail-mode .workspace-brand-symbol { display: grid; place-items: center; width: 40px; height: 40px; background: var(--ui-accent-soft); color: var(--ui-accent); border-radius: 8px; font-family: Georgia, serif; font-size: 28px; }
  .dense-ui .workspace-rail-mode .workspace-brand-caption { display: none; }
  .dense-ui .workspace-rail-mode .workspace-sidebar-group h2 { font-size: 0; height: 1px; margin: 0 8px 12px; background: var(--ui-line); }
  .dense-ui .workspace-rail-mode .workspace-sidebar :is(.workspace-destination, .workspace-home-link, .workspace-profile-link, .workspace-collapse) { position: relative; justify-content: center; padding: 0; width: 48px; min-height: 44px; }
  .dense-ui .workspace-rail-mode .workspace-sidebar :is(.workspace-destination, .workspace-home-link, .workspace-profile-link, .workspace-collapse) > span:not(.workspace-destination-icon) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .dense-ui .workspace-rail-mode .workspace-sidebar-footer > span { display: none; }
  .dense-ui .workspace-rail-mode .workspace-sidebar [data-tooltip]:is(:hover, :focus-visible)::after {
    content: attr(data-tooltip); position: fixed; left: 70px; z-index: 70; padding: 7px 10px;
    background: var(--ui-ink); color: var(--ui-surface); border-radius: 4px; font-size: 11px; white-space: nowrap; pointer-events: none;
  }
}
@media (max-width: 1279px) {
  .dense-ui .workspace-topbar { padding-inline: 24px; gap: 12px; }
  .dense-ui .workspace-location > span:first-child { display: none; }
  .dense-ui .workspace-main { padding: 28px 24px 48px; }
  .dense-ui .dashboard-grid.dashboard-widget-grid { grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: 20px; }
  .dense-ui .dashboard-main-column { gap: 20px; }
  .dense-ui .dashboard-main-column > .workspace-highlight { grid-column: 1 / -1; }
  .dense-ui .overview-stats > div { padding: 20px; }
  .dense-ui .metric-icon { right: 16px; top: 22px; }
  .dense-ui .directory-search-filter-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .dense-ui .directory-search-control { max-width: none; }
}
@media (max-width: 1023px) {
  .dense-ui .workspace-sidebar { width: 276px; }
  .dense-ui .workspace-collapse { display: none; }
  .dense-ui .workspace-context-nav { padding-inline: 20px; }
  .dense-ui .workspace-brand-caption { margin-top: 12px; }
  .dense-ui .workspace-sidebar-nav { gap: 20px; }
  .dense-ui .auth-layout, .portal-minimal .auth-layout { gap: 40px; padding: 32px; }
  .dense-ui .auth-card, .portal-minimal .auth-card { padding: 28px; }
  .dense-ui .dashboard-grid.dashboard-widget-grid { grid-template-columns: minmax(0, 1fr); }
  .dense-ui .dashboard-context-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (max-width: 767px) {
  .dense-ui .workspace-main { padding: 24px 16px 40px; }
  .dense-ui .workspace-topbar { min-height: 68px; padding: 12px 16px; gap: 8px; }
  .dense-ui .workspace-location { display: none; }
  .dense-ui .workspace-context-nav { padding-inline: 12px; min-height: 48px; }
  .dense-ui .workspace-context-nav button { padding: 14px 10px; min-height: 48px; font-size: 12px; }
  .dense-ui :is(.module-title, .ui-page-header h1, .directory-heading h1) { font-size: 27px; }
  .dense-ui .workspace-heading { align-items: start; gap: 20px; }
  .dense-ui .workspace-heading h1 { font-size: 36px; }
  .dense-ui .workspace-period { align-items: flex-start; flex-direction: row; flex-wrap: wrap; gap: 8px 12px; }
  .dense-ui .overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .dense-ui .overview-stats > div { padding: 18px; }
  .dense-ui .overview-stats p:first-child { padding: 0; font-size: 11px; }
  .dense-ui .metric-icon { display: none; }
  .dense-ui .overview-stats p:nth-child(2) { font-size: 32px; }
  .dense-ui .dashboard-services { display: block; }
  .dense-ui .dashboard-services-label { display: block; margin-bottom: 12px; }
  .dense-ui .dashboard-services .overview-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dense-ui .dashboard-main-column, .dense-ui .dashboard-context-column { display: flex; flex-direction: column; gap: 16px; }
  .dense-ui .dashboard-main-column > * { width: 100%; }
  .dense-ui .dense-dashboard .workspace-panel { padding: 20px; }
  .dense-ui .directory-actions-row { align-items: stretch; }
  .dense-ui .directory-actions-row > .inline-flex { display: flex; }
  .dense-ui .directory-actions-row > .inline-flex button { flex: 1; justify-content: center; }
  .dense-ui .directory-tools { flex-wrap: wrap; }
  .dense-ui .directory-tools > button { flex: 1 1 auto; justify-content: center; }
  .dense-ui .directory-search-filter-row { padding: 16px; }
  .dense-ui .directory-filterbar { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .dense-ui .directory-filter { width: 100%; }
  .dense-ui .directory-filterbar > button { width: 100%; min-height: 40px; }
  .dense-ui .settings-field-section { padding: 20px; }
  .dense-ui .settings-section-fields { grid-template-columns: minmax(0, 1fr); }
  .dense-ui .services-page .service-metrics.library-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dense-ui .library-metrics > .ui-panel { padding: 20px; }
  .dense-ui .library-metrics > .ui-panel:nth-child(2n) { border-right: 0; }
  .dense-ui .library-metrics > .ui-panel:nth-child(-n+2) { border-bottom: 1px solid var(--ui-line); }
  .dense-ui .auth-layout, .portal-minimal .auth-layout { display: flex; padding: 28px 24px; gap: 28px; }
  .dense-ui .auth-story, .portal-minimal .auth-story { min-height: auto; padding: 0; gap: 28px; }
  .dense-ui .auth-story h2, .portal-minimal .auth-story h2 { font-size: 42px; max-width: 13ch; }
  .dense-ui .auth-story-services { margin-top: 20px; padding-top: 16px; gap: 8px 16px; }
  .dense-ui .auth-card, .portal-minimal .auth-card { padding: 24px; margin: 0; max-width: none; }
  .portal-minimal .content-area { padding: 24px 16px 100px !important; }
  .portal-minimal .student-home { display: flex; flex-direction: column; gap: 24px; }
  .portal-minimal .student-home-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .portal-minimal .student-home-metrics > .ui-panel { padding: 16px; }
  .portal-minimal .student-home-heading h1 { font-size: 34px; }
}
@media (prefers-reduced-motion: no-preference) {
  .dense-ui .ui-skeleton { animation: skeleton-breathe 1.6s ease-in-out infinite alternate; }
}
@keyframes skeleton-breathe { from { opacity: .45; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .dense-ui .ui-skeleton { animation: none; } }
@media print { .dense-ui :is(.workspace-context-nav, .workspace-collapse) { display: none !important; } }

/* Direct classroom attendance links and the full-page attendance workspace. */
.dense-ui .schedule-all-classes { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; color: var(--ui-accent); font-size: 12px; }
.dense-ui .workspace-schedule .schedule-class { background: var(--ui-soft); padding: 16px; border: 1px solid var(--ui-line); border-radius: 8px; color: var(--ui-ink); }
.dense-ui .workspace-schedule .schedule-class:hover { border-color: var(--ui-accent); }
.dense-ui .workspace-schedule .schedule-class > .schedule-class-cta { grid-column: 1 / -1; grid-row: 3; display: flex; align-items: center; justify-content: space-between; color: var(--ui-accent) !important; border-top: 1px solid var(--ui-line); padding-top: 12px; font-size: 12px; font-weight: 600; }
.dense-ui .dense-dashboard .dashboard-context-column .workspace-schedule.has-active-class { background: var(--ui-gradient-soft) !important; border-color: var(--ui-accent); }
.dense-ui .workspace-schedule .schedule-class.schedule-class-active { background: var(--ui-surface); border-color: var(--ui-accent); }
.dense-ui .workspace-schedule .schedule-live-badge { background: #edf3ec !important; color: #346538 !important; }
.dense-ui .workspace-schedule .schedule-time-badge { background: var(--ui-accent-soft); color: var(--ui-accent); }
.dense-ui .dense-dashboard .dashboard-context-column .workspace-schedule .schedule-live-badge { color: #346538 !important; }
.dense-ui .dense-dashboard .dashboard-context-column .workspace-schedule .schedule-class-cta { color: var(--ui-accent) !important; }
.dense-ui .attendance-list-link { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 7px 10px; border-radius: 6px; color: var(--ui-accent); background: var(--ui-accent-soft); font-size: 11px; white-space: nowrap; }
.dense-ui .attendance-list-link:hover { background: var(--ui-accent); color: var(--ui-on-accent); }
.dense-ui .attendance-page { display: flex; flex-direction: column; gap: 24px; }
.dense-ui .attendance-page-heading { align-items: center; }
.dense-ui .attendance-back { display: inline-flex; align-items: center; gap: 8px; color: var(--ui-secondary); font-size: 12px; margin-bottom: 16px; }
.dense-ui .attendance-back:hover { color: var(--ui-accent); }
.dense-ui .attendance-workspace { padding: 0; overflow: hidden; }
.dense-ui .attendance-layout { overflow: visible; }
.dense-ui .attendance-layout > div { padding: 24px; }
.dense-ui .attendance-layout .max-h-\[420px\], .dense-ui .attendance-layout .max-h-\[380px\] { max-height: none; overflow: visible; }
.dense-ui .attendance-layout [role="button"] { border-radius: 6px; }
.dense-ui .attendance-layout .inline-flex:has(input[type="radio"]) { flex-wrap: wrap; }
.dense-ui .attendance-layout label:has(input[type="radio"]) { min-height: 36px; }
.dense-ui .attendance-layout .ui-data-table td { padding: 12px; }
.dense-ui .attendance-error { color: #9f2f2d; background: #fdebec; }
.dense-ui .attendance-error a { text-decoration: underline; margin-left: 8px; }
.dense-ui .attendance-readonly { padding: 6px 10px; border-radius: 4px; background: var(--ui-soft); color: var(--ui-secondary); font-size: 12px; }

/* The teaching schedule is the first dashboard action, before campus metrics. */
.dense-ui .dashboard-priority-row { min-width: 0; }
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 24px; align-items: start; }
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) .overview-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) .overview-stats > div { padding: 20px; }
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) .overview-stats p:first-child { padding-right: 0; font-size: 11px; }
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) .overview-stats p:nth-child(2) { font-size: 32px; }
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) .metric-icon { display: none; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule[class] {
  background: var(--ui-gradient-soft) !important; color: var(--ui-ink) !important;
  border: 1px solid var(--ui-accent); border-left-width: 4px; border-radius: 8px;
  min-width: 0; width: 100%; flex: none; box-shadow: none;
}
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule > .p-5 { padding: 20px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule > .p-5 > div:first-child { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule h3 { font-size: 18px; font-weight: 600; color: var(--ui-accent) !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule h3 > span { background: transparent; color: var(--ui-accent) !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule h3 iconify-icon { color: inherit !important; font-size: 20px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule h3 + p { padding-left: 0; color: var(--ui-secondary) !important; font-size: 12px; margin-top: 8px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-all-classes { margin: 0; font-weight: 500; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .space-y-2 { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: 16px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .space-y-2 > * { margin: 0; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class {
  background: var(--ui-surface); color: var(--ui-ink); border: 1px solid var(--ui-line);
  padding: 20px; gap: 16px; border-radius: 8px;
}
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span { color: inherit !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span:nth-child(3) > span:first-child { font-size: 20px; font-weight: 600; line-height: 1.35; letter-spacing: -.025em; color: inherit !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span:nth-child(3) > span:last-child { font-size: 13px; color: var(--ui-secondary) !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span:nth-child(1) { font-size: 13px; gap: 12px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span:nth-child(1) span { font-size: 13px; color: inherit !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > .schedule-class-cta {
  padding: 12px 16px; border: 0; border-radius: 6px; margin-top: 2px;
  background: var(--ui-accent); color: var(--ui-on-accent) !important; font-size: 14px;
}
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class.schedule-class-active {
  background: #880422 !important; color: #ffffff !important; border-color: #880422;
}
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class.schedule-class-active:hover { background: #71031c !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class-active > span:nth-child(3) > span:last-child { color: #f3dce2 !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class-active .schedule-live-badge { background: #ffffff !important; color: #880422 !important; font-size: 11px; font-weight: 600; padding: 6px 10px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class-active > .schedule-class-cta { background: #ffffff; color: #880422 !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class-active .schedule-live-badge::before { content: ''; display: inline-block; width: 6px; height: 6px; background: currentColor; border-radius: 50%; margin-right: 6px; vertical-align: middle; }

/* Compact primary teaching card with quiet geometric accents. */
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule[class] {
  isolation: isolate; background: #880422 !important; color: #ffffff !important;
  border: 1px solid #880422; border-radius: 12px;
}
.dense-ui .dashboard-priority-row > .workspace-schedule::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 190px; height: 190px; right: -72px; top: -86px;
  border: 28px solid rgb(255 255 255 / 5%); border-radius: 50%;
}
.dense-ui .dashboard-priority-row > .workspace-schedule::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 110px; height: 110px; right: -12px; top: -12px;
  border: 1px solid rgb(255 255 255 / 13%); border-radius: 50%;
}
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule > .p-5 { padding: 24px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule h3 { color: #ffffff !important; font-size: 16px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule h3 > span { background: rgb(255 255 255 / 12%); color: #ffffff !important; width: 30px; height: 30px; border-radius: 7px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule h3 + p { color: #edd3da !important; font-weight: 400; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-all-classes { color: #ffffff; font-size: 11px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class,
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class.schedule-class-active {
  padding: 20px 0 0; border: 0; border-top: 1px solid rgb(255 255 255 / 18%);
  border-radius: 0; background: transparent !important; color: #ffffff !important;
}
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class:hover { background: transparent !important; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span:nth-child(3) > span:first-child { font-size: 23px; line-height: 1.25; letter-spacing: -.03em; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span:nth-child(3) > span:last-child { color: #edd3da !important; margin-top: 8px; font-size: 12px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span:nth-child(1) span { color: #ffffff !important; font-weight: 500; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-time-badge { background: rgb(255 255 255 / 12%); color: #ffffff !important; padding: 6px 9px; border-radius: 5px; font-weight: 500; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > .schedule-class-cta { background: #ffffff; color: #880422 !important; margin-top: 8px; min-height: 44px; font-size: 13px; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class:hover > .schedule-class-cta { background: #f8edf0; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class-active .schedule-live-badge { background: #ffffff !important; color: #880422 !important; }
@media (max-width: 767px) {
  .dense-ui .dashboard-priority-row:has(> .workspace-schedule) { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule > .p-5 { padding: 20px 16px; }
  .dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class { padding: 20px 16px; }
  .dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class > span:nth-child(3) > span:first-child { font-size: 20px; }
}
@media (max-width: 767px) {
  .dense-ui .attendance-layout > div { padding: 16px; }
  .dense-ui .attendance-layout .max-h-\[420px\] { max-height: 200px; overflow-y: auto; }
  .dense-ui .attendance-layout .flex.justify-between { flex-wrap: wrap; gap: 12px; }
  .dense-ui .attendance-layout .ui-data-table td { padding: 0; }
}

/* One schedule per page keeps both desktop columns the same height. */
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) { align-items: stretch; }
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) > .workspace-summary { display: flex; min-width: 0; }
.dense-ui .dashboard-priority-row:has(> .workspace-schedule) .overview-stats { width: 100%; grid-auto-rows: 1fr; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule > .p-5 { display: flex; flex-direction: column; height: 100%; }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .space-y-2 { flex: 1; grid-template-columns: minmax(0,1fr); }
.dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule .schedule-class { align-content: start; }
.dense-ui .schedule-carousel-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; font-size: 11px; color: #edd3da; }
.dense-ui .schedule-carousel-controls > div { display: flex; gap: 8px; }
.dense-ui .dense-dashboard .workspace-schedule .schedule-carousel-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgb(255 255 255 / 25%); background: rgb(255 255 255 / 8%); color: #ffffff; border-radius: 6px; }
.dense-ui .dense-dashboard .workspace-schedule .schedule-carousel-controls button:hover { background: rgb(255 255 255 / 18%); }
.dense-ui .workspace-schedule :is(a,button):focus-visible { outline: 2px solid #ffffff; outline-offset: 3px; }
@media (max-width: 767px) {
  .dense-ui .dense-dashboard .dashboard-priority-row > .workspace-schedule > .p-5 { height: auto; }
}

/* Consistent sans-serif headings across admin, login, and student pages. */
:is(h1,h2,h3,h4,h5,h6) { font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; }

/* Detail workspaces live in the page, with normal document scrolling. */
.dense-ui .detail-page { min-width: 0; }
.dense-ui .detail-page > .detail-page-header { margin-bottom: 24px !important; }
.dense-ui .detail-page-header h1 { font-size: clamp(26px,3vw,36px); font-weight: 600; line-height: 1.2; margin-top: 12px; }
.dense-ui .detail-back { display: inline-flex; align-items: center; min-height: 36px; color: var(--ui-accent); font-size: 13px; }
.dense-ui .detail-page-content > .ui-dialog { width: 100%; max-width: none !important; max-height: none !important; height: auto; margin: 0; border: 1px solid var(--ui-line); border-radius: 12px; box-shadow: none; }
.dense-ui .detail-page-content [class*="max-h-"] { max-height: none !important; }
.dense-ui .detail-page-content .overflow-y-auto { overflow-y: visible; }
.dense-ui .detail-page-content .sticky { position: static; }
.dense-ui .detail-page-content .ui-data-table { min-width: 600px; }
.dense-ui .detail-page-content .ui-table-wrap { overflow-x: auto; }
.dense-ui .detail-page-content input[type="number"] { min-width: 64px; padding-inline: 8px; }
.dense-ui .detail-error { padding: 24px; color: #9f2f2d; }
.dense-ui .detail-error button { margin-top: 16px; text-decoration: underline; }
.dense-ui .detail-book { display: flex; gap: 32px; padding: 28px; }
.dense-ui .detail-book > img { width: 160px; height: 220px; object-fit: cover; border-radius: 8px; }
.dense-ui .detail-book h2 { font-size: 24px; font-weight: 600; }
.dense-ui .detail-book dl { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 12px; margin-block: 24px; font-size: 14px; }
.dense-ui .detail-book dt { color: var(--ui-secondary); }
.dense-ui .detail-book dd { overflow-wrap: anywhere; }
.dense-ui .detail-actions { display: flex; flex-wrap: wrap; gap: 20px; color: var(--ui-accent); font-size: 13px; }
.dense-ui .note-detail-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 20px 24px; border-bottom: 1px solid var(--ui-line); color: var(--ui-secondary); font-size: 12px; }
.dense-ui .note-detail-workspace .ql-editor { min-height: 280px; font-size: 15px; line-height: 1.8; }
.dense-ui .note-detail-workspace form > div:last-child { flex-wrap: wrap; }
.dense-ui .note-detail-workspace form > div:last-child > div:first-child { flex-wrap: wrap; overflow: visible; }
.dense-ui .library-book-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dense-ui .library-book-actions { flex-wrap: wrap; }
@media (max-width: 1023px) { .dense-ui .library-book-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 639px) { .dense-ui .library-book-grid { grid-template-columns: minmax(0,1fr); } }
.dense-ui .archive-detail-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(280px,1fr); gap: 24px; align-items: start; }
.dense-ui .archive-detail-grid .ui-panel { padding: 24px; border: 1px solid var(--ui-line); border-radius: 12px; background: #ffffff; }
.dense-ui .archive-record-header { display: flex; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid var(--ui-line); }
.dense-ui .archive-record-icon { display: grid; place-items: center; flex-shrink: 0; width: 48px; height: 48px; border-radius: 10px; background: #f8edf0; color: #880422; font-size: 24px; }
.dense-ui .archive-record-header > div { min-width: 0; }
.dense-ui .archive-record-header p { color: var(--ui-secondary); font-size: 12px; margin-bottom: 8px; }
.dense-ui .archive-record-header h2 { font-size: clamp(20px,2vw,27px); font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.dense-ui .archive-number { display: block; font-size: 12px; color: var(--ui-secondary); margin-top: 12px; overflow-wrap: anywhere; }
.dense-ui .archive-detail-grid h3 { font-size: 14px; font-weight: 600; }
.dense-ui .archive-information { margin-top: 24px; }
.dense-ui .archive-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 20px; }
.dense-ui .archive-fields dt { font-size: 12px; color: var(--ui-secondary); margin-bottom: 8px; }
.dense-ui .archive-fields dd { font-size: 14px; font-weight: 500; line-height: 1.6; overflow-wrap: anywhere; }
.dense-ui .archive-description { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--ui-line); }
.dense-ui .archive-description p { font-size: 14px; line-height: 1.8; white-space: pre-wrap; margin-top: 12px; }
.dense-ui .archive-recipient-link { display: flex; align-items: center; gap: 10px; margin-top: 24px; color: #880422; font-size: 13px; }
.dense-ui .archive-record-id { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 20px; margin-top: 24px; border-top: 1px solid var(--ui-line); color: var(--ui-secondary); font-size: 11px; }
.dense-ui .archive-record-id code { overflow-wrap: anywhere; }
.dense-ui .archive-sidebar { display: grid; gap: 20px; min-width: 0; }
.dense-ui .archive-file-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.dense-ui .archive-status { padding: 5px 8px; border-radius: 4px; background: #f8edf0; color: #880422; font-size: 11px; }
.dense-ui .archive-file-tile { display: flex; align-items: center; gap: 14px; margin-block: 20px; padding: 16px; border: 1px solid var(--ui-line); border-radius: 8px; background: #faf9f9; }
.dense-ui .archive-file-tile > iconify-icon { font-size: 32px; flex-shrink: 0; color: #880422; }
.dense-ui .archive-file-tile > div { min-width: 0; }
.dense-ui .archive-file-tile strong { display: block; font-size: 13px; font-weight: 500; line-height: 1.6; overflow-wrap: anywhere; }
.dense-ui .archive-file-tile span { display: block; font-size: 11px; margin-top: 4px; color: var(--ui-secondary); }
.dense-ui .archive-open-file { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 12px 16px; font-size: 12px; }
.dense-ui .archive-secondary-action { display: block; width: 100%; margin-top: 12px; padding: 12px; border: 1px solid var(--ui-line); border-radius: 6px; font-size: 12px; }
.dense-ui .archive-file-empty { font-size: 12px; color: var(--ui-secondary); }
.dense-ui .archive-history ol { display: grid; gap: 20px; margin-top: 20px; padding-left: 14px; border-left: 2px solid #ead9df; }
.dense-ui .archive-history li span { display: block; font-size: 12px; color: var(--ui-secondary); }
.dense-ui .archive-history time { display: block; font-size: 13px; font-weight: 500; margin-top: 6px; }
@media (max-width: 1023px) { .dense-ui .archive-detail-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 767px) { .dense-ui .archive-fields { grid-template-columns: minmax(0,1fr); gap: 20px; } .dense-ui .archive-detail-grid .ui-panel { padding: 20px; } }
@media (max-width: 767px) {
  .dense-ui .detail-book { flex-direction: column; padding: 20px; }
  .dense-ui .detail-page-content > .ui-dialog > [class*="p-6"] { padding: 16px; }
  .dense-ui .detail-page-header h1 { font-size: 26px; }
}

/* Record permalinks: keep lists compact and put the complete context on the page. */
.dense-ui .record-detail-link { color:inherit; text-decoration:underline; text-decoration-color:var(--ui-line); text-underline-offset:4px; }
.dense-ui .record-detail-link:hover { text-decoration-color:currentColor; }
.dense-ui .record-detail-link:focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:2px; }
.dense-ui .record-detail-panel { padding:clamp(18px,3vw,32px); }
.dense-ui .record-detail-heading { margin-bottom:24px; }
.dense-ui .record-detail-heading h2 { font-size:22px; line-height:1.4; font-weight:600; }
.dense-ui .record-detail-heading p { color:var(--ui-secondary); margin-top:6px; font-size:13px; }
.dense-ui .record-detail-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0 0 24px; }
.dense-ui .record-detail-fields dt { color:var(--ui-secondary); font-size:12px; margin-bottom:6px; }
.dense-ui .record-detail-fields dd { margin:0; font-size:14px; overflow-wrap:anywhere; }
.dense-ui .record-detail-body { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.8; }
.dense-ui .record-detail-section { margin-top:28px; padding-top:24px; border-top:1px solid var(--ui-line); }
.dense-ui .record-detail-section h3 { font-size:15px; font-weight:600; margin-bottom:16px; }
.dense-ui .record-detail-section h3 span { color:var(--ui-secondary); font-weight:400; }
.dense-ui .record-detail-section td,.dense-ui .record-detail-section th { padding:12px 16px; }
.dense-ui .record-detail-pagination { display:flex; gap:16px; justify-content:flex-end; align-items:center; margin-top:16px; font-size:12px; }
.dense-ui .record-detail-pagination button { padding:8px 12px; border:1px solid var(--ui-line); border-radius:8px; }
.dense-ui .record-detail-pagination button:disabled { opacity:.4; }
@media(max-width:700px) { .dense-ui .record-detail-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media(max-width:420px) { .dense-ui .record-detail-fields { grid-template-columns:1fr; } }

/* Consistent spacing for detail return navigation across modules. */
.dense-ui .detail-back { display:inline-flex; align-items:center; gap:.5rem; min-height:2.25rem; line-height:1.5; }
.dense-ui .detail-back > iconify-icon { flex:none; width:1rem; height:1rem; font-size:1rem; }
.dense-ui .detail-page-header .detail-back { margin-bottom:.5rem; }

.dense-ui .searchable-select .searchable-menu{border-radius:.5rem;box-shadow:0 8px 24px rgb(0 0 0 / .08);margin-top:.375rem}.dense-ui .searchable-menu [role="option"]{min-height:2.25rem;padding:.625rem .875rem;line-height:1.5}.dense-ui .searchable-option-selected,.dense-ui .searchable-menu [data-active-option="true"]{background:var(--ui-accent-soft,#f8edf0);color:var(--ui-accent,#881337)}.dense-ui .searchable-hint{padding:.875rem;font-size:.75rem;line-height:1.6;color:#71717a}.dense-ui .searchable-menu input{background:transparent;border-radius:.375rem;min-height:2.25rem}

/* Options are flat rows; form button styling must not leak into dropdowns. */
.dense-ui .searchable-select [role="option"],.dark.dense-ui .searchable-select [role="option"]{border:0;border-radius:0;box-shadow:none;min-height:2.25rem;padding:.625rem .875rem}
.dense-ui select.adaptive-native-select{min-height:2.5rem;padding:.625rem 2rem .625rem .875rem;line-height:1.5;border-radius:.5rem}

/* Read-only information panels share the page surface in every detail screen. */
.dense-ui :is(.screen-mahasiswa-detail,.screen-dosen-detail,.screen-pendaftar-detail,.detail-page-content) div.bg-zinc-50{background:transparent}
.dense-ui :is(.detail-page,.screen-mahasiswa-detail,.screen-dosen-detail,.screen-pendaftar-detail) .ui-input:not([type=checkbox]):not([type=radio]){min-height:2.5rem;line-height:1.5;padding:.625rem .875rem}
.dense-ui :is(.detail-page,.screen-mahasiswa-detail,.screen-dosen-detail,.screen-pendaftar-detail) textarea.ui-input{padding:.75rem .875rem;line-height:1.6}

.dense-ui .workspace-schedule .schedule-class-material{display:block;margin-top:12px;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.6;color:inherit}
.dense-ui .workspace-schedule .schedule-class-material>span{display:grid;gap:4px;margin-top:8px}
.dense-ui .workspace-schedule .schedule-class-material strong{font-size:12px;font-weight:600;opacity:.72}
