/* Shared workspace chrome. No page-wide overflow hiding or table-column removal. */
.rd-workspace-nav, .rd-workspace-nav *, .rd-notification-panel, .rd-notification-panel * { box-sizing: border-box; }
.rd-workspace-nav {
  position: relative; z-index: 40; display: flex; align-items: flex-start; gap: .75rem;
  margin-bottom: 1rem; padding: .5rem; border: 1px solid var(--rd-border, #cbd5e1);
  border-radius: .5rem; background: var(--rd-surface, #fff); color: var(--rd-text, #0f172a);
}
.rd-workspace-menu { min-width: 0; flex: 1 1 auto; }
.rd-workspace-menu-toggle { display: none; }
.rd-workspace-links { display: flex; flex-wrap: wrap; gap: .25rem; }
.rd-workspace-link {
  display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; max-width: 100%;
  padding: .5rem .75rem; border-radius: .375rem; font-size: .875rem; line-height: 1.4;
  color: var(--rd-muted, #475569); text-decoration: none; overflow-wrap: anywhere;
}
.rd-workspace-link > span:first-child { flex: 0 0 auto; }
.rd-workspace-link:hover { background: var(--rd-raised, #f1f5f9); }
.rd-workspace-link[aria-current="page"] { background: #1d4ed8; color: #fff; font-weight: 600; }
.rd-workspace-controls { display: flex; align-items: flex-start; flex: 0 0 auto; gap: .5rem; }
.rd-workspace-icon-button, .rd-workspace-account > summary {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-width: 44px; min-height: 44px; padding: .5rem; border: 1px solid var(--rd-border, #cbd5e1);
  border-radius: .375rem; background: var(--rd-surface, #fff); color: var(--rd-text, #0f172a);
  font: inherit; cursor: pointer; list-style: none;
}
.rd-workspace-account > summary::-webkit-details-marker, .rd-workspace-menu-toggle::-webkit-details-marker { display: none; }
.rd-workspace-icon-button svg, .rd-workspace-account svg { width: 20px; height: 20px; flex: 0 0 auto; }
.rd-workspace-icon-button:hover, .rd-workspace-account > summary:hover { background: var(--rd-raised, #f1f5f9); }
.rd-workspace-badge {
  position: absolute; top: -.35rem; right: -.35rem; min-width: 1.15rem; padding: .1rem .3rem;
  border-radius: 1rem; background: #b91c1c; color: #fff; font-size: .65rem; line-height: 1.3;
}
.rd-workspace-account { position: relative; }
.rd-workspace-account-name { max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .875rem; }
.rd-workspace-account-panel {
  position: absolute; top: calc(100% + .5rem); right: 0; z-index: 51;
  width: min(18rem, calc(100vw - 4rem)); max-height: calc(100vh - 8rem); max-height: calc(100dvh - 8rem);
  overflow-y: auto; overscroll-behavior: contain; padding: .75rem;
  border: 1px solid var(--rd-border, #cbd5e1); border-radius: .5rem;
  background: var(--rd-surface, #fff); box-shadow: 0 12px 32px rgb(15 23 42 / .2);
}
.rd-workspace-account-panel p { margin: 0 0 .5rem; color: var(--rd-muted, #475569); font-size: .875rem; overflow-wrap: anywhere; }
.rd-workspace-account-panel a, .rd-workspace-account-panel button {
  display: flex; align-items: center; width: 100%; min-height: 44px; margin-top: .25rem; padding: .5rem;
  border: 0; border-radius: .375rem; background: transparent; color: var(--rd-text, #0f172a);
  font: inherit; text-align: start; text-decoration: none; cursor: pointer; overflow-wrap: anywhere;
}
.rd-workspace-account-panel a:hover, .rd-workspace-account-panel button:hover { background: var(--rd-raised, #f1f5f9); }
.rd-workspace-account-panel .rd-theme-switcher { display: flex; flex-wrap: wrap; margin: .75rem 0; }
.rd-workspace-account-panel .rd-theme-switcher[hidden] { display: none; }
.rd-workspace-account-panel select { min-height: 44px; font-size: 1rem; }
.rd-workspace-header, .rd-workspace-toolbar {
  min-width: 0; padding: .875rem 1rem; border: 1px solid var(--rd-border, #cbd5e1); border-radius: .5rem;
  background: var(--rd-surface, #fff); color: var(--rd-text, #0f172a);
}
.rd-workspace-header { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.rd-workspace-header h1 { flex: 1 1 18rem; min-width: 0; margin: 0; font-size: 1.25rem; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.rd-workspace-header-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; min-width: 0; max-width: 100%; }
.rd-workspace-header-actions > * { min-width: 0; max-width: 100%; }
.rd-workspace-header-actions :is(a, button, select, input[type="submit"], input[type="button"]) {
  min-height: 44px; max-width: 100%; white-space: normal; overflow-wrap: anywhere;
}
.rd-notification-panel {
  position: fixed; z-index: 10000; display: flex; flex-direction: column; width: min(24rem, calc(100vw - 1rem));
  max-height: calc(100vh - 1rem); max-height: calc(100dvh - 1rem); overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid var(--rd-border, #cbd5e1); border-radius: .75rem;
  background: var(--rd-surface, #fff); color: var(--rd-text, #0f172a); box-shadow: 0 16px 48px rgb(15 23 42 / .25);
}
.rd-notification-heading { position: sticky; top: 0; z-index: 1; background: var(--rd-surface, #fff); display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .5rem .75rem; flex: 0 0 auto; }
.rd-notification-heading h2 { margin: 0; font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; }
.rd-notification-actions { display: flex; flex-wrap: wrap; gap: .25rem .5rem; padding: 0 .75rem .5rem; flex: 0 0 auto; }
.rd-notification-actions button, .rd-notification-status button, .rd-notification-status a {
  min-height: 44px; padding: .5rem; border: 1px solid var(--rd-border, #cbd5e1); border-radius: .375rem;
  background: var(--rd-raised, #f1f5f9); color: var(--rd-text, #0f172a); font: inherit;
  font-size: .875rem; white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
.rd-notification-actions button:disabled { opacity: .55; cursor: default; }
.rd-notification-count { margin: 0; padding: 0 .75rem .5rem; color: var(--rd-muted, #475569); font-size: .75rem; flex: 0 0 auto; }
.rd-notification-status { padding: .75rem; border-top: 1px solid var(--rd-border, #cbd5e1); font-size: .875rem; overflow-wrap: anywhere; flex: 0 0 auto; }
.rd-notification-status button, .rd-notification-status a { display: inline-flex; align-items: center; margin-top: .5rem; }
.rd-notification-list { flex: 0 0 auto; min-width: 0; }
.rd-notification-item { display: block; padding: .75rem; border-top: 1px solid var(--rd-border, #cbd5e1); color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.rd-notification-item:hover { background: var(--rd-raised, #f1f5f9); }
.rd-notification-item strong { display: block; font-size: .875rem; }
.rd-notification-item p { margin: .25rem 0; color: var(--rd-muted, #475569); font-size: .875rem; }
.rd-notification-item small { color: var(--rd-muted, #475569); font-size: .75rem; }
.rd-notification-empty { margin: 0; padding: 1.5rem .75rem; text-align: center; color: var(--rd-muted, #475569); }
.rd-workspace-nav :is(a, button, summary, select):focus-visible,
.rd-workspace-header :is(a, button, input, select):focus-visible,
.rd-workspace-toolbar :is(a, button, input, select):focus-visible,
.rd-notification-panel :is(a, button):focus-visible,
.rd-notification-panel:focus-visible { outline: 2px solid var(--rd-focus, #2563eb); outline-offset: 2px; }
.rd-workspace-nav [hidden], .rd-notification-panel[hidden], .rd-notification-panel [hidden] { display: none !important; }
@media (max-width: 1023px) {
  .rd-workspace-nav { align-items: center; gap: .5rem; }
  .rd-workspace-menu-toggle { display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem; border-radius: .375rem; font-size: .875rem; cursor: pointer; list-style: none; }
  .rd-workspace-current { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--rd-muted, #475569); }
  .rd-workspace-links {
    position: absolute; top: calc(100% + .5rem); left: 0; right: 0; z-index: 50;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .5rem;
    max-height: calc(100vh - 10rem); max-height: calc(100dvh - 10rem); overflow-y: auto; overscroll-behavior: contain;
    border: 1px solid var(--rd-border, #cbd5e1); border-radius: .5rem;
    background: var(--rd-surface, #fff); box-shadow: 0 12px 32px rgb(15 23 42 / .2);
  }
}
@media (max-width: 639px) {
  .rd-workspace-header h1 { flex-basis: 100%; font-size: 1.125rem; }
  .rd-workspace-header-actions { width: 100%; }
}
@media (max-width: 479px) {
  .rd-workspace-account-name { display: none; }
  .rd-workspace-links { grid-template-columns: minmax(0, 1fr); }
}
@media print { .rd-workspace-nav, .rd-notification-panel { display: none !important; } }
