/* Scholiora 2026 — editorial interface system */
@import url("../../design-tokens.php");
:root {
  --ink: var(--ds-ink, #111820);
  --paper: var(--ds-paper, #f4f1ea);
  --white: var(--ds-white, #fff);
  --navy: var(--ds-navy, #112f45);
  --blue: var(--ds-blue, #18618d);
  --signal: var(--ds-signal, #d45b35);
  --line: var(--ds-line, #c9c6be);
  --soft-line: color-mix(in srgb, var(--ink) 18%, transparent);
  --muted: var(--ds-muted, #687078);
  --success: var(--ds-success, #16734a);
  --danger: var(--ds-danger, #b4232d);
  --primary: var(--navy);
  --secondary: var(--signal);
  --header-bg: var(--paper);
  --header-text: var(--ink);
  --heading-color: var(--ink);
  --font-body: var(--ds-body-font, Arial, sans-serif);
  --font-heading: var(--ds-heading-font, Georgia, serif);
  --home-hero-bg-start: var(--navy);
  --home-hero-bg-end: var(--blue);
  --home-hero-panel-bg: var(--paper);
  --home-hero-text: var(--ink);
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; scroll-behavior: smooth; }
body { width: 100%; max-width: 100%; margin: 0; overflow-x: hidden; min-height: 100vh; background: var(--paper) !important; color: var(--ink) !important; font-family: var(--ds-body-font, Arial, sans-serif) !important; font-size: var(--ds-base-font-size, 14px) !important; font-weight: var(--ds-body-weight, 400); line-height: 1.5; -webkit-font-smoothing: antialiased; }
body::before, body::after { display: none !important; }
img { max-width: 100%; }
a { color: var(--blue); text-decoration: none; }
h1, h2, h3, h4 { margin-top: 0; color: var(--ink); font-family: var(--ds-heading-font, Georgia, serif); font-weight: var(--ds-heading-weight, 700); letter-spacing: -.04em; }
.muted { color: var(--muted) !important; }
.container, .content-width-80 { width: min(100%, var(--ds-content-max, 1600px)) !important; max-width: 100vw !important; margin-inline: auto !important; padding-inline: clamp(16px, 3vw, 48px) !important; }
.grid { display: grid; grid-template-columns: repeat(var(--ds-journal-columns, 2), minmax(0, 1fr)); border-top: 1px solid var(--line); }
.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }

/* Actions: solid contrast in every context */
.btn, a.btn, button, input[type="submit"], input[type="button"] { display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 19px; border: 2px solid var(--ds-button-bg, var(--navy)) !important; border-radius: 999px !important; background: linear-gradient(135deg, color-mix(in srgb, var(--ds-button-bg, var(--navy)) 88%, #fff 12%), var(--ds-button-bg, var(--navy))) !important; color: var(--ds-button-text, #fff) !important; font: inherit; font-size: 13px; font-weight: 850; letter-spacing: .025em; line-height: 1.2; opacity: 1 !important; visibility: visible !important; cursor: pointer; box-shadow: 0 4px 0 color-mix(in srgb, var(--ds-button-bg, var(--navy)) 65%, #000 35%) !important; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.btn:hover, button:hover { filter: brightness(1.08); transform: translateY(-2px) !important; box-shadow: 0 6px 0 color-mix(in srgb, var(--ds-button-bg, var(--navy)) 65%, #000 35%) !important; }
.btn:active, button:active { transform: translateY(2px) !important; box-shadow: 0 1px 0 color-mix(in srgb, var(--ds-button-bg, var(--navy)) 65%, #000 35%) !important; }
.btn:focus-visible, button:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }
.btn.link, a.btn.link, .btn.secondary, a.btn.secondary { background: transparent !important; color: var(--ink) !important; border-color: currentColor !important; box-shadow: none !important; }
.btn.link:hover, .btn.secondary:hover { background: var(--ink) !important; color: var(--paper) !important; }
.btn.danger, button.danger { background: var(--danger) !important; border-color: var(--danger) !important; color: #fff !important; }
.actions-inline, .table-actions, .applications-filter-actions, .refresh-controls, .hero-actions { display: flex !important; align-items: center; flex-wrap: wrap; gap: 8px !important; overflow: visible !important; }
.publisher-cloudflare-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.publisher-cloudflare-actions form { margin: 0; }

/* Public masthead */
.site-header { position: sticky; top: 0; z-index: 1200; background: var(--ds-shell-bg, var(--navy)) !important; color: var(--ds-shell-text, #fff) !important; border-bottom: 2px solid var(--signal) !important; box-shadow: none !important; backdrop-filter: none !important; }
.site-header .inner { display: grid; grid-template-columns: auto minmax(220px,1fr) auto; align-items: center; gap: 20px; min-height: 76px; }
.site-header .header-left { order: var(--ds-header-left-order, 1); }
.site-header .brand { order: var(--ds-header-brand-order, 2); }
.site-header .header-right { order: var(--ds-header-nav-order, 3); }
.header-left, .header-right, .brand, .follow-inline { display: flex; align-items: center; }
.header-logo img { display: block; max-height: 44px; width: auto; }
.brand { justify-content: center; text-align: center; }
.brand-site-name { font-family: var(--font-heading, Georgia, serif); font-weight: 800; line-height: 1; }
.brand-tagline { margin-top: 6px; font-size: 12px !important; letter-spacing: .08em; text-transform: uppercase; }
.site-header .brand a, .site-header .brand-site-name, .site-header .brand-tagline { color: var(--ds-shell-text, #fff) !important; }
.header-right { justify-content: flex-end; gap: 0; overflow-x: auto; }
.site-header .header-right .btn.link { min-height: 36px; padding: 7px 11px; border-width: 0 0 0 1px !important; border-color: color-mix(in srgb, var(--ds-shell-text, #fff) 28%, transparent) !important; color: var(--ds-shell-text, #fff) !important; white-space: nowrap; }
.site-header .header-right .btn.link:hover { background: var(--ds-button-bg, var(--navy)) !important; color: var(--ds-button-text, #fff) !important; }
.follow-inline { gap: 0; }
.follow-icon { width: 34px !important; min-width: 34px !important; padding: 0 !important; }
.follow-icon svg, .footer-social svg { width: 17px; height: 17px; fill: currentColor; }

/* Editorial homepage */
.modern-home { max-width: none !important; }
.hero { padding-block: clamp(28px, 4.5vw, 62px); }
.hero-premium { padding: 0 !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--ink) !important; box-shadow: none !important; }
.hero-grid { display: grid; grid-template-columns: minmax(0, var(--ds-hero-left, 1.25fr)) minmax(320px, var(--ds-hero-right, .75fr)); gap: 0; align-items: stretch; border-block: 2px solid var(--ink); }
.hero-left-col { padding: clamp(28px, 4.5vw, 62px) clamp(22px, 4vw, 56px) clamp(28px, 4.5vw, 62px) 0; }
.hero-premium h1 { max-width: 13ch; margin: 13px 0 20px; color: var(--ink) !important; font-size: clamp(42px, 6vw, 76px); line-height: .92; }
.hero-badge { display: inline-flex; padding-bottom: 7px; border-bottom: 3px solid var(--signal); color: var(--ink); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.home-hero-intro, .hero-premium .muted { max-width: 62ch; color: var(--muted) !important; font-size: clamp(16px, 1.25vw, 19px) !important; }
.hero-actions { margin-top: 30px; }
.hero-side-stack { min-height: 0; padding: clamp(24px, 4vw, 54px); overflow: hidden; border-left: 1px solid var(--ink); background: var(--navy); color: #fff; }
.hero-panel { display: block; width: 100% !important; min-height: 0; margin-inline: 0 !important; padding: 18px 0; border: 0 !important; border-bottom: 1px solid color-mix(in srgb, #fff 28%, transparent) !important; border-radius: 0 !important; background: transparent !important; color: #fff !important; box-shadow: none !important; }
.hero-panel:last-child { border-bottom: 0 !important; }
.hero.hero-premium .hero-panel h3, .hero.hero-premium .hero-panel .muted, .hero.hero-premium .hero-panel p, .hero.hero-premium .hero-panel li, .hero.hero-premium .hero-panel a { color: #fff !important; }
.hero-panel-image { display: block; width: 100%; max-height: 170px; margin-bottom: 17px; padding: 14px; object-fit: contain; border-radius: 12px; background: #fff; }
.hero-side-marquee {
  width: 100%;
  height: var(--hero-scroller-runtime-height, var(--ds-hero-scroller-height, 480px)) !important;
  max-height: var(--hero-scroller-runtime-height, var(--ds-hero-scroller-height, 480px)) !important;
  overflow: hidden !important;
  contain: layout paint;
}
.hero-side-track { display: flex !important; width: 100%; flex-direction: column; gap: 0 !important; padding: 0 !important; animation: none !important; will-change: transform; }
.hero-side-set { display: flex; height: auto; min-height: 0; flex: 0 0 auto; flex-direction: column; gap: 0; }

.features-strip-card { margin-top: 0; padding: clamp(30px, 5vw, 64px) 0; overflow: hidden; border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.features-marquee-set, .features-strip-row { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.features-strip-item { min-height: 150px; padding: 20px; border: 0 !important; border-right: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; text-align: center; }
.features-strip-item:last-child { border-right: 0 !important; }
.features-strip-item img { height: 85px; object-fit: contain; }
.features-strip-title { margin: 12px 0 0; font-family: var(--font-body, Arial, sans-serif) !important; font-size: 14px; }
.journals-section { width: 100% !important; max-width: none !important; margin-top: clamp(55px, 8vw, 110px); }
.journals-combined-card { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.journals-section .section-intro { display: block; width: 100%; margin: 0; padding: 0; background: var(--paper) !important; color: var(--ink) !important; }
.journals-section .section-intro > div { width: 100%; background: transparent !important; color: inherit !important; }
.journals-section #journals_grid { width: 100% !important; max-width: none !important; gap: var(--ds-journal-grid-gap, 32px); border-top: 0; }
.journals-section .journals-combined-card .section-intro h2 { margin: 0 0 clamp(30px,4vw,56px); padding: 0 0 20px !important; border-bottom: 2px solid var(--ink); background: var(--paper) !important; color: var(--ink) !important; font-size: clamp(36px, 4.5vw, 58px); text-shadow: none !important; }
.journals-marquee { margin-bottom: 24px; padding-block: 11px; overflow: hidden; border-block: 1px solid var(--line); background: transparent !important; }
.journals-marquee-set { display: flex; gap: 20px; }
.journal-chip { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; color: var(--ink); font-size: 13px; font-weight: 800; text-transform: uppercase; }
.journal-chip-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--signal); }
.modern-journal-card { position: relative; display: grid; grid-template-columns: minmax(180px, var(--ds-journal-media-width, 32%)) minmax(0,1fr); min-height: 0; margin: 0; padding: var(--ds-journal-card-padding, 40px) 0; overflow: visible; border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; transition: border-color .2s ease; }
.modern-journal-card::before { position: absolute; top: -2px; left: 0; width: 80px; height: 4px; background: var(--signal); content: ""; }
.modern-journal-card:hover { border-color: var(--ink) !important; transform: none; box-shadow: none !important; }
.modern-journal-card:nth-child(odd) { border-right: 0 !important; }
.journal-card-media { align-self: start; min-height: 0; padding-right: clamp(24px,4vw,58px); overflow: visible; }
.cover { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 10; padding: 0; object-fit: cover; border: 1px solid var(--line); border-radius: 4px; background: var(--white); transition: transform .3s ease; }
.modern-journal-card:hover .cover { transform: scale(1.035); }
.journal-cover-placeholder { display: grid; place-items: center; color: #fff; font-size: 42px; font-weight: 900; }
.card-content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 0; }
.journal-card-kicker { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-bottom: 20px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.journal-card-kicker strong { display: inline-flex; padding-bottom: 3px; border-bottom: 2px solid var(--signal); color: var(--ink); font-size: 11px; letter-spacing: .08em; }
.card-content h3 { position: relative; max-width: 28ch; margin: 0 0 18px; padding-bottom: 16px; font-size: min(var(--ds-journal-title-size, 36px), 30px); line-height: 1.12; text-wrap: balance; }
.card-content h3::after { position: absolute; bottom: 0; left: 0; width: 52px; height: 4px; border-radius: 999px; background: var(--signal); content: ""; }
.card-content p { max-width: 72ch; flex: 1; margin: 0 0 24px; }
.journal-card-link { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding: 8px 0; border-bottom: 2px solid var(--signal); color: var(--ink); font-weight: 900; }
.journal-card-link span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--signal); color: #fff; transition: transform .2s ease; }
.modern-journal-card:hover .journal-card-link span { transform: translateX(4px); }
.join-network-section { margin-top: clamp(60px, 9vw, 120px); border-block: 2px solid var(--ink); }
.join-network-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: clamp(35px, 6vw, 72px) 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.join-network-copy h2 { margin-bottom: 10px; font-size: clamp(30px, 4vw, 50px); line-height: 1.05; }

/* Inner publication pages */
.modern-inner-page, .journal-detail-page { padding-block: clamp(45px, 7vw, 92px) !important; }
.inner-page-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(170px,.7fr); padding-bottom: clamp(30px,5vw,64px); border-bottom: 2px solid var(--ink); }
.inner-page-hero::after { content: ""; align-self: end; width: 70px; height: 8px; justify-self: end; background: var(--signal); }
.inner-page-hero h1 { max-width: 17ch; margin: 0; font-size: clamp(40px, 6vw, 70px); line-height: .95; }
.inner-page-content { padding-top: 38px; }
.page-shell, .join-shell { width: 100%; }
.form-card, .sub-card, .join-subcard, .journal-detail { padding: clamp(24px, 4vw, 50px) !important; border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.sub-card:first-child, .form-card:first-child { border-top: 0 !important; }
.journal-detail { padding: 0 !important; }
.journal-detail-hero { display: grid; grid-template-columns: minmax(180px,280px) 1fr; gap: clamp(35px,6vw,85px); align-items: center; padding-block: clamp(35px,6vw,80px); border-block: 2px solid var(--ink); }
.journal-detail-brand { display: grid; place-items: center; aspect-ratio: 1; padding: 22px; border: 1px solid var(--ink); background: #fff; }
.journal-detail-heading h1 { margin-bottom: 14px; font-size: clamp(38px,5vw,64px); line-height: .95; }
.journal-meta-row { display: flex; flex-wrap: wrap; gap: 0; margin-top: 28px; }
.journal-meta-row > span { display: flex; flex-direction: column; padding: 10px 18px; border-left: 1px solid var(--line); }
.journal-meta-row > span:first-child { padding-left: 0; border-left: 0; }
.journal-action-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; padding-block: 18px; border-bottom: 1px solid var(--line); }
.journal-back-link { margin-left: auto; }
.journal-content-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 0; padding-top: clamp(35px,6vw,75px); }
.journal-prose { padding-right: clamp(25px,5vw,65px); }
.journal-scope-card { padding-left: clamp(25px,5vw,65px); border-left: 1px solid var(--line); }

/* Join and contact: spacious application workspaces */
.contact-layout { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(28px,5vw,72px); align-items: start; }
.contact-layout > .page-heading-card, .contact-layout > .alert { grid-column: 1 / -1; }
.contact-page .contact-layout > .sub-card { margin: 0 !important; }
.contact-page .contact-layout > section.sub-card { position: sticky; top: 115px; padding: 30px !important; border: 0 !important; border-radius: 18px !important; background: var(--navy) !important; color: var(--ds-navigation-text, #fff) !important; box-shadow: 0 16px 40px color-mix(in srgb, var(--ink) 16%, transparent) !important; }
.contact-page .contact-layout > section.sub-card p, .contact-page .contact-layout > section.sub-card strong, .contact-page .contact-layout > section.sub-card div, .contact-page .contact-layout > section.sub-card a { color: var(--ds-navigation-text, #fff) !important; }
.contact-page #contact-form { padding: clamp(28px,4vw,52px) !important; border: 1px solid var(--line) !important; border-radius: 22px !important; background: var(--ds-form-bg, var(--white)) !important; box-shadow: 0 18px 48px color-mix(in srgb, var(--ink) 11%, transparent) !important; }
.contact-page #contact-form label, .contact-page #contact-form small, .contact-page #contact-form p, .contact-page #contact-form option { color: var(--ink) !important; }
.contact-page #contact-form input, .contact-page #contact-form select, .contact-page #contact-form textarea { border: 1px solid var(--line) !important; background: var(--ds-form-bg, var(--white)) !important; color: var(--ink) !important; }

.join-shell { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.join-shell > .join-subcard { margin: 0 !important; padding: clamp(26px,4vw,48px) !important; border: 1px solid var(--line) !important; border-radius: 20px !important; background: var(--ds-form-bg, var(--white)) !important; color: var(--ink) !important; box-shadow: 0 14px 36px color-mix(in srgb, var(--ink) 9%, transparent) !important; }
.join-shell > .join-subcard:first-child, .join-shell > .join-form-card { grid-column: 1 / -1; }
.join-shell .join-section-title { display: flex; align-items: center; gap: 14px; padding-bottom: 15px; border-bottom: 1px solid var(--line); color: var(--ink) !important; font-size: clamp(25px,3vw,38px); }
.join-page, .join-page .join-shell, .join-page .join-subcard, .join-page .join-form-card, .join-page .form-row { min-width: 0; max-width: 100%; }
.join-page .join-subcard, .join-page .join-form-card { overflow: hidden; }
.join-page .join-subcard p, .join-page .join-subcard li, .join-page .join-subcard a, .join-page label, .join-page small { overflow-wrap: anywhere; }
.join-page input:not([type="checkbox"]):not([type="radio"]), .join-page select, .join-page textarea { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
.join-page select { text-overflow: ellipsis; }
.join-page input[type="file"] { overflow: hidden; white-space: normal; }
.join-page input[type="file"]::file-selector-button { max-width: 100%; margin-right: 10px; padding: 8px 10px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--ds-button-bg, var(--navy)); color: var(--ds-button-text, #fff); text-overflow: ellipsis; }
.join-page altcha-widget, .join-page .altcha, .join-page iframe { max-width: 100% !important; }
.site-header .header-home-link { display: inline-flex !important; opacity: 1 !important; visibility: visible !important; }
.join-shell .join-section-title::before { position: static !important; display: block; width: 12px !important; height: 12px !important; flex: 0 0 12px; border-radius: 50%; background: var(--signal) !important; content: ""; }
.join-shell .join-subcard, .join-shell .join-form-card, .join-shell .join-subcard h1, .join-shell .join-subcard h2, .join-shell .join-subcard h3, .join-shell .join-subcard p, .join-shell .join-subcard label, .join-shell .join-form-card label, .join-shell .join-form-card small, .join-shell .join-form-card option { color: var(--ink) !important; }
.join-shell .join-form-card input, .join-shell .join-form-card select, .join-shell .join-form-card textarea { border: 1px solid var(--line) !important; background: var(--ds-form-bg, var(--white)) !important; color: var(--ink) !important; }
.join-form-card { border-top: 7px solid var(--signal) !important; }
.join-empty-state, .journal-scope-panel, .journal-custom-message { border-left: 4px solid var(--signal) !important; background: color-mix(in srgb, var(--signal) 10%, var(--ds-form-bg, var(--white))) !important; color: var(--ink) !important; }

/* Forms: structured editorial fields, no cards */
.form-row { min-width: 0; margin-bottom: 22px; }
label { display: block; margin-bottom: 7px; color: var(--ink) !important; font-size: 13px; font-weight: 900; letter-spacing: .02em; }
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), select, textarea { display: block; width: 100%; min-height: 48px; padding: 12px 14px !important; border: 1px solid var(--line) !important; border-radius: 10px !important; background: var(--ds-form-bg, var(--white)) !important; color: var(--ink) !important; font: inherit; box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 30%, transparent) !important; }
input:focus, select:focus, textarea:focus { border-color: var(--signal) !important; outline: 3px solid color-mix(in srgb, var(--signal) 28%, transparent); outline-offset: 1px; }
input::placeholder, textarea::placeholder { color: var(--muted) !important; opacity: 1; }
textarea { min-height: 125px; }
input:focus, select:focus, textarea:focus { outline: 0 !important; border-color: var(--signal) !important; box-shadow: inset 0 -2px 0 var(--signal) !important; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--signal); }
.inline-check, .status-check-grid label { padding: 9px 0 !important; border: 0 !important; border-bottom: 1px solid var(--soft-line) !important; background: transparent !important; }
.settings-section-title { margin: 42px 0 20px; padding: 0 0 10px; border-bottom: 3px solid var(--ink); color: var(--ink); font-family: var(--font-heading, Georgia, serif); font-size: 25px; font-weight: 800; }

/* Admin: dark rail + flat work surface */
body.admin-ui { background: var(--ds-admin-bg, var(--paper)) !important; color: var(--ds-admin-text, var(--ink)) !important; }
body.admin-ui main.container { width: min(100%, var(--ds-content-max, 1600px)) !important; max-width: none !important; padding-block: 16px 55px !important; }
body.admin-ui h1, body.admin-ui h2, body.admin-ui h3, body.admin-ui h4, body.admin-ui p, body.admin-ui label, body.admin-ui td, body.admin-ui legend { color: var(--ds-admin-text, var(--ink)) !important; }
body.admin-ui .muted, body.admin-ui small { color: var(--ds-admin-muted, var(--muted)) !important; }
body.admin-ui a:not(.btn):not(.admin-nav a) { color: var(--blue); text-decoration-thickness: 2px; text-underline-offset: 3px; }
body.admin-ui .admin-nav { position: sticky; top: 12px; z-index: 1300; display: block !important; margin: 0 0 34px; padding: 7px !important; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ds-admin-nav-text, #fff) 18%, transparent) !important; border-radius: 18px !important; background: var(--ds-admin-nav-bg, var(--navy)) !important; box-shadow: 0 14px 34px color-mix(in srgb, var(--ds-admin-text, var(--ink)) 18%, transparent) !important; }
.admin-nav-links { display: flex !important; align-items: stretch; gap: 0; overflow-x: auto; }
body.admin-ui .admin-nav a, body.admin-ui .admin-nav .btn.link { flex: 0 0 auto; min-height: 46px !important; padding: 12px 15px !important; border: 0 !important; border-radius: 12px !important; background: transparent !important; color: var(--ds-admin-nav-text, #fff) !important; white-space: nowrap; box-shadow: none !important; }
body.admin-ui .admin-nav a:hover, body.admin-ui .admin-nav a.active { background: var(--signal) !important; color: var(--ds-accent-text, var(--ink)) !important; }
body.admin-ui h1 { margin: 0 0 24px; font-size: clamp(34px,4vw,50px); line-height: 1; }
.admin-page-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; width: 100%; min-height: 92px; margin: 0 0 24px; padding: 8px 0 24px; border-bottom: 2px solid var(--ds-admin-border, var(--line)); color: var(--ds-admin-text, var(--ink)); }
.admin-page-header h1 { margin: 0 !important; color: var(--ds-admin-text, var(--ink)) !important; }
body.admin-ui .form-card, body.admin-ui .metric, body.admin-ui .status-card, body.admin-ui .insight-card, body.admin-ui .home-box { padding: clamp(22px,3vw,38px) !important; border: 1px solid var(--ds-admin-border, var(--line)) !important; border-radius: 18px !important; background: var(--ds-admin-surface, var(--white)) !important; color: var(--ds-admin-text, var(--ink)) !important; box-shadow: 0 12px 32px color-mix(in srgb, var(--ds-admin-text, var(--ink)) 9%, transparent) !important; }
body.admin-ui .form-card:hover, body.admin-ui .metric:hover, body.admin-ui .status-card:hover, body.admin-ui .insight-card:hover { border-color: color-mix(in srgb, var(--signal) 65%, var(--ds-admin-border, var(--line))) !important; }
.home-grid, .insights-cards, .status-cards, .reports-grid, .manager-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); }
.home-grid > *, .insights-cards > *, .status-cards > *, .reports-grid > *, .manager-stats > * { border-right: 1px solid var(--line) !important; }

/* Operational tables */
.table-wrap { width: 100%; padding: 0 !important; overflow-x: auto !important; border: 0 !important; border-top: 2px solid var(--ink) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
table { width: 100%; border-collapse: collapse; background: transparent !important; color: var(--ink) !important; }
th { padding: 12px 13px; border-bottom: 1px solid var(--ink); background: var(--ds-table-header-bg, var(--navy)) !important; color: var(--ds-table-header-text, #fff) !important; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
td { padding: 14px 13px; border-bottom: 1px solid var(--line) !important; background: transparent !important; color: var(--ink) !important; vertical-align: middle; }
tbody tr:hover td { background: rgba(255,255,255,.5) !important; }
body.admin-ui .table-wrap { overflow: hidden auto !important; border: 1px solid var(--ds-admin-border, var(--line)) !important; border-radius: 16px !important; background: var(--ds-admin-surface, var(--white)) !important; }
body.admin-ui table { background: var(--ds-admin-surface, var(--white)) !important; color: var(--ds-admin-text, var(--ink)) !important; }
body.admin-ui th { background: var(--ds-admin-nav-bg, var(--navy)) !important; color: var(--ds-admin-nav-text, #fff) !important; }
body.admin-ui td { border-color: var(--ds-admin-border, var(--line)) !important; background: var(--ds-admin-surface, var(--white)) !important; }
body.admin-ui tbody tr:hover td { background: color-mix(in srgb, var(--signal) 8%, var(--ds-admin-surface, var(--white))) !important; }
body.admin-ui input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), body.admin-ui select, body.admin-ui textarea, body.admin-ui .admin-rich-editor-surface { border-color: var(--ds-admin-border, var(--line)) !important; background: var(--ds-admin-surface, var(--white)) !important; color: var(--ds-admin-text, var(--ink)) !important; }
body.admin-ui input::placeholder, body.admin-ui textarea::placeholder { color: var(--ds-admin-muted, var(--muted)) !important; }
body.admin-ui .btn:not(.danger), body.admin-ui button:not(.danger), body.admin-ui input[type="submit"], body.admin-ui input[type="button"] { border-color: var(--ds-admin-button-bg, var(--navy)) !important; background: var(--ds-admin-button-bg, var(--navy)) !important; color: var(--ds-admin-button-text, #fff) !important; }
body.admin-ui .btn.link:not(.admin-nav .btn), body.admin-ui .btn.secondary { background: transparent !important; color: var(--ds-admin-text, var(--ink)) !important; border-color: var(--ds-admin-text, var(--ink)) !important; box-shadow: none !important; }
body.admin-ui .btn.link:not(.admin-nav .btn):hover, body.admin-ui .btn.secondary:hover { background: var(--ds-admin-button-bg, var(--navy)) !important; color: var(--ds-admin-button-text, #fff) !important; }
.badge, .status-pill, .count-pill, .ok-pill { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border: 1px solid currentColor; border-radius: 0; background: transparent; color: var(--muted); font-size: 11px; font-weight: 900; }
.badge.active, .ok-pill { color: var(--success); }
.badge.inactive, .err { color: var(--danger); }
.status-table .action-btn, a[href*="journal_insights.php"], .status-table a[target="_blank"] { display: inline-flex !important; min-width: 105px !important; color: var(--navy) !important; border-color: var(--navy) !important; opacity: 1 !important; visibility: visible !important; }
.pagination { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 0; margin-top: 25px; border-top: 1px solid var(--ink); }
.pagination a, .pagination span { display: grid; place-items: center; min-width: 40px; height: 40px; border-right: 1px solid var(--line); color: var(--ink); }

/* Admin modules */
.applications-filter-grid, .expense-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.status-check-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 18px; }
.applications-filter-actions, .expense-subnav { margin-top: 18px; }
.repeater-list { display: grid; gap: 0; border-top: 1px solid var(--ink); }
.repeater-item { padding: 24px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.repeater-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; }
.repeater-index { display: grid; place-items: center; width: 28px; height: 28px; background: var(--signal); color: #fff; font-weight: 900; }
.repeater-actions, .expense-subnav { display: flex; flex-wrap: wrap; gap: 7px; }
.save-bar { position: sticky; bottom: 0; z-index: 900; display: flex; justify-content: flex-end; gap: 8px; margin-top: 25px; padding: 13px; border-top: 2px solid var(--ink); background: rgba(244,241,234,.96); }
.logo-preview { display: grid; place-items: center; min-height: 120px; padding: 16px; border: 1px dashed #7d858a; background: rgba(255,255,255,.35); }
.logo-preview img { max-height: 100px; object-fit: contain; }
.admin-rich-editor-toolbar { display: flex; flex-wrap: wrap; gap: 1px; padding: 5px; border: 1px solid #7f878c; border-bottom: 0; background: var(--navy); }
.admin-rich-editor-toolbar button { min-height: 32px; padding: 4px 8px; border-color: rgba(255,255,255,.25) !important; font-size: 11px; }
.admin-rich-editor-host { border: 1px solid var(--ds-admin-border, var(--line)); border-radius: 14px; background: var(--ds-admin-surface, var(--white)); color: var(--ds-admin-text, var(--ink)); }
.admin-rich-editor-surface { min-height: 150px; padding: 13px; border: 1px solid var(--line); background: var(--ds-form-bg, var(--white)); color: var(--ink); }

/* Authentication */
.auth-page { display: grid; place-items: center; min-height: 100vh; }
.auth-card { width: 100%; padding: clamp(30px,5vw,55px) !important; border: 2px solid var(--ink) !important; background: var(--paper) !important; }
.auth-mark { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 24px; background: var(--signal); color: #fff; font-family: var(--font-heading,Georgia,serif); font-size: 26px; font-weight: 900; }
.auth-card h1 { font-size: clamp(42px,6vw,64px) !important; }

/* Feedback and floating utilities */
.alert { margin-bottom: 20px; padding: 13px 0; border: 0; border-block: 1px solid currentColor; background: transparent; }
.alert.success { color: var(--success); }
.alert.error { color: var(--danger); }
.submit-overlay { position: fixed; inset: 0; z-index: 3000; display: none !important; align-items: center; justify-content: center; padding: 16px; background: rgba(17,24,32,.7); }
.submit-overlay.active { display: flex !important; }
.submit-overlay-card { padding: 26px; border: 2px solid var(--ink); background: var(--paper); }
.submit-spinner { display: block; width: 30px; height: 30px; margin: 0 auto 12px; border: 3px solid #b8b5ae; border-top-color: var(--signal); border-radius: 50%; animation: spin .75s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.contact-phone-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 800; }
.contact-phone-link svg { display: block; flex: 0 0 18px; width: 18px; min-width: 18px; max-width: 18px; height: 18px; min-height: 18px; max-height: 18px; }
.whatsapp-float { position: fixed !important; right: 14px !important; bottom: 14px !important; z-index: 1250 !important; display: grid !important; place-items: center !important; width: 40px !important; min-width: 40px !important; max-width: 40px !important; height: 40px !important; min-height: 40px !important; max-height: 40px !important; padding: 0 !important; overflow: hidden !important; border: 0 !important; border-radius: 50% !important; background: #178b4a !important; color: #fff !important; box-shadow: none !important; animation: whatsapp-attention-blink 3s ease-in-out infinite; }
.whatsapp-float.is-footer-hidden { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transform: translateY(12px) scale(.88) !important; animation-play-state: paused; }
.whatsapp-float svg { display: block !important; width: 19px !important; height: 19px !important; }
@keyframes whatsapp-attention-blink { 0%, 10%, 100% { opacity: 1; } 5% { opacity: .18; } }

/* Footer */
.site-footer { margin-top: clamp(48px,6vw,88px); border-top: 2px solid var(--signal); background: var(--ds-shell-bg, var(--ink)); color: var(--ds-shell-text, #e9e4da); text-align: center; }
.site-footer .inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; min-height: 120px; padding-block: 26px; }
.footer-brand { display: grid; grid-template-columns: minmax(0,1fr); align-items: center; min-width: 0; min-height: 60px; text-align: left; }
.footer-logo { grid-area: 1 / 1; justify-self: start; max-width: 150px; max-height: 60px; object-fit: contain; }
.footer-text { text-align: center; }
.footer-brand .footer-text { grid-area: 1 / 1; justify-self: center; width: min(100%, 900px); }
.footer-text :where(p, div, h1, h2, h3, h4, h5, h6) { width: 100%; margin-inline: auto; text-align: center !important; }
.footer-text > :first-child { margin-top: 0; }
.footer-text > :last-child { margin-bottom: 0; }
.footer-text, .footer-text a { color: var(--ds-shell-text, #e9e4da); }
.footer-page-chip { display: inline-flex; padding: 3px 7px; border-bottom: 1px solid #e9e4da; }
.footer-social { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.footer-social a, .follow-icon { display: grid !important; place-items: center !important; border: 0 !important; color: #fff !important; box-shadow: none !important; }
.footer-social a { width: 38px; height: 38px; border-radius: 50%; }
.social-facebook { background: #1877f2 !important; color: #fff !important; }
.social-linkedin { background: #0a66c2 !important; color: #fff !important; }
.social-twitter { background: #111111 !important; color: #fff !important; }
.social-instagram { background: linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045) !important; color: #fff !important; }
.social-telegram { background: #229ed9 !important; color: #fff !important; }
.social-whatsapp { background: #25d366 !important; color: #fff !important; }
.site-header .header-right .follow-icon.social-facebook { background: #1877f2 !important; color: #fff !important; }
.site-header .header-right .follow-icon.social-linkedin { background: #0a66c2 !important; color: #fff !important; }
.site-header .header-right .follow-icon.social-twitter { background: #111111 !important; color: #fff !important; }
.site-header .header-right .follow-icon.social-instagram { background: linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045) !important; color: #fff !important; }
.site-header .header-right .follow-icon.social-telegram { background: #229ed9 !important; color: #fff !important; }
.site-header .header-right .follow-icon.social-whatsapp { background: #25d366 !important; color: #fff !important; }
.admin-rich-editor-host { max-width: 100%; overflow: hidden; border: 1px solid var(--ds-admin-border, var(--line)); border-radius: 12px; background: var(--ds-admin-surface, var(--white)); }
.admin-rich-editor-modebar, .admin-rich-editor-toolbar { align-items: center; padding: 8px; overflow-x: auto; background: var(--ds-admin-surface, var(--white)) !important; color: var(--ds-admin-text, var(--ink)) !important; }
.admin-rich-editor-modebar { flex-wrap: wrap; border-bottom: 1px solid var(--ds-admin-border, var(--line)); }
.admin-rich-editor-toolbar { border-bottom: 1px solid var(--ds-admin-border, var(--line)); }
body.admin-ui .admin-rich-editor-host .admin-rich-editor-modebar .btn, body.admin-ui .admin-rich-editor-host .admin-rich-editor-toolbar .btn { flex: 0 0 auto; min-height: 34px !important; padding: 6px 10px !important; border: 1px solid var(--ds-admin-border, var(--line)) !important; border-radius: 8px !important; background: var(--ds-admin-surface, var(--white)) !important; color: var(--ds-admin-text, var(--ink)) !important; font-size: 12px !important; box-shadow: none !important; opacity: 1 !important; }
body.admin-ui .admin-rich-editor-host .admin-rich-editor-modebar .btn:hover, body.admin-ui .admin-rich-editor-host .admin-rich-editor-toolbar .btn:hover { border-color: var(--ds-admin-button-bg, var(--navy)) !important; background: var(--ds-admin-button-bg, var(--navy)) !important; color: var(--ds-admin-button-text, #fff) !important; }
.admin-rich-editor-select { flex: 0 0 auto; width: auto !important; min-width: 120px; min-height: 36px !important; padding: 6px 30px 6px 9px !important; border: 1px solid var(--ds-admin-border, var(--line)) !important; background: var(--ds-admin-surface, var(--white)) !important; color: var(--ds-admin-text, var(--ink)) !important; color-scheme: light dark; }
.admin-rich-editor-select option { background: var(--ds-admin-surface, var(--white)); color: var(--ds-admin-text, var(--ink)); }
.admin-rich-editor-color { flex: 0 0 38px; width: 38px !important; min-height: 36px !important; height: 36px; padding: 3px !important; border: 2px solid var(--ds-admin-text, var(--ink)) !important; border-radius: 8px !important; background: var(--ds-admin-surface, var(--white)) !important; cursor: pointer; }
.admin-rich-editor-surface { max-width: 100%; overflow-wrap: anywhere; }
.admin-rich-editor-host.is-light-canvas .admin-rich-editor-surface { background: #ffffff !important; color: #111820 !important; }
.admin-rich-editor-host.is-dark-canvas .admin-rich-editor-surface { background: #101820 !important; color: #f4f1ea !important; }
body.admin-ui .admin-rich-editor-host [aria-pressed="true"] { border-color: var(--ds-admin-button-bg, var(--navy)) !important; background: var(--ds-admin-button-bg, var(--navy)) !important; color: var(--ds-admin-button-text, #fff) !important; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ds-admin-button-text, #fff) 32%, transparent) !important; }

/* Database-backed global interface sizing. Width remains an independent setting. */
.container, .content-width-80 { padding-inline: clamp(14px, 2.5vw, var(--ds-space-lg, 41px)) !important; }
.btn, a.btn, button, input[type="submit"], input[type="button"] { min-height: var(--ds-control-height, 37px); padding: var(--ds-control-padding-y, 9px) var(--ds-control-padding-x, 16px); }
.site-header .inner { min-height: var(--ds-header-height, 65px); gap: var(--ds-space-sm, 14px); }
.header-logo img { max-height: var(--ds-header-logo-height, 37px); }
.hero { padding-block: var(--ds-space-lg, 41px); }
.hero-left-col { padding: var(--ds-space-lg, 41px) var(--ds-space-lg, 41px) var(--ds-space-lg, 41px) 0; }
.hero-premium h1 { margin-bottom: var(--ds-space-sm, 14px); font-size: clamp(var(--ds-hero-title-min, 36px), 5vw, var(--ds-hero-title-max, 65px)); }
.hero-actions { margin-top: var(--ds-space-md, 24px); }
.hero-side-stack { padding: var(--ds-space-md, 24px); }
.hero-panel-image { max-height: var(--ds-media-height, 145px); }
.features-strip-card { padding-block: var(--ds-space-lg, 41px); }
.features-strip-item { min-height: var(--ds-media-height, 145px); padding: var(--ds-space-sm, 14px); }
.journals-section { margin-top: var(--ds-section-gap, 61px); }
.journals-section .journals-combined-card .section-intro h2 { margin-bottom: var(--ds-space-lg, 41px); font-size: clamp(var(--ds-section-title-min, 31px), 4vw, var(--ds-section-title-max, 49px)); }
.modern-journal-card { padding-block: var(--ds-card-padding, 34px); }
.cover { height: var(--ds-media-height, 145px); aspect-ratio: auto; }
.card-content h3 { margin-bottom: var(--ds-space-sm, 14px); padding-bottom: var(--ds-space-sm, 14px); font-size: min(var(--ds-journal-title-size, 31px), var(--ds-section-title-min, 31px)); }
.card-content p { margin-bottom: var(--ds-space-sm, 14px); }
.journal-card-kicker { margin-bottom: var(--ds-space-sm, 14px); }
.inner-page-hero h1 { font-size: clamp(var(--ds-page-title-min, 34px), 5vw, var(--ds-page-title-max, 60px)); }
.journal-detail-heading h1, body.admin-ui h1 { font-size: clamp(var(--ds-page-title-min, 34px), 4vw, var(--ds-page-title-max, 60px)); }
.modern-inner-page, .journal-detail-page { padding-block: var(--ds-section-gap, 61px) !important; }
.form-card, .sub-card, .join-subcard, .journal-detail { padding: var(--ds-space-lg, 41px) !important; }
body.admin-ui .form-card, body.admin-ui .metric, body.admin-ui .status-card, body.admin-ui .insight-card, body.admin-ui .home-box { padding: var(--ds-space-md, 24px) !important; }
body.admin-ui .status-summary-cards { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
body.admin-ui .status-summary-cards .status-card { min-height: 0; padding: 11px 14px !important; border-radius: 11px !important; box-shadow: 0 4px 12px color-mix(in srgb, var(--ds-admin-text, var(--ink)) 6%, transparent) !important; }
body.admin-ui .status-summary-cards .status-card .k { margin-bottom: 3px; font-size: 11px; line-height: 1.2; }
body.admin-ui .status-summary-cards .status-card .v { font-size: 18px; line-height: 1; }
body.admin-ui .insights-summary-cards { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
body.admin-ui .insights-summary-cards .insight-card { min-height: 0; padding: 11px 14px !important; border-radius: 11px !important; box-shadow: 0 4px 12px color-mix(in srgb, var(--ds-admin-text, var(--ink)) 6%, transparent) !important; }
body.admin-ui .insights-summary-cards .insight-card .k { margin-bottom: 3px; font-size: 11px; line-height: 1.2; }
body.admin-ui .insights-summary-cards .insight-card .v:not([style]) { font-size: 18px; line-height: 1; }

@media (max-width: 1000px) {
  .site-header .inner { display: flex; justify-content: center; flex-wrap: wrap; padding-block: 12px; }
  .site-header .header-left, .site-header .brand { justify-content: center; text-align: center; }
  .site-header .brand { flex: 1 1 240px; }
  .site-header .header-right { flex: 1 0 100%; width: 100%; flex-wrap: wrap; overflow: visible; }
  .hero-grid, .journal-content-layout { grid-template-columns: 1fr; }
  .hero-left-col { padding-right: 0; }
  .hero-side-stack, .journal-scope-card { border-left: 0; border-top: 1px solid var(--ink); }
  .journal-scope-card { margin-top: 30px; padding: 30px 0 0; }
  .features-marquee-set, .features-strip-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-grid, .insights-cards, .status-cards, .reports-grid, .manager-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .applications-filter-grid, .expense-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .status-check-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.admin-ui .status-summary-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.admin-ui .insights-summary-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-page .contact-layout > section.sub-card { position: static; }
  .join-page .join-shell, .join-page .split, .join-page .join-phone-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .join-page .join-shell > * { grid-column: 1 !important; min-width: 0; }
  .join-page .join-shell { padding: 10px !important; gap: 10px; }
  .join-page .join-subcard, .join-page .join-form-card { padding: 22px 18px !important; }
  table { min-width: 720px; }
  .table-wrap, body.admin-ui .table-wrap { max-width: 100%; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
}

@media (max-width: 700px) {
  body { font-size: min(var(--ds-base-font-size, 16px), 15px) !important; }
  .container, .content-width-80 { width: 100% !important; padding-inline: 14px !important; }
  .site-header { position: relative; }
  .site-header .inner { gap: 10px; min-height: 0; }
  .site-header .header-left, .site-header .brand { flex: 1 0 100%; width: 100%; justify-content: center; text-align: center; }
  .site-header .header-right { flex: 1 0 100%; width: 100%; justify-content: center; text-align: center; }
  .site-header .header-right .btn.link { flex: 0 1 auto; min-width: 0; max-width: 100%; border: 1px solid color-mix(in srgb, var(--ds-shell-text, #fff) 30%, transparent) !important; border-radius: 999px !important; overflow-wrap: anywhere; }
  .hero-premium h1 { font-size: clamp(38px,12vw,52px); }
  .hero-side-marquee { height: var(--hero-scroller-runtime-height, var(--ds-hero-scroller-mobile-height, 340px)) !important; max-height: var(--hero-scroller-runtime-height, var(--ds-hero-scroller-mobile-height, 340px)) !important; }
  .grid, .home-grid, .insights-cards, .status-cards, .reports-grid, .manager-stats, .split, .applications-filter-grid, .expense-grid, .status-check-grid { grid-template-columns: 1fr; }
  .modern-journal-card { grid-template-columns: 1fr; }
  .modern-journal-card .journal-card-media { padding: 0 0 24px; }
  .modern-journal-card .cover { width: 100%; min-height: 0; max-height: none; }
  .modern-journal-card:nth-child(odd) { border-right: 0 !important; }
  .cover { min-height: 0; }
  .join-network-card { grid-template-columns: 1fr; }
  .inner-page-hero { grid-template-columns: 1fr; }
  .inner-page-hero::after { justify-self: start; margin-top: 25px; }
  .journal-detail-hero { grid-template-columns: 1fr; }
  .journal-detail-brand { width: 135px; }
  .journal-action-bar { align-items: stretch; flex-direction: column; }
  .journal-back-link { margin: 5px 0 0; text-align: center; }
  .inner-page-hero h1, .journal-detail-heading h1 { font-size: clamp(34px,11vw,48px); overflow-wrap: anywhere; }
  .journals-section .journals-combined-card .section-intro h2 { font-size: clamp(32px,10vw,44px); }
  .card-content h3 { font-size: clamp(24px,8vw,30px); overflow-wrap: anywhere; }
  .form-card, .sub-card, .join-subcard, body.admin-ui .form-card, body.admin-ui .metric, body.admin-ui .status-card, body.admin-ui .insight-card, body.admin-ui .home-box { padding: 20px 16px !important; }
  body.admin-ui .status-summary-cards .status-card { padding: 9px 10px !important; }
  body.admin-ui .insights-summary-cards .insight-card { padding: 9px 10px !important; }
  .site-footer .inner { display: grid; grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .footer-brand { grid-template-columns: 1fr; align-items: center; justify-items: center; justify-content: center; width: 100%; text-align: center; }
  .footer-brand .footer-logo, .footer-brand .footer-text { grid-area: auto; justify-self: center; }
  .footer-text { text-align: center; }
  .actions-inline, .table-actions, .applications-filter-actions, .refresh-controls, .hero-actions { align-items: stretch; flex-direction: column; }
  .publisher-cloudflare-actions { align-items: stretch; flex-direction: column; }
  .publisher-cloudflare-actions .btn, .publisher-cloudflare-actions form { width: 100% !important; }
  .actions-inline .btn, .table-actions .btn, .applications-filter-actions .btn, .refresh-controls .btn, .hero-actions .btn, form > .btn, form > button { width: 100% !important; max-width: 100%; white-space: normal !important; }
  .btn, a.btn, button, input[type="submit"], input[type="button"] { max-width: 100%; min-height: 42px; padding: 9px 14px; overflow-wrap: anywhere; white-space: normal; }
  .admin-page-header { align-items: stretch; flex-direction: column; min-height: 0; }
  .admin-page-header .btn { width: 100% !important; }
  .admin-rich-editor-host { margin-inline: 0; padding: 6px !important; }
  .admin-rich-editor-toolbar { flex-wrap: nowrap !important; }
  .admin-rich-editor-surface { min-height: 120px !important; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), select, textarea { min-width: 0; max-width: 100%; }
  .join-page { padding-top: 28px !important; }
  .join-page.container { width: 100% !important; max-width: 100% !important; padding-inline: 12px !important; }
  .join-page .inner-page-content { padding-top: 24px; }
  .join-page .join-shell { display: grid !important; width: 100% !important; max-width: 100% !important; margin-inline: 0; padding: 7px !important; grid-template-columns: minmax(0,1fr) !important; border-radius: 12px; }
  .join-page .join-shell > * { width: 100% !important; max-width: 100% !important; min-width: 0 !important; grid-column: 1 !important; }
  .join-page .join-subcard, .join-page .join-form-card { padding: 18px 14px !important; border-radius: 10px !important; }
  .join-page .join-section-title { align-items: flex-start; font-size: clamp(23px,8vw,30px); line-height: 1.15; }
  .join-page .form-row { margin-bottom: 17px; }
  .join-page .form-row > label { display: block; width: 100%; }
  .join-page .form-row label:has(input[type="checkbox"]), .join-page .form-row label:has(input[type="radio"]) { display: grid !important; grid-template-columns: 22px minmax(0,1fr); align-items: start !important; gap: 9px !important; width: 100%; }
  .join-page input[type="checkbox"], .join-page input[type="radio"] { width: 18px !important; height: 18px !important; margin: 3px 0 0 !important; }
  .join-page input[type="file"] { min-height: 44px !important; padding: 8px !important; font-size: 13px !important; }
  .join-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), .join-page select, .join-page textarea { width: 100% !important; max-width: 100% !important; min-width: 0 !important; font-size: 16px !important; }
  .join-page select { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .join-page textarea { min-height: 120px; resize: vertical; }
  .join-page .join-subcard > div, .join-page .journal-scope-panel, .join-page .journal-custom-message { max-width: 100%; overflow-wrap: anywhere; word-break: normal; }
  .join-page .join-subcard table { display: block; width: 100% !important; min-width: 0 !important; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .join-page .join-subcard img, .join-page .join-subcard iframe, .join-page .join-subcard video { max-width: 100% !important; height: auto; }
  .join-page .submit-overlay-card { width: min(100%, 320px); min-width: 0; }
  .join-page #join-submit-btn { width: 100% !important; }
}

@media (max-width: 420px) {
  .container, .content-width-80 { padding-inline: 11px !important; }
  .site-header .header-right .btn.link { width: auto !important; min-width: 0; padding: 7px 9px; font-size: 12px; }
  .follow-icon { flex: 0 0 34px !important; width: 34px !important; }
  .hero-left-col { padding-block: 24px; }
  body.admin-ui h1 { font-size: 32px; }
  .footer-text { max-width: 100%; overflow-wrap: anywhere; }
  .join-page .join-shell { padding: 5px !important; }
  .join-page .join-subcard, .join-page .join-form-card { padding: 16px 11px !important; }
  .join-page input[type="file"] { width: 100% !important; max-width: 100% !important; overflow: hidden; font-size: 12px !important; }
  .join-page input[type="file"]::file-selector-button { display: block; width: 100%; max-width: 100%; margin: 0 0 7px; }
}

@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition-duration: .01ms !important; } .whatsapp-float { animation: none !important; } }
