:root {
  --blue: #0966f2;
  --blue-dark: #052a7a;
  --ink: #07184d;
  --muted: #52628f;
  --line: #dbe7fb;
  --soft: #f3f8ff;
  --green: #0a9f55;
  --red: #ef3340;
  --amber: #f59e0b;
  --purple: #7c3aed;
  --shadow: 0 10px 30px rgba(7, 24, 77, .08);
  font-family: "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
body { margin: 0; color: var(--ink); background: #f7fbff; font-size: 14px; }
a { color: var(--blue); text-decoration: none; }
h1, h2, h3 { margin: 0; color: #030b48; }
h1 { font-size: 28px; line-height: 1.2; }
h2 { font-size: 18px; margin-bottom: 14px; }
p { color: var(--muted); line-height: 1.5; }

.app-shell { display: grid; grid-template-columns: 232px 1fr; min-height: 100vh; }
.sidebar { background: #fff; border-right: 1px solid var(--line); padding: 14px 16px; position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; overflow: hidden; }
.sidebar-backdrop, .mobile-nav-toggle { display: none; }
.topbar-context { display: flex; align-items: center; gap: 10px; min-width: 0; }
.mobile-nav-toggle { width: 40px; height: 40px; padding: 9px; border: 1px solid #b8cdf0; border-radius: 7px; background: #fff; cursor: pointer; }
.mobile-nav-toggle span { display: block; height: 2px; margin: 4px 0; background: var(--blue-dark); }
.brand, .public-brand { display: inline-flex; flex-direction: column; color: var(--blue); font-weight: 800; line-height: .95; }
.brand-main { font-size: 30px; letter-spacing: 0; }
.brand-sub { font-size: 11px; color: var(--blue-dark); font-weight: 700; }
.nav-list { display: flex; flex: 1 1 auto; min-height: 0; flex-direction: column; gap: 6px; margin-top: 28px; overflow-y: auto; scrollbar-width: thin; }
.nav-list a, .admin-nav-group-toggle { color: var(--ink); padding: 12px 14px; border-radius: 7px; }
.nav-list a:hover, .nav-list a:focus, .nav-list a.active, .admin-nav-group-toggle:hover, .admin-nav-group-toggle:focus { background: #eaf3ff; color: var(--blue); outline: none; }
.admin-nav-link, .admin-nav-group-toggle { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; }
.admin-nav-group-toggle { border: 0; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.admin-nav-group-toggle > span:nth-child(2), .admin-nav-link > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.admin-nav-icon { width: 22px; flex: 0 0 22px; text-align: center; color: #48618e; font-size: 16px; font-weight: 800; }
.admin-nav-link.active .admin-nav-icon { color: var(--blue); }
.admin-nav-group.expanded > .admin-nav-group-toggle { color: var(--blue-dark); background: #f4f8ff; font-weight: 800; }
.admin-nav-chevron { width: 8px; height: 8px; margin-left: auto; flex: 0 0 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .16s ease; }
.admin-nav-group.expanded .admin-nav-chevron { transform: rotate(225deg); }
.admin-nav-submenu { display: none; margin: 4px 0 2px 17px; padding-left: 9px; border-left: 1px solid #cfe0f7; }
.admin-nav-group.expanded .admin-nav-submenu { display: grid; gap: 3px; }
.admin-nav-submenu .admin-nav-link { padding: 9px 10px; font-size: 13px; }
.admin-nav-submenu .admin-nav-icon { width: 18px; flex-basis: 18px; font-size: 13px; }
.admin-nav-section-label { display: block; padding: 9px 10px 3px; color: #63799a; font-size: 10px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.admin-nav-logout { margin-top: auto; border-top: 1px solid var(--line); border-radius: 0; color: #9b2431 !important; }
.admin-nav-logout:hover, .admin-nav-logout:focus { color: #b11324 !important; background: #fff2f3 !important; }
.workspace { min-width: 0; }
.topbar { height: 58px; background: #fff; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 22px; position: sticky; top: 0; z-index: 10; }
.divider { display: inline-block; width: 1px; height: 20px; background: var(--line); margin: 0 12px; vertical-align: middle; }
.top-actions { display: flex; gap: 14px; align-items: center; }
.search, .input { border: 1px solid #c8d8f2; border-radius: 7px; background: #fff; color: var(--ink); min-height: 40px; padding: 9px 12px; width: 100%; font: inherit; }
.search { width: 340px; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: #e7f0ff; display: grid; place-items: center; font-weight: 800; }
.user-block { line-height: 1.1; }
.user-block small { color: var(--muted); }
.page { padding: 22px; }

.page-heading, .public-list-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 18px; }
.page-heading p, .public-list-heading p { margin: 6px 0 0; }
.button-row, .footer-actions { display: flex; gap: 10px; align-items: center; }
.btn { border: 1px solid #b8cdf0; background: #fff; color: var(--blue); padding: 10px 16px; border-radius: 7px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; }
.btn.primary { background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: 0 8px 18px rgba(9, 102, 242, .2); }
.btn.danger-button { background: #fff; border-color: #d82739; color: #b11324; }
.btn.ghost { background: #fff; color: var(--blue); }
.btn.full { width: 100%; }
.panel, .table-panel, .side-card, .public-card, .detail-section { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.panel, .table-panel, .detail-section { padding: 18px; margin-bottom: 16px; }

.metric-row { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 12px; margin-bottom: 14px; }
.metric-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 12px; display: flex; align-items: center; gap: 10px; box-shadow: var(--shadow); }
.metric-card small { color: var(--muted); margin-left: auto; }
.icon-pill { width: 36px; height: 36px; border-radius: 8px; display: grid; place-items: center; background: #eaf3ff; color: var(--blue); font-weight: 800; }
.filter-grid { display: grid; grid-template-columns: 1fr 220px 180px 110px; gap: 12px; }
.bulk-bar { display: flex; gap: 12px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid var(--line); margin-bottom: 4px; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 12px 10px; border-bottom: 1px solid #e5eefb; text-align: left; vertical-align: middle; }
.data-table th { font-size: 12px; color: #304374; background: #f5f9ff; }
.title-link { font-weight: 800; display: block; }
.data-table small { display: block; color: var(--muted); margin-top: 4px; max-width: 480px; }
.row-actions { display: flex; gap: 10px; }
.table-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.table-toolbar h2 { margin: 0; }
.table-toolbar label { min-width: 210px; }
.table-scroll { width: 100%; overflow-x: auto; }
.academic-master-form { align-items: end; }
.tag { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 10px; border-radius: 7px; font-size: 12px; font-weight: 800; color: #064e3b; background: #dff9eb; }
.tag.notification { color: #9f1239; background: #ffe4eb; }
.tag.halltickets { color: #5b21b6; background: #eee7ff; }
.tag.time-table { color: #075985; background: #dff2ff; }
.tag.important-dates { color: #a04d00; background: #fff0d6; }
.status { display: inline-flex; border-radius: 7px; padding: 5px 10px; background: #edf2f7; color: #395070; font-weight: 800; font-size: 12px; }
.status.published { color: #08723e; background: #dff9e9; }
.status.draft { color: #516274; background: #e7edf5; }
.status.scheduled { color: #075985; background: #dff2ff; }

.editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; align-items: start; }
.stepper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 10px; margin-bottom: 12px; }
.stepper span { padding: 10px; border-radius: 7px; color: var(--muted); font-weight: 700; text-align: center; background: #f5f9ff; }
.stepper .active { background: var(--blue); color: #fff; }
.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.form-grid > label { min-width: 0; }
label { display: flex; flex-direction: column; gap: 7px; font-weight: 700; color: #12235a; }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }
.check-row { justify-content: center; align-items: flex-start; }
.editor-box { min-height: 160px; }
.choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.choice-grid label { border: 1px solid var(--line); border-radius: 8px; padding: 14px; background: #f8fbff; }
.url-inspection { margin-top: 10px; border: 1px solid #b7d9ff; background: #edf7ff; color: #123570; border-radius: 7px; padding: 10px; }
.status-message { display: flex; align-items: flex-start; gap: 9px; line-height: 1.5; }
.status-message.success { border-color: #91d3ad; background: #eaf8f0; color: #075f34; }
.status-message.failure { border-color: #ef9ca5; background: #fff0f1; color: #8d1521; }
.status-message.warning { border-color: #edc86e; background: #fff8e5; color: #714b00; }
.status-message.info { border-color: #b7d9ff; background: #edf7ff; color: #123570; }
.status-message.failure strong { color: #b01424; }
.status-symbol { display: inline-grid; flex: 0 0 22px; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: #fff; background: #3169a8; font-size: 13px; font-weight: 900; line-height: 1; }
.status-message.success .status-symbol { background: #0b8148; }
.status-message.failure .status-symbol { background: #c32635; }
.status-message.warning .status-symbol { background: #a96f00; }
.status-copy { min-width: 0; overflow-wrap: anywhere; }
.channel-box { border: 1px solid var(--line); border-radius: 8px; padding: 12px; background: #f8fbff; margin-top: 14px; }
.channel-row, .queue-item, .date-row, .info-row { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e5eefb; padding: 10px 0; }
.channel-row:last-child, .queue-item:last-child, .date-row:last-child, .info-row:last-child { border-bottom: 0; }
.live-preview { position: sticky; top: 78px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.section-heading h2 { margin-bottom: 0; }
.compact-actions { margin: 10px 0 14px; }
.manual-publish-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.manual-publish-panel h2 { margin-bottom: 5px; }
.manual-publish-panel p { margin: 0; color: var(--muted); }
.preview-destination { min-height: 38px; margin: 12px 0; padding: 9px 10px; overflow-wrap: anywhere; border: 1px solid var(--border); background: #f8fafc; color: var(--muted); font-size: 12px; }
.btn.disabled, .btn:disabled, .btn[aria-disabled="true"] { cursor: not-allowed; opacity: .55; pointer-events: none; }
.phone-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); padding: 18px; }
.brand-mini { color: var(--blue); font-size: 28px; font-weight: 900; margin-bottom: 20px; }
.phone-card h3 { font-size: 24px; line-height: 1.15; margin: 12px 0 10px; }
.notice, .alert { border-radius: 8px; padding: 12px; margin: 12px 0; }
.notice.success, .alert.success { background: #e3f8ea; border: 1px solid #b9eccd; color: #075e33; }
.alert.warn { background: #fff7de; border: 1px solid #f8de93; color: #6a4500; }
.alert.danger { background: #fff0f1; border: 1px solid #ffc9cf; color: #8f1020; }

.dashboard-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 18px; }
.check-list { margin: 0; padding-left: 20px; color: var(--muted); line-height: 1.9; }

.public-body { background: #fff; }
.public-header { height: 70px; display: grid; grid-template-columns: 240px 1fr 380px; gap: 20px; align-items: center; padding: 0 42px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: #fff; z-index: 10; }
.public-brand .brand-main { font-size: 34px; }
.public-nav { display: flex; gap: 24px; align-items: center; }
.public-nav a { color: var(--ink); font-weight: 700; }
.public-page { max-width: 1460px; margin: 0 auto; padding: 28px 42px; }
.breadcrumb { color: #536ba4; display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.breadcrumb a { color: #3658a5; font-weight: 700; }
.public-filter { display: grid; grid-template-columns: 1fr 240px 120px; gap: 12px; margin-bottom: 18px; }
.public-card { padding: 18px; margin-bottom: 12px; display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.public-card > div { min-width: 0; max-width: 100%; }
.public-card h2 { margin: 10px 0 6px; font-size: 22px; }
.meta-line { display: flex; flex-wrap: wrap; gap: 16px; color: #42598e; font-weight: 700; }
.meta-line.large { margin-top: 14px; }

.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; }
.detail-main, .detail-aside, .detail-section, .side-card { min-width: 0; max-width: 100%; }
.title-block { margin-bottom: 18px; }
.title-block h1 { margin: 12px 0; font-size: 34px; }
.subtitle { color: #465996; font-size: 18px; margin: 0; }
.public-heading { display: flex; gap: 18px; align-items: flex-start; }
.public-heading-copy { min-width: 0; flex: 1; }
.heading-labels { display: flex; align-items: center; gap: 8px; }
.source-logo-wrap { flex: 0 0 82px; width: 82px; height: 82px; display: grid; place-items: center; border: 1px solid var(--line); background: #fff; }
.source-logo { display: block; max-width: 68px; max-height: 68px; object-fit: contain; }
.source-logo-initials { display: grid; place-items: center; width: 100%; height: 100%; color: #365384; background: #edf4ff; font-size: 22px; font-weight: 800; }
.source-logo-initials[hidden] { display: none; }
.heading-description { max-width: 820px; margin: 12px 0 0; color: #45536d; font-size: 16px; line-height: 1.6; }
.share-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.share-link { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 7px 12px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.share-link.whatsapp { border-color: #97dfb2; color: #087538; }
.share-link.telegram { border-color: #9bd4ee; color: #08658e; }
.share-link.facebook { border-color: #aebfea; color: #254a9a; }
.share-link:hover { background: #f5f8ff; }
.new-badge { display: inline-flex; padding: 5px 9px; border-radius: 6px; color: #fff; background: var(--red); font-size: 12px; font-weight: 800; margin-left: 8px; }
.tab-strip { display: flex; background: #f0f7ff; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin-bottom: 14px; }
.tab-strip a { padding: 13px 18px; border-right: 1px solid var(--line); color: var(--blue-dark); font-weight: 800; }
.detail-action { margin-top: 16px; min-width: 220px; }
.original-content { margin-bottom: 22px; }
.original-viewer-shell { width: 100%; height: min(72vh, 760px); min-height: 480px; overflow: hidden; border: 1px solid #b9cce8; background: #f7faff; }
.original-viewer-shell iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.original-actions { display: flex; justify-content: flex-end; }
.long-description { padding-top: 2px; }
.document-box { margin-bottom: 18px; }
.pdf-preview { min-height: 220px; border-radius: 8px; border: 1px solid #27364f; background: linear-gradient(180deg, #263141, #101721); color: #fff; display: grid; place-items: center; text-align: center; gap: 8px; padding: 20px; }
.pdf-preview.compact { min-height: 110px; margin: 10px 0 14px; background: linear-gradient(180deg, #eef5ff, #dceaff); color: var(--ink); border-color: var(--line); }
.document-preview-panel { margin-top: 14px; }
.detail-aside { display: flex; flex-direction: column; gap: 14px; }
.side-card { padding: 16px; }
.side-card.warm { background: #fff4f6; }
.quick-link, .latest-link { display: block; padding: 11px 0; border-bottom: 1px solid #e5eefb; font-weight: 700; }
.quick-link:last-child, .latest-link:last-child { border-bottom: 0; }

@media (max-width: 1100px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; z-index: 40; top: 0; bottom: 0; left: 0; width: min(290px, 86vw); height: 100vh; border-right: 1px solid var(--line); overflow-y: auto; transform: translateX(-102%); transition: transform .2s ease; box-shadow: 12px 0 30px rgba(7,24,77,.18); }
  .admin-nav-open .sidebar { transform: translateX(0); }
  .nav-list { margin-top: 24px; }
  .mobile-nav-toggle { display: inline-block; flex: 0 0 40px; }
  .sidebar-backdrop { position: fixed; z-index: 35; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(4,14,44,.55); opacity: 0; pointer-events: none; }
  .admin-nav-open .sidebar-backdrop { display: block; opacity: 1; pointer-events: auto; }
  .admin-nav-open { overflow: hidden; }
  .editor-layout, .detail-layout, .dashboard-grid { grid-template-columns: 1fr; }
  .live-preview { position: static; }
  .section-heading, .manual-publish-panel { align-items: flex-start; flex-direction: column; }
  .public-heading { align-items: flex-start; }
  .metric-row { grid-template-columns: repeat(2, 1fr); }
  .public-header { grid-template-columns: 1fr; height: auto; padding: 16px; }
  .public-nav { overflow-x: auto; padding-bottom: 4px; }
  .public-page { padding: 20px 16px; }
}

@media (max-width: 720px) {
  h1 { font-size: 24px; }
  .page { padding: 14px; }
  .page-heading, .public-card { flex-direction: column; align-items: stretch; }
  .public-card { width: 100%; max-width: 100%; min-width: 0; }
  .public-card > div, .public-card h2, .public-card p { width: 100%; max-width: calc(100vw - 68px); min-width: 0; }
  .sidebar { padding: 18px 16px; }
  .nav-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; width: 100%; max-width: 100%; overflow: hidden; }
  .nav-list a, .admin-nav-group-toggle { min-width: 0; width: 100%; padding: 10px 8px; font-size: 13px; text-align: left; overflow-wrap: anywhere; }
  .admin-nav-submenu { margin-left: 13px; }
  .filter-grid, .public-filter, .form-grid, .choice-grid, .stepper { grid-template-columns: 1fr; }
  .span-2, .span-3 { grid-column: auto; }
  .topbar { height: auto; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 10px 12px; gap: 10px; }
  .topbar-context { flex: 1 1 auto; }
  .topbar-context .divider, .topbar-context div > span:last-child { display: none; }
  .top-actions { flex: 1 0 100%; gap: 8px; }
  .top-actions .search { flex: 1 1 150px; }
  .top-actions .user-block { display: none; }
  .search { width: 100%; }
  .data-table { min-width: 760px; }
  .table-panel { overflow-x: auto; }
  .table-toolbar { align-items: stretch; flex-direction: column; }
  .table-toolbar label { min-width: 0; }
  .public-page, .detail-layout, .detail-main, .detail-aside { width: 100%; max-width: 100%; }
  .public-brand { align-items: center; }
  .public-nav { justify-content: center; flex-wrap: wrap; gap: 12px; overflow-x: hidden; }
  .public-nav a { font-size: 12px; white-space: normal; }
  .source-logo-wrap { flex-basis: 64px; width: 64px; height: 64px; }
  .source-logo { max-width: 52px; max-height: 52px; }
  .share-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .share-link { width: 100%; }
  .title-block h1 { display: block; max-width: 100%; font-size: 24px; white-space: normal; word-break: break-word; overflow-wrap: anywhere; }
  .public-card h2, .public-card h2 a { display: block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; word-break: break-all; }
  .subtitle, .public-list-heading p, .detail-section p, .public-card p, .public-card a { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
  .pdf-preview { min-height: 180px; width: 100%; }
  .original-viewer-shell { height: 64vh; min-height: 420px; }
  .original-actions .btn, .original-content > div > .btn { width: 100%; }
  .date-row, .info-row { align-items: flex-start; flex-wrap: wrap; }
  .date-row strong, .info-row strong { overflow-wrap: anywhere; text-align: left; }
  .tab-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 100%; overflow-x: hidden; }
  .tab-strip a { min-width: 0; white-space: normal; text-align: center; padding: 12px 6px; font-size: 13px; }
  .meta-line { gap: 10px; }
}

.auth-panel { max-width: 460px; margin: 42px auto; }
.auth-panel h1 { margin-top: 0; }
.login-form { display: grid; gap: 14px; margin-top: 18px; }
.btn.small { min-height: 34px; padding: 7px 11px; font-size: 13px; }
.top-actions .btn.small { white-space: nowrap; }

/* Compact single-page Updates editor */
.editor-heading { align-items: center; }
.editor-kicker { color: var(--blue); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0; margin-bottom: 5px; }
.editor-record-state { flex: 0 0 auto; }
.editor-section-nav { position: sticky; top: 58px; z-index: 9; display: flex; gap: 4px; padding: 8px; margin: -4px 0 14px; border: 1px solid var(--line); background: rgba(255,255,255,.98); box-shadow: 0 4px 14px rgba(7,24,77,.06); }
.editor-section-nav button { border: 0; border-right: 1px solid var(--line); background: transparent; color: #2a4279; padding: 8px 13px; font: inherit; font-weight: 700; cursor: pointer; }
.editor-section-nav button:last-child { border-right: 0; }
.editor-section-nav button:hover, .editor-section-nav button:focus { color: var(--blue); background: #f1f7ff; }
.update-editor-shell { max-width: 1220px; margin: 0 auto; padding-bottom: 74px; }
.editor-section { scroll-margin-top: 116px; padding: 16px 18px; box-shadow: 0 4px 16px rgba(7,24,77,.05); }
.editor-section .section-heading { margin-bottom: 14px; }
.editor-section .section-heading > div:first-child { display: flex; align-items: center; gap: 9px; }
.section-number { display: inline-grid; place-items: center; min-width: 28px; height: 28px; border: 1px solid #b8d1f5; color: var(--blue); background: #f1f7ff; border-radius: 6px; font-size: 11px; font-weight: 900; }
.field-state { color: #45618f; background: #eef5ff; border: 1px solid #d5e5fb; border-radius: 6px; padding: 5px 8px; font-size: 11px; font-weight: 800; }
.field-help { color: var(--muted); font-size: 11px; font-weight: 500; }
.title-editor-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.title-editor-row .btn { min-height: 40px; white-space: nowrap; }
.title-field-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.title-character-count { flex: 0 0 auto; color: #45618f; font-size: 11px; font-weight: 800; font-variant-numeric: tabular-nums; }
.title-character-count.over-limit, .title-limit-warning { color: #a01925; }
.title-limit-warning { display: block; font-weight: 700; }
.title-limit-warning[hidden] { display: none; }
.input-limit-error { border-color: #c72837 !important; box-shadow: 0 0 0 2px rgba(199,40,55,.1); }
.schema-note { margin-top: 12px; padding: 9px 11px; border-left: 3px solid #f1ac2c; background: #fff9e9; color: #674b16; font-size: 12px; line-height: 1.5; }
.section-intro { margin: -4px 0 12px; color: var(--muted); font-size: 12px; }
.academic-combination-list { display: grid; gap: 10px; }
.academic-combination { border: 1px solid #cbdcf3; background: #fbfdff; }
.academic-combination-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border-bottom: 1px solid #dce7f7; background: #f3f8ff; }
.academic-combination-header > div:first-child { display: flex; align-items: baseline; gap: 9px; }
.academic-combination-header span { color: var(--muted); font-size: 11px; }
.academic-row-actions { display: flex; align-items: center; gap: 9px; }
.academic-row-actions .inline-check { min-height: 32px; }
.academic-combination-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; padding: 11px; }
.academic-combination-grid > label { min-width: 0; font-size: 11px; }
.academic-pair { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 6px; }
.academic-pair .input { min-width: 0; min-height: 36px; padding: 7px 8px; }
.academic-pair.exam-period { grid-template-columns: 104px minmax(72px,.7fr) minmax(80px,1fr); }
.academic-add { margin-top: 10px; }
.record-timestamps { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.record-timestamps span { display: flex; gap: 7px; }
.record-timestamps strong { color: #2b416a; }
.inline-field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.inline-actions { display: flex; gap: 8px; align-items: stretch; }
.drive-upload-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 8px; margin-top: 8px; }
.drive-upload-file { display: grid; gap: 4px; min-width: 0; }
.drive-upload-row .input { min-width: 0; }
.drive-upload-row .btn[aria-busy="true"] { cursor: wait; opacity: .72; }
.server-action-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; clip: rect(0,0,0,0); overflow: hidden; }
.content-links-section > .section-heading p { margin: 2px 0 0; color: var(--muted); font-size: 12px; font-weight: 500; }
.document-source-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 12px; }
.document-source-option { min-width: 0; padding: 16px; border: 1px solid #cbdcf3; background: #fbfdff; }
.document-source-option.upload-option { border-color: #83b3fa; background: #f2f8ff; }
.document-source-option.is-active { border-color: #1769ed; box-shadow: 0 0 0 2px rgba(23,105,237,.09); }
.document-source-option.is-inactive { opacity: .68; background: #f7f9fc; }
.document-source-option.is-inactive .input, .document-source-option.is-inactive .btn { cursor: not-allowed; }
.document-source-choice { display: flex; flex-direction: row; align-items: center; gap: 8px; margin: 0 0 4px; color: #102452; font-size: 15px; font-weight: 800; cursor: pointer; }
.document-source-choice input { width: 17px; height: 17px; margin: 0; accent-color: var(--blue); }
.document-source-option h3, .original-document-heading h3, .ai-generation-banner h3 { margin: 0; font-size: 15px; color: #102452; }
.document-source-option p, .original-document-heading p, .ai-generation-banner p { margin: 4px 0 12px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.document-source-option > label { margin-bottom: 6px; }
.document-file-input { margin-bottom: 8px; background: #fff; }
.document-upload-button { width: 100%; margin-bottom: 7px; }
.original-document-card { margin-top: 12px; padding: 14px; border: 1px solid #cbdcf3; background: #fff; }
.original-document-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.document-verification-badge { flex: 0 0 auto; padding: 5px 8px; border: 1px solid #cbdcf3; background: #eef4fc; color: #3b557f; font-size: 11px; font-weight: 800; }
.document-verification-badge.verified { border-color: #9fd8b9; background: #eaf8f0; color: #08723e; }
.document-verification-badge.link-only { border-color: #efcb7e; background: #fff8e8; color: #79510a; }
.document-verification-badge.pending { border-color: #cbdcf3; background: #f4f7fb; color: #536681; }
.document-verification-badge::before { margin-right: 5px; font-weight: 900; }
.document-verification-badge.verified::before { content: "\2713"; }
.document-verification-badge.link-only::before { content: "\2715"; }
.document-verification-badge.pending::before { content: "!"; }
.document-information { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); color: #4c6389; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.document-information span { padding: 0 5px; color: #a9b5c8; }
.document-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; margin-top: 10px; }
.document-actions [hidden] { display: none !important; }
.verification-note { font-weight: 700; }
.ai-generation-banner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 5px 16px; margin-top: 14px; padding: 13px 15px; border: 1px solid #c8c6f7; background: #f7f6ff; }
.ai-generation-banner p { margin-bottom: 0; }
.ai-generation-banner > span { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.ai-button { border-color: #6551dc; background: #6551dc; color: #fff; }
.ai-button[disabled] { opacity: .55; cursor: not-allowed; }
.ai-button[aria-busy="true"] { min-width: 148px; }
.ai-generation-status { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.ai-coverage-message { margin-top: 9px; padding: 10px 12px; border: 1px solid #d2c7f7; background: #faf8ff; color: #493b83; font-size: 12px; line-height: 1.5; }
.content-field-block { display: grid; gap: 6px; margin-top: 15px; }
.required-marker { color: #b51f2e; }
.document-read-result { margin-top: 10px; border: 1px solid #b8cae6; background: #f8fbff; border-radius: 7px; padding: 11px; }
.document-read-meta { color: #17366c; line-height: 1.5; }
.document-read-result pre { max-height: 220px; margin: 9px 0 0; padding: 10px; overflow: auto; white-space: pre-wrap; word-break: break-word; border: 1px solid #dce7f7; background: #fff; color: #263957; font: 12px/1.5 Consolas, monospace; }
.detail-rich-content { line-height: 1.65; overflow-wrap: anywhere; }
.detail-rich-content > :first-child { margin-top: 0; }
.detail-rich-content > :last-child { margin-bottom: 0; }
.detail-rich-content a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.rich-editor [data-v2-important-links="true"],
.preview-rich [data-v2-important-links="true"],
.detail-rich-content [data-v2-important-links="true"] { margin: 20px 0 4px; padding: 14px 16px; border: 1px solid #c8dcf7; border-left: 4px solid var(--blue); border-radius: 6px; background: #f5f9ff; }
.rich-editor [data-v2-important-links="true"] > p,
.preview-rich [data-v2-important-links="true"] > p,
.detail-rich-content [data-v2-important-links="true"] > p { margin: 0 0 8px; color: #102f66; font-size: 16px; }
.rich-editor [data-v2-important-links="true"] ul,
.preview-rich [data-v2-important-links="true"] ul,
.detail-rich-content [data-v2-important-links="true"] ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.rich-editor [data-v2-important-links="true"] li,
.preview-rich [data-v2-important-links="true"] li,
.detail-rich-content [data-v2-important-links="true"] li { margin: 0; border-top: 1px solid #dbe8f8; }
.rich-editor [data-v2-important-links="true"] a,
.preview-rich [data-v2-important-links="true"] a,
.detail-rich-content [data-v2-important-links="true"] a { display: block; padding: 10px 26px 10px 2px; color: #075dcc; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.rich-editor [data-v2-important-links="true"] a::after,
.preview-rich [data-v2-important-links="true"] a::after,
.detail-rich-content [data-v2-important-links="true"] a::after { content: "\2197"; float: right; margin-right: -22px; color: #4b6d9f; }
.detail-rich-content [data-v2-important-links="true"] a:hover,
.detail-rich-content [data-v2-important-links="true"] a:focus { color: #003f98; text-decoration: underline; text-underline-offset: 2px; }
.rich-editor-heading, .subsection-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0 7px; }
.rich-editor-heading > label { display: block; }
.rich-tools { display: flex; border: 1px solid #c8d8f2; border-radius: 6px; overflow: hidden; }
.rich-tools button { min-width: 35px; height: 32px; padding: 0 9px; border: 0; border-right: 1px solid #dce7f7; color: #17366c; background: #f8fbff; cursor: pointer; }
.rich-tools button:last-child { border-right: 0; }
.rich-tools button:hover, .rich-tools button:focus { background: #eaf3ff; }
.rich-editor { min-height: 175px; max-height: 420px; overflow-y: auto; padding: 12px; border: 1px solid #c8d8f2; border-radius: 7px; background: #fff; color: var(--ink); line-height: 1.55; outline: none; }
.rich-editor:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(9,102,242,.1); }
.rich-source { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; clip: rect(0,0,0,0); overflow: hidden; }
.ai-row { display: flex; align-items: center; gap: 10px; margin-top: 9px; color: var(--muted); font-size: 12px; }
.ai-row .btn[disabled] { opacity: .55; cursor: not-allowed; }
.ai-suggestions { margin-top: 10px; padding: 12px; border: 1px solid #b8cae6; background: #f8fbff; }
.ai-suggestions h3 { margin: 0 0 3px; font-size: 15px; }
.ai-suggestions p { margin: 0 0 10px; color: var(--muted); font-size: 12px; }
.ai-suggestions label { margin: 10px 0 7px; }
.subsection-heading h3, .publish-grid h3 { margin: 0; font-size: 15px; }
.subsection-heading p { margin: 3px 0 0; font-size: 12px; }
.empty-state { margin: 0; padding: 14px; border: 1px dashed #b8cae6; color: var(--muted); text-align: center; }
.link-editor { display: grid; gap: 8px; }
.link-edit-row { display: grid; grid-template-columns: minmax(180px,1fr) minmax(260px,1.7fr) auto; gap: 8px; align-items: end; padding: 10px; border: 1px solid var(--line); background: #fbfdff; }
.link-edit-row label { font-size: 11px; }
.link-edit-row .input { min-height: 36px; padding: 7px 9px; }
.inline-check { min-height: 36px; flex-direction: row; align-items: center; }
.link-row-actions { display: flex; align-items: center; gap: 8px; min-height: 36px; }
.link-row-actions .btn { white-space: nowrap; }
.link-validation { color: var(--muted); font-size: 11px; line-height: 1.35; }
.link-validation.bad { color: #a01925; font-weight: 700; }
.related-links-help { display: block; margin-top: 8px; }
.link-check { color: var(--muted); font-size: 11px; }
.link-check.ok { color: #08723e; }
.link-check.bad { color: #a01925; }
.publish-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.publish-grid > div { padding: 12px; border: 1px solid var(--line); background: #f8fbff; }
.publish-grid p { margin: 5px 0; font-size: 12px; }
.publish-status-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 12px; }
.website-status-card, .preview-requirement-card { min-width: 0; padding: 14px; border: 1px solid var(--line); background: #f8fbff; }
.publish-card-heading, .manual-channel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.publish-card-heading h3, .preview-requirement-card h3, .manual-channel-heading h3 { margin: 0; font-size: 15px; }
.website-status-message, .preview-requirement-card p, .manual-channel-heading p { margin: 6px 0; color: #405a84; font-size: 12px; line-height: 1.5; }
.publication-detail, .public-url-detail { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 8px; margin-top: 10px; color: #405a84; font-size: 12px; }
.public-url-detail a { min-width: 0; color: var(--blue); overflow-wrap: anywhere; }
.website-status-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.website-status-actions .btn[disabled], .channel-sharing-actions .btn[disabled] { cursor: not-allowed; opacity: .55; }
.preview-state { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; }
.preview-state::before { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; }
.preview-state.ready { color: #08723e; }
.preview-state.ready::before { content: "\2713"; color: #fff; background: #148451; }
.preview-state.required { color: #8b5a08; }
.preview-state.required::before { content: "!"; color: #fff; background: #c8810a; }
.manual-channel-section { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.manual-channel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 10px; }
.channel-platform-group { min-width: 0; padding: 12px; border: 1px solid #d5e2f5; background: #f8fbff; }
.channel-platform-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.channel-destination-list { display: grid; gap: 8px; margin-top: 10px; }
.channel-sharing-card { min-width: 0; padding: 10px; border-left: 3px solid #2f80d8; background: #eef5ff; }
.channel-destination-name { display: block; overflow-wrap: anywhere; font-size: 12px; }
.channel-availability { color: #405a84; font-size: 11px; line-height: 1.4; }
.channel-availability.available { color: #08723e; }
.channel-availability.unavailable { color: #8a4d13; }
.channel-sharing-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.channel-editor-divider { margin: 18px 0; border-top: 1px solid var(--line); }
.text-link { font-weight: 800; font-size: 12px; }
.sticky-editor-actions { position: fixed; z-index: 20; right: 24px; bottom: 16px; display: flex; gap: 8px; padding: 8px; border: 1px solid #c9dcf6; background: rgba(255,255,255,.98); box-shadow: 0 10px 28px rgba(7,24,77,.18); }
.update-preview-modal[hidden] { display: none; }
.update-preview-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 22px; }
.preview-modal-backdrop { position: absolute; inset: 0; background: rgba(4,14,44,.64); }
.preview-modal-panel { position: relative; width: min(1080px, 96vw); max-height: 92vh; display: grid; grid-template-rows: auto minmax(0,1fr) auto; border: 1px solid #c8d8f2; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.3); }
.preview-modal-header, .preview-modal-footer { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.preview-modal-footer { border-top: 1px solid var(--line); border-bottom: 0; color: var(--muted); font-size: 12px; }
.preview-controls { display: flex; align-items: center; gap: 10px; }
.segmented-control { display: inline-flex; border: 1px solid #bfd2ee; }
.segmented-control button { border: 0; border-right: 1px solid #bfd2ee; padding: 7px 11px; background: #fff; color: #31507f; cursor: pointer; }
.segmented-control button:last-child { border-right: 0; }
.segmented-control button.active { color: #fff; background: var(--blue); }
.icon-button { width: 34px; height: 34px; border: 1px solid #c8d8f2; background: #fff; color: #233b69; font-size: 23px; line-height: 1; cursor: pointer; }
.preview-stage { overflow: auto; padding: 24px; background: #eaf1fb; }
.public-detail-preview { width: min(860px,100%); min-height: 570px; margin: 0 auto; padding: 26px 30px; border: 1px solid #d4e1f3; background: #fff; box-shadow: 0 10px 26px rgba(7,24,77,.1); transition: width .2s ease; }
.preview-stage.mobile .public-detail-preview { width: 390px; max-width: 100%; padding: 20px 17px; }
.preview-public-heading { display: flex; align-items: flex-start; gap: 16px; }
.preview-public-heading-copy { flex: 1; min-width: 0; }
.preview-source-logo-wrap { flex-basis: 72px; width: 72px; height: 72px; }
.preview-brand { color: var(--blue); font-size: 25px; font-weight: 900; margin-bottom: 24px; }
.public-detail-preview h1 { margin: 13px 0 8px; font-size: 30px; line-height: 1.18; overflow-wrap: anywhere; }
.preview-stage.mobile h1 { font-size: 24px; }
.preview-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: #4a6290; font-weight: 700; }
.preview-short { font-size: 16px; color: #334c76; }
.preview-academic { display: grid; gap: 7px; margin: 14px 0; }
.preview-academic > div { display: grid; gap: 3px; padding: 9px 10px; border-left: 3px solid #2f80d8; background: #f3f8ff; }
.preview-academic span { color: #405a84; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.preview-rich { margin: 18px 0; line-height: 1.65; }
.preview-date-block { display: flex; justify-content: space-between; gap: 10px; padding: 11px; margin: 12px 0; border: 1px solid #d5e4f8; background: #f4f9ff; }
.preview-date-block[hidden] { display: none; }
.preview-links { display: grid; margin: 12px 0; }
.preview-links a { padding: 9px 0; border-bottom: 1px solid var(--line); font-weight: 700; }
.preview-primary-link { margin-top: 10px; }
.preview-original-content { margin: 18px 0; padding-top: 14px; border-top: 1px solid var(--line); }
.preview-original-content[hidden], .preview-original-viewer[hidden] { display: none; }
.preview-original-content h2 { margin: 0 0 10px; font-size: 18px; }
.preview-original-viewer { width: 100%; height: min(52vh,520px); margin-bottom: 10px; border: 1px solid #c9d9ef; background: #fff; }
.preview-original-viewer iframe { display: block; width: 100%; height: 100%; border: 0; }
.modal-open { overflow: hidden; }

.source-logo-summary { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 20px; align-items: start; margin-bottom: 18px; }
.source-logo-preview-shell { width: 124px; height: 124px; display: grid; place-items: center; overflow: hidden; border: 1px solid #c8d8f2; border-radius: 8px; background: #fff; }
.source-logo-preview-image { display: block; max-width: 108px; max-height: 108px; object-fit: contain; }
.source-logo-preview-image[hidden], .source-logo-thumbnail-image[hidden], .source-logo[hidden] { display: none !important; }
.source-logo-source-details h2 { margin: 4px 0 14px; overflow-wrap: anywhere; }
.source-logo-definition-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; }
.source-logo-definition-list div { min-width: 0; padding: 9px 10px; border-left: 3px solid #b9d4ff; background: #f5f9ff; }
.source-logo-definition-list dt { color: var(--muted); font-size: 11px; font-weight: 700; }
.source-logo-definition-list dd { margin: 3px 0 0; overflow-wrap: anywhere; font-weight: 800; }
.source-logo-actions { margin-top: 14px; }
.source-logo-empty { color: var(--muted); }
.source-logo-thumbnail { width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid #c8d8f2; border-radius: 6px; background: #fff; }
.source-logo-thumbnail-image { display: block; max-width: 42px; max-height: 42px; object-fit: contain; }
.source-logo-initials.small { font-size: 13px; }
.source-logo-listing .data-table { min-width: 900px; }

@media (max-width: 1100px) {
  .editor-section-nav { top: 0; }
  .link-edit-row { grid-template-columns: minmax(160px,.8fr) minmax(220px,1.2fr); }
  .link-row-actions { grid-column: 1 / -1; }
  .academic-combination-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .editor-heading { align-items: flex-start; }
  .editor-section-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-left: -14px; margin-right: -14px; padding: 6px; border-left: 0; border-right: 0; overflow: visible; }
  .editor-section-nav button { min-width: 0; padding: 8px 5px; border: 1px solid var(--line); white-space: normal; font-size: 12px; line-height: 1.25; }
  .editor-section-nav button:last-child { grid-column: 1 / -1; border-right: 1px solid var(--line); }
  .editor-section { padding: 14px; }
  .source-logo-summary { grid-template-columns: 74px minmax(0, 1fr); gap: 12px; }
  .source-logo-preview-shell { width: 74px; height: 74px; }
  .source-logo-preview-image { max-width: 64px; max-height: 64px; }
  .source-logo-definition-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .source-logo-actions { align-items: stretch; flex-direction: column; }
  .source-logo-actions .btn { width: 100%; }
  .preview-public-heading { gap: 10px; }
  .preview-source-logo-wrap { flex-basis: 58px; width: 58px; height: 58px; }
  .editor-section .section-heading { align-items: flex-start; flex-direction: column; }
  .inline-field, .drive-upload-row, .publish-grid, .publish-status-layout, .manual-channel-grid, .link-edit-row { grid-template-columns: 1fr; }
  .link-row-actions { grid-column: auto; justify-content: space-between; }
  .document-source-grid, .ai-generation-banner { grid-template-columns: 1fr; }
  .document-source-option, .original-document-card { padding: 12px; }
  .original-document-heading { flex-direction: column; }
  .document-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .document-actions .btn { width: 100%; min-width: 0; white-space: normal; }
  .ai-generation-banner .btn { width: 100%; }
  .title-editor-row { grid-template-columns: 1fr; }
  .title-editor-row .btn { width: 100%; }
  .title-field-meta { flex-wrap: wrap; gap: 4px 10px; }
  .inline-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inline-actions .btn { width: 100%; min-width: 0; white-space: normal; }
  .academic-combination-header { align-items: flex-start; flex-direction: column; }
  .academic-combination-grid { grid-template-columns: 1fr; padding: 9px; }
  .academic-pair, .academic-pair.exam-period { grid-template-columns: 98px minmax(0,1fr); }
  .academic-pair.exam-period [data-exam-year] { grid-column: 2; }
  .academic-row-actions { width: 100%; justify-content: space-between; }
  .link-url-field, .link-row-actions { grid-column: auto; }
  .rich-editor-heading, .subsection-heading, .ai-row { align-items: flex-start; flex-direction: column; }
  .update-editor-shell { padding-bottom: 86px; }
  .sticky-editor-actions { left: 8px; right: 8px; bottom: 8px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; overflow: visible; }
  .sticky-editor-actions .editor-secondary-action { display: none; }
  .sticky-editor-actions .btn { width: 100%; min-width: 0; min-height: 46px; padding: 7px 5px; white-space: normal; font-size: 12px; line-height: 1.2; text-align: center; }
  .update-preview-modal { padding: 0; }
  .preview-modal-panel { width: 100vw; height: 100vh; max-height: none; }
  .preview-modal-header { align-items: flex-start; padding: 11px; }
  .preview-controls { align-items: flex-end; flex-direction: column-reverse; }
  .preview-stage { padding: 10px; }
  .public-detail-preview { min-height: calc(100vh - 150px); }
  .publication-detail, .public-url-detail { grid-template-columns: 1fr; gap: 3px; }
  .website-status-actions, .channel-sharing-actions { display: grid; grid-template-columns: 1fr; }
  .website-status-actions .btn, .channel-sharing-actions .btn { width: 100%; min-width: 0; white-space: normal; text-align: center; }
}
.compact-display-date { max-width: 360px; margin-bottom: 18px; }
.important-dates-editor { display: grid; gap: 14px; min-width: 0; max-width: 100%; }
.important-date-list { display: grid; gap: 12px; min-width: 0; max-width: 100%; }
.important-date-editor-row { min-width: 0; max-width: 100%; border: 1px solid #cdd9ee; border-radius: 6px; background: #f8fbff; padding: 14px; overflow: hidden; }
.important-date-editor-row > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.important-date-editor-grid { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(110px, .7fr) minmax(150px, 1fr) minmax(150px, 1fr); gap: 12px; }
.important-date-editor-grid label { display: grid; gap: 6px; font-weight: 700; color: #10224a; }
.important-date-editor-grid label, .important-date-editor-grid .input { min-width: 0; max-width: 100%; }
.important-date-notes-field { grid-column: 1 / -1; }
.important-date-notes { resize: vertical; }

.date-feed-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.date-feed-nav a { border: 1px solid #b9cae9; border-radius: 6px; padding: 9px 13px; background: #fff; color: #1357c9; font-weight: 700; text-decoration: none; }
.date-feed-nav a:hover { border-color: #1357c9; }
.important-date-filter { grid-template-columns: minmax(190px, 1fr) minmax(130px, .5fr) minmax(220px, 1fr) auto; }
.calendar-summary { margin-bottom: 14px; color: #10224a; font-weight: 700; }
.important-date-public-list { display: grid; gap: 12px; }
.important-date-card { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 16px; border: 1px solid #d5dfef; border-radius: 6px; background: #fff; }
.important-date-card.estimated { border-color: #d6cdf5; background: #fbfaff; }
.important-date-calendar { width: 64px; min-height: 64px; display: grid; align-content: center; justify-items: center; border-radius: 6px; background: #eaf2ff; color: #0b4fc1; }
.important-date-card.estimated .important-date-calendar { background: #eeeafd; color: #5a3bc2; }
.important-date-calendar span { font-size: 24px; line-height: 1; font-weight: 800; }
.important-date-calendar strong { margin-top: 5px; font-size: 12px; }
.important-date-copy { min-width: 0; }
.important-date-copy h2 { margin: 5px 0; font-size: 18px; letter-spacing: 0; overflow-wrap: anywhere; }
.important-date-copy p { margin: 4px 0; }
.important-date-copy .date-range { color: #10224a; font-weight: 700; }
.public-estimate-note { margin-top: 14px; }
.date-row span small { display: block; margin-top: 3px; color: #60708d; font-weight: 400; }

@media (max-width: 760px) {
  .important-date-editor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .important-date-notes-field { grid-column: 1 / -1; }
  .important-date-filter { grid-template-columns: 1fr; }
  .important-date-card { grid-template-columns: 58px minmax(0, 1fr); align-items: start; }
  .important-date-card > .btn { grid-column: 1 / -1; width: 100%; }
  .important-date-calendar { width: 54px; min-height: 58px; }
}

@media (max-width: 600px) {
  .important-date-editor-grid { grid-template-columns: minmax(0, 1fr); }
  .important-date-notes-field { grid-column: auto; }
}

@media (max-width: 430px) {
  .important-date-editor-grid { grid-template-columns: 1fr; }
  .important-date-notes-field { grid-column: auto; }
  .important-date-editor-row { padding: 12px; }
}

.channel-overview { display: grid; gap: 18px; min-width: 0; max-width: 100%; }
.channel-overview > * { min-width: 0; max-width: 100%; }
.channel-summary-grid { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--line); background: #f8fbff; }
.channel-summary-grid > div { min-width: 0; padding: 13px 15px; border-right: 1px solid var(--line); }
.channel-summary-grid > div:last-child { border-right: 0; }
.channel-summary-grid strong, .channel-summary-grid span { display: block; }
.channel-summary-grid strong { color: #0b4fc1; font-size: 22px; line-height: 1.1; }
.channel-summary-grid span { margin-top: 5px; color: #405a84; font-size: 11px; font-weight: 700; }
.channel-overview-filters { width: 100%; min-width: 0; grid-template-columns: repeat(5, minmax(140px, 1fr)); align-items: end; }
.channel-overview-filters label, .channel-overview-filters .input { min-width: 0; max-width: 100%; }
.channel-filter-actions { display: flex; align-items: center; gap: 8px; min-height: 41px; }
.channel-overview-table td { vertical-align: top; }
.channel-overview-table td:nth-child(3) { min-width: 190px; }
.channel-overview-table td:nth-child(3) > .field-help { display: block; margin-top: 3px; }
.channel-overview-table td:nth-child(4), .channel-overview-table td:nth-child(5) { min-width: 220px; }
.channel-overview-destination { display: grid; gap: 3px; padding: 7px 8px; margin-bottom: 6px; border-left: 3px solid #2f80d8; background: #eef5ff; overflow-wrap: anywhere; }
.channel-overview-destination:last-child { margin-bottom: 0; }
.channel-overview-destination strong { font-size: 12px; }
.channel-overview-destination > span:not(.status) { color: #405a84; font-size: 11px; }
.channel-overview-destination .status { justify-self: start; margin-top: 2px; }
.channel-overview-table td[data-label="Status"] .status { display: flex; width: max-content; margin-bottom: 5px; }
.channel-overview-pager { display: flex; align-items: center; justify-content: center; gap: 12px; color: #405a84; font-size: 12px; font-weight: 700; }

/* Shared public article and Admin preview presentation */
.shared-article-view { display: flex; flex-direction: column; min-width: 0; color: var(--ink); }
.preview-stage .shared-article-view { width: min(1000px, 100%); margin: 0 auto; padding: 22px; background: #fff; box-shadow: 0 10px 26px rgba(7,24,77,.1); }
.preview-stage.mobile .shared-article-view { width: 390px; max-width: 100%; padding: 14px; }
.article-explorer { margin-bottom: 18px; padding: 16px 18px; border: 1px solid #c9d9ef; background: #f7faff; }
.article-explorer-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.article-explorer-heading h2 { margin: 2px 0 0; font-size: 18px; }
.article-explorer-actions { display: flex; align-items: center; gap: 14px; }
.article-explorer-toggle { min-height: 34px; padding: 6px 10px; border: 1px solid #b7cceb; border-radius: 5px; background: #fff; color: #0b5cd6; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.article-explorer [data-article-explorer-panel][hidden] { display: none; }
.article-eyebrow { color: #0b5cd6; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.article-filter-reset { padding: 4px 0; border: 0; background: transparent; color: #0b5cd6; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.article-filter-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 11px; }
.article-filter-grid label { min-width: 0; color: #32466c; font-size: 11px; font-weight: 800; }
.article-filter-grid .input { width: 100%; min-width: 0; margin-top: 5px; }
.article-update-selector { grid-column: span 2; }
.article-filter-empty { margin: 10px 0 0; color: #9a4f18; font-size: 12px; font-weight: 700; }
.article-filter-empty[hidden] { display: none; }
.article-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 16px; color: #58709b; font-size: 12px; font-weight: 700; }
.article-breadcrumb a { color: #174eaa; }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,300px); gap: 24px; align-items: start; }
.article-main, .article-sidebar { min-width: 0; }
.article-main { display: grid; gap: 14px; align-content: start; }
.article-heading { padding: 20px; border: 1px solid #cddcf0; border-radius: 6px; background: #fff; }
.article-heading-primary { display: flex; gap: 17px; align-items: flex-start; }
.article-source-identity { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.article-source-logo { flex: 0 0 64px; width: 64px; height: 64px; }
.article-heading-copy { min-width: 0; flex: 1; }
.article-heading h1 { margin: 10px 0 7px; font-size: 32px; line-height: 1.18; overflow-wrap: anywhere; }
.article-source-name { display: inline-block; color: #2855a0; font-size: 16px; font-weight: 800; }
.article-heading-description { max-width: 800px; margin: 10px 0 0; color: #415578; font-size: 15px; line-height: 1.55; }
.article-meta { margin-top: 10px; color: #53698f; font-size: 12px; font-weight: 800; }
.article-share { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.article-share-link { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 6px 10px; border: 1px solid #c5d6ee; border-radius: 5px; background: #fff; color: #163f7c; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.article-share-link.whatsapp { border-color: #9fdab3; color: #08733a; }
.article-share-link.telegram { border-color: #9bcfeb; color: #096389; }
.article-share-link.facebook { border-color: #b4c3eb; color: #3152a0; }
.article-share-link.x-share { color: #111; }
.article-share-link.gmail { color: #9b2d25; }
.article-section { min-width: 0; padding: 18px; border: 1px solid #d4e0f0; border-radius: 6px; background: #fff; }
.article-section h2, .article-side-section h2 { margin: 0; font-size: 18px; }
.article-section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.article-section-icon { display: grid; place-items: center; width: 27px; height: 27px; flex: 0 0 27px; border: 1px solid #bdd3f2; color: #0c5bd1; background: #eef5ff; font-size: 12px; font-weight: 900; }
.article-section-icon.document { width: 34px; flex-basis: 34px; font-size: 9px; }
.article-summary { padding: 16px 18px; border-color: #bcd9c8; background: #f1fbf5; }
.article-summary h2 { color: #12603a; font-size: 14px; }
.article-summary p { margin: 7px 0 0; color: #234f3b; line-height: 1.6; }
.article-date-list, .article-link-list, .article-update-list, .article-latest-list, .article-channel-list { display: grid; }
.article-date-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; padding: 12px 0; border-bottom: 1px solid #e1e9f5; }
.article-date-row:last-child { border-bottom: 0; }
.article-date-row strong, .article-date-row small { display: block; }
.article-date-row small { margin-top: 3px; color: #607293; }
.article-date-row time { color: #0a4fae; font-weight: 900; white-space: nowrap; }
.article-link-list a, .article-update-list a, .article-latest-list a { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid #e1e9f5; color: #174eaa; font-weight: 800; }
.article-link-list a:last-child, .article-update-list a:last-child, .article-latest-list a:last-child { border-bottom: 0; }
.article-update-list a, .article-latest-list a { display: grid; }
.article-update-list small, .article-latest-list small { color: #647596; font-size: 10px; font-weight: 700; }
.article-document-frame { width: 100%; height: min(68vh,720px); margin-bottom: 12px; border: 1px solid #c5d5eb; background: #f5f7fb; }
.article-document-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.article-document-action { margin-top: 3px; }
.article-rich-content { color: #263a5d; line-height: 1.75; overflow-wrap: anywhere; }
.article-rich-content > :first-child { margin-top: 0; }
.article-rich-content > :last-child { margin-bottom: 0; }
.article-rich-content a { text-decoration: underline; }
.article-rich-content table { width: max-content; min-width: 100%; max-width: none; border-collapse: collapse; }
.article-rich-content { max-width: 100%; overflow-x: auto; }
.article-link-list a, .article-update-list a, .article-latest-list a, .article-explore-list a { overflow-wrap: anywhere; }
.article-explore-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.article-explore-list a { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid #d7e2f2; border-radius: 5px; color: #174eaa; font-weight: 800; }
.article-explore-list small { color: #647596; font-size: 10px; }
.article-sidebar { display: grid; gap: 16px; }
.article-side-section { padding: 16px; border: 1px solid #cddcf0; background: #fff; }
.article-side-section h2 { margin-bottom: 8px; }
.article-channel-link { display: grid; padding: 11px 0; border-bottom: 1px solid #e1e9f5; }
.article-channel-link:last-child { border-bottom: 0; }
.article-channel-link span { color: #174eaa; font-weight: 900; overflow-wrap: anywhere; }
.article-channel-link small { margin-top: 2px; color: #607293; }
.article-channel-link.whatsapp span { color: #08733a; }
.article-page-blocks { display: grid; gap: 14px; }
.article-page-block { min-width: 0; border: 1px solid #cddcf0; background: #fff; }
.article-page-block img { display: block; width: 100%; height: auto; }
.article-promo-block a { display: block; padding: 14px; color: #174eaa; font-weight: 900; }
.article-html-block { padding: 14px; line-height: 1.6; }
.article-html-block h2 { margin: 0 0 8px; font-size: 16px; }
.page-block-mobile { display: none; }
.editor-source-summary { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 12px; border: 1px solid #d2def0; border-radius: 6px; background: #f7faff; }
.editor-source-summary[hidden] { display: none; }
.editor-source-summary small, .editor-source-summary strong { display: block; }
.editor-source-summary small { color: #617292; font-size: 11px; font-weight: 700; }
.editor-source-logo { width: 56px; height: 56px; flex: 0 0 56px; }
.important-date-editor-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.update-status-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.update-status-link { min-height: 38px; padding: 9px 14px; border: 1px solid #bfd0e9; border-radius: 5px; background: #fff; color: #174eaa; font-weight: 800; }
.update-status-link.active { border-color: #0b5cd6; background: #0b5cd6; color: #fff; }
.preview-modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

@media (max-width: 900px) {
  .article-filter-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .article-update-selector { grid-column: 1 / -1; }
  .article-layout { grid-template-columns: minmax(0,1fr); }
  .article-sidebar { grid-row: 2; }
  .page-block-desktop { display: none; }
  .page-block-mobile { display: block; }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .article-filter-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .article-update-selector { grid-column: span 2; }
}

@media (max-width: 520px) {
  .shared-article-view { max-width: 100%; overflow: hidden; }
  .shared-article-view .article-breadcrumb { order: 1; }
  .shared-article-view .article-explorer { order: 2; }
  .shared-article-view .article-layout { order: 3; }
  .article-explorer { padding: 13px; }
  .article-explorer-heading { align-items: center; margin-bottom: 0; }
  .article-explorer-heading h2 { display: none; }
  .article-explorer-actions { gap: 8px; }
  .article-filter-reset { display: none; }
  .article-explorer-heading h2 { font-size: 16px; }
  .article-filter-grid { grid-template-columns: minmax(0,1fr); }
  .article-update-selector { grid-column: auto; }
  .article-heading { padding: 16px; }
  .article-heading-primary { display: block; }
  .article-source-logo { flex-basis: 58px; width: 58px; height: 58px; }
  .article-source-logo .source-logo { max-width: 48px; max-height: 48px; }
  .article-heading h1 { font-size: 24px; }
  .article-source-name { font-size: 14px; }
  .article-heading-description { font-size: 14px; }
  .article-share { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-share-link { width: 100%; min-width: 0; }
  .article-section { padding: 15px; }
  .article-explore-list { grid-template-columns: minmax(0,1fr); }
  .article-date-row { grid-template-columns: minmax(0,1fr); gap: 5px; }
  .article-date-row time { white-space: normal; }
  .article-document-frame { height: 62vh; min-height: 420px; }
  .preview-stage { padding: 8px; }
  .preview-stage .shared-article-view { padding: 12px; }
  .preview-modal-footer { align-items: stretch; flex-direction: column; }
  .preview-modal-footer .btn { width: 100%; }
}

/* The modal's 390px device mode must behave like a real mobile viewport even when the browser is desktop-sized. */
.preview-stage.mobile .shared-article-view { max-width: 100%; overflow: hidden; }
.preview-stage.mobile .article-breadcrumb { order: 1; }
.preview-stage.mobile .article-explorer { order: 2; padding: 13px; }
.preview-stage.mobile .article-layout { order: 3; grid-template-columns: minmax(0,1fr); }
.preview-stage.mobile .article-sidebar { grid-row: 2; }
.preview-stage.mobile .article-filter-grid { grid-template-columns: minmax(0,1fr); }
.preview-stage.mobile .article-update-selector { grid-column: auto; }
.preview-stage.mobile .article-explorer-heading { align-items: center; margin-bottom: 0; }
.preview-stage.mobile .article-explorer-heading h2, .preview-stage.mobile .article-filter-reset { display: none; }
.preview-stage.mobile .article-heading { padding: 16px; }
.preview-stage.mobile .article-heading-primary { display: block; }
.preview-stage.mobile .article-heading h1 { font-size: 24px; }
.preview-stage.mobile .article-share { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.preview-stage.mobile .article-share-link { width: 100%; min-width: 0; }
.preview-stage.mobile .article-date-row { grid-template-columns: minmax(0,1fr); gap: 5px; }
.preview-stage.mobile .article-date-row time { white-space: normal; }
.preview-stage.mobile .article-section { padding: 15px; }
.preview-stage.mobile .article-explore-list { grid-template-columns: minmax(0,1fr); }
.preview-stage.mobile .article-document-frame { height: 62vh; min-height: 420px; }

@media (max-width: 1100px) {
  .channel-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .channel-summary-grid > div { border-bottom: 1px solid var(--line); }
  .channel-overview-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .channel-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .channel-summary-grid > div { padding: 11px; }
  .channel-summary-grid > div:nth-child(even) { border-right: 0; }
  .channel-summary-grid > div:last-child { grid-column: 1 / -1; }
  .channel-overview-filters { grid-template-columns: minmax(0, 1fr); }
  .channel-filter-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .channel-filter-actions .btn { width: 100%; min-width: 0; }
  .channel-overview-scroll { overflow: visible; }
  .channel-overview-table, .channel-overview-table tbody { display: block; width: 100%; min-width: 0; max-width: 100%; }
  .channel-overview-table thead { display: none; }
  .channel-overview-table tr { display: grid; width: 100%; min-width: 0; max-width: 100%; gap: 0; margin-bottom: 12px; border: 1px solid var(--line); background: #fff; }
  .channel-overview-table td, .channel-overview-table td:nth-child(3), .channel-overview-table td:nth-child(4), .channel-overview-table td:nth-child(5) { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 9px; min-width: 0; padding: 9px 10px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
  .channel-overview-table td:last-child { border-bottom: 0; }
  .channel-overview-table td::before { content: attr(data-label); color: #405a84; font-size: 10px; font-weight: 800; text-transform: uppercase; }
  .channel-overview-table td > .field-help, .channel-overview-table td > strong { grid-column: 2; }
  .channel-overview-table td[data-label="Status"] .status { grid-column: 2; }
  .channel-overview-table td[data-label="Action"] .btn { grid-column: 2; width: 100%; }
  .channel-overview-destination { grid-column: 2; }
  .channel-overview-pager { justify-content: space-between; gap: 7px; }
  .channel-overview-pager .btn { min-width: 0; }
}

/* Article visual fidelity correction: shared by public view and Admin preview. */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.public-body { color: #172a52; background: #f7fbff; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.5; }
.public-header { height: auto; display: block; padding: 0; border-bottom: 1px solid #dce6f6; background: #fff; position: sticky; top: 0; z-index: 20; }
.public-header-top { width: min(1100px, calc(100% - 32px)); min-height: 58px; margin: 0 auto; display: grid; grid-template-columns: 190px minmax(300px, 590px) auto; align-items: center; justify-content: space-between; gap: 24px; }
.public-brand .brand-main { font-size: 31px; line-height: .82; letter-spacing: 0; }
.public-brand .brand-sub { margin-top: 4px; font-size: 9px; }
.public-search-wrap { position: relative; display: block; font-weight: 400; }
.public-search-wrap .public-search { width: 100%; min-height: 38px; padding-left: 43px; border-color: #cad9ef; border-radius: 7px; background: #fbfdff; font-size: 12px; }
.public-search-icon { position: absolute; z-index: 1; left: 16px; top: 50%; width: 14px; height: 14px; border: 2px solid #0b347d; border-radius: 50%; transform: translateY(-58%); pointer-events: none; }
.public-search-icon::after { content: ""; position: absolute; width: 6px; height: 2px; right: -5px; bottom: -3px; background: #0b347d; transform: rotate(45deg); transform-origin: left center; }
.public-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
.public-login { display: inline-flex; align-items: center; gap: 8px; color: #06154c; font-size: 12px; font-weight: 800; }
.public-user-icon { position: relative; width: 18px; height: 18px; border: 1.8px solid #075fee; border-radius: 50%; }
.public-user-icon::after { content: ""; position: absolute; left: -4px; right: -4px; bottom: -8px; height: 9px; border: 1.8px solid #075fee; border-bottom: 0; border-radius: 12px 12px 0 0; }
.public-menu-toggle { width: 38px; height: 38px; padding: 8px; border: 0; background: transparent; cursor: pointer; }
.public-menu-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; background: #0966f2; }
.public-nav { min-height: 40px; max-width: 1100px; margin: 0 auto; padding: 0; display: flex; align-items: center; gap: 5px; border-top: 1px solid #edf2fa; }
.public-nav a { min-height: 39px; padding: 0 12px; display: inline-flex; align-items: center; gap: 7px; color: #091943; font-size: 12px; font-weight: 700; border-bottom: 2px solid transparent; }
.public-nav a:hover, .public-nav a:focus { color: #075fee; border-bottom-color: #075fee; background: #f5f9ff; }
.public-nav-icon { position: relative; display: inline-grid; place-items: center; width: 16px; height: 16px; color: #082d70; font-size: 11px; font-weight: 900; }
.public-nav-icon.home::before { content: "⌂"; font-size: 18px; line-height: 1; }
.public-nav-icon.results::before { content: "✓"; }
.public-nav-icon.notification::before { content: "!"; width: 14px; height: 14px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #0966f2; }
.public-nav-icon.timetable::before, .public-nav-icon.dates::before { content: ""; width: 14px; height: 13px; border: 2px solid currentColor; border-radius: 2px; box-shadow: inset 0 3px 0 #fff, inset 0 5px 0 currentColor; }
.public-nav-icon.hallticket::before { content: ""; width: 15px; height: 11px; border: 2px solid currentColor; border-radius: 2px; }
.public-page { max-width: 1140px; margin: 0 auto; padding: 12px 20px 34px; }

.shared-article-view { display: flex; flex-direction: column; min-width: 0; color: #172a52; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.5; }
.preview-stage .shared-article-view { width: min(1180px, 100%); margin: 0 auto; padding: 14px; background: #fff; box-shadow: 0 10px 26px rgba(7,24,77,.1); }
.preview-stage.mobile .shared-article-view { width: 390px; max-width: 100%; padding: 10px; }
.article-explorer { order: 1; min-width: 0; margin: 0 0 11px; padding: 7px 10px; display: flex; align-items: center; gap: 10px; border: 1px solid #cfe0f7; border-radius: 7px; background: #eef5ff; }
.article-explorer-heading { flex: 0 0 auto; margin: 0; display: flex; align-items: center; gap: 8px; }
.article-explorer-title { display: flex; align-items: center; gap: 7px; color: #0c2a64; font-size: 12px; white-space: nowrap; }
.article-explorer-compass { width: 16px; height: 16px; border: 1.5px solid #0b5cd6; border-radius: 50%; background: linear-gradient(135deg,transparent 44%,#0b5cd6 45%,#0b5cd6 55%,transparent 56%); }
.article-explorer-actions { display: flex; align-items: center; gap: 6px; }
.article-filter-reset { padding: 4px 6px; border: 0; background: transparent; color: #0b5cd6; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.article-explorer-toggle { display: none; min-height: 34px; padding: 6px 10px; border: 1px solid #b7cceb; border-radius: 5px; background: #fff; color: #0b5cd6; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.article-explorer-panel { flex: 1 1 auto; min-width: 0; }
.article-explorer [data-article-explorer-panel][hidden] { display: none; }
.article-filter-grid { display: grid; grid-template-columns: repeat(4,minmax(90px,1fr)) minmax(180px,1.6fr); gap: 7px; }
.article-filter-grid label { min-width: 0; }
.article-filter-label { display: none; }
.article-filter-grid .input { width: 100%; min-width: 0; min-height: 32px; margin: 0; padding: 5px 25px 5px 9px; border-color: #bfd2ef; border-radius: 5px; color: #0c2a64; background: #fff; font-size: 11px; font-weight: 700; }
.article-update-selector { grid-column: auto; }
.article-filter-empty { margin: 7px 0 0; color: #9a4f18; font-size: 11px; font-weight: 700; }
.article-filter-empty[hidden] { display: none; }
.article-breadcrumb { order: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 11px; color: #60749a; font-size: 11px; line-height: 1.35; }
.article-breadcrumb a { color: #1257bb; font-weight: 600; }
.article-layout { order: 3; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 14px; align-items: start; }
.article-main, .article-sidebar { min-width: 0; }
.article-main { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-content: start; }
.article-heading, .article-summary, .article-original, .article-details, .article-related, .article-explore-more { grid-column: 1 / -1; }
.article-main > .article-section-wide { grid-column: 1 / -1; }
.article-heading { padding: 17px; border: 1px solid #d5e2f2; border-radius: 8px; background: #fff; box-shadow: 0 1px 5px rgba(18,55,110,.06); }
.article-heading-primary { display: grid; grid-template-columns: minmax(0,1fr) 132px; gap: 20px; align-items: center; }
.article-heading-copy { min-width: 0; }
.article-heading h1 { margin: 8px 0 7px; max-width: 650px; color: #06134c; font-size: 32px; line-height: 1.12; font-weight: 700; overflow-wrap: anywhere; }
.article-heading-description { max-width: 650px; margin: 0; color: #263a5d; font-size: 14px; line-height: 1.5; }
.article-source-identity { min-width: 0; margin: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.article-source-logo { flex: 0 0 96px; width: 96px; height: 96px; border: 0; background: #fff; }
.article-source-logo .source-logo { max-width: 92px; max-height: 92px; object-fit: contain; }
.article-source-logo .source-logo-initials { width: 82px; height: 82px; border-radius: 50%; font-size: 24px; }
.article-source-name { display: block; max-width: 140px; color: #102b66; font-size: 12px; line-height: 1.25; font-weight: 800; overflow-wrap: anywhere; }
.article-meta-share { margin-top: 13px; padding-top: 11px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; border-top: 1px solid #eef2f8; }
.article-meta { margin: 0; display: inline-flex; align-items: center; gap: 7px; color: #314b74; font-size: 11px; font-weight: 700; }
.article-meta:empty { display: none; }
.article-meta-calendar { position: relative; width: 15px; height: 14px; border: 1.7px solid #0a4da9; border-radius: 2px; box-shadow: inset 0 3px 0 #fff, inset 0 5px 0 #0a4da9; }
.article-share { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0; }
.article-share-label { color: #314b74; font-size: 11px; font-weight: 700; }
.article-share-link { width: 31px; height: 31px; min-width: 31px; min-height: 31px; padding: 0; border: 0; border-radius: 50%; display: inline-grid; place-items: center; color: #fff !important; background: #6b7c9a; cursor: pointer; box-shadow: none; }
.article-share-link svg { width: 17px; height: 17px; overflow: visible; fill: currentColor; stroke: none; }
.article-share-link.x-share svg, .article-share-link.gmail svg, .article-share-link.instagram svg, .article-share-link.copy-link svg { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.article-share-link.instagram .icon-dot { fill: currentColor; stroke: none; }
.article-share-link.whatsapp { background: #10b956; }
.article-share-link.telegram { background: #1da1dd; }
.article-share-link.facebook { background: #2475dd; font-size: 17px; }
.article-share-link.x-share { background: #060606; }
.article-share-link.gmail { color: #d73f35 !important; background: #fff; border: 1px solid #d9e1ee; }
.article-share-link.instagram { background: linear-gradient(135deg,#7336ce,#e60079 58%,#f4a227); }
.article-share-link.copy-link { color: #173a75 !important; background: #e8eef7; font-size: 18px; }
.article-share-link:hover, .article-share-link:focus { outline: 2px solid #0b5cd6; outline-offset: 2px; transform: none; }
.article-section { min-width: 0; padding: 14px; border: 1px solid #d8e4f3; border-radius: 8px; background: #fff; box-shadow: 0 1px 5px rgba(18,55,110,.06); }
button.article-section-heading { width: 100%; min-height: 30px; margin: 0 0 10px; padding: 0; display: flex; align-items: center; gap: 9px; border: 0; background: transparent; color: #07184d; font: inherit; text-align: left; cursor: default; }
.article-section-heading-wrap { margin: 0; padding: 0; font: inherit; }
.public-results-summary { margin: 0 0 12px; color: var(--muted); font-size: 14px; }
.public-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px; margin: 20px 0; }
.public-pager a { min-width: 38px; min-height: 38px; padding: 8px 11px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #c7d8ef; border-radius: 6px; color: #075bdc; background: #fff; font-weight: 700; text-decoration: none; }
.public-pager a.active { color: #fff; border-color: #0966f2; background: #0966f2; }
.public-pager a:focus, .public-pager a:hover { outline: 2px solid #0b5cd6; outline-offset: 1px; }
.article-section-title, .article-section h2, .article-side-section h2 { margin: 0; color: #07184d; font-size: 17px; line-height: 1.2; font-weight: 700; }
.article-section-icon { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border: 0; border-radius: 6px; color: #fff; background: #0966f2; font-size: 13px; font-weight: 700; }
.article-section-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.article-section-icon.links { background: #0966f2; font-size: 18px; }
.article-section-icon.document, .article-section-icon.related { background: #7437e8; }
.article-section-icon.details { background: #4338e6; }
.article-section-icon.explore { background: #ff8b10; }
.article-section-icon.latest { background: #0966f2; }
.article-section-icon.source-latest { background: #0f9d73; }
.article-section-icon.follow { background: #149be0; }
.article-section-icon.document::before { content: none; }
.article-section-chevron { display: none; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid #173b7a; border-bottom: 2px solid #173b7a; transform: rotate(45deg); }
.article-heading .article-summary { margin-top: 13px; padding: 12px 13px; display: flex; align-items: flex-start; gap: 10px; border-color: #c1e5cc; background: linear-gradient(90deg,#ecfaf1,#f7fff9); box-shadow: none; }
.article-summary-check { width: 20px; height: 20px; flex: 0 0 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #15934e; font-size: 12px; font-weight: 900; }
.article-summary p { margin: 0; color: #173f2c; font-size: 13px; line-height: 1.48; }
.article-date-list { border: 1px solid #dce6f3; border-radius: 5px; overflow: hidden; }
.article-date-header, .article-date-row { display: grid; grid-template-columns: minmax(0,58fr) minmax(0,42fr); gap: 0; }
.article-date-header { background: #eaf3ff; color: #102c67; font-size: 12px; font-weight: 700; }
.article-date-header span { padding: 8px 10px; }
.article-date-row { min-height: 31px; padding: 0; border-top: 1px solid #dce6f3; border-bottom: 0; font-size: 12px; line-height: 1.35; }
.article-date-row > div, .article-date-row time { min-width: 0; padding: 8px 10px; color: #1d3158; overflow-wrap: anywhere; }
.article-date-row > div { border-right: 1px solid #dce6f3; }
.article-date-row strong, .article-date-row small { display: block; }
.article-date-row small { margin-top: 2px; color: #627596; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; word-break: normal; }
.article-date-row time { color: #1d3158; font-weight: 500; white-space: normal; }

@media (min-width: 521px) {
  .article-section-wide .article-date-header, .article-section-wide .article-date-row { grid-template-columns: minmax(0,2fr) minmax(170px,1fr); }
}
.article-link-list { display: grid; gap: 8px; }
.article-link-list a { min-width: 0; min-height: 54px; padding: 9px 10px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid #d7e6f7; border-radius: 7px; color: #0d3f94; background: #eff6ff; font-size: 12.5px; line-height: 1.4; font-weight: 700; }
.article-link-list a:nth-child(3n+2) { border-color: #f0dfe1; background: #fff5f5; }
.article-link-list a:nth-child(3n) { border-color: #d3eadf; background: #f0fbf5; }
.article-link-list a:hover, .article-link-list a:focus { border-color: #8db8ed; box-shadow: 0 2px 7px rgba(18,74,150,.1); outline: none; }
.article-link-document { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: #df3f4b; }
.article-link-document svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.article-link-title { min-width: 0; overflow-wrap: anywhere; }
.article-link-action { min-width: 92px; min-height: 32px; padding: 7px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; border-radius: 5px; color: #fff; background: #0966f2; text-align: center; font-size: 11px; font-weight: 800; }
.article-link-action svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.article-document-frame { width: 100%; height: min(70vh,650px); min-height: 500px; margin: 0 0 10px; border: 1px solid #c5d5eb; border-radius: 5px; overflow: hidden; background: #f5f7fb; }
.article-document-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.article-document-action { margin-top: 2px; }
.article-details { border-color: #d6e2f2; box-shadow: 0 2px 8px rgba(22,52,104,.07); }
.article-rich-content { max-width: 100%; color: #20365d; font-family: Arial,sans-serif; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.article-rich-content > :first-child { margin-top: 0; }
.article-rich-content > :last-child { margin-bottom: 0; }
.article-rich-content p { margin: 0 0 12px; color: inherit; line-height: inherit; }
.article-rich-content ul, .article-rich-content ol { margin: 9px 0 14px; padding-left: 25px; }
.article-rich-content li { margin: 6px 0; padding-left: 2px; }
.article-rich-content h2, .article-rich-content h3 { margin: 16px 0 9px; padding: 9px 11px; border-left: 3px solid #0966f2; border-radius: 4px; background: #f0f6ff; color: #07184d; font-size: 15px; line-height: 1.35; }
.article-rich-content a { text-decoration: underline; }
.article-rich-content table { width: max-content; min-width: 100%; max-width: none; margin: 12px 0; border-collapse: collapse; color: #20365d; font-size: 13px; line-height: 1.45; }
.article-rich-content caption { padding: 8px 10px; color: #07184d; font-weight: 700; text-align: left; }
.article-rich-content th, .article-rich-content td { min-width: 110px; padding: 8px 10px; border: 1px solid #d6e2f2; text-align: left; vertical-align: top; }
.article-rich-content th { color: #102c67; background: #eaf3ff; font-weight: 700; }
.article-update-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,245px),1fr)); gap: 9px; }
.article-update-list a { min-width: 0; min-height: 82px; padding: 9px; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; gap: 9px; align-items: center; border: 1px solid #dce6f3; border-radius: 7px; color: #0b3f9a; background: #fff; box-shadow: 0 1px 3px rgba(18,55,110,.04); }
.article-update-list a:hover, .article-update-list a:focus { border-color: #a9c6ee; background: #f8fbff; outline: none; }
.article-update-mark { position: relative; width: 58px; height: 58px; border-radius: 6px; display: grid; place-items: center; background: #e9f2ff; overflow: hidden; }
.article-update-mark::after { content: ""; width: 23px; height: 28px; border: 2px solid #3377d8; border-radius: 2px; background: #fff; box-shadow: 4px 4px 0 #aecbf1; }
.article-update-mark.notification { background: #fff0f2; }
.article-update-mark.notification::after { border-color: #ef5264; box-shadow: 4px 4px 0 #f4b6be; }
.article-update-mark.time-table { background: #eef1ff; }
.article-update-mark.time-table::after, .article-update-mark.important-dates::after { width: 28px; height: 25px; border-color: #5367db; border-radius: 4px; background: linear-gradient(#5367db 0 7px,#fff 7px); box-shadow: none; }
.article-update-mark.results { background: #eaf9f0; }
.article-update-mark.results::after { width: 25px; height: 25px; border-color: #1b9a55; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 5px #dff6e8; }
.article-update-mark.hall-tickets { background: #fff5df; }
.article-update-mark.hall-tickets::after { width: 31px; height: 20px; border-color: #e69112; border-radius: 4px; background: #fff; box-shadow: inset 8px 0 0 #ffedbf; }
.article-update-copy { min-width: 0; display: grid; gap: 2px; }
.article-update-list .article-update-copy strong { color: #103b89; font-size: 12.5px; line-height: 1.3; overflow-wrap: anywhere; }
.article-update-list .article-update-copy small { color: #6d7f9d; font-size: 11px; line-height: 1.3; }
.article-update-type { width: max-content; max-width: 100%; padding: 3px 6px; border-radius: 4px; color: #0a7a40; background: #dff8e9; font-size: 10px; line-height: 1.2; font-weight: 700; }
.article-update-type.notification { color: #b51d40; background: #ffe4eb; }
.article-update-type.time-table { color: #075985; background: #dff2ff; }
.article-update-type.hall-tickets { color: #88520a; background: #fff0cf; }
.article-update-type.important-dates { color: #5231a7; background: #eee8ff; }
.article-row-arrow { align-self: center; color: #0966f2; font-size: 18px; }
.article-explore-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.article-explore-list a { min-width: 0; min-height: 58px; padding: 9px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 8px; border: 1px solid #d9e7f8; border-radius: 7px; color: #075bdc; background: #f0f6ff; font-size: 12px; line-height: 1.35; font-weight: 700; overflow-wrap: anywhere; }
.article-explore-list a:nth-child(3n+2) { border-color: #d7eadf; background: #f1fbf5; }
.article-explore-list a:nth-child(3n) { border-color: #f2e1c6; background: #fff8eb; }
.article-explore-list a:hover, .article-explore-list a:focus { border-color: #93b9eb; color: #0647ad; box-shadow: 0 2px 7px rgba(18,74,150,.1); outline: none; }
.article-explore-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: #ff8b10; }
.article-explore-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.article-explore-title { min-width: 0; }
.article-explore-action { min-height: 30px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 4px; border: 1px solid #b9d2f3; border-radius: 5px; color: #075bdc; background: #fff; font-size: 10.5px; white-space: nowrap; }
.article-explore-action span { font-size: 17px; line-height: 1; }
.article-sidebar { display: grid; gap: 14px; }
.article-side-section { min-width: 0; padding: 14px; border: 1px solid #d8e4f3; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(18,55,110,.06); }
.article-side-heading { margin-bottom: 9px; display: flex; align-items: center; gap: 9px; }
.article-side-section h2 { min-width: 0; color: #07184d; font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.article-latest-list { display: grid; }
.article-latest-list a { min-width: 0; min-height: 74px; padding: 9px 0; display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 9px; border-bottom: 1px solid #e1e9f5; color: #174eaa; }
.article-latest-list a:last-child { border-bottom: 0; }
.article-latest-list a:hover, .article-latest-list a:focus { background: #f8fbff; outline: none; }
.article-latest-list .article-update-mark { width: 52px; height: 52px; }
.article-latest-list .article-update-mark::after { transform: scale(.86); }
.article-latest-list .article-update-copy strong { color: #103b89; font-size: 12px; line-height: 1.28; }
.article-latest-list .article-update-copy small { color: #6f819e; font-size: 10.5px; line-height: 1.3; }
.article-channel-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(118px,1fr)); gap: 9px; }
.article-channel-link { min-width: 0; padding: 12px 8px 9px; display: flex; flex-direction: column; align-items: center; gap: 7px; border: 1px solid #cde7f8; border-radius: 7px; background: #f4fbff; text-align: center; }
.article-channel-link.whatsapp { border-color: #c9ebd4; background: #f2fcf5; }
.article-channel-link:hover, .article-channel-link:focus { border-color: #8fc9ed; outline: none; box-shadow: 0 2px 7px rgba(20,126,194,.12); }
.article-channel-link.whatsapp:hover, .article-channel-link.whatsapp:focus { border-color: #8bd7a4; box-shadow: 0 2px 7px rgba(20,150,75,.11); }
.article-channel-link .article-channel-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #20a4e5; }
.article-channel-link.whatsapp .article-channel-icon { color: #fff; background: #14b95a; }
.channel-platform-icon { width: 27px; height: 27px; fill: currentColor; stroke: none; }
.channel-whatsapp-icon { display: none; }
.article-channel-link.whatsapp .channel-telegram-icon { display: none; }
.article-channel-link.whatsapp .channel-whatsapp-icon { display: block; }
.article-channel-copy { min-width: 0; display: grid; gap: 2px; justify-items: center; }
.article-channel-copy small { color: #4e668b; font-size: 11px; line-height: 1.25; }
.article-channel-copy strong { color: #0943a1; font-size: 12px; line-height: 1.3; overflow-wrap: anywhere; }
.article-channel-copy b { width: 100%; min-height: 30px; margin-top: 5px; padding: 6px 8px; border-radius: 4px; color: #075bdc; background: #ddecff; font-size: 11px; line-height: 1.5; }
.article-channel-link.whatsapp .article-channel-copy b { color: #08733a; background: #dcf9e5; }
.article-page-blocks { display: grid; gap: 12px; }
.article-page-block { min-width: 0; overflow: hidden; border: 1px solid #d5e2f2; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(18,55,110,.06); }
.article-page-block img { display: block; width: 100%; height: auto; }
.article-promo-block { border-color: #bee3e5; background: #ecfafa; }
.article-promo-block a { min-height: 72px; padding: 14px 42px 14px 14px; display: flex; align-items: center; position: relative; color: #07516b; font-size: 13px; line-height: 1.4; font-weight: 800; }
.article-promo-block a::after { content: "\203A"; position: absolute; right: 14px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #ff8b10; font-size: 21px; line-height: 1; }
.article-html-block { padding: 14px; color: #263a5d; font-size: 13px; line-height: 1.55; }
.article-html-block h2 { margin: 0 0 8px; color: #07184d; font-size: 15px; }
.page-block-mobile { display: none; }

@media (max-width: 960px) {
  .public-header-top { grid-template-columns: 170px minmax(220px,1fr) auto; gap: 14px; }
  .public-nav { padding: 0 12px; overflow-x: auto; }
  .article-filter-grid { grid-template-columns: repeat(3,minmax(110px,1fr)); }
  .article-update-selector { grid-column: span 2; }
  .article-layout { grid-template-columns: minmax(0,1fr); }
  .article-sidebar { grid-row: 2; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-page-blocks { grid-column: 1 / -1; }
  .page-block-desktop { display: none; }
  .page-block-mobile { display: block; }
}

@media (max-width: 520px) {
  .public-header { position: relative; }
  .public-header-top { position: relative; width: 100%; min-height: 58px; padding: 0 12px; grid-template-columns: minmax(0,1fr) auto auto; gap: 7px; }
  .public-brand .brand-main { font-size: 24px; }
  .public-brand .brand-sub { font-size: 7px; }
  .public-search-wrap { width: 38px; height: 38px; justify-self: end; }
  .public-search-wrap .public-search { width: 38px; height: 38px; min-height: 38px; padding: 0; color: transparent; background: #fff; cursor: pointer; }
  .public-search-wrap .public-search::placeholder { color: transparent; }
  .public-search-wrap:focus-within { position: absolute; z-index: 4; left: 10px; right: 56px; width: auto; }
  .public-search-wrap:focus-within .public-search { width: 100%; padding: 8px 12px 8px 40px; color: #07184d; cursor: text; }
  .public-search-wrap:focus-within .public-search::placeholder { color: #7b8ba7; }
  .public-search-icon { left: 12px; }
  .public-login span:last-child { display: none; }
  .public-login { width: 30px; justify-content: center; }
  .public-user-icon { width: 16px; height: 16px; }
  .public-header-actions { gap: 4px; }
  .public-menu-toggle { display: block; }
  .public-nav { display: none; max-height: calc(100vh - 58px); padding: 8px 12px 12px; flex-direction: column; align-items: stretch; gap: 2px; overflow-y: auto; border-top: 1px solid #e5edf8; }
  .public-nav.open { display: flex; }
  .public-nav a { min-height: 38px; padding: 0 8px; border-bottom: 0; border-radius: 4px; }
  .public-page { padding: 8px 10px 24px; }
  .shared-article-view { max-width: 100%; overflow: hidden; }
  .shared-article-view .article-breadcrumb { order: 1; }
  .shared-article-view .article-explorer { order: 2; }
  .shared-article-view .article-layout { order: 3; }
  .article-breadcrumb { margin-bottom: 9px; font-size: 10px; }
  .article-explorer { padding: 7px 9px; display: block; }
  .article-explorer { padding: 0; overflow: hidden; border-color: #bfd5f3; border-radius: 8px; background: #fff; }
  .article-explorer-heading { width: 100%; min-height: 48px; padding: 7px 9px; justify-content: space-between; background: #edf5ff; }
  .article-explorer-title { max-width: calc(100% - 128px); font-size: 12px; line-height: 1.3; white-space: normal; }
  .article-explorer-compass { width: 24px; height: 24px; flex: 0 0 24px; border: 0; background-color: #0966f2; background-image: linear-gradient(135deg,transparent 44%,#fff 45%,#fff 55%,transparent 56%); }
  .article-explorer-actions { margin-left: auto; }
  .article-filter-reset { display: inline-flex; align-items: center; min-height: 34px; padding: 5px; font-size: 11px; }
  .article-explorer[data-explorer-open="false"] .article-filter-reset { display: none; }
  .article-explorer-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 112px; min-height: 36px; padding: 7px 10px; border: 0; border-radius: 5px; color: #fff; background: #0966f2; }
  .article-explorer-toggle:hover, .article-explorer-toggle:focus { background: #0754c9; outline: 2px solid #9fc4f5; outline-offset: 1px; }
  .article-explorer-panel { margin: 0; padding: 10px; border-top: 1px solid #d6e4f6; background: #fff; }
  .article-filter-grid { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .article-update-selector { grid-column: auto; }
  .article-filter-label { display: block; margin: 0 0 4px; color: #173b73; font-size: 11px; line-height: 1.25; font-weight: 700; }
  .article-filter-grid .input { min-height: 42px; padding: 7px 30px 7px 10px; font-size: 12px; }
  .article-layout { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .article-main { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .article-heading, .article-summary, .article-dates, .article-links, .article-original, .article-details, .article-related, .article-explore-more { grid-column: 1; }
  .article-heading { padding: 13px; border-radius: 8px; }
  .article-heading-primary { display: flex; flex-direction: column; gap: 13px; align-items: stretch; }
  .article-heading h1 { margin: 7px 0; font-size: 25px; line-height: 1.14; font-weight: 700; }
  .article-heading-description { font-size: 13px; line-height: 1.5; }
  .article-source-identity { flex-direction: row; gap: 10px; text-align: left; }
  .article-source-logo { flex: 0 0 70px; width: 70px; height: 70px; }
  .article-source-logo .source-logo { max-width: 66px; max-height: 66px; }
  .article-source-logo .source-logo-initials { width: 64px; height: 64px; font-size: 19px; }
  .article-source-name { max-width: none; font-size: 12px; }
  .article-meta-share { gap: 11px; }
  .article-share { gap: 6px; }
  .article-share-label { flex: 0 0 100%; }
  .article-share-link { width: 31px; height: 31px; min-width: 31px; min-height: 31px; }
  .article-section { padding: 11px; }
  button.article-section-heading { min-height: 30px; margin: 0; cursor: pointer; }
  .article-section-title { font-size: 15px; font-weight: 700; }
  .article-section-chevron { display: block; }
  .article-section[data-collapsed="true"] .article-section-body { display: none; }
  .article-section[data-collapsed="true"] .article-section-chevron { transform: rotate(45deg); }
  .article-section:not([data-collapsed="true"]) .article-section-chevron { transform: rotate(225deg); }
  .article-section:not([data-collapsed="true"]) button.article-section-heading { margin-bottom: 10px; }
  .article-date-header { display: none; }
  .article-date-row { grid-template-columns: minmax(0,1fr); font-size: 13px; }
  .article-date-row > div { border-right: 0; }
  .article-date-row time { padding-top: 0; color: #075bdc; font-weight: 700; }
  .article-link-list a { grid-template-columns: 32px minmax(0,1fr); }
  .article-link-action { grid-column: 2; min-width: 88px; width: max-content; }
  .article-document-frame { height: 58vh; min-height: 360px; }
  .article-update-list { grid-template-columns: minmax(0,1fr); }
  .article-update-list a { min-height: 72px; grid-template-columns: 48px minmax(0,1fr) auto; }
  .article-update-list .article-update-mark { width: 48px; height: 48px; }
  .article-explore-list { grid-template-columns: minmax(0,1fr); }
  .article-sidebar { grid-row: 2; grid-template-columns: minmax(0,1fr); gap: 9px; }
  .article-page-blocks { grid-column: auto; }
  .preview-stage { padding: 8px; }
  .preview-stage .shared-article-view { padding: 8px; }
}

/* Desktop browser emulation for the Admin 390px preview stage. */
.preview-stage.mobile .shared-article-view { max-width: 100%; overflow: hidden; }
.preview-stage.mobile .article-breadcrumb { order: 1; margin-bottom: 9px; font-size: 10px; }
.preview-stage.mobile .article-explorer { order: 2; padding: 0; display: block; overflow: hidden; border-color: #bfd5f3; border-radius: 8px; background: #fff; }
.preview-stage.mobile .article-layout { order: 3; grid-template-columns: minmax(0,1fr); gap: 10px; }
.preview-stage.mobile .article-explorer-heading { width: 100%; min-height: 48px; padding: 7px 9px; justify-content: space-between; background: #edf5ff; }
.preview-stage.mobile .article-explorer-title { max-width: calc(100% - 128px); font-size: 12px; line-height: 1.3; white-space: normal; }
.preview-stage.mobile .article-explorer-compass { width: 24px; height: 24px; flex: 0 0 24px; border: 0; background-color: #0966f2; background-image: linear-gradient(135deg,transparent 44%,#fff 45%,#fff 55%,transparent 56%); }
.preview-stage.mobile .article-explorer-actions { margin-left: auto; }
.preview-stage.mobile .article-explorer-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 112px; min-height: 36px; padding: 7px 10px; border: 0; color: #fff; background: #0966f2; }
.preview-stage.mobile .article-filter-reset { display: inline-flex; align-items: center; min-height: 34px; padding: 5px; }
.preview-stage.mobile .article-explorer[data-explorer-open="false"] .article-filter-reset { display: none; }
.preview-stage.mobile .article-explorer-panel { margin: 0; padding: 10px; border-top: 1px solid #d6e4f6; background: #fff; }
.preview-stage.mobile .article-filter-grid { grid-template-columns: minmax(0,1fr); gap: 9px; }
.preview-stage.mobile .article-filter-label { display: block; margin: 0 0 4px; color: #173b73; font-size: 11px; line-height: 1.25; font-weight: 700; }
.preview-stage.mobile .article-filter-grid .input { min-height: 42px; padding: 7px 30px 7px 10px; font-size: 12px; }
.preview-stage.mobile .article-update-selector { grid-column: auto; }
.preview-stage.mobile .article-main { grid-template-columns: minmax(0,1fr); gap: 9px; }
.preview-stage.mobile .article-heading, .preview-stage.mobile .article-summary, .preview-stage.mobile .article-dates, .preview-stage.mobile .article-links, .preview-stage.mobile .article-original, .preview-stage.mobile .article-details, .preview-stage.mobile .article-related, .preview-stage.mobile .article-explore-more { grid-column: 1; }
.preview-stage.mobile .article-heading { padding: 13px; }
.preview-stage.mobile .article-heading-primary { display: flex; flex-direction: column; gap: 13px; align-items: stretch; }
.preview-stage.mobile .article-heading h1 { margin: 7px 0; font-size: 25px; line-height: 1.14; font-weight: 700; }
.preview-stage.mobile .article-source-identity { flex-direction: row; gap: 10px; text-align: left; }
.preview-stage.mobile .article-source-logo { flex: 0 0 70px; width: 70px; height: 70px; }
.preview-stage.mobile .article-source-logo .source-logo { max-width: 66px; max-height: 66px; }
.preview-stage.mobile .article-source-logo .source-logo-initials { width: 64px; height: 64px; font-size: 19px; }
.preview-stage.mobile .article-section-title { font-size: 15px; font-weight: 700; }
.preview-stage.mobile .article-share-label { flex: 0 0 100%; }
.preview-stage.mobile .article-section { padding: 11px; }
.preview-stage.mobile button.article-section-heading { min-height: 30px; margin: 0; cursor: pointer; }
.preview-stage.mobile .article-section-chevron { display: block; }
.preview-stage.mobile .article-section[data-collapsed="true"] .article-section-body { display: none; }
.preview-stage.mobile .article-section:not([data-collapsed="true"]) button.article-section-heading { margin-bottom: 10px; }
.preview-stage.mobile .article-date-header { display: none; }
.preview-stage.mobile .article-date-row { grid-template-columns: minmax(0,1fr); }
.preview-stage.mobile .article-date-row > div { border-right: 0; }
.preview-stage.mobile .article-update-list, .preview-stage.mobile .article-explore-list, .preview-stage.mobile .article-sidebar { grid-template-columns: minmax(0,1fr); }
.preview-stage.mobile .article-document-frame { height: 58vh; min-height: 360px; }

/* Final shared article density polish after Stage D. */
.article-explorer { margin-bottom: 9px; padding: 5px 8px; gap: 8px; }
.article-explorer-heading { gap: 6px; }
.article-explorer-title { gap: 6px; font-size: 11.5px; }
.article-explorer-compass { width: 14px; height: 14px; }
.article-filter-grid { gap: 6px; }
.article-filter-grid .input { min-height: 30px; padding-top: 4px; padding-bottom: 4px; }
.article-heading { padding: 15px; }
.article-heading-primary { grid-template-columns: minmax(0,1fr) 112px; gap: 14px; }
.article-heading h1 { margin: 6px 0 5px; font-size: 30px; }
.article-source-identity { gap: 4px; }
.article-source-logo { flex-basis: 84px; width: 84px; height: 84px; }
.article-source-logo .source-logo { max-width: 80px; max-height: 80px; }
.article-source-logo .source-logo-initials { width: 74px; height: 74px; font-size: 22px; }
.article-meta-share { margin-top: 10px; padding-top: 9px; gap: 13px; }
.article-latest-list a { min-height: 68px; padding: 8px 0; grid-template-columns: 46px minmax(0,1fr) auto; gap: 10px; }
.article-latest-list .article-update-mark { width: 46px; height: 46px; }
.article-latest-list .article-update-copy strong { font-size: 12.5px; line-height: 1.32; }
.article-latest-list .article-update-copy small { margin-top: 1px; font-size: 11px; line-height: 1.3; }

@media (max-width: 520px) {
  .article-explorer { margin-bottom: 8px; padding: 0; }
  .article-explorer-heading { height: 40px; min-height: 40px; padding: 4px 7px; box-sizing: border-box; }
  .article-explorer-title { max-width: calc(100% - 108px); gap: 5px; font-size: 11px; line-height: 1.25; }
  .article-explorer-compass { width: 18px; height: 18px; flex-basis: 18px; }
  .article-explorer-toggle { min-width: 96px; min-height: 30px; padding: 5px 8px; box-sizing: border-box; font-size: 11px; }
  .article-filter-reset { min-height: 30px; padding: 4px; }
  .article-explorer-panel { padding: 8px; }
  .article-filter-grid { gap: 8px; }
  .article-filter-grid .input { min-height: 42px; }
  .article-heading { padding: 10px; }
  .article-heading-primary { gap: 8px; }
  .article-heading h1 { margin: 5px 0 3px; font-size: 23px; line-height: 1.16; }
  .article-source-identity { gap: 8px; }
  .article-source-logo { flex-basis: 58px; width: 58px; height: 58px; }
  .article-source-logo .source-logo { max-width: 54px; max-height: 54px; }
  .article-source-logo .source-logo-initials { width: 52px; height: 52px; font-size: 17px; }
  .article-source-name { font-size: 12px; line-height: 1.25; }
  .article-meta-share { margin-top: 8px; padding-top: 8px; gap: 7px; }
  .article-meta { min-height: 24px; }
  .article-share { width: 100%; flex-wrap: nowrap; gap: 5px; }
  .article-share-label { flex: 0 0 auto; }
  .article-share-link { width: 30px; height: 30px; min-width: 30px; min-height: 30px; }
  .article-heading .article-summary { margin-top: 9px; padding: 10px; gap: 8px; }
  .article-summary p { font-size: 13px; line-height: 1.45; }
  .article-side-section { padding: 11px; }
  .article-side-heading { margin-bottom: 7px; gap: 8px; }
  .article-side-section h2 { font-size: 15px; }
  .article-channel-list { gap: 7px; }
  .article-channel-link { min-height: 66px; padding: 8px 9px; flex-direction: row; gap: 9px; text-align: left; }
  .article-channel-link .article-channel-icon { width: 40px; height: 40px; flex: 0 0 40px; }
  .channel-platform-icon { width: 23px; height: 23px; }
  .article-channel-copy { width: 100%; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto; column-gap: 8px; justify-items: start; align-items: center; }
  .article-channel-copy small { grid-column: 1; grid-row: 1; font-size: 10.5px; }
  .article-channel-copy strong { grid-column: 1; grid-row: 2; font-size: 12px; }
  .article-channel-copy b { grid-column: 2; grid-row: 1 / 3; width: auto; min-width: 74px; min-height: 34px; margin: 0; padding: 7px 9px; display: grid; place-items: center; line-height: 1.3; }
  .article-latest-list a { min-height: 62px; padding: 7px 0; grid-template-columns: 42px minmax(0,1fr) auto; gap: 9px; }
  .article-latest-list .article-update-mark { width: 42px; height: 42px; }
  .article-latest-list .article-update-mark::after { transform: scale(.72); }
  .article-latest-list .article-update-copy strong { font-size: 12.5px; line-height: 1.28; }
  .article-latest-list .article-update-copy small { font-size: 11px; }
}

/* Match the real 390px layout inside the desktop Admin preview shell. */
.preview-stage.mobile .article-explorer { margin-bottom: 8px; padding: 0; }
.preview-stage.mobile .article-explorer-heading { height: 40px; min-height: 40px; padding: 4px 7px; box-sizing: border-box; }
.preview-stage.mobile .article-explorer-title { max-width: calc(100% - 108px); gap: 5px; font-size: 11px; line-height: 1.25; }
.preview-stage.mobile .article-explorer-compass { width: 18px; height: 18px; flex-basis: 18px; }
.preview-stage.mobile .article-explorer-toggle { min-width: 96px; min-height: 30px; padding: 5px 8px; box-sizing: border-box; font-size: 11px; }
.preview-stage.mobile .article-filter-reset { min-height: 30px; padding: 4px; }
.preview-stage.mobile .article-explorer-panel { padding: 8px; }
.preview-stage.mobile .article-filter-grid { gap: 8px; }
.preview-stage.mobile .article-heading { padding: 10px; }
.preview-stage.mobile .article-heading-primary { gap: 8px; }
.preview-stage.mobile .article-heading h1 { margin: 5px 0 3px; font-size: 23px; line-height: 1.16; }
.preview-stage.mobile .article-source-identity { gap: 8px; }
.preview-stage.mobile .article-source-logo { flex-basis: 58px; width: 58px; height: 58px; }
.preview-stage.mobile .article-source-logo .source-logo { max-width: 54px; max-height: 54px; }
.preview-stage.mobile .article-source-logo .source-logo-initials { width: 52px; height: 52px; font-size: 17px; }
.preview-stage.mobile .article-meta-share { margin-top: 8px; padding-top: 8px; gap: 7px; }
.preview-stage.mobile .article-meta { min-height: 24px; }
.preview-stage.mobile .article-share { width: 100%; flex-wrap: nowrap; gap: 5px; }
.preview-stage.mobile .article-share-label { flex: 0 0 auto; }
.preview-stage.mobile .article-share-link { width: 30px; height: 30px; min-width: 30px; min-height: 30px; }
.preview-stage.mobile .article-heading .article-summary { margin-top: 9px; padding: 10px; gap: 8px; }
.preview-stage.mobile .article-side-section { padding: 11px; }
.preview-stage.mobile .article-side-heading { margin-bottom: 7px; gap: 8px; }
.preview-stage.mobile .article-side-section h2 { font-size: 15px; }
.preview-stage.mobile .article-channel-link { min-height: 66px; padding: 8px 9px; flex-direction: row; gap: 9px; text-align: left; }
.preview-stage.mobile .article-channel-link .article-channel-icon { width: 40px; height: 40px; flex: 0 0 40px; }
.preview-stage.mobile .article-channel-copy { width: 100%; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto; column-gap: 8px; justify-items: start; align-items: center; }
.preview-stage.mobile .article-channel-copy small { grid-column: 1; grid-row: 1; font-size: 10.5px; }
.preview-stage.mobile .article-channel-copy strong { grid-column: 1; grid-row: 2; font-size: 12px; }
.preview-stage.mobile .article-channel-copy b { grid-column: 2; grid-row: 1 / 3; width: auto; min-width: 74px; min-height: 34px; margin: 0; padding: 7px 9px; display: grid; place-items: center; line-height: 1.3; }
.preview-stage.mobile .article-latest-list a { min-height: 62px; padding: 7px 0; grid-template-columns: 42px minmax(0,1fr) auto; gap: 9px; }
.preview-stage.mobile .article-latest-list .article-update-mark { width: 42px; height: 42px; }
.preview-stage.mobile .article-latest-list .article-update-mark::after { transform: scale(.72); }
/* Admin users and permissions */
.admin-users-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.admin-user-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:12px;align-items:end;margin-bottom:18px}
.admin-users-table td:first-child strong,.admin-users-table td:first-child small{display:block}
.admin-users-table td:first-child small{margin-top:4px;color:#64748b}
.admin-user-editor,.admin-security-audit{margin-top:20px}
.password-input{position:relative;display:block}
.password-input .input{padding-right:66px;width:100%}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#155eef;font:inherit;font-weight:700;cursor:pointer;padding:7px}
.permission-fieldset{border:1px solid #d9e3f4;border-radius:8px;padding:16px;margin:18px 0}
.permission-fieldset legend{font-weight:700;color:#0b1e51;padding:0 7px}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;list-style:none;margin:0;padding:0}
.permission-grid li{min-width:0}
.permission-grid label{display:flex;align-items:flex-start;gap:8px;font-weight:600;color:#263b66;line-height:1.4}
.permission-grid input{margin-top:3px}
.access-denied-panel{max-width:680px;margin:70px auto;text-align:center;padding:36px}
.access-denied-panel .btn{margin-top:12px}
@media(max-width:700px){
  .admin-users-heading{display:block}.admin-users-heading .btn{margin-top:14px;width:100%}
  .admin-user-toolbar{grid-template-columns:1fr}.admin-user-toolbar .btn{width:100%}
  .permission-grid{grid-template-columns:1fr}
  .admin-user-editor{padding:16px}.admin-security-audit{padding:14px}
}
