/* GlobalPulse workspace layer. Load after the base and public-site styles.
   Every rule is scoped to the CMS or a native dialog. */
.gp-cms,
dialog {
  --workspace-dark: #151d21;
  --workspace-ink: #172126;
  --workspace-paper: #f4f5f0;
  --workspace-white: #ffffff;
  --workspace-lime: #c4f35b;
  --workspace-muted: #5b686c;
  --workspace-line: #d5dcda;
  --workspace-sans: var(--sans, 'DM Sans', Arial, sans-serif);
  --workspace-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --navy: var(--workspace-ink);
  --ink: var(--workspace-ink);
  --muted: var(--workspace-muted);
  --line: var(--workspace-line);
  --paper: var(--workspace-paper);
  color: var(--workspace-ink);
  font-family: var(--workspace-sans);
  accent-color: var(--workspace-ink);
  color-scheme: light;
}

.gp-cms {
  padding-top: 30px;
  background: var(--workspace-paper);
}
.gp-cms :is(button, a, input, select, textarea):focus-visible,
dialog :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--workspace-ink);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--workspace-lime);
}
.gp-cms .cms-breadcrumb {
  color: var(--workspace-muted);
  font-family: var(--workspace-mono);
  font-size: 10px;
  letter-spacing: .04em;
  margin-bottom: 28px;
}
.gp-cms .cms-breadcrumb button { color: var(--workspace-ink); }
.gp-cms :is(.cms-eyebrow, .cms-sidebar-label, .cms-demo-chip, .cms-endnote) {
  font-family: var(--workspace-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .09em;
}
.gp-cms .cms-eyebrow { color: var(--workspace-muted); }
.gp-cms .cms-page-heading { margin-bottom: 25px; }
.gp-cms .cms-page-heading h1 {
  font-family: var(--workspace-sans);
  font-size: clamp(34px, 3.4vw, 48px);
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.055em;
  margin: 10px 0 9px;
  color: var(--workspace-ink);
}
.gp-cms .cms-page-heading h1 span {
  background: var(--workspace-lime);
  border: 1px solid var(--workspace-dark);
  border-radius: 3px;
  font: 600 12px/1 var(--workspace-mono);
  letter-spacing: .02em;
  padding: 7px 9px;
  vertical-align: 7px;
}
.gp-cms .cms-page-heading p { color: var(--workspace-muted); font-size: 12px; }
.gp-cms .cms-button {
  min-height: 42px;
  border: 1px solid #9eaaa7;
  border-radius: 4px;
  background: var(--workspace-white);
  color: var(--workspace-ink);
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: -.01em;
  padding: 10px 15px;
  box-shadow: none;
  transition: background-color .16s, border-color .16s, color .16s;
}
.gp-cms .cms-button:hover { background: #e8ece5; border-color: var(--workspace-ink); }
.gp-cms .cms-primary {
  background: var(--workspace-dark);
  border-color: var(--workspace-dark);
  color: var(--workspace-lime);
}
.gp-cms .cms-primary:hover { background: #293538; color: var(--workspace-lime); }
.gp-cms .cms-local-notice {
  border: 1px solid var(--workspace-line);
  border-left: 3px solid var(--workspace-dark);
  padding: 13px 15px;
  margin-bottom: 25px;
  background: #eaf0df;
  color: #425144;
  font-size: 11px;
  line-height: 1.7;
}
.gp-cms .cms-local-notice strong { color: var(--workspace-ink); }
.gp-cms .cms-notice-dot {
  width: 7px;
  height: 7px;
  border: 1px solid #526c24;
  border-radius: 1px;
  background: var(--workspace-lime);
}
.gp-cms .cms-layout { gap: 28px; grid-template-columns: 218px minmax(0, 1fr); }
.gp-cms .cms-sidebar {
  background: var(--workspace-dark);
  color: #eff3ee;
  border: 0;
  padding: 18px 12px;
  align-self: start;
}
.gp-cms .cms-sidebar-label { color: #a9b5b6; padding: 7px 12px 19px; }
.gp-cms .cms-sidebar nav { gap: 6px; }
.gp-cms .cms-sidebar nav button {
  color: #d1d9d7;
  padding: 13px 12px;
  min-height: 44px;
  font-size: 11px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.gp-cms .cms-sidebar nav button:hover { background: #293538; color: #ffffff; }
.gp-cms .cms-sidebar nav button.active {
  background: var(--workspace-lime);
  color: var(--workspace-dark);
  border-color: var(--workspace-lime);
  font-weight: 650;
}
.gp-cms .cms-sidebar nav button:focus-visible { outline-color: var(--workspace-white); box-shadow: none; }
.gp-cms .cms-sidebar nav small {
  background: #344246;
  color: #ffffff;
  border: 0;
  border-radius: 3px;
  font: 10px/1.5 var(--workspace-mono);
  min-width: 20px;
  padding: 2px 5px;
}
.gp-cms .cms-sidebar nav button.active small { background: var(--workspace-dark); color: var(--workspace-lime); }
.gp-cms .cms-desk-status { border-color: #3a474b; margin-top: 40px; padding-top: 22px; }
.gp-cms .cms-desk-status strong { color: #e4eae5; font-size: 10px; }
.gp-cms .cms-desk-status p { color: #acb8b8; font-size: 10px; }
.gp-cms .cms-stats { gap: 0; margin-bottom: 24px; border: 1px solid #bac5c1; background: #ffffff; }
.gp-cms .cms-stats > div { padding: 22px 17px; border: 0; border-right: 1px solid var(--workspace-line); }
.gp-cms .cms-stats > div:last-child { border-right: 0; }
.gp-cms .cms-stats > div:first-child { background: var(--workspace-dark); color: #ffffff; }
.gp-cms .cms-stats > div > span { color: var(--workspace-muted); font-size: 11px; line-height: 1.5; }
.gp-cms .cms-stats strong { font-size: 37px; font-weight: 650; letter-spacing: -.06em; margin: 11px 0 6px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.gp-cms .cms-stats small { color: var(--workspace-muted); font-size: 10px; line-height: 1.6; }
.gp-cms .cms-stats > div:first-child > span,
.gp-cms .cms-stats > div:first-child small { color: #bdc8c5; }
.gp-cms .cms-stats > div:first-child strong { color: var(--workspace-lime); }
.gp-cms .cms-chart { background: #ffffff; border: 1px solid var(--workspace-line); padding: 24px; box-shadow: none; }
.gp-cms .cms-section-title { margin-bottom: 22px; }
.gp-cms :is(.cms-section-title h3, .cms-review-intro h2, .cms-topic-grid h4) {
  font-family: var(--workspace-sans);
  font-weight: 650;
  color: var(--workspace-ink);
  letter-spacing: -.035em;
}
.gp-cms .cms-section-title h3 { font-size: 24px; margin-top: 7px; }
.gp-cms .cms-demo-chip { color: #465650; background: var(--workspace-paper); border-color: var(--workspace-line); padding: 7px 9px; font-size: 9px; }
.gp-cms .cms-chart-scale { color: var(--workspace-muted); font: 9px var(--workspace-mono); }
.gp-cms .cms-bars { border-color: var(--workspace-line); background: repeating-linear-gradient(to top, transparent 0, transparent 59px, #e9ede7 59px, #e9ede7 60px); }
.gp-cms .cms-bar { background: #758583; border-radius: 1px 1px 0 0; }
.gp-cms .cms-bar-current { background: var(--workspace-lime); border: 1px solid #6e853d; border-bottom: 0; }
.gp-cms .cms-bar span,
.gp-cms .cms-bar-column label { color: var(--workspace-muted); font: 9px var(--workspace-mono); }
.gp-cms .cms-table-section,
.gp-cms .cms-editor { border-top: 2px solid var(--workspace-dark); padding-top: 23px; }
.gp-cms .cms-muted { color: var(--workspace-muted); font-size: 12px; }
.gp-cms .cms-table-toolbar { gap: 10px; }
.gp-cms .cms-search { border-color: #788c7e; background: #ffffff; border-radius: 4px; }
.gp-cms .cms-search svg { color: var(--workspace-muted); width: 16px; height: 16px; }
.gp-cms .cms-search input { padding: 13px 0; color: var(--workspace-ink); font-size: 12px; }
.gp-cms .cms-search:focus-within { outline: 2px solid var(--workspace-dark); outline-offset: 2px; }
.gp-cms .cms-search input:focus-visible { outline: none; box-shadow: none; }
.gp-cms .cms-search input::placeholder { color: #697572; }
.gp-cms .cms-table-toolbar select { border-color: #788c7e; border-radius: 4px; background: #ffffff; color: var(--workspace-ink); font-size: 11px; padding: 11px 12px; }
.gp-cms .cms-table-scroll { background: #ffffff; border: 1px solid var(--workspace-line); scrollbar-color: #86958e #edf0e9; }
.gp-cms table { min-width: 660px; }
.gp-cms th { background: #e9ede6; color: #42534c; border-top: 0; border-bottom-color: #c5cfc6; padding: 14px 12px; font: 500 9px var(--workspace-mono); letter-spacing: .09em; }
.gp-cms td { border-color: #e0e6df; padding: 18px 12px; font-size: 11px; color: var(--workspace-ink); }
.gp-cms tbody tr:hover { background: #f4f7ed; }
.gp-cms .cms-story-title { color: var(--workspace-ink); font-size: 12px !important; font-weight: 650 !important; line-height: 1.6; }
.gp-cms td small { color: var(--workspace-muted); font: 9px/1.7 var(--workspace-mono); margin-top: 5px; }
.gp-cms .cms-category { color: #4d6257; font-size: 10px; }
.gp-cms .cms-updated { color: var(--workspace-muted); font: 9px/1.7 var(--workspace-mono) !important; }
.gp-cms .cms-status { font: 500 9px/1.5 var(--workspace-mono); letter-spacing: .01em; padding: 4px 7px; border: 1px solid transparent; border-radius: 3px; }
.gp-cms .cms-status > span { border-radius: 1px; }
.gp-cms .cms-status-published { color: #285226; background: #e7f4cf; border-color: #c9dcb4; }
.gp-cms .cms-status-review { color: #765600; background: #fff0c7; border-color: #e5d599; }
.gp-cms .cms-status-draft { color: #4a5a60; background: #eef1f2; border-color: #d5dfe0; }
.gp-cms .cms-row-actions { gap: 8px; }
.gp-cms .cms-row-actions button { min-height: 36px; padding: 6px 4px; font-size: 11px; color: #445a50; }
.gp-cms .cms-row-actions button:hover { color: #172126; background: #e9f6d1; }
.gp-cms .cms-row-actions .cms-approve { color: #285226; font-weight: 650; }
.gp-cms .cms-row-actions button:last-child { font-size: 19px; min-width: 36px; color: #8d342c; }
.gp-cms .cms-empty { color: var(--workspace-muted); padding-block: 48px; }
.gp-cms .cms-empty strong { font: 650 21px/1.3 var(--workspace-sans); letter-spacing: -.025em; color: var(--workspace-ink); }
.gp-cms .cms-empty p { font-size: 12px; }
.gp-cms .cms-subscriber-empty { background: #ffffff; border-color: #b9c6bb; }
.gp-cms .cms-empty-icon { border-radius: 4px; background: var(--workspace-dark); color: var(--workspace-lime); }
.gp-cms .cms-review-intro { background: #e8edde; border-left: 3px solid var(--workspace-dark); padding: 24px; }
.gp-cms .cms-review-intro h2 { font-size: 29px; }
.gp-cms .cms-review-intro p { color: #526250; font-size: 12px; }
.gp-cms .cms-topic-grid { gap: 0; border-top: 1px solid var(--workspace-line); border-left: 1px solid var(--workspace-line); }
.gp-cms .cms-topic-grid article { background: #ffffff; border: 0; border-right: 1px solid var(--workspace-line); border-bottom: 1px solid var(--workspace-line); padding: 26px; }
.gp-cms .cms-topic-number { color: #526840; font: 11px var(--workspace-mono); }
.gp-cms .cms-topic-grid h4 { font-size: 27px; margin-top: 16px; }
.gp-cms .cms-topic-grid p { color: var(--workspace-muted); font-size: 11px; }
.gp-cms .cms-topic-grid .cms-button { font-size: 10px !important; min-height: 36px; }
.gp-cms .cms-active-feature { color: var(--workspace-dark); background: var(--workspace-lime); border-color: #7d9949; }
.gp-cms .cms-active-feature:hover { background: #b7e64f; }
.gp-cms .cms-field { color: #40524a; font-size: 11px; font-weight: 600; gap: 9px; }
.gp-cms .cms-field :is(input, select, textarea) { background: #ffffff; border-color: #788c7e; border-radius: 4px; color: var(--workspace-ink); font-family: var(--workspace-sans); font-size: 13px; padding: 13px 14px; }
.gp-cms .cms-field :is(input, textarea)::placeholder { color: #6c7972; }
.gp-cms .cms-editor-bottom { border-color: var(--workspace-line); padding-top: 22px; }
.gp-cms .cms-editor-bottom p { color: var(--workspace-muted); font-size: 11px; }
.gp-cms .cms-delete-confirm { border-color: #dcaca2; border-left: 3px solid #9b382e; background: #fff0ec; border-radius: 3px; }
.gp-cms .cms-delete-confirm strong { color: #6a271f; }
.gp-cms .cms-delete-confirm p { color: #78534c; font-size: 11px; }
.gp-cms .cms-danger { background: #9b382e; border-color: #9b382e; color: #ffffff; }
.gp-cms .cms-danger:hover { background: #7e2b23; border-color: #7e2b23; color: #ffffff; }
.gp-cms .cms-color-input input { padding: 4px; height: 42px; width: 54px; }
.gp-cms .cms-color-input span { color: var(--workspace-muted); font-size: 11px; }
.gp-cms .cms-brand-preview { background: var(--workspace-white); border-left-width: 4px; padding: 30px; }
.gp-cms .cms-brand-preview strong { color: var(--workspace-ink); letter-spacing: -.055em; }
.gp-cms .cms-brand-preview strong span { display: inline-block; color: #5b7928; }
.gp-cms .cms-brand-preview small { color: var(--workspace-muted); font: 8px/1.7 var(--workspace-mono); letter-spacing: .08em; }
.gp-cms .cms-settings-note { border-color: var(--workspace-line); }
.gp-cms .cms-settings-note p { color: var(--workspace-muted); font-size: 12px; }
.gp-cms .cms-endnote { color: #5e6c64; border-color: #c7d0c7; font-size: 9px; letter-spacing: .07em; }

/* Dialogs use a compact dark title bar and calm paper workspace. */
dialog {
  width: min(720px, calc(100% - 32px));
  max-height: 90dvh;
  border: 1px solid var(--workspace-dark);
  border-radius: 4px;
  padding: 0;
  background: var(--workspace-paper);
  box-shadow: 0 18px 70px #151d2138;
  scrollbar-color: #7a8a80 var(--workspace-paper);
}
dialog::backdrop { background: #151d21b8; backdrop-filter: none; }
dialog .dialog-bar { padding: 14px 24px; background: var(--workspace-dark); color: #ffffff; border: 0; min-height: 65px; }
dialog .dialog-bar .brand-mini { color: #ffffff; font: 750 16px/1 var(--workspace-sans); letter-spacing: -.035em; }
dialog .dialog-bar .brand-mini span { color: var(--workspace-lime); }
dialog .dialog-bar .icon-button { width: 44px; height: 44px; border-radius: 4px; color: #e3eae3; }
dialog .dialog-bar .icon-button:hover { background: var(--workspace-lime); color: var(--workspace-dark); }
dialog .dialog-bar .icon-button:focus-visible { outline-color: var(--workspace-lime); box-shadow: none; }
dialog .dialog-body { padding: 34px; }
dialog .eyebrow { font: 500 10px/1.5 var(--workspace-mono); letter-spacing: .09em; color: #506446; margin-bottom: 12px; }
dialog .dialog-body h2 { font: 700 clamp(30px, 4vw, 43px)/1.07 var(--workspace-sans); letter-spacing: -.045em; color: var(--workspace-ink); overflow-wrap: break-word; }
dialog .dialog-body > p { color: var(--workspace-muted); font-size: 14px; line-height: 1.8; margin-top: 18px; }
dialog .dialog-body :is(h3, h4) { font-family: var(--workspace-sans); font-weight: 650; letter-spacing: -.025em; color: var(--workspace-ink); }
dialog .button { padding: 13px 18px; border-color: #a5b3a7; border-radius: 4px; background: #ffffff; color: var(--workspace-ink); font-size: 12px; font-weight: 650; min-height: 44px; text-decoration: none; }
dialog .button:hover { background: #e6eddf; border-color: var(--workspace-ink); }
dialog .button.primary { background: var(--workspace-dark); color: var(--workspace-lime); border-color: var(--workspace-dark); }
dialog .button.primary:hover { background: #2b383b; color: var(--workspace-lime); }
dialog .text-link { color: #32482e; font-size: 12px; text-decoration-thickness: 1px; text-underline-offset: 4px; }
dialog .form-note { color: var(--workspace-muted); font-size: 11px; line-height: 1.8; }
dialog .newsletter-emblem { border-radius: 4px; background: var(--workspace-dark); color: var(--workspace-lime); border: 0; box-shadow: none; width: 48px; height: 48px; }
dialog .success-icon { border-radius: 4px; background: var(--workspace-lime); color: var(--workspace-dark); border: 1px solid #86a343; box-shadow: none; }
dialog .search-field { border: 1px solid #768978; background: #ffffff; border-radius: 4px; min-height: 56px; padding: 0; gap: 0; overflow: visible; }
dialog .search-field > svg { margin-inline: 15px; color: var(--workspace-ink); width: 20px; height: 20px; flex-shrink: 0; }
dialog .search-field input { color: var(--workspace-ink); font: 400 17px/1.4 var(--workspace-sans); padding: 15px 10px 15px 0; border-radius: 0; }
dialog .search-field input::placeholder { color: #657368; }
dialog .search-field:focus-within { outline: 2px solid var(--workspace-dark); outline-offset: 3px; }
dialog .search-field input:focus-visible { outline: none; box-shadow: none; }
dialog .search-field button { align-self: stretch; padding: 15px; font-size: 12px; font-weight: 650; white-space: nowrap; background: var(--workspace-dark); color: var(--workspace-lime); border-radius: 0 3px 3px 0; }
dialog .search-field button:hover { background: #2b383b; }
dialog .suggestions small { color: var(--workspace-muted); font: 10px/1.6 var(--workspace-mono); letter-spacing: .07em; }
dialog .suggestions > div { gap: 9px; }
dialog .suggestions button { color: #344b33; background: #ffffff; border: 1px solid #bac7b5; border-radius: 4px; padding: 10px 12px; min-height: 38px; font-size: 11px; }
dialog .suggestions button:hover { color: var(--workspace-dark); background: #e6f3ce; border-color: #718a55; }
dialog .form-stack { gap: 18px; margin-top: 27px; }
dialog .form-stack label { color: #3d5144; font-size: 12px; font-weight: 600; }
dialog .form-stack :is(input[type="email"], input[type="text"], select, textarea),
dialog .dialog-body > input[readonly] { background: #ffffff; color: var(--workspace-ink); border: 1px solid #768978; border-radius: 4px; font-size: 14px; padding: 13px 14px; }
/* The share fallback supplies its border inline; retain a visible field boundary. */
dialog .dialog-body > input[readonly] { border-color: #768978 !important; }
dialog .form-stack :is(input, textarea)::placeholder { color: #69786c; }
dialog .form-stack input[type="checkbox"] { accent-color: var(--workspace-ink); width: 18px; height: 18px; margin: 0 10px 0 0; flex-shrink: 0; }
dialog .form-stack .checkbox-label { color: #435747; font-size: 12px; min-height: 36px; font-weight: 500; }
dialog .checkbox-grid { gap: 11px 16px; }
dialog .demo-disclosure { background: #e9efdf; color: #445443; border: 1px solid #c8d5ba; border-left: 3px solid #5f783d; border-radius: 0; font-size: 12px; line-height: 1.8; }
dialog .demo-disclosure :is(b, strong) { color: #2f442c; }
dialog .source-link { color: #3c5c30; text-decoration-thickness: 1px; text-underline-offset: 3px; }
dialog .source-link:hover { color: #172126; }
dialog .account-section { border-color: var(--workspace-line); margin-top: 28px; padding-top: 24px; }
dialog .account-section h3 { font-size: 22px; }
dialog .account-section p { color: var(--workspace-muted); font-size: 12px; line-height: 1.8; }
dialog .account-section .text-link { color: #344c2c; }
dialog .preference-chip { color: #415345; background: #ffffff; border-color: #b1c0ae; border-radius: 4px; padding: 9px 12px; min-height: 38px; font-size: 11px; margin: 6px 4px 0 0; }
dialog .preference-chip:hover { border-color: #5a7548; background: #eaf2df; }
dialog .preference-chip.active { background: var(--workspace-lime); border-color: #6c873c; color: var(--workspace-dark); font-weight: 650; }
dialog .related-link { border-bottom: 1px solid var(--workspace-line); padding-bottom: 15px; gap: 14px; }
dialog .related-link:hover span { text-decoration: underline; text-underline-offset: 4px; }
dialog .related-link img { border-radius: 1px; background: #e1e7dc; }
dialog .related-link span { color: var(--workspace-ink); font: 600 16px/1.4 var(--workspace-sans); letter-spacing: -.02em; }
dialog .timeline { border-color: #b6c4b0; padding-left: 25px; }
dialog .timeline-item { padding-bottom: 30px; }
dialog .timeline-item::before { background: var(--workspace-lime); border: 1px solid #6c873c; border-radius: 1px; box-shadow: 0 0 0 4px var(--workspace-paper); }
dialog .timeline-item time { color: #526a43; font: 500 10px/1.6 var(--workspace-mono); }
dialog .timeline-item h3 { font: 650 24px/1.2 var(--workspace-sans); letter-spacing: -.035em; }
dialog .timeline-item .story-title { font: inherit; }
dialog .timeline-item p { color: var(--workspace-muted); font-size: 13px; }
dialog .article-cover { border-radius: 0; background: #dce4d5; }
dialog .story-label { color: #4c6540; font: 500 10px/1.5 var(--workspace-mono); letter-spacing: .06em; }
dialog .article-topline { border-color: var(--workspace-line); }
dialog .article-topline .avatar { background: var(--workspace-dark); color: var(--workspace-lime); border-radius: 4px; font-family: var(--workspace-mono); }
dialog .article-topline small,
dialog .article-topline time { color: var(--workspace-muted); font-size: 10px; }
dialog .article-actions { border-color: #cad3c5; margin-top: 25px; padding-block: 12px; gap: 10px; flex-wrap: wrap; }
dialog .article-actions button { background: #ffffff; color: #3d5340; border: 1px solid #b5c3ae; border-radius: 4px; min-height: 36px; padding: 8px 11px; font-size: 11px; }
dialog .article-actions button:hover { background: #e8f1d9; border-color: #7b9365; }
dialog .article-actions button.is-saved { background: var(--workspace-lime); color: var(--workspace-dark); border-color: #6c873c; }
dialog .article-actions > span { color: var(--workspace-muted); font: 9px/1.7 var(--workspace-mono); }
dialog .article-prose { color: #35463a; font: 400 16px/1.85 var(--workspace-sans); }
dialog .article-prose p { margin: 23px 0; }
dialog .article-prose p:first-child::first-letter { font: inherit; color: inherit; float: none; padding: 0; }
dialog .tags button { color: #445c3c; background: #e9eedf; border: 1px solid #c0ceb5; border-radius: 3px; font: 10px/1.6 var(--workspace-mono); padding: 7px 9px; }
dialog .related-stories h3 { font-size: 24px; }
dialog .mobile-menu { margin-top: 25px; border-top: 1px solid var(--workspace-line); }
dialog .mobile-menu button { color: var(--workspace-ink); border-color: var(--workspace-line); min-height: 48px; padding-block: 14px; font-family: var(--workspace-sans); }
dialog .mobile-menu button:hover { background: #e9efdf; }

@media (max-width: 1100px) {
  .gp-cms .cms-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 22px; }
  .gp-cms .cms-sidebar { padding-inline: 9px; }
  .gp-cms .cms-sidebar nav button { gap: 8px; padding-inline: 10px; font-size: 10px; }
  .gp-cms .cms-stats > div { padding: 20px 13px; }
  .gp-cms .cms-stats strong { font-size: 34px; }
  .gp-cms .cms-stats small { font-size: 9px; }
  .gp-cms .cms-table-toolbar { gap: 8px; }
  .gp-cms .cms-table-toolbar .cms-button { font-size: 11px !important; padding-inline: 12px; }
}
@media (max-width: 800px) {
  .gp-cms .cms-layout { grid-template-columns: 1fr; gap: 23px; }
  .gp-cms .cms-sidebar { padding: 9px; }
  .gp-cms .cms-sidebar nav { flex-direction: row; gap: 6px; overflow-x: auto; padding: 3px 2px; scrollbar-color: #8b9a90 var(--workspace-dark); }
  .gp-cms .cms-sidebar nav button { flex-shrink: 0; padding: 11px 13px; min-height: 42px; font-size: 11px; }
  .gp-cms .cms-sidebar nav button.active { border-bottom: 1px solid var(--workspace-lime); }
  .gp-cms .cms-stats > div { padding: 20px 15px; }
  .gp-cms .cms-page-heading h1 { font-size: 42px; }
  .gp-cms .cms-page-heading > .cms-button { font-size: 11px !important; }
}
@media (max-width: 520px) {
  .gp-cms { padding-top: 24px; }
  .gp-cms .cms-page-heading { gap: 18px; }
  .gp-cms .cms-page-heading h1 { font-size: 37px; }
  .gp-cms .cms-page-heading h1 span { font-size: 10px; padding: 6px 7px; vertical-align: 6px; }
  .gp-cms .cms-local-notice { padding: 12px; font-size: 10px; }
  .gp-cms .cms-stats { grid-template-columns: 1fr 1fr; gap: 0; }
  .gp-cms .cms-stats > div { padding: 21px 17px; border-bottom: 1px solid var(--workspace-line); }
  .gp-cms .cms-stats > div:nth-child(2n) { border-right: 0; }
  .gp-cms .cms-stats > div:nth-child(n+3) { border-bottom: 0; }
  .gp-cms .cms-stats strong { font-size: 35px; }
  .gp-cms .cms-stats > div > span { font-size: 11px; }
  .gp-cms .cms-chart { padding: 20px 16px; }
  .gp-cms .cms-section-title { align-items: start; gap: 10px; }
  .gp-cms .cms-section-title h3 { font-size: 23px; }
  .gp-cms .cms-demo-chip { font-size: 8px; padding: 6px; letter-spacing: .02em; }
  .gp-cms .cms-topic-grid article { padding: 21px 17px; }
  .gp-cms .cms-topic-grid h4 { font-size: 24px; }
  .gp-cms .cms-topic-grid .cms-button { padding-inline: 10px; }
  .gp-cms .cms-row-actions button { min-height: 44px; min-width: 44px; }
  .gp-cms .cms-field :is(input, select, textarea),
  .gp-cms .cms-search input { font-size: 16px; }
  .gp-cms .cms-brand-preview { padding: 25px; }
  .gp-cms .cms-brand-preview small { font-size: 7px; }
  .gp-cms .cms-endnote { font-size: 8px; line-height: 1.7; gap: 14px; }
  dialog { width: calc(100% - 20px); max-height: 92dvh; }
  dialog .dialog-bar { padding: 12px 20px; min-height: 59px; }
  dialog .dialog-body { padding: 27px 23px; }
  dialog .dialog-body h2 { font-size: 33px; }
  dialog .dialog-body > p { font-size: 13px; }
  dialog .search-field > svg { margin-inline: 11px; width: 18px; height: 18px; }
  dialog .search-field input { font-size: 16px; padding-block: 15px; }
  dialog .search-field button { padding-inline: 12px; font-size: 11px; }
  dialog .checkbox-grid { gap: 10px; }
  dialog .form-stack .checkbox-label { font-size: 11px !important; }
  dialog .form-stack :is(input[type="email"], input[type="text"], select, textarea),
  dialog .dialog-body > input[readonly] { font-size: 16px; }
  dialog .related-link { gap: 12px; }
  dialog .related-link img { width: 75px; height: 56px; }
  dialog .related-link span { font-size: 15px; }
  dialog .article-prose { font-size: 15px; line-height: 1.85; }
  dialog .article-actions { gap: 8px; }
  dialog .article-actions > span { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .gp-cms *, dialog * { scroll-behavior: auto; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
