:root {
  --dashboard-frame: 1380px;
}

.dashboard-role-nav {
  --dashboard-accent: #1268c4;
  --dashboard-accent-soft: #edf5ff;
  position: relative;
  z-index: 40;
  border-bottom: 1px solid #dbe4f5;
  color: #10245c;
  background: #fff;
  box-shadow: 0 7px 25px rgba(19, 42, 86, .055);
}

.office-workspace-header.dashboard-role-nav,
.fees-workspace-header.dashboard-role-nav,
.instructor-header.dashboard-role-nav,
.author-header.dashboard-role-nav {
  display: block;
  min-height: 0;
  padding: 0;
}

.dashboard-role-nav--member {
  --dashboard-accent: #1268c4;
  --dashboard-accent-soft: #edf5ff;
}

.dashboard-role-nav--admin {
  --dashboard-accent: #1268c4;
  --dashboard-accent-soft: #edf5ff;
}

.dashboard-role-nav--office {
  --dashboard-accent: #1268c4;
  --dashboard-accent-soft: #eaf4ff;
}

.dashboard-role-nav--fees {
  --dashboard-accent: #278f58;
  --dashboard-accent-soft: #eaf7ef;
}

.dashboard-role-nav--author {
  --dashboard-accent: #7550b7;
  --dashboard-accent-soft: #f2ecfb;
}

.dashboard-role-nav--instructor {
  --dashboard-accent: #a56b0a;
  --dashboard-accent-soft: #fff6e5;
}

.dashboard-role-nav--marketing {
  --dashboard-accent: #a51d2d;
  --dashboard-accent-soft: #fff0f2;
}

.dashboard-role-nav--video-production {
  --dashboard-accent: #7550b7;
  --dashboard-accent-soft: #f2ecfb;
}

.dashboard-role-nav-inner {
  display: flex;
  width: min(calc(100% - 48px), var(--dashboard-frame));
  min-height: 76px;
  align-items: stretch;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 56px);
  margin-inline: auto;
}

.dashboard-role-title {
  display: grid;
  min-width: max-content;
  grid-template-columns: 42px auto;
  align-items: center;
  align-self: center;
  gap: 12px;
  color: #10245c;
  text-decoration: none;
}

.dashboard-role-title-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--dashboard-accent) 34%, #dbe4f5);
  border-radius: 14px;
  color: #fff;
  background: var(--dashboard-accent);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--dashboard-accent) 20%, transparent);
  font: 900 15px/1 'Changa', Arial, sans-serif;
  letter-spacing: -.02em;
}

.dashboard-role-title .dashboard-role-title-mark {
  padding: 0;
  color: #fff;
  background: var(--dashboard-accent);
  font-size: 15px;
  letter-spacing: -.02em;
  text-transform: none;
}

.dashboard-role-title-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.08;
}

.dashboard-role-title .dashboard-role-title-copy {
  padding: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  letter-spacing: 0;
  text-transform: none;
}

.dashboard-role-title-copy strong {
  color: #10245c;
  font: 800 21px/1.1 'Changa', Arial, sans-serif;
  letter-spacing: -.025em;
}

.dashboard-role-title .dashboard-role-title-copy strong {
  display: block;
  color: #10245c;
  font-size: 21px;
}

.dashboard-role-title-copy small {
  margin-top: 4px;
  color: #65718a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .115em;
  text-transform: uppercase;
}

.dashboard-role-links {
  display: flex;
  min-width: 0;
  align-items: center;
  align-self: center;
  gap: 6px;
}

.dashboard-role-nav .dashboard-role-links {
  max-width: none;
  margin: 0;
  padding: 6px;
  border: 1px solid color-mix(in srgb, var(--dashboard-accent) 18%, #dbe4f5);
  border-radius: 14px;
  background: var(--dashboard-accent-soft);
  box-shadow: none;
}

.dashboard-role-nav .dashboard-role-links > a,
.dashboard-role-nav .dashboard-role-links > .admin-nav-group > summary {
  position: relative;
  display: inline-flex;
  min-width: max-content;
  min-height: 40px;
  align-items: center;
  border: 0;
  border-radius: 9px;
  padding: 10px 15px;
  color: #596583;
  background: transparent;
  font: 800 16px/1 'Changa', Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.dashboard-role-nav .dashboard-role-links > a:hover,
.dashboard-role-nav .dashboard-role-links > a.is-current,
.dashboard-role-nav .dashboard-role-links > a[aria-current='page'],
.dashboard-role-nav .dashboard-role-links > .admin-nav-group:hover > summary,
.dashboard-role-nav .dashboard-role-links > .admin-nav-group.is-current > summary,
.dashboard-role-nav .dashboard-role-links > .admin-nav-group[open] > summary {
  color: #fff;
  background: var(--dashboard-accent);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--dashboard-accent) 22%, transparent);
}

.dashboard-role-nav .dashboard-role-links > a:focus-visible,
.dashboard-role-nav .dashboard-role-links > .admin-nav-group > summary:focus-visible,
.dashboard-role-title:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--dashboard-accent) 35%, transparent);
  outline-offset: -3px;
}

.dashboard-role-links .admin-nav-group {
  position: relative;
}

.dashboard-role-links .admin-nav-menu {
  top: calc(100% + 1px);
  width: 230px;
  border-radius: 0 0 14px 14px;
  border-top: 4px solid var(--dashboard-accent);
  padding: 9px;
}

.dashboard-role-links .dashboard-workspace-switcher > summary { gap: 8px; }
.dashboard-role-links .dashboard-workspace-switcher .admin-nav-menu { right: 0; left: auto; }
.dashboard-role-nav--admin .dashboard-role-links > .admin-nav-group:last-child .admin-nav-menu { right: 0; left: auto; }
.dashboard-role-nav--author .dashboard-role-links,
.dashboard-role-nav--instructor .dashboard-role-links { flex-wrap: wrap; overflow: visible; }
.instructor-header .dashboard-role-links .admin-nav-menu a { display: block; min-height: 44px; padding: 10px; white-space: normal; }

.dashboard-workspace-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.dashboard-workspace-card {
  --workspace-card-color: var(--dashboard-accent);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--workspace-card-color) 15%, #dbe4f5);
  border-left: 5px solid var(--workspace-card-color);
  border-radius: 19px;
  padding: 23px;
  color: #10245c;
  background: linear-gradient(135deg, color-mix(in srgb, var(--workspace-card-color) 10%, #fff), #fff 72%);
  text-decoration: none;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--workspace-card-color) 8%, transparent), 0 12px 30px color-mix(in srgb, var(--workspace-card-color) 12%, transparent);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dashboard-workspace-card:hover {
  color: #10245c;
  border-color: color-mix(in srgb, var(--workspace-card-color) 48%, #dbe4f5);
  box-shadow: 0 17px 36px color-mix(in srgb, var(--workspace-card-color) 24%, transparent);
  transform: translateY(-2px);
}

.dashboard-workspace-card--blue { --workspace-card-color: #1268c4; }
.dashboard-workspace-card--purple { --workspace-card-color: #7550b7; }
.dashboard-workspace-card--orange { --workspace-card-color: #e97912; }
.dashboard-workspace-card--red { --workspace-card-color: #c83d46; }
.dashboard-workspace-card--green { --workspace-card-color: #278f58; }

.dashboard-workspace-card-index {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: var(--workspace-card-color);
  font: 900 11px/1 'Changa', Arial, sans-serif;
}

.dashboard-workspace-card-copy { min-width: 0; }
.dashboard-workspace-card-copy small { color: var(--workspace-card-color); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-workspace-card-copy h2 { margin: 5px 0 7px; color: #10245c; font: 700 23px/1.16 'Changa', Arial, sans-serif; }
.dashboard-workspace-card-copy p { margin: 0; color: #65718a; line-height: 1.55; }
.dashboard-workspace-card-action { display: inline-flex; width: fit-content; align-items: center; gap: 8px; grid-column: 2; margin-top: 18px; border-radius: 10px; padding: 9px 12px 8px; color: #fff; background: var(--workspace-card-color); font-size: 12px; font-weight: 900; line-height: 1; box-shadow: 0 8px 16px color-mix(in srgb, var(--workspace-card-color) 22%, transparent); }
.dashboard-workspace-card:hover .dashboard-workspace-card-action { filter: brightness(.92); box-shadow: 0 10px 20px color-mix(in srgb, var(--workspace-card-color) 30%, transparent); }

.dashboard-role-links .admin-nav-menu a {
  border-radius: 9px;
  padding: 10px 11px;
  font-family: 'Changa', Arial, sans-serif;
  font-size: 14px;
}

.dashboard-role-links .admin-nav-menu a:hover,
.dashboard-role-links .admin-nav-menu a[aria-current='page'] {
  color: #fff;
  background: var(--dashboard-accent);
}

.role-dashboard-intro {
  --dashboard-accent: #1268c4;
  --dashboard-accent-soft: #edf5ff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, 5vw, 68px);
  margin: 0 0 24px;
  border: 1px solid #dbe4f5;
  border-left: 6px solid var(--dashboard-accent);
  border-radius: 20px;
  padding: clamp(25px, 3.5vw, 38px);
  color: #10245c;
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--dashboard-accent-soft) 72%, #fff), #fff 58%);
  box-shadow: 0 14px 38px rgba(20, 43, 92, .075);
}

.role-dashboard-intro--member {
  --dashboard-accent: #1268c4;
  --dashboard-accent-soft: #edf5ff;
}

.role-dashboard-intro--admin {
  --dashboard-accent: #c83d46;
  --dashboard-accent-soft: #fff0f1;
}

.role-dashboard-intro--office {
  --dashboard-accent: #1268c4;
  --dashboard-accent-soft: #eaf4ff;
}

.role-dashboard-intro--fees {
  --dashboard-accent: #278f58;
  --dashboard-accent-soft: #eaf7ef;
}

.role-dashboard-intro--author {
  --dashboard-accent: #7550b7;
  --dashboard-accent-soft: #f2ecfb;
}

.instructor-studio .role-dashboard-intro {
  --dashboard-accent: #a56b0a;
  --dashboard-accent-soft: #fff6e5;
}

.role-dashboard-intro-copy {
  max-width: 850px;
}

.role-dashboard-intro .role-dashboard-kicker {
  margin: 0 0 7px;
  color: var(--dashboard-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.role-dashboard-intro h1 {
  max-width: 880px;
  margin: 0;
  color: #10245c;
  font: 800 clamp(34px, 4.2vw, 52px)/1.02 'Changa', Arial, sans-serif;
  letter-spacing: -.04em;
}

.role-dashboard-intro-copy > p:last-of-type {
  max-width: 760px;
  margin: 12px 0 0;
  color: #65718a;
  font-size: 16px;
  line-height: 1.62;
}

.role-dashboard-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.role-dashboard-actions a,
.role-dashboard-actions button {
  min-width: max-content;
}

.dashboard-page-frame {
  width: min(calc(100% - 48px), var(--dashboard-frame));
  max-width: var(--dashboard-frame);
  margin-inline: auto;
}

.theme-member .member-site > .role-dashboard-intro {
  margin-top: 42px;
}

.admin-workspace {
  --dashboard-accent: #c83d46;
  --dashboard-accent-soft: #fff0f1;
  --brand: #c83d46;
  --brand-dark: #962832;
  --accent: #c83d46;
}

.admin-page > .admin-dashboard,
.admin-page-content,
.page-shell > .admin-main,
.admin-page > .admin-main,
.finance-shell {
  max-width: var(--dashboard-frame);
}

.admin-page > .page-heading,
.admin-page > .metric-strip,
.admin-page > .filter-bar,
.admin-page > .alert,
.admin-page > .admin-section {
  max-width: var(--dashboard-frame);
}

.admin-dashboard .admin-section:not(.admin-attention):not(.admin-ready) {
  border-top-color: #1268c4;
}

.office-workspace {
  --dashboard-accent: #1268c4;
  --dashboard-accent-soft: #eaf4ff;
  --office-blue: #1268c4;
  --office-green: #0b5cab;
}

.role-dashboard-intro--office .office-action {
  color: #104e91;
  border-color: #c7dcf4;
  background: #fff;
  box-shadow: 0 8px 20px rgba(18, 104, 196, .08);
}

.role-dashboard-intro--office .office-action.primary {
  color: #fff;
  border-color: #1268c4;
  background: #1268c4;
}

.fees-workspace {
  --dashboard-accent: #278f58;
  --dashboard-accent-soft: #eaf7ef;
  --brand: #278f58;
  --brand-dark: #17663d;
  --accent: #278f58;
}

.fees-workspace .admin-section {
  border-top-color: #278f58;
}

.author-studio {
  --dashboard-accent: #7550b7;
  --dashboard-accent-soft: #f2ecfb;
  --studio-blue: #7550b7;
  --studio-purple: #6840a4;
}

.author-studio .studio-button.secondary,
.author-studio .author-row-actions a,
.author-studio .studio-role,
.author-studio .studio-status,
.author-studio .author-action-panel > header > span,
.author-studio .author-action-type {
  color: #6840a4;
  background: #f2ecfb;
}

/* Connected-page polish shared by every protected role workspace. */
.admin-workspace .admin-page > .page-heading:not(.role-dashboard-intro),
.admin-workspace .admin-page-content > .page-heading:not(.role-dashboard-intro),
.office-workspace .office-section-heading,
.instructor-studio .studio-heading,
.author-studio .studio-heading {
  --role-interior-accent: #c83d46;
  --role-interior-soft: #fff0f1;
  width: 100%;
  max-width: var(--dashboard-frame);
  box-sizing: border-box;
  align-items: center;
  margin: 0 auto 24px;
  border: 1px solid #dbe4f0;
  border-left: 5px solid var(--role-interior-accent);
  border-radius: 18px;
  padding: clamp(22px, 3vw, 30px);
  background: linear-gradient(115deg, var(--role-interior-soft), #fff 55%);
  box-shadow: 0 12px 32px rgba(20, 43, 92, .06);
}

.office-workspace .office-section-heading {
  --role-interior-accent: #1268c4;
  --role-interior-soft: #eaf4ff;
}

.author-studio .studio-heading {
  --role-interior-accent: #7550b7;
  --role-interior-soft: #f2ecfb;
}

.instructor-studio .studio-heading {
  --role-interior-accent: #a56b0a;
  --role-interior-soft: #fff6e5;
}

.author-studio .author-section-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, .95fr);
  gap: 24px;
  align-items: center;
  width: 100%;
  max-width: var(--dashboard-frame);
  box-sizing: border-box;
  margin: 0 auto 24px;
  border: 1px solid #ded4f2;
  border-left: 5px solid #7550b7;
  border-radius: 18px;
  padding: 24px;
  background: linear-gradient(115deg, #f7f3fd, #fff 62%);
  box-shadow: 0 12px 32px rgba(20, 43, 92, .06);
}

.author-studio .author-section-status h2,
.author-studio .author-section-status p { margin: 0; }
.author-studio .author-section-status h2 { color: #30234d; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.2; }
.author-studio .author-section-status p:last-child { max-width: 620px; margin-top: 7px; color: #6f6684; line-height: 1.55; }
.author-studio .author-section-status dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; margin: 0; border: 1px solid #e6def4; border-radius: 13px; background: #e6def4; }
.author-studio .author-section-status dl div { min-width: 0; padding: 15px; background: #fff; }
.author-studio .author-section-status dt { color: #766b8f; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.author-studio .author-section-status dd { margin: 5px 0 0; overflow-wrap: anywhere; color: #4d3479; font-size: 14px; font-weight: 850; }

.author-studio .author-preview-outline { display: grid; grid-template-columns: minmax(200px, .45fr) minmax(0, 1.55fr); gap: 22px; align-items: start; width: 100%; max-width: var(--dashboard-frame); box-sizing: border-box; margin: 0 auto 24px; border: 1px solid #ded4f2; border-left: 5px solid #7550b7; border-radius: 18px; padding: 23px; background: #fff; box-shadow: 0 12px 32px rgba(20, 43, 92, .05); }
.author-studio .author-preview-outline h2, .author-studio .author-preview-outline p { margin: 0; }
.author-studio .author-preview-outline h2 { color: #30234d; font-size: 23px; line-height: 1.2; }
.author-studio .author-preview-outline > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.author-studio .author-preview-outline a { display: grid; min-width: min(100%, 190px); flex: 1 1 190px; grid-template-columns: auto minmax(0, 1fr); gap: 2px 9px; border: 1px solid #e6def4; border-radius: 11px; padding: 11px; color: #3b2b5f; background: #fbfaff; text-decoration: none; }
.author-studio .author-preview-outline a:hover { border-color: #7550b7; background: #f3effb; }
.author-studio .author-preview-outline a span { grid-row: 1 / span 2; align-self: center; color: #7550b7; font: 900 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.author-studio .author-preview-outline a strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.author-studio .author-preview-outline a small { color: #766b8f; font-size: 11px; }

.admin-workspace .admin-operation-guide { display: grid; grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr); gap: 26px; align-items: center; border-left: 5px solid #c83d46; }
.admin-workspace .admin-operation-guide h2, .admin-workspace .admin-operation-guide p { margin: 0; }
.admin-workspace .admin-operation-guide h2 { color: #44222a; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.2; }
.admin-workspace .admin-operation-guide p:last-child { max-width: 610px; margin-top: 7px; color: #76636a; line-height: 1.55; }
.admin-workspace .admin-operation-guide ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; margin: 0; padding: 0; border: 1px solid #f0dadd; border-radius: 13px; list-style: none; background: #f0dadd; }
.admin-workspace .admin-operation-guide li { display: grid; min-width: 0; gap: 5px; padding: 16px; background: #fff; }
.admin-workspace .admin-operation-guide li span { color: #a12d38; font: 900 10px/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .06em; }
.admin-workspace .admin-operation-guide li strong { color: #44222a; font-size: 14px; line-height: 1.25; }
.admin-workspace .admin-operation-guide li small { color: #76636a; font-size: 12px; line-height: 1.4; }

.theme-admin-backups .backup-hero { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; box-sizing:border-box; padding:clamp(24px,4vw,38px); border:1px solid #0b4c99; border-left:7px solid #60a5fa; border-radius:24px; color:#fff; background:radial-gradient(circle at 0 0,rgba(191,219,254,.18),transparent 40%),linear-gradient(110deg,#071f52,#0b4c99 48%,#1268c4); box-shadow:0 18px 46px rgba(20,43,92,.15); }
.theme-admin-backups .backup-hero > div { min-width:0; flex:1 1 320px; }
.theme-admin-backups .backup-hero h1 { color:#fff; overflow-wrap:anywhere; }
.theme-admin-backups .backup-hero p:not(.eyebrow) { color:#e6efff; }
.theme-admin-backups .backup-hero .eyebrow { color:#bfdbfe; }
.theme-admin-backups .backup-hero .secondary-button { border-color:rgba(255,255,255,.58); color:#fff; background:rgba(2,6,23,.24); }
.theme-admin-backups .admin-operation-guide { border-left-color:#1268c4; }
.theme-admin-backups .admin-operation-guide h2, .theme-admin-backups .admin-operation-guide li strong { color:#08255b; }
.theme-admin-backups .admin-operation-guide p:last-child, .theme-admin-backups .admin-operation-guide li small { color:#52647d; }
.theme-admin-backups .admin-operation-guide ol { border-color:#c7dcf4; background:#dbeafe; }
.theme-admin-backups .admin-operation-guide li span { color:#1268c4; }
.theme-admin-backups .action-band { width:100%; max-width:var(--dashboard-frame); border-top-color:#1268c4; }
.theme-admin-backups .action-panel .button { background:#1268c4; border-color:#1268c4; color:#fff; }
.theme-admin-backups .action-panel .button:hover { background:#0b4c99; border-color:#0b4c99; }
.theme-admin-backups .admin-section { border-top-color:#1268c4; }
@media(max-width:720px) { .theme-admin-backups .backup-hero { align-items:stretch; flex-direction:column; } .theme-admin-backups .backup-hero > div { flex:0 1 auto; } .theme-admin-backups .backup-hero > a { align-self:flex-start; } }

.admin-workspace .page-heading:not(.role-dashboard-intro) .eyebrow,
.office-workspace .office-section-heading .eyebrow,
.author-studio .studio-heading .studio-eyebrow {
  color: var(--role-interior-accent);
}

.admin-workspace .metric-strip,
.fees-workspace .metric-strip {
  overflow: hidden;
  border: 1px solid #dbe4f0;
  border-top: 4px solid var(--dashboard-accent, var(--brand));
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(20, 43, 92, .045);
}

.admin-workspace .table-wrap,
.fees-workspace .table-wrap,
.author-studio .table-wrap {
  overflow: auto;
  border: 1px solid #dbe4f0;
  border-radius: 14px;
  background: #fff;
  scrollbar-color: #bcc9da #f4f7fb;
  scrollbar-width: thin;
}

.admin-workspace .table-wrap table,
.fees-workspace .table-wrap table,
.author-studio .table-wrap table {
  margin: 0;
}

.admin-workspace .table-wrap th,
.fees-workspace .table-wrap th,
.author-studio .table-wrap th {
  padding-top: 13px;
  padding-bottom: 13px;
  color: #526078;
  background: #f4f7fb;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-workspace .table-wrap td,
.fees-workspace .table-wrap td,
.author-studio .table-wrap td {
  min-width: 110px;
  padding-top: 14px;
  padding-bottom: 14px;
  vertical-align: top;
}

.admin-workspace .table-wrap tbody tr:hover,
.fees-workspace .table-wrap tbody tr:hover,
.author-studio .table-wrap tbody tr:hover {
  background: color-mix(in srgb, var(--dashboard-accent-soft, #edf5ff) 55%, #fff);
}

.admin-workspace .table-wrap tbody tr:last-child td,
.fees-workspace .table-wrap tbody tr:last-child td,
.author-studio .table-wrap tbody tr:last-child td {
  border-bottom: 0;
}

.admin-workspace .table-wrap td[colspan],
.fees-workspace .table-wrap td[colspan],
.author-studio .table-wrap td[colspan] {
  min-height: 96px;
  padding: 30px 22px;
  color: #65718a;
  text-align: center;
}

.admin-workspace .form-stack,
.fees-workspace .finance-filter,
.office-workspace .office-workspace-form,
.author-studio .chapter-editor {
  min-width: 0;
}

.admin-workspace input:focus-visible,
.admin-workspace select:focus-visible,
.admin-workspace textarea:focus-visible,
.fees-workspace input:focus-visible,
.fees-workspace select:focus-visible,
.fees-workspace textarea:focus-visible,
.office-workspace input:focus-visible,
.office-workspace select:focus-visible,
.office-workspace textarea:focus-visible,
.author-studio input:focus-visible,
.author-studio select:focus-visible,
.author-studio textarea:focus-visible {
  border-color: var(--dashboard-accent, var(--brand));
  outline-color: color-mix(in srgb, var(--dashboard-accent, var(--brand)) 38%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dashboard-accent, var(--brand)) 12%, transparent);
}

.office-workspace .office-workspace-empty,
.author-studio .studio-empty,
.admin-workspace .admin-empty-state {
  border: 1px dashed color-mix(in srgb, var(--dashboard-accent, #65718a) 35%, #dbe4f0);
  border-radius: 14px;
  background: color-mix(in srgb, var(--dashboard-accent-soft, #f4f7fb) 55%, #fff);
}

.admin-workspace .section-heading,
.fees-workspace .section-heading,
.author-studio .studio-panel > header,
.theme-member .member-section-heading,
.theme-member .member-connected-page .section-heading {
  min-width: 0;
  align-items: center;
  gap: 18px;
}

.admin-workspace .section-heading > div,
.fees-workspace .section-heading > div,
.author-studio .studio-panel > header > div,
.theme-member .member-section-heading > div,
.theme-member .member-connected-page .section-heading > div {
  min-width: 0;
}

.admin-workspace .section-heading h2,
.fees-workspace .section-heading h2,
.author-studio .studio-panel > header h2,
.theme-member .member-section-heading h2,
.theme-member .member-connected-page .section-heading h2 {
  overflow-wrap: anywhere;
}

.admin-workspace .section-heading p,
.fees-workspace .section-heading p,
.author-studio .studio-panel > header p,
.theme-member .member-section-heading p,
.theme-member .member-connected-page .section-heading p {
  max-width: 760px;
}

.dashboard-connected-actions,
.admin-workspace .admin-heading-actions,
.fees-workspace .admin-heading-actions,
.author-studio .author-row-actions,
.theme-member .member-purchase-actions,
.theme-member .member-site .role-dashboard-actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 10px;
}

.dashboard-connected-actions > *,
.admin-workspace .admin-heading-actions > *,
.fees-workspace .admin-heading-actions > *,
.author-studio .author-row-actions > *,
.theme-member .member-purchase-actions > *,
.theme-member .member-site .role-dashboard-actions > * {
  min-width: max-content;
}

.dashboard-connected-card-grid,
.admin-workspace .admin-workspace-grid,
.fees-workspace .finance-workspace-grid,
.author-studio .author-readiness-grid,
.theme-member .member-access-grid {
  min-width: 0;
}

.dashboard-connected-card-grid > *,
.admin-workspace .admin-workspace-card,
.admin-workspace .admin-overview-card,
.fees-workspace .finance-panel,
.author-studio .studio-panel,
.theme-member .member-access-card,
.theme-member .member-connected-page .fa-card,
.theme-member .member-connected-page .fa-panel {
  min-width: 0;
}

.dashboard-connected-section-note,
.admin-workspace .admin-section > .alert,
.fees-workspace .finance-workbench-note,
.fees-workspace .finance-reconciliation-guide,
.author-studio .author-preview-status,
.theme-member .member-library-note,
.theme-member .member-connected-page .alert {
  box-sizing: border-box;
}

.admin-workspace .admin-empty-state,
.fees-workspace .finance-empty,
.author-studio .studio-empty,
.theme-member .member-download-empty,
.theme-member .member-access-empty,
.theme-member .member-connected-page td[colspan] {
  overflow-wrap: anywhere;
}

.admin-workspace .admin-code-stack,
.fees-workspace .finance-code-stack,
.author-studio .author-code-stack,
.theme-member .member-connected-page .member-code-stack {
  display: grid;
  gap: 6px;
  justify-items: start;
}

.admin-workspace .admin-code-stack code,
.fees-workspace .finance-code-stack code,
.author-studio .author-code-stack code,
.theme-member .member-connected-page .member-code-stack code {
  max-width: 100%;
}

/* Admin account workflow: identity, access, and security in one workbench. */
.admin-account-workspace { gap: 24px; }
.admin-account-overview { margin: 0; }
.admin-account-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr);
  gap: 24px;
  align-items: start;
}
.admin-account-layout > .admin-section,
.admin-account-context > .admin-section,
.admin-account-security-grid > .admin-section {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
}
.theme-admin-accounts .admin-account-primary { border-top-color: #1268c4 !important; }
.admin-account-context { position: sticky; top: 20px; display: grid; gap: 18px; }
.admin-account-context .admin-section { padding: 24px; }
.admin-account-context h2 { margin: 4px 0 16px; font-size: 23px; line-height: 1.15; }
.admin-account-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.admin-account-form label { min-width: 0; }
.admin-form-submit-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 4px;
  border-top: 1px solid #dbe4f0;
  padding-top: 20px;
}
.admin-form-submit-bar span { max-width: 420px; color: #65718a; font-size: 12px; line-height: 1.45; text-align: right; }
.admin-account-role-guide { display: grid; gap: 7px; }
.admin-account-role-guide > div {
  border: 1px solid #dbe4f0;
  border-radius: 11px;
  padding: 12px 13px;
  background: #fff;
}
.theme-admin-accounts .admin-account-role-guide > div.is-current { border-color: #1268c4; background: #eff6ff; box-shadow: inset 3px 0 #1268c4; }
.admin-account-role-guide strong, .admin-account-role-guide span { display: block; }
.admin-account-role-guide strong { color: #10245c; font-size: 14px; }
.admin-account-role-guide span { margin-top: 3px; color: #65718a; font-size: 12px; line-height: 1.4; }
.admin-account-audit dl { margin: 0; }
.admin-account-audit dl > div { padding: 11px 0; border-bottom: 1px solid #dbe4f0; }
.admin-account-audit dl > div:last-child { padding-bottom: 0; border-bottom: 0; }
.admin-account-audit dt { color: #65718a; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.admin-account-audit dd { margin: 4px 0 0; overflow-wrap: anywhere; color: #10245c; font-weight: 800; }
.admin-account-security-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.theme-admin-accounts .admin-account-security-grid .admin-section { border-top-color: #1268c4; }
.admin-account-security-note { min-height: 48px; margin: 0; color: #65718a; line-height: 1.6; }

@media (max-width: 1100px) {
  .dashboard-role-nav-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    padding-top: 14px;
  }

  .dashboard-role-links {
    width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .dashboard-role-nav .dashboard-role-links > a,
  .dashboard-role-nav .dashboard-role-links > .admin-nav-group > summary {
    min-height: 52px;
  }

  .dashboard-role-nav--admin .dashboard-role-links {
    flex-wrap: wrap;
    overflow: visible;
  }

  .admin-account-layout { grid-template-columns: 1fr; }
  .admin-account-context { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .dashboard-role-links .dashboard-workspace-switcher { flex: 1 1 100%; }
  .dashboard-role-links .dashboard-workspace-switcher > summary { width: 100%; justify-content: space-between; }
  .dashboard-role-links .dashboard-workspace-switcher .admin-nav-menu { position: static; width: 100%; margin-top: 0; box-sizing: border-box; box-shadow: none; }
  .dashboard-role-nav-inner,
  .dashboard-page-frame {
    width: min(calc(100% - 28px), var(--dashboard-frame));
  }

  .dashboard-role-title {
    grid-template-columns: 36px auto;
  }

  .dashboard-role-title-mark {
    width: 36px;
    height: 36px;
    border-radius: 11px;
    font-size: 13px;
  }

  .dashboard-role-title-copy strong {
    font-size: 19px;
  }

  .dashboard-role-nav .dashboard-role-links > a,
  .dashboard-role-nav .dashboard-role-links > .admin-nav-group > summary {
    min-height: 48px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 15px;
  }

  .dashboard-role-nav--admin .dashboard-role-links {
    align-items: stretch;
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .dashboard-role-nav--admin .dashboard-role-links > a,
  .dashboard-role-nav--admin .dashboard-role-links > .admin-nav-group > summary {
    width: 100%;
    justify-content: space-between;
  }

  .dashboard-role-nav--admin .admin-nav-menu {
    position: static;
    width: 100%;
    margin-top: 0;
    border-radius: 0 0 12px 12px;
    box-shadow: none;
  }

  .dashboard-workspace-card-grid { grid-template-columns: 1fr; }

  .role-dashboard-intro {
    align-items: flex-start;
    flex-direction: column;
    border-radius: 16px;
    padding: 24px 21px;
  }

  .role-dashboard-actions {
    justify-content: flex-start;
  }

  .admin-workspace .admin-page > .page-heading:not(.role-dashboard-intro),
  .admin-workspace .admin-page-content > .page-heading:not(.role-dashboard-intro),
  .office-workspace .office-section-heading,
  .instructor-studio .studio-heading,
  .author-studio .studio-heading {
    align-items: flex-start;
    flex-direction: column;
    border-radius: 15px;
    padding: 22px 20px;
  }

  .admin-workspace .table-wrap,
  .fees-workspace .table-wrap,
  .author-studio .table-wrap {
    margin-right: -4px;
    margin-left: -4px;
    border-radius: 11px;
  }

  .admin-workspace .table-wrap th,
  .admin-workspace .table-wrap td,
  .fees-workspace .table-wrap th,
  .fees-workspace .table-wrap td,
  .author-studio .table-wrap th,
  .author-studio .table-wrap td {
    padding-right: 11px;
    padding-left: 11px;
  }

  .author-studio .author-section-status {
    grid-template-columns: 1fr;
    padding: 21px 20px;
  }

  .author-studio .author-preview-outline { grid-template-columns: 1fr; padding: 21px 20px; }
  .admin-workspace .admin-operation-guide { grid-template-columns: 1fr; }

  .admin-account-field-grid,
  .admin-account-context,
  .admin-account-security-grid { grid-template-columns: 1fr; }
  .admin-form-submit-bar { align-items: flex-start; flex-direction: column; }
  .admin-form-submit-bar span { text-align: left; }
}

@media (max-width: 480px) {
  .author-studio .author-section-status dl { grid-template-columns: 1fr; }
  .author-studio .author-preview-outline a { min-width: 100%; }
  .admin-workspace .admin-operation-guide ol { grid-template-columns: 1fr; }
}
