/* ============================================================
   Admin header/menu — styled to match the public home-page menu
   Lower admin row buttons:
   Article Editor, AI Writer, Daily Topics, Social Pack,
   Submissions, Campaigns, New Campaign, Subscribers, Users
============================================================ */

#adminHeaderMount {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 6000;
}

.adminPageContent,
.adminPage,
.daily-topics-page {
  padding-top: 116px;
}

.adminTopbarWrap {
  position: relative;
  z-index: 6000;
  background: #ffffff;
  border-bottom: 1px solid rgba(15, 35, 67, 0.10);
  box-shadow: 0 8px 22px rgba(15, 35, 67, 0.08);
}

.adminTopbar {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 18px;
  background: #ffffff;
  color: #0f2343;
}

.adminTopbar::before,
.adminTopbar::after,
.adminTopbarWrap::before,
.adminTopbarWrap::after {
  pointer-events: none !important;
}

.adminTopbar > * {
  position: relative;
  z-index: 1;
}

.adminBrand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  min-width: 0;
  white-space: nowrap;
}

.adminBrandLogo {
  height: 34px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  display: block;
}

.adminBrandText {
  font-weight: 900;
  letter-spacing: 0.2px;
  color: #0f2343;
}

.adminTopbarNav,
.adminDesktopNav,
.adminActions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.adminTopbarNav a,
.adminTopbarNav button,
.adminTopbar .ghost,
.adminMobileAuth .ghost,
.adminUser,
.adminSignOutBtn {
  min-height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(15, 35, 67, 0.14);
  background: #ffffff;
  color: #0f2343;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.adminTopbarNav a:hover,
.adminTopbarNav button:hover,
.adminTopbar .ghost:hover,
.adminMobileAuth .ghost:hover,
.adminUser:hover,
.adminSignOutBtn:hover,
.adminTopbarNav a:focus-visible,
.adminTopbarNav button:focus-visible,
.adminTopbar .ghost:focus-visible,
.adminMobileAuth .ghost:focus-visible,
.adminUser:focus-visible,
.adminSignOutBtn:focus-visible {
  background: rgba(15, 35, 67, 0.06);
  outline: none;
}

.adminUser,
.adminUserMobile {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.adminUser[hidden],
.adminUserMobile[hidden],
.adminSignOutBtn[hidden],
.adminTopbar .ghost[hidden],
.adminMobileAuth .ghost[hidden] {
  display: none !important;
}

.adminBadgeInline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #d4af37;
  color: #111111;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.adminMenuToggle {
  display: none;
  margin-left: auto;
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 35, 67, 0.14);
  background: #ffffff;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  position: relative;
  z-index: 6005;
  pointer-events: auto !important;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.adminMenuToggle:hover,
.adminMenuToggle:focus-visible {
  background: rgba(15, 35, 67, 0.06);
  outline: none;
  transform: translateY(-1px);
}

.adminMenuToggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #0f2343;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.adminMenuToggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.adminMenuToggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.adminMenuToggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.adminCategoryMenu {
  background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
  border-top: 1px solid rgba(15, 35, 67, 0.08);
}

.adminCategoryMenuInner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 8px 14px 10px;
}

.adminCategoryMenuChips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.adminCategoryChip,
.adminNavBtn,
.adminMobileNavBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(15, 35, 67, 0.12);
  background: #ffffff;
  color: #0f2343;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(15, 35, 67, 0.05);
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.adminCategoryChip:hover,
.adminCategoryChip:focus-visible,
.adminNavBtn:hover,
.adminNavBtn:focus-visible,
.adminMobileNavBtn:hover,
.adminMobileNavBtn:focus-visible {
  outline: none;
  background: #f8fbff;
  border-color: rgba(212, 170, 76, 0.55);
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(15, 35, 67, 0.08);
}

.adminCategoryChip.active,
.adminCategoryChip.isActive,
.adminCategoryChip[data-active="true"],
.adminCategoryChip[aria-current="page"],
.adminNavBtn.active,
.adminNavBtn.isActive,
.adminNavBtn[data-active="true"],
.adminNavBtn[aria-current="page"],
.adminMobileNavBtn.active,
.adminMobileNavBtn.isActive,
.adminMobileNavBtn[data-active="true"],
.adminMobileNavBtn[aria-current="page"] {
  border-color: #d4aa4c !important;
  background: #fff7df !important;
  color: #0f2343 !important;
  box-shadow: inset 0 0 0 1px rgba(212, 170, 76, 0.22), 0 3px 8px rgba(15, 35, 67, 0.08) !important;
}

/* Compatibility for older admin-header.html versions that still use .adminNav */
.adminNav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-left: 8px;
}

.adminMobileMenu {
  position: absolute;
  top: 58px;
  left: 10px;
  right: 10px;
  display: block;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(15, 35, 67, 0.12);
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(15, 35, 67, 0.18);
  z-index: 6002;
  pointer-events: auto;
}

.adminMobileMenu[hidden] {
  display: none !important;
}

.adminMobileMenuInner,
.adminMobileNav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.adminMobileNavBtn {
  min-height: 42px;
  justify-content: flex-start;
  padding: 0 14px;
  border-radius: 12px;
}

.adminMobileAuth,
.adminMobileMeta {
  display: grid;
  gap: 8px;
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(15, 35, 67, 0.10);
}

.adminUser--mobile,
.adminSignOutBtn--mobile,
.adminUserMobile,
.adminMobileAuth .ghost {
  width: 100%;
  justify-content: center;
}

.adminTopbar.isMenuOpen .adminMobileMenu:not([hidden]),
.adminTopbar.isMenuOpen + .adminMobileMenu:not([hidden]),
.adminTopbarWrap.isMenuOpen .adminMobileMenu:not([hidden]) {
  display: block;
}

@media (max-width: 1100px) {
  .adminCategoryMenuChips {
    justify-content: flex-start;
    flex-wrap: nowrap;
    width: max-content;
    min-width: 100%;
  }

  .adminCategoryMenuInner {
    overflow-x: auto;
    scrollbar-width: thin;
  }
}

@media (max-width: 900px) {
  .adminPageContent,
  .adminPage,
  .daily-topics-page {
    padding-top: 106px;
  }

  .adminTopbar {
    min-height: 56px;
    padding: 8px 12px;
  }

  .adminBrandText {
    display: none;
  }

  .adminBrandLogo {
    max-width: 148px;
    height: 30px;
  }

  .adminDesktopNav,
  .adminNav,
  .adminActions {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .adminMenuToggle {
    display: inline-flex !important;
  }

  .adminCategoryMenuInner {
    padding: 7px 10px 9px;
  }
}

@media (max-width: 520px) {
  .adminPageContent,
  .adminPage,
  .daily-topics-page {
    padding-top: 104px;
  }

  .adminCategoryChip {
    font-size: 11px;
    padding: 0 10px;
  }
}

.field{display:block; margin:0 0 12px 0;}
.field > span{display:block; font-size:12px; font-weight:900; letter-spacing:0.25px; margin:0 0 6px 2px; color:#111;}
.cmsShell .field input, .cmsShell .field textarea, .cmsShell .field select, .cmsShell textarea.cmsCopyBlock{width:100%; box-sizing:border-box; border-radius:12px; padding:10px 12px; background: linear-gradient(180deg, #eef6ff 0%, #e3f0ff 100%); border: 1px solid #c9defc; color:#111; transition: border-color 0.15s ease, box-shadow 0.15s ease;}
.cmsShell .field textarea{resize:vertical; min-height:72px;}
.cmsShell .field input::placeholder, .cmsShell .field textarea::placeholder{color: rgba(0,0,0,0.45);}
.cmsShell .field input:focus, .cmsShell .field textarea:focus, .cmsShell .field select:focus, .cmsShell textarea.cmsCopyBlock:focus{outline:none; border-color:#7fb3ff; box-shadow:0 0 0 2px rgba(127,179,255,0.25);}
.cmsShell .field.cmsCheck{display:flex; align-items:center; gap:10px; padding-top:22px;}
.cmsShell .field.cmsCheck input[type="checkbox"]{width:16px; height:16px;}
.cmsShell{position: relative; z-index: 1; max-width:1240px; margin:0 auto; padding:18px 16px 56px;}
.cmsTopbar{position: relative; z-index: 1; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px;}
.cmsGrid{position: relative; z-index: 1; display:grid; grid-template-columns: 360px minmax(520px, 1fr) 320px; gap:16px; align-items:start;}
.cmsComposer{grid-column:1;}
.cmsPreview{grid-column:2;}
.cmsTip{grid-column:3;}
.cmsPane{background:#fff; border:1px solid var(--border); border-radius:16px; overflow:hidden;}
.cmsPaneHead{display:flex; align-items:center; justify-content:center; padding:14px 16px; background:#1b7a69; color:#ffffff; border-bottom:1px solid rgba(255,255,255,0.15);}
.cmsPaneHead h2{margin:0; color:#ffffff; font-weight:700; text-align:center;}
.cmsPaneHeadWithCopy{justify-content:space-between; gap:12px;}
.cmsPaneHeadWithCopy h2{flex:1; text-align:center; pointer-events:none;}
.cmsHeadCopyBtn{appearance:none; border:0; background:transparent; color:#ffffff; font-weight:900; cursor:pointer; padding:6px 10px; border-radius:10px; line-height:1.1; transition: background 0.15s ease, transform 0.05s ease, opacity 0.15s ease;}
.cmsHeadCopyBtn:hover{background: rgba(255,255,255,0.14);}
.cmsHeadCopyBtn:active{transform: translateY(1px);}
.cmsHeadCopyBtn:disabled{opacity:0.45; cursor:not-allowed; background:transparent;}
.cmsComposer .cmsForm{padding:14px 16px 18px;}
.cmsPreview{overflow:auto;}
.cmsTipBody{display:flex; flex-direction:column; min-height:420px; padding:14px 16px; background:#fff;}
.cmsTipFooter{margin-top:auto; text-align:center; padding:16px 0 10px;}
.articlePreview{background:#fff;}
.articlePreview .articleHero{width: calc(100% - 32px); aspect-ratio: 16 / 9; background-size:cover; background-position:center; border-radius:12px; margin:16px; border:1px solid var(--border);}
.articlePreview .container.article{margin:0; padding:0 16px 24px;}
.cmsCopySection{margin:0 16px 16px; padding-top:12px; border-top:1px solid var(--border);}
.cmsCopyRow{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px;}
.cmsCopyBtn{appearance:none; border:0; background:transparent; color:#1b7a69; font-weight:900; cursor:pointer; padding:2px 6px; border-radius:8px; line-height:1.2;}
.cmsCopyBtn:hover{background: rgba(27,122,105,0.10);}
.cmsCopyBtn:active{transform: translateY(1px);}
.cmsCopyBtn:disabled{opacity:0.45; cursor:not-allowed; background:transparent;}
.cmsCopyLabel{font-weight:900; margin-bottom:8px; color:#111;}
.cmsCopyBlock{width:100%; min-height:96px; resize:vertical; padding:10px 12px; border-radius:12px; border:1px solid #c9defc; background: linear-gradient(180deg, #eef6ff 0%, #e3f0ff 100%); color:#111; box-sizing:border-box; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace; line-height:1.35;}
.cmsPrimaryBtns{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end;}
.saveBottomWrap{margin-top:14px; margin-bottom:28px; display:flex; flex-direction:column; align-items:center; gap:10px;}
#saveBtnBottom.primaryBtn{width:auto; min-width:220px; padding:10px 18px; border-radius:12px;}
#adminMsgBottom{text-align:center;}
.cmsCoverThumb{width:100%; aspect-ratio:16 / 9; object-fit:cover; border-radius:12px; border:1px solid var(--border); margin-top:10px; display:block;}
.publishedArticles{display:grid; gap:12px; margin-top:8px;}
.articleListCard{display:block; padding:14px 14px 13px; border:1px solid var(--border); border-radius:14px; background:#fff; color:#111; text-decoration:none; transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease, background 0.16s ease;}
.articleListCard:hover, .articleListCard:focus-visible{background:#f8fbff; border-color:#c9defc; box-shadow:0 8px 24px rgba(12, 33, 68, 0.08); transform:translateY(-1px); outline:none;}
.articleListCard-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.articleListCard-title{flex:1 1 auto; min-width:0; font-size:17px; line-height:1.28; font-weight:900; color:#111;}
.articleStatusBadge{flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-width:84px; padding:6px 10px; border-radius:999px; font-size:11px; line-height:1; font-weight:900; letter-spacing:0.2px; white-space:nowrap; border:1px solid rgba(0,0,0,0.08);}
.articleStatusBadge--published{background:rgba(30, 166, 114, 0.12); color:#116b49; border-color:rgba(17, 107, 73, 0.14);}
.articleStatusBadge--draft{background:#eef3f8; color:#516172; border-color:rgba(81, 97, 114, 0.12);}
.articleListCard-meta{margin-top:8px; font-size:12px; line-height:1.35; font-weight:700; color:rgba(0,0,0,0.52); letter-spacing:0.15px;}
.articleListCard-excerpt{margin-top:9px; font-size:14px; line-height:1.48; color:#334155;}
.editModeBadge{margin-top:12px; padding:10px; border:1px solid var(--border); border-radius:10px; background:#fff; color:#111;}
#publishedPager{margin-top:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;}
#publishedPager .pagerLeft, #publishedPager .pagerRight{display:flex; align-items:center; gap:10px;}
#publishedPageLabel{font-weight:900;}
#publishedRangeLabel{font-size:12px; color: var(--muted);}
.nlInlineWrap{margin: 12px 0 14px; border: 1px solid var(--border); border-radius: 14px; background: #fff; overflow:hidden;}
.nlInlineHead{padding: 10px 12px; border-bottom: 1px solid var(--border); background: #f7fbff;}
.nlInlineHeadRow{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.nlInlineTitle{font-weight:900; font-size:12px; letter-spacing:0.3px; text-transform:uppercase; color: rgba(0,0,0,0.65);}
.nlInlinePreview{padding: 10px 12px; max-height: 420px; overflow: auto;}
#newsletterPanel{scroll-margin-top: 12px;}
@media (max-width: 900px){body.cmsShowPublished .cmsTipBody{min-height:auto; padding-bottom:22px;}}
#nlDashboardPanel .panelHead{display:flex; align-items:center; justify-content:space-between; gap:12px;}
#nlDashboardPanel .panelActions{display:flex; gap:8px; align-items:center;}
.tableWrap{overflow:auto; border-radius:14px; border:1px solid var(--border); background:#fff;}
.gpTable{width:100%; border-collapse:separate; border-spacing:0; min-width:720px;}
.gpTable th, .gpTable td{text-align:left; padding:10px 12px; border-bottom:1px solid rgba(0,0,0,0.08); vertical-align:middle;}
.gpTable thead th{font-size:12px; letter-spacing:0.4px; text-transform:uppercase; color: rgba(0,0,0,0.65); background:#f4f7fb; position:sticky; top:0; z-index:1;}
.gpTable tbody tr{cursor:pointer;}
.gpTable tbody tr:hover{background:#f7faff;}
.badge{display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:900; border:1px solid rgba(0,0,0,0.10); background:#fff;}
.badge.draft{color:#111;}
.badge.queued{color:#0b57d0;}
.badge.sending{color:#8a6a00;}
.badge.completed{color:#0a7a2e;}
.badge.failed{color:#a93226;}
.progressPill{display:inline-flex; align-items:center; gap:8px; padding:4px 10px; border-radius:999px; border:1px solid rgba(0,0,0,0.10); background:#fff; font-size:12px; font-weight:900;}
.progressBar{width:70px; height:6px; border-radius:999px; background:rgba(0,0,0,0.10); overflow:hidden;}
.progressBar > i{display:block; height:100%; width:0%; background:linear-gradient(90deg,#d4af37,#f3e29a,#d4af37);}
.nlDetails{margin-top:14px; padding:14px; border-radius:16px; border:1px solid var(--border); background:#fff;}
.nlDetailsHead{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.nlDetailsTitle{font-size:16px; font-weight:900;}
.nlDetailsActions{display:flex; gap:8px;}
.nlStatsGrid{display:grid; grid-template-columns:repeat(5, minmax(120px, 1fr)); gap:10px; margin-top:12px;}
.nlStatCard{padding:10px; border-radius:14px; border:1px solid rgba(0,0,0,0.10); background:#fff;}
.nlStatLabel{font-size:12px; color: rgba(0,0,0,0.62); font-weight:900; letter-spacing:0.3px; text-transform:uppercase;}
.nlStatValue{margin-top:6px; font-size:18px; font-weight:900;}
@media (max-width: 1100px){.cmsGrid{grid-template-columns:1fr;}
.cmsTipBody{min-height:180px;}}
@media (max-width: 900px){.nlStatsGrid{grid-template-columns:repeat(2, minmax(120px, 1fr));}}
.modal{position:fixed; inset:0; background:rgba(0,0,0,0.45); display:flex; align-items:center; justify-content:center; padding:18px; z-index:9999;}
.modalCard{width:min(520px, 100%); border-radius:16px; background:#fff; border:1px solid var(--border); overflow:hidden;}
.modalHead{display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--border); background:#f7fbff;}
.modalBody{padding:12px 14px 14px;}
.cmsSection{background: var(--panel); border:1px solid var(--border); border-radius:14px; margin:12px 0; overflow:hidden;}
.cmsSection > summary{list-style:none; cursor:pointer; padding:12px 14px; font-weight:900; display:flex; align-items:center; justify-content:space-between; user-select:none;}
.cmsSection > summary::-webkit-details-marker{display:none;}
.cmsSection > summary::after{content:"▾"; opacity:.7; font-weight:900;}
.cmsSection[open] > summary::after{content:"▴";}
.cmsSection > *:not(summary){padding:12px 14px 14px;}
.cmsMobileBar{display:none; position:sticky; top:0; z-index:40; padding:10px 10px; background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,0)); backdrop-filter: blur(8px);}
.cmsMobileBar .ghost{border:1px solid var(--border); border-radius:999px; padding:10px 12px; font-weight:900; background:#fff;}
#toggleNewsletterBtn.ghost{border-color: rgba(27,122,105,0.35);}
.cmsActionBar{position:sticky; bottom:0; z-index:50; display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:flex-end; padding:10px; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-top:1px solid var(--border);}
.cmsActionBar button{white-space:nowrap;}
@media (max-width: 900px){.cmsMobileBar{display:flex; gap:10px; flex-wrap:wrap;}
.articleListCard{padding:12px 12px 11px;}
.articleListCard-title{font-size:16px;}
.articleStatusBadge{min-width:74px; padding:5px 8px; font-size:10px;}
.cmsGrid{display:block;}
.cmsComposer, .cmsPreview, .cmsTip{grid-column:auto; margin-bottom:14px;}
.cmsComposer{padding-bottom:110px;}
.cmsPreview{display:none; margin-top:12px;}
body.cmsShowPreview .cmsPreview{display:block;}
.cmsTip{position:fixed; inset:0 0 0 14%; transform: translateX(110%); transition: transform .22s ease; z-index:60; background: var(--panel); border-left:1px solid var(--border); padding:12px; overflow:auto;}
body.cmsShowPublished::before{content:""; position:fixed; inset:0; background: rgba(0,0,0,.35); z-index:59;}
body.cmsShowPublished .cmsTip{transform: translateX(0);}
.cmsTip .cmsPaneHead{position:sticky; top:0; z-index:1;}
.cmsTipBody{min-height:auto; padding-bottom:22px;}
.cmsTipFooter{padding-bottom:18px;}
.cmsActionBar{position:fixed; left:0; right:0; bottom:0;}
.cmsActionBar .chip, .cmsActionBar .primaryBtn{padding:10px 12px;}
.tox-tinymce{min-height:320px;}}
@media (max-width: 640px){.adminNav, .adminActions{display: none !important;}
.adminMenuToggle{display: inline-flex;}
.adminMobileMenu{width: 100%;}
.adminMobileMenu[hidden]{display: none !important;}
.adminTopbar.isMenuOpen .adminMobileMenu:not([hidden]), .adminTopbar.isMenuOpen + .adminMobileMenu:not([hidden]), .adminTopbarWrap.isMenuOpen .adminMobileMenu:not([hidden]){display: block;}}
.adminUser{display: inline-flex; align-items: center; gap: 10px; white-space: nowrap;}
.adminUser[hidden]{display: none !important;}
.adminBadgeInline{display: inline-flex; align-items: center; justify-content: center; padding: 4px 10px; border-radius: 999px; background: #d4af37; color: #111111; font-size: 12px; font-weight: 900; line-height: 1; white-space: nowrap;}

/* ============================================================
   Admin article list cards: thumbnail, smaller title, Edit/Delete
   Applies to admin.html right-column article list only.
============================================================ */
.articleListCard.articleListCardWithThumb {
  display: block;
  cursor: default;
  padding: 14px;
}

.articleListCard.articleListCardWithThumb:hover,
.articleListCard.articleListCardWithThumb:focus-visible {
  text-decoration: none;
}

.articleListCardWithThumb .articleListCard-top {
  display: block;
  gap: 0;
  overflow: hidden;
}

.articleListCardWithThumb .articleListCard-title {
  display: block;
  min-width: 0;
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 14px !important;
  line-height: 1.30 !important;
  font-weight: 900 !important;
  overflow-wrap: anywhere;
}

.articleListCardWithThumb .articleListCardSide {
  float: right;
  width: 142px;
  margin: 0 0 10px 14px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.articleListCardWithThumb .articleStatusBadge {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.articleListCardThumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.32);
  background:
    linear-gradient(135deg, rgba(24, 73, 135, 0.16), rgba(31, 127, 111, 0.16)),
    #f4f7fb;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.articleListCardThumbPlaceholder {
  display: grid;
  place-items: center;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


@media (max-width: 900px) {
  .articleListCardWithThumb .articleListCard-title {
    font-size: 13px !important;
    line-height: 1.28 !important;
  }

  .articleListCardWithThumb .articleListCardSide {
    width: 128px;
    margin-left: 12px;
  }
}

.articleListCardWithThumb .articleListCard-meta,
.articleListCardWithThumb .articleListCard-excerpt {
  clear: none;
}

.articleListCardActions {
  clear: both;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.articleListActionBtn {
  appearance: none;
  min-height: 40px;
  border: 1px solid rgba(37, 99, 235, 0.22);
  border-radius: 12px;
  padding: 8px 10px;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.15;
  cursor: pointer;
  background: rgba(239, 246, 255, 0.98);
  color: #1d4ed8;
}

.articleListActionBtn:hover,
.articleListActionBtn:focus {
  outline: none;
  background: #dbeafe;
}

.articleListDeleteBtn {
  border-color: rgba(220, 38, 38, 0.25);
  background: rgba(254, 242, 242, 0.98);
  color: #b91c1c;
}

.articleListDeleteBtn:hover,
.articleListDeleteBtn:focus {
  background: #fee2e2;
}

@media (max-width: 560px) {
  .articleListCardWithThumb .articleListCard-title {
    font-size: 14px !important;
  }

  .articleListCardWithThumb .articleListCardSide {
    width: 118px;
    margin-left: 12px;
  }
}

/* Edit-only admin slug row */
.slugCopyRow{display:flex; gap:8px; align-items:stretch;}
.slugCopyRow input[readonly]{cursor:text; background:linear-gradient(180deg, #f8fbff 0%, #edf5ff 100%); color:#334155;}
.slugCopyBtn{appearance:none; border:1px solid rgba(37,99,235,0.22); border-radius:12px; padding:0 12px; min-width:72px; font:inherit; font-size:13px; font-weight:900; cursor:pointer; background:rgba(239,246,255,0.98); color:#1d4ed8;}
.slugCopyBtn:hover,.slugCopyBtn:focus{outline:none; background:#dbeafe;}
.articleListCard.isActive{border-color:#1b7a69; box-shadow:0 0 0 2px rgba(27,122,105,0.14), 0 8px 24px rgba(12,33,68,0.08);}
.articleListCard-introLine{grid-column:1 / -1; margin:0 0 2px; padding:10px 12px; border-radius:12px; background:#f8fafc; color:#334155; font-size:13px; line-height:1.42; font-weight:700;}

/* ============================================================
   Global Politics admin menu final override
   Load this AFTER page-specific CSS. It normalizes the admin
   header across all admin pages and older header mount IDs.
============================================================ */
:root {
  --gp-admin-menu-top-h: 88px;
  --gp-admin-menu-chip-h: 54px;
  --gp-admin-navy-1: #071d3a;
  --gp-admin-navy-2: #0b2e5e;
  --gp-admin-gold: #d4af37;
  --gp-admin-text: #0f2343;
}

#adminHeaderMount,
#admin-header,
#header {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  z-index: 6000 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#adminHeaderMount *,
#admin-header *,
#header * {
  box-sizing: border-box !important;
}

#adminHeaderMount .adminTopbarWrap,
#admin-header .adminTopbarWrap,
#header .adminTopbarWrap {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: 0 8px 22px rgba(15, 35, 67, 0.12) !important;
}

#adminHeaderMount .adminTopbar,
#admin-header .adminTopbar,
#header .adminTopbar {
  min-height: var(--gp-admin-menu-top-h) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 14px 28px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--gp-admin-navy-1) 0%, #08264d 58%, var(--gp-admin-navy-2) 100%) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.24) !important;
  box-shadow: none !important;
}

#adminHeaderMount .adminBrand,
#admin-header .adminBrand,
#header .adminBrand {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  color: #ffffff !important;
}

#adminHeaderMount .adminBrandLogo,
#admin-header .adminBrandLogo,
#header .adminBrandLogo {
  display: block !important;
  width: auto !important;
  height: 46px !important;
  max-width: 180px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
}

#adminHeaderMount .adminTopbarNav,
#adminHeaderMount .adminDesktopNav,
#adminHeaderMount .adminActions,
#admin-header .adminTopbarNav,
#admin-header .adminDesktopNav,
#admin-header .adminActions,
#header .adminTopbarNav,
#header .adminDesktopNav,
#header .adminActions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

#adminHeaderMount .adminTopbarNav a,
#adminHeaderMount .adminTopbarNav button,
#adminHeaderMount .adminTopbar .ghost,
#adminHeaderMount .adminUser,
#adminHeaderMount .adminSignOutBtn,
#admin-header .adminTopbarNav a,
#admin-header .adminTopbarNav button,
#admin-header .adminTopbar .ghost,
#admin-header .adminUser,
#admin-header .adminSignOutBtn,
#header .adminTopbarNav a,
#header .adminTopbarNav button,
#header .adminTopbar .ghost,
#header .adminUser,
#header .adminSignOutBtn {
  appearance: none !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.30) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #0f2343 !important;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.16) !important;
  cursor: pointer !important;
}

#adminHeaderMount .adminTopbarNav a:hover,
#adminHeaderMount .adminTopbarNav button:hover,
#adminHeaderMount .adminTopbar .ghost:hover,
#admin-header .adminTopbarNav a:hover,
#admin-header .adminTopbarNav button:hover,
#admin-header .adminTopbar .ghost:hover,
#header .adminTopbarNav a:hover,
#header .adminTopbarNav button:hover,
#header .adminTopbar .ghost:hover {
  text-decoration: none !important;
  background: #ffffff !important;
  transform: translateY(-1px) !important;
}

#adminHeaderMount .adminBadgeInline,
#admin-header .adminBadgeInline,
#header .adminBadgeInline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 6px !important;
  padding: 4px 10px !important;
  min-height: 22px !important;
  border-radius: 999px !important;
  background: var(--gp-admin-gold) !important;
  color: #111111 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#adminHeaderMount .adminCategoryMenu,
#admin-header .adminCategoryMenu,
#header .adminCategoryMenu {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: linear-gradient(180deg, #f8fbff 0%, #edf4fd 100%) !important;
  border-top: 1px solid rgba(15, 35, 67, 0.08) !important;
  border-bottom: 1px solid rgba(15, 35, 67, 0.12) !important;
}

#adminHeaderMount .adminCategoryMenuInner,
#admin-header .adminCategoryMenuInner,
#header .adminCategoryMenuInner {
  max-width: 1120px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 10px 16px 12px !important;
}

#adminHeaderMount .adminCategoryMenuChips,
#admin-header .adminCategoryMenuChips,
#header .adminCategoryMenuChips,
#adminHeaderMount .adminNav,
#admin-header .adminNav,
#header .adminNav {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;
}

#adminHeaderMount .adminCategoryChip,
#adminHeaderMount .adminNavBtn,
#adminHeaderMount .adminNav a,
#admin-header .adminCategoryChip,
#admin-header .adminNavBtn,
#admin-header .adminNav a,
#header .adminCategoryChip,
#header .adminNavBtn,
#header .adminNav a {
  appearance: none !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 13px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15, 35, 67, 0.12) !important;
  background: #ffffff !important;
  color: var(--gp-admin-text) !important;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 5px rgba(15, 35, 67, 0.07) !important;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
}

#adminHeaderMount .adminCategoryChip:hover,
#adminHeaderMount .adminNavBtn:hover,
#adminHeaderMount .adminNav a:hover,
#admin-header .adminCategoryChip:hover,
#admin-header .adminNavBtn:hover,
#admin-header .adminNav a:hover,
#header .adminCategoryChip:hover,
#header .adminNavBtn:hover,
#header .adminNav a:hover {
  background: #f8fbff !important;
  border-color: rgba(212, 175, 55, 0.60) !important;
  box-shadow: 0 5px 14px rgba(15, 35, 67, 0.11) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

#adminHeaderMount .adminCategoryChip.active,
#adminHeaderMount .adminCategoryChip.isActive,
#adminHeaderMount .adminCategoryChip[aria-current="page"],
#adminHeaderMount .adminCategoryChip[data-active="true"],
#adminHeaderMount .adminNavBtn.active,
#adminHeaderMount .adminNavBtn.isActive,
#adminHeaderMount .adminNavBtn[aria-current="page"],
#adminHeaderMount .adminNavBtn[data-active="true"],
#adminHeaderMount .adminNav a.active,
#adminHeaderMount .adminNav a.isActive,
#adminHeaderMount .adminNav a[aria-current="page"],
#admin-header .adminCategoryChip.active,
#admin-header .adminCategoryChip.isActive,
#admin-header .adminCategoryChip[aria-current="page"],
#admin-header .adminCategoryChip[data-active="true"],
#admin-header .adminNavBtn.active,
#admin-header .adminNavBtn.isActive,
#admin-header .adminNavBtn[aria-current="page"],
#admin-header .adminNavBtn[data-active="true"],
#admin-header .adminNav a.active,
#admin-header .adminNav a.isActive,
#admin-header .adminNav a[aria-current="page"],
#header .adminCategoryChip.active,
#header .adminCategoryChip.isActive,
#header .adminCategoryChip[aria-current="page"],
#header .adminCategoryChip[data-active="true"],
#header .adminNavBtn.active,
#header .adminNavBtn.isActive,
#header .adminNavBtn[aria-current="page"],
#header .adminNavBtn[data-active="true"],
#header .adminNav a.active,
#header .adminNav a.isActive,
#header .adminNav a[aria-current="page"] {
  border-color: rgba(212, 175, 55, 0.88) !important;
  background: linear-gradient(180deg, #fffdf6 0%, #fff3cf 100%) !important;
  color: #0f2343 !important;
  box-shadow: inset 0 0 0 1px rgba(212, 175, 55, 0.25), 0 5px 14px rgba(15, 35, 67, 0.12) !important;
}

/* Legacy/default public header fallback inside admin mount */
#adminHeaderMount .topbarWrap,
#admin-header .topbarWrap,
#header .topbarWrap,
#adminHeaderMount .topbar,
#admin-header .topbar,
#header .topbar {
  background: linear-gradient(135deg, var(--gp-admin-navy-1), var(--gp-admin-navy-2)) !important;
}

/* Keep hidden auth controls hidden and hide duplicate Sign in if authenticated. */
#adminHeaderMount [hidden],
#admin-header [hidden],
#header [hidden] {
  display: none !important;
}
#adminHeaderMount:has(#logoutBtn:not([hidden])) #authBtn,
#adminHeaderMount:has(#authUser:not([hidden])) #authBtn,
#admin-header:has(#logoutBtn:not([hidden])) #authBtn,
#admin-header:has(#authUser:not([hidden])) #authBtn,
#header:has(#logoutBtn:not([hidden])) #authBtn,
#header:has(#authUser:not([hidden])) #authBtn,
#adminHeaderMount:has(#logoutBtnMobile:not([hidden])) #authBtnMobile,
#adminHeaderMount:has(#authUserMobile:not([hidden])) #authBtnMobile,
#admin-header:has(#logoutBtnMobile:not([hidden])) #authBtnMobile,
#admin-header:has(#authUserMobile:not([hidden])) #authBtnMobile,
#header:has(#logoutBtnMobile:not([hidden])) #authBtnMobile,
#header:has(#authUserMobile:not([hidden])) #authBtnMobile {
  display: none !important;
}

.adminPageContent,
.adminPage,
.daily-topics-page {
  padding-top: 0 !important;
}
.socialShell {
  padding-top: 16px !important;
}

@media (max-width: 980px) {
  #adminHeaderMount .adminTopbar,
  #admin-header .adminTopbar,
  #header .adminTopbar {
    min-height: 66px !important;
    padding: 10px 16px !important;
  }
  #adminHeaderMount .adminBrandLogo,
  #admin-header .adminBrandLogo,
  #header .adminBrandLogo {
    height: 38px !important;
  }
  #adminHeaderMount .adminTopbarNav,
  #adminHeaderMount .adminDesktopNav,
  #adminHeaderMount .adminActions,
  #admin-header .adminTopbarNav,
  #admin-header .adminDesktopNav,
  #admin-header .adminActions,
  #header .adminTopbarNav,
  #header .adminDesktopNav,
  #header .adminActions {
    display: none !important;
  }
  #adminHeaderMount .adminMenuToggle,
  #admin-header .adminMenuToggle,
  #header .adminMenuToggle {
    display: inline-flex !important;
    margin-left: auto !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,0.26) !important;
    background: rgba(255,255,255,0.10) !important;
  }
  #adminHeaderMount .adminMenuToggle span,
  #admin-header .adminMenuToggle span,
  #header .adminMenuToggle span {
    background: #ffffff !important;
  }
  #adminHeaderMount .adminMobileMenu,
  #admin-header .adminMobileMenu,
  #header .adminMobileMenu {
    position: absolute !important;
    top: 64px !important;
    left: 10px !important;
    right: 10px !important;
    display: grid !important;
    padding: 12px !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15,35,67,0.12) !important;
    box-shadow: 0 18px 42px rgba(15,35,67,0.18) !important;
  }
  #adminHeaderMount .adminMobileMenu[hidden],
  #admin-header .adminMobileMenu[hidden],
  #header .adminMobileMenu[hidden] {
    display: none !important;
  }
  #adminHeaderMount .adminMobileMenuInner,
  #admin-header .adminMobileMenuInner,
  #header .adminMobileMenuInner {
    display: grid !important;
    gap: 9px !important;
  }
  #adminHeaderMount .adminMobileNavBtn,
  #admin-header .adminMobileNavBtn,
  #header .adminMobileNavBtn {
    justify-content: flex-start !important;
    min-height: 42px !important;
    height: auto !important;
    padding: 0 14px !important;
  }
  #adminHeaderMount .adminCategoryMenuChips,
  #admin-header .adminCategoryMenuChips,
  #header .adminCategoryMenuChips {
    justify-content: flex-start !important;
  }
}


/* ============================================================
   Cover replacement processing overlay
============================================================ */
body.coverProcessingOpen {
  overflow: hidden;
}

.coverProcessingOverlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(7, 20, 40, 0.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.coverProcessingOverlay[hidden] {
  display: none !important;
}

.coverProcessingCard {
  width: min(520px, 100%);
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 24px;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
  color: #0b1f3a;
  border: 1px solid rgba(212, 175, 55, 0.45);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}

.coverProcessingHourglass {
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #0b1f3a;
  color: #d4af37;
  font-size: 30px;
  line-height: 1;
  box-shadow: inset 0 0 0 2px rgba(212, 175, 55, 0.35);
  animation: coverHourglassPulse 1.15s ease-in-out infinite;
}

.coverProcessingTitle {
  font-size: 1.08rem;
  font-weight: 950;
  line-height: 1.25;
  margin: 2px 0 8px;
}

.coverProcessingMessage {
  font-size: 0.96rem;
  line-height: 1.55;
  color: rgba(11, 31, 58, 0.78);
}

@keyframes coverHourglassPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.08); opacity: 0.82; }
}

@media (max-width: 560px) {
  .coverProcessingCard {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 22px 18px;
  }
}


/* ============================================================
   Campaign editor: prominent action buttons + inline feedback
============================================================ */
.campaignActionStack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 14px;
}

.campaignActionItem {
  display: grid;
  gap: 6px;
}

.campaignActionDivider {
  border: none;
  border-top: 1px solid var(--border);
  margin: 4px 0;
}

.campaignActionBtn {
  appearance: none;
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(15, 35, 67, 0.14);
  border-radius: 14px;
  padding: 11px 15px;
  font: inherit;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.1;
  letter-spacing: 0.01em;
  cursor: pointer;
  color: #0f2343;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(15, 35, 67, 0.08);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
}

.campaignActionBtn:hover:not(:disabled),
.campaignActionBtn:focus-visible:not(:disabled) {
  outline: none;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 35, 67, 0.14);
}

.campaignActionBtn:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 5px 12px rgba(15, 35, 67, 0.10);
}

.campaignActionBtn:disabled {
  cursor: not-allowed;
  opacity: 0.56;
  box-shadow: none;
}

.campaignActionBtn.isBusy {
  opacity: 0.82;
  cursor: wait;
}

.campaignActionBtn--create {
  border-color: rgba(212, 175, 55, 0.50);
  color: #081f3d;
  background: linear-gradient(135deg, #f7d96b 0%, #d4af37 100%);
  box-shadow: 0 10px 22px rgba(212, 175, 55, 0.22);
}

.campaignActionBtn--duplicate,
.campaignActionBtn--new {
  border-color: rgba(15, 35, 67, 0.16);
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
}

.campaignActionBtn--test {
  border-color: rgba(37, 99, 235, 0.34);
  color: #ffffff;
  background: linear-gradient(135deg, #1d4ed8 0%, #0f2f6d 100%);
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.20);
}

.campaignActionBtn--queue {
  border-color: rgba(27, 122, 105, 0.45);
  color: #ffffff;
  background: linear-gradient(135deg, #1b7a69 0%, #0f5b4e 100%);
  box-shadow: 0 10px 22px rgba(27, 122, 105, 0.20);
}

.campaignInlineMsg {
  display: none;
  margin: 0 2px;
  padding: 8px 10px;
  border-radius: 11px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
  border: 1px solid transparent;
}

.campaignInlineMsg.isVisible {
  display: block;
}

.campaignInlineMsg.isInfo {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.18);
}

.campaignInlineMsg.isSuccess {
  background: #ecfdf5;
  color: #047857;
  border-color: rgba(4, 120, 87, 0.18);
}

.campaignInlineMsg.isError {
  background: #fef2f2;
  color: #b91c1c;
  border-color: rgba(185, 28, 28, 0.20);
}


/* Admin submissions cleanup */
.submissionKindPill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(15, 42, 95, 0.08);
  color: #0f2a5f;
  border: 1px solid rgba(15, 42, 95, 0.12);
  font-size: 12px;
  font-weight: 900;
  text-transform: capitalize;
}

.submissionKindPill.is-community {
  background: rgba(212, 175, 55, 0.18);
  color: #6b4a00;
  border-color: rgba(212, 175, 55, 0.34);
}

.submissionCard.is-selected {
  border-color: rgba(212, 175, 55, 0.72) !important;
  box-shadow: 0 12px 28px rgba(15, 35, 67, 0.12), inset 0 0 0 1px rgba(212, 175, 55, 0.35);
}

.adminPrimaryInlineBtn {
  background: #07182f !important;
  color: #fff !important;
  border-color: #07182f !important;
}

.adminDangerInlineBtn {
  background: #fff !important;
  color: #9f1239 !important;
  border-color: rgba(159, 18, 57, 0.28) !important;
}


/* Admin submissions cover upload tool */
.adminCoverUploadTool {
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid rgba(15, 42, 95, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(238, 245, 255, 0.84));
}

.adminCoverUploadTool input[type="file"] {
  width: 100%;
  border: 1px dashed rgba(15, 42, 95, 0.26);
  border-radius: 14px;
  background: #fff;
  padding: 12px;
  color: #0f2343;
  font-weight: 800;
}

.adminCoverUploadActions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.adminHelpText {
  margin: 10px 0 0;
  color: #64748b;
  font-size: 0.92rem;
  line-height: 1.45;
}

#coverUploadStatus.is-error {
  color: #9f1239;
  font-weight: 900;
}

#coverUploadStatus.is-ok {
  color: #067647;
  font-weight: 900;
}

.coverPreview img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  border-radius: 14px;
  background: #eef2f7;
}


/* Cover upload button visibility fix */
#btnUploadCover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  border: 2px solid #07182f;
  background: linear-gradient(135deg, #07182f, #123463);
  color: #ffffff !important;
  font-weight: 900;
  font-size: 0.98rem;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 22px rgba(7, 24, 47, 0.18);
  cursor: pointer;
  opacity: 1 !important;
}

#btnUploadCover:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

#btnUploadCover:disabled {
  background: #cbd5e1;
  border-color: #cbd5e1;
  color: #475569 !important;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1 !important;
}

.adminCoverUploadActions {
  align-items: center;
}

#coverUploadStatus {
  font-weight: 900;
}

.adminCoverUploadTool .adminHelpText {
  margin-top: 12px;
}


/* Cover upload post-action buttons */
.coverPostUploadActions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(15, 42, 95, 0.12);
}

.coverPostUploadActions[hidden] {
  display: none !important;
}

#btnSaveAfterCover,
#btnPublishAfterCover {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 950;
}

#btnPublishAfterCover {
  background: #07182f !important;
  color: #fff !important;
  border-color: #07182f !important;
  box-shadow: 0 10px 22px rgba(7, 24, 47, 0.18);
}


/* Cover upload Save changes visibility fix */
#btnSaveAfterCover {
  background: #ffffff !important;
  color: #07182f !important;
  border: 2px solid #07182f !important;
  box-shadow: 0 8px 18px rgba(7, 24, 47, 0.12);
  opacity: 1 !important;
}

#btnSaveAfterCover:hover,
#btnSaveAfterCover:focus-visible {
  background: #f8fbff !important;
  color: #07182f !important;
  transform: translateY(-1px);
  outline: none;
}

#btnSaveAfterCover:disabled {
  background: #e2e8f0 !important;
  color: #334155 !important;
  border-color: #94a3b8 !important;
  box-shadow: none;
  opacity: 1 !important;
}

.coverPostUploadActions {
  background: rgba(255, 255, 255, 0.72);
  border-radius: 18px;
  padding: 14px;
  margin-top: 14px;
}

#btnRepairPublishedCover {
  background: #ffffff !important;
  color: #07182f !important;
  border: 2px solid #07182f !important;
  box-shadow: 0 8px 18px rgba(7, 24, 47, 0.12);
  opacity: 1 !important;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 950;
}

/* ============================================================
   Admin article list spacing fix
   Keeps sorted article cards separated in admin.html.
============================================================ */
#publishedArticles.publishedArticles,
.cmsTipBody #publishedArticles.publishedArticles {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  margin-top: 12px !important;
}

#publishedArticles .articleListCard,
#publishedArticles .articleListCard.articleListCardWithThumb {
  margin: 0 !important;
}

#publishedArticles .articleListCard + .articleListCard {
  margin-top: 0 !important;
}

/* ============================================================
   Admin article list: edit badge / sort control separation
   Prevents the active editing slug card from touching the sort card.
============================================================ */
#publishedPanel #editModeBadge,
.cmsTipBody #editModeBadge.editModeBadge,
#editModeBadge.editModeBadge {
  margin-bottom: 16px !important;
}

#editModeBadge.editModeBadge + .articleListSortControl,
.cmsTipBody #editModeBadge.editModeBadge + .articleListSortControl {
  margin-top: 0 !important;
}

.articleListSortControl + #publishedArticles.publishedArticles {
  margin-top: 16px !important;
}
