/* Interface typography only. Document and slide content keeps its author formatting. */
:root {
  --ink: #202b3e;
  --muted: #526078;
  --blue: #4056d6;
  --green: #176d50;
  --red: #a9364c;
  --orange: #805510;
  --line: #dce2ec;
}
body {
  font-size: 16px;
  line-height: 1.55;
}
body > aside {
  width: 264px;
  padding: 24px 16px;
  height: 100dvh;
  overflow: hidden;
  gap: 0;
}
.main {
  margin-left: 264px;
}
.workspace {
  font-size: 13px;
  margin: 26px 12px 18px;
  color: #40506a;
}
.workspace small,
.profile small {
  font-size: 13px;
  color: #526078;
}
nav {
  align-content: start;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  gap: 5px;
  padding: 4px;
}
nav button,
nav .nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  margin: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  text-align: left;
  color: #42516a;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
}
nav button .nav-label,
nav .nav-link .nav-label {
  font: inherit;
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
nav .nav-icon {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
}
nav button:hover,
nav .nav-link:hover {
  background: #f0f3fa;
  color: #253b96;
}
nav button.active {
  background: #e9edff;
  color: #3046ba;
  font-weight: 700;
}
nav .notification-count {
  font-size: 13px;
  font-weight: 700;
  flex: 0 0 auto;
  color: #fff;
  background: #4056d6;
}
.side-note {
  display: none;
}
.profile {
  flex: 0 0 auto;
  margin-top: 16px;
  padding-top: 16px;
  font-size: 14px;
}
header {
  min-height: 77px;
  height: auto;
  padding-block: 15px;
  font-size: 13px;
  color: #526078;
  gap: 12px;
}
header b {
  color: #40506a;
}
header i {
  color: #61708a;
}
.header-right {
  flex-wrap: wrap;
}
h1 {
  font-size: 30px;
  line-height: 1.25;
  letter-spacing: -0.7px;
}
h2,
.card-head h2 {
  font-size: 19px;
  line-height: 1.45;
}
h3 {
  line-height: 1.5;
}
p.subtitle,
.subtext {
  font-size: 14px;
  color: #526078;
  line-height: 1.65;
}
.primary,
.secondary,
select,
.search input,
.field input,
.field select,
.field textarea {
  font-size: 14px;
  line-height: 1.45;
}
.primary,
.secondary {
  min-height: 42px;
}
.field input,
.field select,
.field textarea {
  min-height: 44px;
}
.field {
  font-size: 14px;
  color: #40506a;
}
input::placeholder,
textarea::placeholder {
  color: #5d6b82;
  opacity: 1;
}
.stat-label {
  font-size: 14px;
  color: #40506a;
}
.stat small {
  font-size: 13px;
  color: #526078;
}
.stat strong {
  font-size: 30px;
}
table,
.summary-table td,
.deadline-table td {
  font-size: 14px;
}
.summary-table th,
th,
.deadline-table th {
  font-size: 13px;
  color: #526078;
  font-weight: 700;
}
.project-name {
  font-size: 15px;
  max-width: 260px;
}
.tag {
  font-size: 13px;
  line-height: 1.45;
  white-space: normal;
}
.tag.blue {
  color: #3546a2;
  background: #edf0ff;
}
.tag.purple {
  color: #68408f;
  background: #f2edfc;
}
.tag.amber,
.tag.missing {
  color: #79520d;
  background: #fcf3e3;
}
.tag.green {
  color: #176d50;
  background: #eaf6f0;
}
.tag.danger {
  color: #a3324c;
  background: #fbecef;
}
.notice,
.check-result,
.legend,
.bottom-note,
.material-grid p,
.material-grid li,
.material-grid a,
.team-grid p,
.login-card a,
.file small,
.status-label,
.stage-meta,
.task-meta,
.plan-description {
  font-size: 14px;
  line-height: 1.65;
}
.count,
#sync,
.calendar-weekdays span,
.calendar-legend,
.calendar-more,
.calendar-day-number small,
footer {
  font-size: 13px;
}
.calendar-preview {
  font-size: 13px;
  line-height: 1.5;
  min-height: 29px;
}
.calendar-day-number {
  font-size: 14px;
}
.calendar-event small,
.calendar-event p,
.curator-action p,
.next-step-row small,
.next-owner,
.next-step-summary,
.next-step-due {
  font-size: 13px;
}
.calendar-event h3,
.next-step-row b {
  font-size: 15px;
}
.calendar-day {
  min-height: 126px;
}
footer {
  color: #526078;
  line-height: 1.7;
}
footer a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.err,
.check-result .err {
  color: #a3324c;
}
.good,
.ok {
  color: #176d50;
}
.workshop-modal .work-header [role="status"],
.workshop-modal .work-import,
.workshop-modal .work-bottom,
.workshop-modal .work-presence {
  font-size: 14px;
  color: #40536e;
}
.workshop-modal .ribbon-button small,
.workshop-modal .ribbon-group > small,
.workshop-modal .ribbon-group label {
  font-size: 13px;
  color: #40516d;
}
.workshop-modal .ribbon-button {
  min-height: 44px;
}
.workshop-modal .ribbon-tabs button {
  font-size: 14px;
}
.workshop-modal .review-meta,
.workshop-modal .review-post small,
.workshop-modal .work-history small {
  font-size: 13px;
  color: #526078;
}
.about-public {
  background: #f5f6f8;
}
.about-header {
  height: auto;
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px max(24px, calc((100% - 980px) / 2));
  gap: 20px;
}
.about-content {
  max-width: 980px;
  padding: 34px 24px 60px;
}
.about-content h1 {
  margin-bottom: 14px;
}
.about-section {
  padding: 26px;
  margin: 24px 0;
}
.about-section p {
  line-height: 1.75;
}
.about-section .primary {
  display: inline-block;
  margin-top: 10px;
}
.license-record {
  border-top: 1px solid var(--line);
  padding: 16px 0;
}
.license-record:first-of-type {
  margin-top: 16px;
}
.license-record summary {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 14px;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.6;
}
.license-record summary small {
  font-size: 13px;
  color: #526078;
}
.license-record pre {
  font:
    13px/1.7 Consolas,
    monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  padding: 18px;
  background: #f5f7fb;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.license-record p {
  font-size: 14px;
}
.about-content a:not(.primary) {
  text-decoration: underline;
  text-underline-offset: 3px;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #4056d6;
  outline-offset: 3px;
}
@media (max-width: 1200px) {
  body > aside {
    width: 236px;
    padding: 22px 12px;
  }
  .main {
    margin-left: 236px;
  }
  .detail-grid {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
}
@media (max-width: 760px) {
  body > aside {
    position: static;
    width: 100%;
    height: auto;
    overflow: visible;
    padding: 16px;
  }
  .main {
    margin-left: 0;
  }
  nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    min-height: 58px;
    margin-top: 12px;
    gap: 6px;
    padding: 4px;
  }
  nav button,
  nav .nav-link {
    width: auto;
    flex: 0 0 auto;
    min-height: 46px;
    padding: 11px 12px;
    white-space: nowrap;
  }
  nav button .nav-label,
  nav .nav-link .nav-label {
    font-size: 14px;
    overflow-wrap: normal;
  }
  header {
    padding: 14px 16px;
  }
  .profile,
  .workspace {
    display: none;
  }
  h1 {
    font-size: 26px;
  }
  .primary,
  .secondary,
  .page-title .primary {
    font-size: 14px;
  }
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .calendar-day {
    min-height: 74px;
  }
  .calendar-day-items {
    display: none;
  }
  .calendar-day-number {
    font-size: 14px;
  }
  .calendar-day-number small {
    font-size: 12px;
  }
  .calendar-event .page-actions {
    max-width: 100%;
  }
  .about-header {
    padding: 18px 16px;
    flex-wrap: wrap;
  }
  .about-content {
    padding: 26px 16px 40px;
  }
  .about-section {
    padding: 20px;
  }
  .license-record summary {
    flex-wrap: wrap;
  }
}

.workshop-modal .ribbon-group select,
.workshop-modal .ribbon-info,
.workshop-modal .ribbon-quick .ribbon-button,
.workshop-modal .work-bottom .subtext {
  font-size: 13px;
  color: #40516d;
}

/* Editor controls and review threads; authored text and slide objects are excluded. */
dialog.workshop-modal .work-header .eyebrow,
dialog.workshop-modal #work-status,
dialog.workshop-modal .work-document-status,
dialog.workshop-modal .work-bottom button,
dialog.workshop-modal .work-draft-menu,
dialog.workshop-modal .work-bottom .work-import {
  font-size: 13px;
  color: #40516d;
}
dialog.workshop-modal .work-header .eyebrow {
  color: #4056d6;
}
dialog.workshop-modal .work-bottom button {
  min-height: 42px;
}
.workshop-card .subtext {
  font-size: 14px;
  color: #526078;
}
dialog.workshop-modal .review-pane {
  height: auto;
}
dialog.workshop-modal .review-pane-head p,
dialog.workshop-modal .review-filter,
dialog.workshop-modal .review-filter select,
dialog.workshop-modal .review-thread > small,
dialog.workshop-modal .review-post small,
dialog.workshop-modal .review-thread details summary,
dialog.workshop-modal .review-pane .field,
dialog.workshop-modal .review-footnote,
dialog.workshop-modal .review-anchor-note,
dialog.workshop-modal .review-resolved-by {
  font-size: 13px;
  color: #526078;
}
dialog.workshop-modal .review-thread,
dialog.workshop-modal .review-thread-head > b,
dialog.workshop-modal .review-message,
dialog.workshop-modal .review-post,
dialog.workshop-modal .review-pane textarea {
  font-size: 14px;
  line-height: 1.6;
}
dialog.workshop-modal .review-quote {
  font-size: 13px;
  color: #655334;
}
dialog.workshop-modal .review-status {
  font-size: 13px;
  color: #74500d;
  white-space: normal;
}
dialog.workshop-modal .review-status.review {
  color: #354ba3;
}
dialog.workshop-modal .review-status.resolved {
  color: #17674d;
}
dialog.workshop-modal .review-pane .review-action,
dialog.workshop-modal .review-pane button.primary,
dialog.workshop-modal .review-pane button.secondary {
  font-size: 13px;
  min-height: 42px;
}
dialog.workshop-modal .review-system p {
  color: #526078;
}
dialog.workshop-modal .review-text-marker {
  font-size: 13px;
  color: #6a501c;
}

dialog.workshop-modal .work-actions button {
  font-size: 14px;
}
@media (max-width: 900px) {
  dialog.workshop-modal .review-pane {
    height: 60dvh;
  }
}

dialog.workshop-modal:has(#work-layout) .work-header .eyebrow,
dialog.workshop-modal:has(#work-layout) #work-status {
  font-size: 13px;
  line-height: 1.5;
}
dialog.workshop-modal .slide-thumb small,
dialog.workshop-modal .slide-thumb b,
dialog.workshop-modal .slide-thumb span {
  font-size: 13px;
}
dialog.workshop-modal .slide-thumb span {
  max-height: 38px;
}
dialog.workshop-modal .slide-properties > summary,
dialog.workshop-modal .object-inspector,
dialog.workshop-modal .object-inspector input,
dialog.workshop-modal .object-inspector select,
dialog.workshop-modal .object-inspector label,
dialog.workshop-modal .canvas-help {
  font-size: 13px;
  color: #526078;
}
dialog.workshop-modal .object-actions button {
  font-size: 13px;
  min-height: 42px;
}

#project-folder input,
#project-folder select,
#project-folder button {
  max-width: 100%;
}
#project-folder .field {
  min-width: 0;
}
