/* JEWAN 1.7 experience extension — load after jewan-interface.css.
   Original logo, local Lexend, approved hero and counters remain unchanged.
   No external font, image or other network dependency. */
:root {
  --ex-deep:#073a39; --ex-teal:#0c5150; --ex-gold:#d8ab00;
  --ex-gold-ink:#705700; --ex-paper:#fbfcf9; --ex-line:#dce5df;
  --ex-muted:#566e68; --ex-danger:#963d36;
  --ex-shadow:0 8px 32px rgba(7,58,57,.045);
}

/* A single editor page, rather than a sequence of setup screens. */
.ex-campaign-editor { width:100%; max-width:1250px; margin:0 auto; min-width:0; }
.ex-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px); align-items:start; gap:28px; }
.ex-campaign-editor:not(:has(.ex-editor-layout)) { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px); align-items:start; gap:28px; }
.ex-editor-layout>*,.ex-editor-main,.ex-editor-aside,.ex-editor-main>*,.ex-editor-aside>* { min-width:0; }
.ex-editor-aside { position:sticky; top:104px; }
.ex-editor-main>.srv-card,.ex-editor-aside>.srv-card,.ex-summary-preview {
  border:1px solid var(--ex-line); background:#fff; border-radius:14px; box-shadow:var(--ex-shadow);
}
.ex-editor-main>.srv-card { padding:28px; }
.ex-editor-aside>.srv-card { padding:22px; }
.ex-step-label { display:block; margin:0 0 8px; color:var(--ex-gold-ink); font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.ex-field { min-width:0; margin:0 0 23px; }
.ex-field:last-child { margin-bottom:0; }
.ex-field>label,.ex-field>.ex-label { display:block; color:var(--ex-deep); font-size:12px; font-weight:600; line-height:1.65; margin:0 0 8px; }
.ex-field :is(input:not([type=checkbox]):not([type=radio]),textarea,select),
:is(.ex-request-form,.ex-public-form) :is(input:not([type=checkbox]):not([type=radio]),textarea,select),
.ex-search-form input[type=search] {
  display:block; width:100%; max-width:100%; min-width:0; min-height:46px; padding:12px 14px;
  border:1px solid #c9d8ce; border-radius:8px; color:var(--ex-deep); background:#fff;
  font:inherit; line-height:1.6; box-sizing:border-box;
}
.ex-field textarea,:is(.ex-request-form,.ex-public-form) textarea { min-height:140px; resize:vertical; }
.ex-field textarea.ex-story { min-height:280px; }
.ex-field :is(input,textarea,select):focus,:is(.ex-request-form,.ex-public-form) :is(input,textarea,select):focus,.ex-search-form input:focus { border-color:var(--ex-teal); }
.ex-field :is(input,textarea,select)[aria-invalid=true],:is(.ex-request-form,.ex-public-form) :is(input,textarea,select)[aria-invalid=true] { border-color:var(--ex-danger); background:#fffaf8; }
.ex-counter { display:block; color:var(--ex-muted); text-align:right; margin:6px 0 0; font-size:10px; font-variant-numeric:tabular-nums; }
.ex-counter.ex-over-limit,.ex-counter[data-over-limit=true] { color:var(--ex-danger); font-weight:600; }
.ex-field-error { display:block; margin:7px 0 0; color:var(--ex-danger); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.ex-field-error:empty { display:none; }
.ex-field small,.ex-hint,.ex-note { display:block; color:var(--ex-muted); font-size:11px; line-height:1.8; margin-top:7px; overflow-wrap:anywhere; }
.ex-form-grid,.ex-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.ex-form-grid>*,.ex-form-row>* { min-width:0; }
.ex-form-grid>.ex-full { grid-column:1/-1; }

/* Inline uploads retain their real availability and validation states. */
.ex-upload { position:relative; min-width:0; padding:24px; border:1px dashed #aebfaf; border-radius:12px; background:#f7faf4; text-align:center; transition:border-color .15s,background-color .15s; }
.ex-upload:focus-within,.ex-upload.ex-dragging,.ex-upload[data-dragging=true] { border-color:var(--ex-teal); background:#edf4ec; }
.ex-upload p { margin:8px 0; }
.ex-upload-preview { position:relative; margin:0 0 16px; overflow:hidden; border:1px solid var(--ex-line); border-radius:9px; background:#eef2eb; }
.ex-upload-preview img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:0; }
.ex-upload-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; }
.ex-upload input[type=file] { max-width:100%; font-size:12px; }
.ex-upload input[type=file]::file-selector-button { margin-right:12px; padding:9px 13px; border:1px solid var(--ex-teal); border-radius:7px; background:#fff; color:var(--ex-teal); font:inherit; cursor:pointer; }
.ex-upload .ex-status { text-align:left; }
.ex-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(145px,100%),1fr)); gap:14px; margin:18px 0; }
.ex-media-thumb { position:relative; min-width:0; padding:8px; border:1px solid var(--ex-line); border-radius:9px; background:#fff; }
.ex-media-thumb img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:5px; background:#eef2eb; }
.ex-media-thumb p { font-size:10px; margin:8px 0 0; line-height:1.6; overflow-wrap:anywhere; }
.ex-media-thumb .ex-media-remove { position:absolute; top:12px; right:12px; display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid var(--ex-line); border-radius:50%; color:var(--ex-deep); background:#fff; cursor:pointer; }
.ex-summary-preview { padding:22px; overflow:hidden; }
.ex-summary-preview>img { display:block; width:calc(100% + 44px); max-width:none; height:auto; aspect-ratio:16/9; object-fit:cover; margin:-22px -22px 20px; border-radius:0; }
.ex-summary-preview :is(h2,h3) { color:var(--ex-deep); font-size:20px; line-height:1.4; letter-spacing:-.45px; margin:0 0 12px; overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; }
.ex-summary-preview p { color:var(--ex-muted); font-size:12px; line-height:1.85; }
.ex-summary-preview .ex-summary-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden; }
.ex-summary-preview a { overflow-wrap:anywhere; }
.ex-focus-top img,img.ex-focus-top { object-position:center top; }
.ex-focus-bottom img,img.ex-focus-bottom { object-position:center bottom; }
.ex-focus-center img,img.ex-focus-center { object-position:center; }

/* Optional details stay in the same page. */
details.ex-details,details.ex-optional,details.ex-advanced,.ex-advanced>details {
  border:1px solid var(--ex-line); border-radius:10px; padding:0 20px; background:#fff; margin:0 0 20px; min-width:0;
}
:is(details.ex-details,details.ex-optional,details.ex-advanced,.ex-advanced>details)>summary { color:var(--ex-deep); font-size:13px; font-weight:600; line-height:1.7; padding:17px 0; cursor:pointer; min-height:48px; }
:is(details.ex-details,details.ex-optional,details.ex-advanced,.ex-advanced>details)[open]>summary { border-bottom:1px solid var(--ex-line); margin-bottom:20px; }
:is(details.ex-details,details.ex-optional,details.ex-advanced,.ex-advanced>details)[open] { padding-bottom:20px; }
.ex-editor-actions,.ex-sticky-actions { position:sticky; bottom:14px; z-index:42; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding:15px 18px; margin:24px 0 0; border:1px solid #cbdad0; border-radius:12px; background:#fff; box-shadow:0 6px 32px rgba(7,58,57,.1); }
.ex-editor-actions>p,.ex-editor-actions>span,.ex-sticky-actions>p,.ex-sticky-actions>span { margin:0 auto 0 0; color:var(--ex-muted); font-size:11px; }

/* Cards have a stable image, title, summary and progress rhythm. */
.pub :is(h1,h2,h3,p,li),.ex-campaign-editor :is(h1,h2,h3,p,a) { overflow-wrap:anywhere; }
.pub-cards { align-items:stretch; }
.pub-cards .pub-card { min-width:0; }
.pub-cards:not(.pub-cards-list) .pub-card { display:flex; flex-direction:column; border:1px solid var(--ex-line); border-radius:var(--pub-r,12px); background:#fff; overflow:hidden; box-shadow:var(--ex-shadow); transition:border-color .16s,box-shadow .16s,transform .16s; }
.pub-cards:not(.pub-cards-list) .pub-card:hover { border-color:#aebfb0; box-shadow:0 12px 34px rgba(7,58,57,.08); transform:translateY(-2px); }
.pub-cards:not(.pub-cards-list) .pub-card-img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:0; flex-shrink:0; }
.pub-cards:not(.pub-cards-list) .pub-card-body { display:flex; flex-direction:column; min-width:0; flex:1; padding:24px; }
.pub-cards:not(.pub-cards-list) .pub-card-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; min-height:2.8em; overflow:hidden; font-size:21px; line-height:1.4; margin:0 0 13px; letter-spacing:-.5px; overflow-wrap:anywhere; }
.pub-cards:not(.pub-cards-list) .pub-card-title a { color:var(--ex-deep); text-decoration:none; }
.pub-cards:not(.pub-cards-list) .pub-card-title a:hover { text-decoration:underline; text-underline-offset:4px; }
.pub-cards:not(.pub-cards-list) .pub-card-body>p:not(.pub-card-meta) { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden; color:var(--ex-muted); font-size:13px; line-height:1.8; margin:0 0 20px; }
.pub-cards:not(.pub-cards-list) .pub-card-meta { color:var(--ex-muted); font-size:10px; line-height:1.7; margin:0 0 13px; }
.pub-cards:not(.pub-cards-list) .pub-progress { margin-top:auto; padding-top:8px; }
.pub-card .pub-progress-text { font-size:11px; line-height:1.8; }
.pub-cards:not(.pub-cards-list) .pub-card-body>.pub-actions { margin-top:auto; }

/* New public surfaces inherit the same restrained editorial identity. */
.ex-page-intro { max-width:820px; padding:54px 0 30px; }
.ex-page-intro h1 { margin:0 0 16px; line-height:1.16; letter-spacing:-1.2px; }
.ex-page-intro>p { color:var(--ex-muted); max-width:660px; line-height:1.9; }
.ex-search-form { display:flex; align-items:center; gap:12px; width:100%; margin:24px 0 28px; }
.ex-search-form input[type=search] { flex:1; min-height:52px; }
.ex-search-form .pub-btn { flex-shrink:0; min-height:52px; }
.ex-search-results { margin:28px 0 64px; }
.ex-search-results>li,.ex-search-results>article { padding:24px 0; border-bottom:1px solid var(--ex-line); min-width:0; }
.ex-search-results h2 { margin:0 0 8px; font-size:22px; }
.ex-search-results p { color:var(--ex-muted); max-width:760px; line-height:1.85; }
.ex-search-results a { text-underline-offset:4px; }
.ex-categories { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:8px 0 30px; }
.ex-categories a,.ex-categories button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 15px; border:1px solid #d1ded4; border-radius:999px; background:#fff; color:var(--ex-teal); font:inherit; font-size:11px; line-height:1.5; text-decoration:none; text-align:center; }
.ex-categories :is(a,button):hover { background:#eff4eb; border-color:#afc3b2; }
.ex-categories .active,.ex-categories [aria-current=page],.ex-categories [aria-pressed=true] { background:var(--ex-teal); border-color:var(--ex-teal); color:#fff; }
.ex-dashboard-links { display:flex; gap:10px; flex-wrap:wrap; margin:20px 0 28px; }
.ex-dashboard-links a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:9px 15px; border:1px solid var(--ex-line); border-radius:8px; background:#fff; color:var(--ex-teal); font-size:12px; text-decoration:none; }
.ex-dashboard-links a:hover { border-color:#afc3b2; background:#f4f8f0; }
:is(.ex-request-form,.ex-public-form) { width:100%; max-width:800px; padding:32px; margin:0 0 64px; border:1px solid var(--ex-line); border-radius:var(--pub-r,14px); background:#fff; box-shadow:var(--ex-shadow); }
:is(.ex-request-form,.ex-public-form) label { display:block; color:var(--ex-deep); font-size:13px; font-weight:600; margin:0 0 8px; }
:is(.ex-request-form,.ex-public-form) .ex-field { margin-bottom:24px; }
:is(.ex-request-form,.ex-public-form) :is(input[type=checkbox],input[type=radio]),.ex-choice-row :is(input[type=checkbox],input[type=radio]) { width:18px; height:18px; accent-color:var(--ex-teal); flex-shrink:0; }
:is(.ex-request-form,.ex-public-form) .ex-check { display:flex; align-items:flex-start; gap:11px; font-weight:400; line-height:1.8; }
:is(.ex-request-form,.ex-public-form) .ex-check input { margin-top:5px; }
:is(.ex-request-form,.ex-public-form) .pub-actions { margin-top:28px; }
.ex-empty { border:1px dashed #c6d5c5; border-radius:12px; padding:44px 28px; background:#f7faf3; color:var(--ex-muted); text-align:center; }
.ex-empty h2 { color:var(--ex-deep); margin-top:0; }
.ex-empty p { margin-left:auto; margin-right:auto; max-width:620px; }
.ex-empty .pub-actions { justify-content:center; }
.ex-notice,.ex-status { padding:15px 18px; margin:16px 0; border:1px solid #e6ddb1; border-left:3px solid var(--ex-gold); border-radius:8px; background:#fbf8e9; color:#64521c; font-size:12px; line-height:1.85; overflow-wrap:anywhere; }
.ex-status:empty { display:none; }
.ex-status[data-state=success],.ex-status.success { background:#eef6ee; border-color:#c5d9c5; border-left-color:var(--ex-teal); color:#22543d; }
.ex-status[data-state=error],.ex-status.error { background:#fff5f0; border-color:#eccfc4; border-left-color:var(--ex-danger); color:var(--ex-danger); }
.ex-link-button { display:inline; padding:0; border:0; border-radius:0; background:none; color:inherit; text-decoration:underline; text-underline-offset:3px; font:inherit; cursor:pointer; }
.srv-btn.quiet,.pub-btn.quiet,.pt-btn.quiet,.dn-btn.quiet,.ex-quiet {
  border-color:transparent; background:transparent; color:var(--ex-teal); box-shadow:none;
  text-decoration:underline; text-underline-offset:4px;
}
.srv-btn.quiet:hover,.pub-btn.quiet:hover,.pt-btn.quiet:hover,.dn-btn.quiet:hover,.ex-quiet:hover { background:transparent; box-shadow:none; filter:none; text-decoration-thickness:2px; }

/* Consent is a functional control, separate from the policy text. */
.ex-cookie-banner,.ex-consent-banner { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); z-index:120; width:min(1040px,calc(100% - 40px)); max-height:calc(100dvh - 40px); overflow-y:auto; padding:25px 28px; border:1px solid #c7d6ca; border-top:3px solid var(--ex-gold); border-radius:14px; background:#fff; color:var(--ex-deep); box-shadow:0 12px 54px rgba(7,58,57,.2); box-sizing:border-box; }
:is(.ex-cookie-banner,.ex-consent-banner) h2 { font-size:19px; margin:0 0 8px; letter-spacing:-.35px; }
:is(.ex-cookie-banner,.ex-consent-banner) p { color:var(--ex-muted); font-size:12px; line-height:1.85; margin:0 0 14px; max-width:850px; }
.ex-cookie-actions,.ex-consent-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:20px; }
:is(.ex-cookie-actions,.ex-consent-actions) button { min-height:44px; }
dialog.ex-dialog { width:min(640px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:30px; border:1px solid var(--ex-line); border-radius:14px; background:#fff; color:var(--ex-deep); box-shadow:0 20px 80px rgba(7,58,57,.25); overflow-y:auto; box-sizing:border-box; }
dialog.ex-dialog::backdrop { background:rgba(5,37,36,.68); }
dialog.ex-dialog>h2 { padding-right:34px; font-size:25px; line-height:1.3; margin:0 0 15px; letter-spacing:-.6px; }
dialog.ex-dialog>p { color:var(--ex-muted); font-size:13px; line-height:1.85; }
.ex-dialog-close { position:absolute; top:18px; right:18px; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:1px solid var(--ex-line); border-radius:50%; color:var(--ex-teal); background:#fff; font-size:20px; cursor:pointer; }
.ex-preferences { margin:20px 0; padding:0; border:0; min-width:0; }
.ex-choice-row,.ex-preferences>label { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 0; border-bottom:1px solid var(--ex-line); }
.ex-choice-row>div { min-width:0; flex:1; }
.ex-choice-row label,.ex-choice-row strong { display:block; font-size:13px; font-weight:600; margin:0 0 5px; }
.ex-choice-row p { color:var(--ex-muted); font-size:12px; margin:0; line-height:1.85; }
.ex-choice-row input,.ex-preferences input[type=checkbox] { width:18px; height:18px; flex-shrink:0; margin:5px 0 0; accent-color:var(--ex-teal); }
.ex-choice-row .ex-required { color:var(--ex-muted); font-size:10px; white-space:nowrap; }
.ex-embed-placeholder { display:grid; place-items:center; min-height:220px; padding:30px; text-align:center; border:1px solid var(--ex-line); border-radius:12px; background:#eff3e9; }
.ex-embed-placeholder>* { max-width:560px; }
.ex-embed-placeholder p { font-size:13px; line-height:1.85; color:var(--ex-muted); }
.ex-policy-section { max-width:800px; margin:0 0 32px; }
.ex-policy-section :is(h2,h3) { margin-top:30px; line-height:1.4; }
.ex-policy-section :is(p,li) { color:var(--ex-muted); font-size:14px; line-height:1.95; overflow-wrap:anywhere; }
.ex-policy-section a { text-underline-offset:4px; }
.ex-portal-legal { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 22px; padding:20px 24px; border-top:1px solid var(--ex-line); color:var(--ex-muted); background:var(--ex-paper); font-size:11px; }
.ex-portal-legal a,.ex-portal-legal button { color:var(--ex-teal); font:inherit; }

/* .pt-scroll is the renderer's real wrapper. Keep all columns scrollable in
   their panel instead of clipping them or masking whole-page overflow. */
@media screen {
  .pt-layout>*,.dn-layout>*,.pt-main,.dn-main,.pt-panel,.dn-panel,.rm-panel,.pt-panel>*,.dn-panel>* { min-width:0; }
  .pt-scroll,.dn-table-wrap,.rm-table-wrap { display:block; width:100%; max-width:100%; min-width:0; overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; box-sizing:border-box; }
  .pt-scroll { contain:inline-size; }
  .pt-scroll>.pt-table { max-width:none; }
}

/* Public refinements leave the approved hero and metrics alone. */
.pub-header { border-bottom:1px solid #e5eae2; }
.pub-header .pub-menu>li>a { text-underline-offset:5px; }
.pub-header .ex-header-donate,.pub-header a.ex-donate-link { background:var(--ex-gold); color:var(--ex-deep); padding:11px 19px; border-radius:8px; }
.pub-header .ex-header-donate:hover,.pub-header a.ex-donate-link:hover { background:#c99f00; }
.pub-prose { overflow-wrap:anywhere; }
.pub-prose>h2 { margin-top:36px; }
.pub-prose>h3 { margin-top:28px; }
.pub-prose :is(p,li) { line-height:1.9; }
.pub-prose a { text-underline-offset:4px; }
.pub-footer :is(a,button) { overflow-wrap:anywhere; }
.pub-foot-bottom { align-items:center; row-gap:15px; }
.pub-footer .ex-link-button { text-align:left; line-height:1.8; }
:is(.ex-campaign-editor,.ex-request-form,.ex-public-form,.ex-search-form,.ex-categories,.ex-cookie-banner,.ex-consent-banner,.ex-dialog,.ex-dashboard-links) :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid var(--ex-gold); outline-offset:3px; }

@media (max-width:1180px) {
  .ex-editor-layout,.ex-campaign-editor:not(:has(.ex-editor-layout)) { grid-template-columns:minmax(0,1fr); max-width:900px; }
  .ex-editor-aside { position:static; }
  .ex-summary-preview { max-width:400px; }
}
/* The five-link header collapses by tablet width, not only at phone width.
   Closed state is one logo + Menu row; opened navigation uses its own row. */
@media (max-width:1000px) {
  .pub-header .pub-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; min-height:84px; padding:18px 24px; gap:14px; }
  .pub-header .pub-brand { flex:0 1 190px; margin:0; }
  .pub-header .pub-brand img { width:190px; max-width:100%; height:auto; max-height:54px; }
  .pub-header .pub-menu-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-left:auto; font:inherit; font-size:12px; }
  .pub-header .pub-nav { display:none; flex:1 0 100%; order:3; width:100%; padding:8px 0 0; border-top:1px solid var(--ex-line); }
  .pub-header .pub-nav.open { display:block; }
  .pub-header .pub-menu { display:flex; flex-direction:column; align-items:stretch; gap:0; width:100%; }
  .pub-header .pub-menu>li { display:flex; flex-wrap:wrap; width:100%; }
  .pub-header .pub-menu>li>a { flex:1; min-height:44px; padding:12px 14px; font-size:13px; }
  .pub-header .pub-sub { position:static; flex-basis:100%; width:100%; margin:0 0 8px; box-shadow:none; border-radius:8px; }
  .pub-header .pub-sub-toggle { min-height:44px; }
}
@media (max-width:800px) {
  .ex-page-intro { padding:38px 0 24px; }
  .ex-page-intro h1 { font-size:36px; }
  :is(.ex-request-form,.ex-public-form) { padding:25px; margin-bottom:44px; }
  .ex-form-grid,.ex-form-row { gap:18px; }
  .ex-categories { gap:8px; margin-bottom:24px; }
  .ex-categories a,.ex-categories button { min-height:44px; font-size:11px; padding:9px 13px; }
  .ex-cookie-banner,.ex-consent-banner { bottom:12px; width:calc(100% - 24px); padding:22px; max-height:calc(100dvh - 24px); }
  .ex-cookie-actions,.ex-consent-actions { justify-content:flex-start; }
  .ex-field :is(input:not([type=checkbox]):not([type=radio]),textarea,select),
  :is(.ex-request-form,.ex-public-form) :is(input:not([type=checkbox]):not([type=radio]),textarea,select),.ex-search-form input[type=search] { font-size:16px; }
}
@media (max-width:560px) {
  .ex-editor-layout,.ex-campaign-editor:not(:has(.ex-editor-layout)) { gap:20px; }
  .ex-editor-main>.srv-card { padding:22px 18px; }
  .ex-field { margin-bottom:22px; }
  .ex-upload { padding:20px 14px; }
  .ex-upload-actions { align-items:stretch; }
  .ex-upload-actions>button { flex:1; }
  :is(details.ex-details,details.ex-optional,details.ex-advanced,.ex-advanced>details) { padding-left:16px; padding-right:16px; }
  .ex-editor-actions,.ex-sticky-actions { bottom:8px; padding:12px; gap:8px; }
  :is(.ex-editor-actions,.ex-sticky-actions)>p,:is(.ex-editor-actions,.ex-sticky-actions)>span { flex-basis:100%; margin:0 0 2px; }
  :is(.ex-editor-actions,.ex-sticky-actions)>button,:is(.ex-editor-actions,.ex-sticky-actions)>a { flex:1 1 auto; min-height:44px; }
  .ex-summary-preview { max-width:none; }
  .ex-page-intro { padding-top:30px; }
  .ex-page-intro h1 { font-size:32px; letter-spacing:-.8px; }
  .ex-page-intro>p { font-size:14px; }
  .ex-search-form { gap:8px; }
  .ex-search-form .pub-btn { padding-left:14px; padding-right:14px; }
  .ex-search-results h2 { font-size:20px; }
  .ex-form-grid,.ex-form-row { grid-template-columns:1fr; gap:0; }
  :is(.ex-request-form,.ex-public-form) { padding:22px 18px; }
  :is(.ex-request-form,.ex-public-form) .pub-actions>.pub-btn { width:100%; }
  .ex-empty { padding:32px 20px; }
  .ex-notice,.ex-status { padding:13px 15px; }
  .pub-cards:not(.pub-cards-list) .pub-card-body { padding:22px; }
  .pub-cards:not(.pub-cards-list) .pub-card-title { font-size:20px; }
  .ex-dashboard-links { gap:8px; }
  .ex-dashboard-links a { flex:1 1 calc(50% - 8px); }
  .ex-cookie-banner,.ex-consent-banner { padding:20px 18px; }
  :is(.ex-cookie-banner,.ex-consent-banner) h2 { font-size:18px; }
  .ex-cookie-actions,.ex-consent-actions { gap:8px; }
  :is(.ex-cookie-actions,.ex-consent-actions)>button,:is(.ex-cookie-actions,.ex-consent-actions)>a { flex:1 1 calc(50% - 8px); }
  dialog.ex-dialog { width:calc(100% - 20px); padding:25px 20px; max-height:calc(100dvh - 20px); }
  dialog.ex-dialog>h2 { font-size:23px; }
  .ex-choice-row { gap:14px; }
  .ex-embed-placeholder { padding:24px 18px; }
  .pub-header .pub-top { padding:17px 20px; }
  .pub-header .pub-brand { flex-basis:166px; }
  .pub-header .pub-brand img { width:166px; }
}
@media (prefers-reduced-motion:reduce) {
  .ex-upload,.pub-cards:not(.pub-cards-list) .pub-card { transition:none; }
  .pub-cards:not(.pub-cards-list) .pub-card:hover { transform:none; }
}
@media print {
  .ex-editor-actions,.ex-sticky-actions,.ex-cookie-banner,.ex-consent-banner,dialog.ex-dialog,.ex-upload-actions,.ex-counter,.ex-dashboard-links,.ex-portal-legal { display:none!important; }
  .ex-editor-layout,.ex-campaign-editor:not(:has(.ex-editor-layout)) { display:block; }
  .ex-editor-aside { position:static; }
  .ex-summary-preview,.ex-request-form,.ex-public-form { box-shadow:none; }
  .pub-cards:not(.pub-cards-list) .pub-card-title,.pub-cards:not(.pub-cards-list) .pub-card-body>p:not(.pub-card-meta) { display:block; overflow:visible; min-height:0; }
}

/* Keep absolute screen-reader labels inside their scrolling table region. */
.pt-scroll,.dn-table-wrap,.rm-table-wrap,.ui-table-scroll,.sw-table-wrap { position:relative; }
