/* 阿里妈妈方圆体 © 淘宝（中国）软件有限公司；许可见 /static/fonts/LICENSE-Alimama-FangYuanTi.txt */
@font-face {
  font-family: "Alimama FangYuan VF";
  font-style: normal;
  font-display: swap;
  font-weight: 200 700;
  src: url("/static/fonts/alimama-fangyuan-vf.woff2") format("woff2");
}

/* Foundation acknowledgments, donor records, charity dinner and volunteers */
.foundation-thanks-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}.foundation-thanks-breadcrumb{display:flex;align-items:center;gap:10px;padding:24px 0;font-size:13px;color:#82796c}.foundation-thanks-breadcrumb a{color:inherit;text-decoration:none}.foundation-thanks-breadcrumb strong{color:#1d2635}.foundation-thanks-richtext{color:#554f47;line-height:1.9}.foundation-thanks-richtext p{margin:0 0 14px}.foundation-thanks-hero{padding-bottom:84px;background:#fff4d7}.foundation-thanks-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:80px;align-items:end;padding-top:72px}.foundation-thanks-hero-grid>div:first-child>p,.foundation-donors-hero-grid>div:first-child>p,.foundation-dinner-hero .foundation-thanks-shell>div>p,.foundation-volunteer-hero-grid>div:first-child>p{color:#ea1034;font-size:12px;font-weight:900;letter-spacing:.18em}.foundation-thanks-hero h1,.foundation-donors-hero h1,.foundation-dinner-hero h1,.foundation-volunteer-hero h1{margin:16px 0 10px;color:#171d2a;font-size:clamp(48px,7vw,96px);line-height:.95;letter-spacing:-.06em}.foundation-thanks-hero h2,.foundation-donors-hero h2,.foundation-dinner-hero h2,.foundation-volunteer-hero h2{margin:0;color:#776f64;font-size:clamp(18px,2.2vw,28px);font-weight:500;line-height:1.5}.foundation-thanks-sections{padding:88px 0;background:#fff}.foundation-thanks-sections .foundation-thanks-shell{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.foundation-thanks-sections article{display:flex;min-height:360px;padding:34px;border-radius:28px;flex-direction:column}.foundation-thanks-sections article.red{background:#ea1034;color:#fff}.foundation-thanks-sections article.yellow{background:#ffce37;color:#191d24}.foundation-thanks-sections article.green{background:#aaf7a9;color:#191d24}.foundation-thanks-sections article>span{font-size:13px;font-weight:900;letter-spacing:.15em}.foundation-thanks-sections h2{margin:40px 0 12px;font-size:38px}.foundation-thanks-sections p{margin:0;line-height:1.7}.foundation-thanks-sections article>strong{margin-top:auto;padding-top:36px;font-size:14px}.foundation-thanks-sections article>a{display:flex;margin-top:18px;padding-top:18px;border-top:1px solid currentColor;color:inherit;font-weight:800;text-decoration:none;justify-content:space-between}.foundation-thanks-footer{padding:36px 0;background:#171d2a;color:#fff}.foundation-thanks-footer .foundation-thanks-shell{display:flex;align-items:center;gap:26px}.foundation-thanks-footer img{width:170px}.foundation-thanks-footer p{margin-right:auto}.foundation-thanks-footer a{color:#ffce37;font-weight:800;text-decoration:none}
.foundation-donors-hero{padding-bottom:32px;background:#fff4d7}.foundation-donors-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;padding:58px 0}.foundation-donor-index{display:flex;gap:8px;overflow:auto;padding:18px 0;border-top:1px solid rgba(29,38,53,.12)}.foundation-donor-index a{padding:10px 16px;border-radius:999px;background:#fff;color:#1d2635;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.foundation-donor-groups{padding:82px 0;background:#fff}.foundation-donor-groups .foundation-thanks-shell{display:grid;gap:72px}.foundation-donor-groups section>header{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;padding-bottom:20px;border-bottom:2px solid #1d2635}.foundation-donor-groups section>header>div{display:flex;align-items:center;gap:16px}.foundation-donor-groups section>header span{display:grid;width:38px;height:38px;border-radius:50%;background:#ea1034;color:#fff;font-size:12px;font-weight:900;place-items:center}.foundation-donor-groups h2{margin:0;font-size:34px}.foundation-donor-groups header p{margin:0;color:#7b746b;line-height:1.6}.foundation-donor-groups ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:28px 0 0;list-style:none}.foundation-donor-groups li{display:flex;min-height:52px;padding:12px 16px;border-bottom:1px solid #ededed;align-items:center;justify-content:space-between}.foundation-donor-groups li small{margin-left:8px;color:#ea1034;font-size:10px}.foundation-donor-empty{padding:34px;border-radius:20px;background:#f7f7f5;color:#70695f}.foundation-donor-empty strong{display:block;margin-bottom:6px;color:#202735;font-size:18px}.foundation-donor-empty p{margin:0}.foundation-donor-original{padding:86px 0;background:#ededed}.foundation-donor-original header{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;margin-bottom:32px}.foundation-donor-original header p{grid-column:1/-1;margin:0;color:#ea1034;font-size:12px;font-weight:900;letter-spacing:.18em}.foundation-donor-original h2{margin:0;font-size:40px}.foundation-donor-original header span{color:#6e685f;line-height:1.7}.foundation-donor-original details{margin-bottom:12px;border-radius:18px;background:#fff;overflow:hidden}.foundation-donor-original summary{display:grid;grid-template-columns:100px 1fr auto;gap:20px;padding:22px 26px;align-items:center;cursor:pointer;list-style:none}.foundation-donor-original summary span{color:#ea1034;font-weight:900}.foundation-donor-original summary i{color:#756e65;font-size:12px;font-style:normal}.foundation-donor-original figure{margin:0;padding:0 24px 28px;text-align:center}.foundation-donor-original figure img{display:block;width:min(100%,842px);height:auto;margin:auto;border:1px solid #ededed}.foundation-donor-original figcaption{margin-top:12px;color:#8b8379;font-size:12px}
.foundation-dinner-hero{padding-bottom:78px;background:#171d2a;color:#fff}.foundation-dinner-hero .foundation-thanks-breadcrumb,.foundation-dinner-hero .foundation-thanks-breadcrumb strong{color:#d8d4ce}.foundation-dinner-hero .foundation-thanks-shell>div{max-width:850px;padding-top:68px}.foundation-dinner-hero h1{color:#fff}.foundation-dinner-hero h2{color:#ffce37}.foundation-dinner-hero .foundation-thanks-richtext{max-width:680px;margin-top:28px;color:#d7d1c8}.foundation-dinner-timeline{padding:88px 0;background:#fff4d7}.foundation-dinner-timeline .foundation-thanks-shell{display:grid;gap:22px}.foundation-dinner-timeline article{display:grid;grid-template-columns:170px minmax(0,1fr) 300px;gap:34px;padding:28px;border-radius:26px;background:#fff;align-items:center}.foundation-dinner-year span{display:block;color:#ea1034;font-size:54px;font-weight:900;letter-spacing:-.05em}.foundation-dinner-year small{color:#80786e}.foundation-dinner-copy h2{margin:0 0 10px;font-size:24px}.foundation-dinner-copy p{margin:0;color:#5e574f;line-height:1.75}.foundation-dinner-timeline figure{height:190px;margin:0;border-radius:18px;overflow:hidden}.foundation-dinner-timeline img{width:100%;height:100%;object-fit:cover}
.foundation-volunteer-hero{padding-bottom:80px;background:#aaf7a9}.foundation-volunteer-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;padding-top:64px}.foundation-volunteer-cta{display:flex;width:fit-content;margin-top:26px;padding:13px 20px;border-radius:999px;background:#171d2a;color:#fff;font-weight:800;text-decoration:none;gap:24px}.foundation-volunteer-recruit,.foundation-volunteer-news{padding:86px 0}.foundation-volunteer-recruit{background:#fff}.foundation-volunteer-news{background:#fff4d7}.foundation-volunteer-recruit header,.foundation-volunteer-news header{display:flex;margin-bottom:28px;align-items:end;justify-content:space-between}.foundation-volunteer-recruit header p,.foundation-volunteer-news header p{margin:0;color:#ea1034;font-size:12px;font-weight:900;letter-spacing:.16em}.foundation-volunteer-recruit h2,.foundation-volunteer-news h2{margin:8px 0 0;font-size:38px}.foundation-volunteer-recruit .foundation-thanks-shell>div,.foundation-volunteer-news .foundation-thanks-shell>div{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.foundation-volunteer-recruit article{display:flex;min-height:270px;padding:30px;border-radius:24px;background:#ededed;flex-direction:column}.foundation-volunteer-recruit article>p{margin:0;color:#ea1034;font-size:12px;font-weight:900}.foundation-volunteer-recruit h3{margin:28px 0 12px;font-size:25px}.foundation-volunteer-recruit article>span{color:#686159;line-height:1.7}.foundation-volunteer-recruit article>a{margin-top:auto;color:#1d2635;font-weight:800;text-decoration:none}.foundation-volunteer-news header>a{color:#1d2635;font-weight:800}.foundation-volunteer-news .foundation-thanks-shell>div{grid-template-columns:repeat(3,1fr)}.foundation-volunteer-news article{padding:16px;border-radius:20px;background:#fff}.foundation-volunteer-news article>a:first-child{display:block;height:180px;margin-bottom:16px;border-radius:14px;overflow:hidden}.foundation-volunteer-news img{width:100%;height:100%;object-fit:cover}.foundation-volunteer-news time{color:#8b837a;font-size:12px}.foundation-volunteer-news h3{margin:10px 0;font-size:19px;line-height:1.45}.foundation-volunteer-news h3 a{color:#1d2635;text-decoration:none}.foundation-volunteer-news article p{margin:0;color:#736c63;font-size:13px;line-height:1.65}
.cms-donor-toolbar{padding:18px 20px}.cms-donor-toolbar form{display:grid;grid-template-columns:minmax(180px,1fr) 180px 160px auto auto;gap:12px;align-items:end}.cms-donor-toolbar label{display:grid;gap:5px}.cms-donor-toolbar label>span{font-size:12px;font-weight:800}.cms-donor-toolbar input,.cms-donor-toolbar select{width:100%}.cms-donor-counts{margin:15px 0 0;color:#746d64;font-size:13px}.cms-donor-source-pages>summary{cursor:pointer;font-weight:900}.cms-donor-source-pages>div{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.cms-donor-source-pages figure{margin:0}.cms-donor-source-pages img{width:100%;aspect-ratio:842/1170;object-fit:cover;object-position:top;border:1px solid #dedede;border-radius:10px}.cms-donor-source-pages figcaption{margin-top:6px;color:#756e65;font-size:11px}.cms-donor-table-wrap{overflow:auto}.cms-donor-list table{min-width:920px}.cms-donor-list td>small,.cms-donor-list td>span{display:block;margin-top:4px;color:#7a736a;font-size:11px}.cms-donor-type{display:inline-flex!important;width:max-content;padding:5px 9px;border-radius:999px;background:#ededed!important;color:#363d49!important;font-weight:800}.cms-donor-type.organization{background:#fff4d7!important}.cms-donor-type.ambassador{background:#aaf7a9!important}.cms-donor-type.monthly{background:#ffe7ec!important}.cms-donor-verified{color:#237a44;font-size:12px}.cms-donor-row-actions{display:flex;flex-wrap:wrap;gap:7px}.cms-donor-row-actions form{margin:0}.cms-donor-pagination{display:flex;padding-top:18px;align-items:center;justify-content:center;gap:18px}.cms-donor-pagination span{color:#756e65;font-size:12px}.cms-donor-editor{display:grid;gap:24px}.cms-donor-editor fieldset{display:grid;gap:16px;margin:0;padding:20px;border:1px solid #dedede;border-radius:16px}.cms-donor-editor legend{padding:0 8px;font-weight:900}.cms-donor-source-preview{margin:0}.cms-donor-source-preview img{display:block;width:min(100%,520px);max-height:620px;object-fit:contain;object-position:top;background:#f4f4f2}.cms-donor-source-preview figcaption{margin-top:8px;color:#766f66;font-size:12px}.cms-donor-check{display:flex!important;padding:16px;border-radius:12px;background:#fff4d7;align-items:flex-start;gap:10px}.cms-donor-check input{width:auto;margin-top:3px}.cms-donor-check span{display:grid;gap:4px}.cms-donor-check small{color:#756e65}
@media(max-width:820px){.foundation-thanks-shell{width:min(100% - 24px,1180px)}.foundation-thanks-hero-grid,.foundation-donors-hero-grid,.foundation-volunteer-hero-grid{grid-template-columns:1fr;gap:30px;padding-top:36px}.foundation-thanks-hero{padding-bottom:52px}.foundation-thanks-hero h1,.foundation-donors-hero h1,.foundation-dinner-hero h1,.foundation-volunteer-hero h1{font-size:50px}.foundation-thanks-sections{padding:52px 0}.foundation-thanks-sections .foundation-thanks-shell{grid-template-columns:1fr}.foundation-thanks-sections article{min-height:280px}.foundation-thanks-footer .foundation-thanks-shell{align-items:flex-start;flex-direction:column}.foundation-thanks-footer p{margin:0}.foundation-donor-groups{padding:52px 0}.foundation-donor-groups .foundation-thanks-shell{gap:48px}.foundation-donor-groups section>header{grid-template-columns:1fr;gap:12px}.foundation-donor-groups ul{grid-template-columns:repeat(2,minmax(0,1fr))}.foundation-donor-groups li{padding:10px 8px;font-size:13px}.foundation-donor-original{padding:54px 0}.foundation-donor-original header{grid-template-columns:1fr;gap:14px}.foundation-donor-original header p{grid-column:auto}.foundation-donor-original summary{grid-template-columns:auto 1fr;padding:18px}.foundation-donor-original summary i{display:none}.foundation-dinner-timeline{padding:54px 0}.foundation-dinner-timeline article{grid-template-columns:1fr;padding:22px}.foundation-dinner-timeline figure{height:220px}.foundation-volunteer-recruit,.foundation-volunteer-news{padding:54px 0}.foundation-volunteer-recruit .foundation-thanks-shell>div,.foundation-volunteer-news .foundation-thanks-shell>div{grid-template-columns:1fr}.foundation-volunteer-news header{align-items:flex-start;flex-direction:column;gap:10px}.cms-donor-toolbar form{grid-template-columns:1fr 1fr}.cms-donor-toolbar form label:first-child{grid-column:1/-1}.cms-donor-source-pages>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.foundation-donor-groups ul{grid-template-columns:1fr}.foundation-thanks-hero h1,.foundation-donors-hero h1,.foundation-dinner-hero h1,.foundation-volunteer-hero h1{font-size:42px}.cms-donor-toolbar form{grid-template-columns:1fr}.cms-donor-toolbar form label:first-child{grid-column:auto}.cms-donor-source-pages>div{grid-template-columns:1fr}}

@font-face {
  font-family: "Noto Sans SC Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("/static/fonts/noto-sans-sc-variable.woff2") format("woff2-variations");
}

:root {
  color-scheme: light;
  --font-brand: "Alimama FangYuan VF", "阿里妈妈方圆体", "Noto Sans SC Variable", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --bg: #f6f7fb;
  --text: #1a202c;
  --muted: #718096;
  --line: #e2e8f0;
  --primary: #fad709;
  --primary-strong: #d9b807;
  --primary-deep: #b89906;
  --ink: #111827;
  --cyan: #00b8d9;
  --green: #10b981;
  --rose: #ef4444;
  --surface: #ffffff;
  --warning: #b54708;
  --shadow: 0 20px 60px rgba(17, 24, 39, .12);
  --shadow-soft: 0 6px 22px rgba(26, 32, 44, .06);
  --app-tabbar-height: 78px;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-variation-settings: inherit;
}

/* Shenzhen Jianhui Charity Foundation — three-direction public homepage */
.foundation-home {
  --foundation-red: #ea1034;
  --foundation-yellow: #ffce37;
  --foundation-green: #aaf7a9;
  --foundation-cream: #fff4d7;
  --foundation-gray: #ededed;
  --foundation-ink: #171717;
  --foundation-muted: #66635e;
  --foundation-line: rgba(23, 23, 23, .14);
  --foundation-page: #fffaf0;
  margin: 0;
  overflow-x: hidden;
  background: var(--foundation-page);
  color: var(--foundation-ink);
  font-family: var(--font-brand);
  font-variation-settings: "BEVL" 80;
  font-synthesis: none;
}

.foundation-home :where(h1, h2, h3, .foundation-button, button),
.foundation-content-center :where(h1, h2, h3, button),
.cms-category-public :where(h1, h2, h3, button),
.cms-article-public :where(h1, h2, h3, button),
.cms-page-h5 :where(h1, h2, h3, button),
body.admin-body :where(h1, h2, h3, .admin-button, button) {
  font-variation-settings: "BEVL" 100;
}

.foundation-home *,
.foundation-home *::before,
.foundation-home *::after {
  box-sizing: border-box;
}

.foundation-home img {
  display: block;
  max-width: 100%;
}

.foundation-home a {
  color: inherit;
  text-decoration: none;
}

.foundation-home p,
.foundation-home h1,
.foundation-home h2,
.foundation-home h3,
.foundation-home figure,
.foundation-home dl,
.foundation-home dd,
.foundation-home ol {
  margin: 0;
}

.foundation-home a:focus-visible,
.foundation-home summary:focus-visible {
  outline: 3px solid var(--foundation-yellow);
  outline-offset: 4px;
}

.foundation-skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 1000;
  padding: 10px 16px;
  transform: translateY(-150%);
  background: var(--foundation-ink);
  color: #fff !important;
  font-weight: 700;
}

.foundation-skip-link:focus {
  transform: translateY(0);
}

.foundation-header {
  position: relative;
  z-index: 50;
  min-height: 88px;
  border-bottom: 1px solid var(--foundation-line);
  background: rgba(255, 250, 240, .94);
  backdrop-filter: blur(16px);
}

.foundation-header-inner {
  display: flex;
  width: min(100% - 64px, 1376px);
  min-height: 88px;
  margin: 0 auto;
  align-items: center;
  gap: 36px;
}

.foundation-brand {
  flex: 0 0 auto;
  width: 250px;
}

.foundation-brand img {
  width: 100%;
  height: 64px;
  object-fit: contain;
  object-position: left center;
}

.foundation-nav {
  display: flex;
  margin-left: auto;
  align-items: center;
  gap: clamp(18px, 2vw, 34px);
}

.foundation-nav a,
.foundation-text-link {
  position: relative;
  padding: 34px 0 31px;
  font-size: 14px;
  font-weight: 650;
  letter-spacing: .04em;
  white-space: nowrap;
}

.foundation-nav a::after,
.foundation-text-link::after {
  position: absolute;
  right: 0;
  bottom: 24px;
  left: 0;
  height: 2px;
  transform: scaleX(0);
  background: var(--foundation-red);
  content: "";
  transition: transform .2s ease;
}

.foundation-nav a:hover::after,
.foundation-text-link:hover::after {
  transform: scaleX(1);
}

.foundation-header-actions {
  display: flex;
  align-items: center;
  gap: 22px;
}

.foundation-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--foundation-red);
  border-radius: 999px;
  padding: 0 26px;
  background: var(--foundation-red);
  color: #fff !important;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: .03em;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.foundation-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(234, 16, 52, .2);
}

.foundation-button-small {
  min-height: 44px;
  padding: 0 20px;
  font-size: 14px;
}

.foundation-button-ghost {
  border-color: var(--foundation-ink);
  background: transparent;
  color: var(--foundation-ink) !important;
}

.foundation-mobile-menu {
  display: none;
}

.foundation-hero {
  position: relative;
  min-height: calc(100vh - 88px);
  min-height: calc(100svh - 88px);
  padding: 56px 32px 28px;
}

.foundation-hero-grid {
  display: grid;
  width: min(100%, 1376px);
  min-height: 630px;
  margin: 0 auto;
  grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
  align-items: center;
  gap: clamp(38px, 6vw, 104px);
}

.foundation-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--foundation-red);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.foundation-eyebrow::before {
  width: 25px;
  height: 2px;
  background: currentColor;
  content: "";
}

.foundation-hero-copy h1 {
  max-width: 720px;
  margin-top: 24px;
  font-size: clamp(52px, 5vw, 76px);
  line-height: 1.14;
  font-weight: 760;
	letter-spacing: -.035em;
}

.foundation-hero-copy h1 em {
  color: var(--foundation-red);
  font-style: normal;
}

.foundation-hero-lead {
  max-width: 620px;
  margin-top: 28px !important;
  color: var(--foundation-ink);
  font-size: 21px;
	font-weight: 620;
	line-height: 1.7;
}

.foundation-hero-body {
  max-width: 620px;
  margin-top: 14px;
  color: var(--foundation-muted);
  font-size: 16px;
  line-height: 1.85;
}

.foundation-hero-actions {
  display: flex;
  margin-top: 38px;
  flex-wrap: wrap;
  gap: 14px;
}

.foundation-hero-visual {
  position: relative;
  width: 100%;
  height: 610px;
}

.foundation-hero-visual::before,
.foundation-hero-visual::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
}

.foundation-hero-visual::before {
  top: 4%;
  right: 4%;
  width: 52%;
  height: 52%;
  background: var(--foundation-yellow);
}

.foundation-hero-visual::after {
  bottom: 2%;
  left: 0;
  width: 48%;
  height: 48%;
  background: var(--foundation-red);
}

.foundation-hero-visual > img {
  width: 100%;
  height: 100%;
  border-radius: 48% 48% 44% 44% / 38% 38% 56% 56%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.88) contrast(.98);
}

.foundation-hero-visual figcaption {
  position: absolute;
  right: -14px;
  bottom: 58px;
  display: grid;
  width: 180px;
  height: 180px;
  place-content: center;
  border-radius: 50%;
  background: var(--foundation-yellow);
  text-align: center;
  transform: rotate(7deg);
}

.foundation-hero-visual figcaption span {
  font-size: 13px;
  letter-spacing: .12em;
}

.foundation-hero-visual figcaption strong {
  margin-top: 7px;
  color: var(--foundation-red);
	font-size: 18px;
	line-height: 1.45;
	padding: 0 22px;
}

.foundation-seed {
  position: absolute;
  width: 13px;
  height: 34px;
  border-radius: 100% 0 100% 0;
  background: var(--foundation-red);
}

.foundation-seed-one {
  top: 13px;
  left: 13%;
  transform: rotate(-35deg);
}

.foundation-seed-two {
  top: 68px;
  left: 7%;
  transform: rotate(-68deg) scale(.65);
}

.foundation-direction-switch {
  display: flex;
  width: min(100%, 1376px);
  min-height: 74px;
  margin: 16px auto 0;
  align-items: stretch;
  border-top: 1px solid var(--foundation-line);
}

.foundation-direction-switch > span {
  display: flex;
  width: 170px;
  align-items: center;
  color: var(--foundation-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
}

.foundation-direction-switch a {
  display: flex;
  min-width: 180px;
  align-items: center;
  gap: 12px;
  border-top: 3px solid transparent;
  padding: 0 26px;
  color: var(--foundation-muted);
  font-size: 14px;
  font-weight: 700;
}

.foundation-direction-switch a b {
  font-family: var(--font-brand);
  font-size: 11px;
  font-weight: 500;
}

.foundation-direction-switch a[aria-current="page"] {
  border-color: var(--foundation-red);
  color: var(--foundation-red);
  background: rgba(255, 255, 255, .52);
}

.foundation-section {
  position: relative;
  width: min(100% - 64px, 1376px);
  margin: 0 auto;
  padding: 128px 0;
}

.foundation-section + .foundation-section {
  border-top: 1px solid var(--foundation-line);
}

.foundation-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .55fr);
  align-items: end;
  gap: 80px;
}

.foundation-section h2 {
  margin-top: 18px;
  font-size: clamp(38px, 4.2vw, 64px);
  line-height: 1.18;
  letter-spacing: -.04em;
}

.foundation-section-heading > p,
.foundation-mission-body > p,
.foundation-project-copy > p,
.foundation-trust-intro > p,
.foundation-partner-map > p {
  color: var(--foundation-muted);
  font-size: 17px;
  line-height: 1.9;
}

.foundation-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 14px;
  font-weight: 800;
}

.foundation-arrow-link span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.foundation-mission {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) minmax(280px, .55fr);
  align-items: center;
  gap: 56px;
}

.foundation-section-index {
  align-self: start;
  color: var(--foundation-muted);
  font-family: var(--font-brand);
  font-size: 11px;
  letter-spacing: .1em;
  writing-mode: vertical-rl;
}

.foundation-mission-body .foundation-arrow-link {
  margin-top: 28px;
}

.foundation-flower-mark {
  position: absolute;
  right: -6%;
  bottom: -20px;
  z-index: -1;
  width: 210px;
  height: 210px;
  opacity: .1;
  transform: rotate(9deg);
}

.foundation-flower-mark i {
  position: absolute;
  bottom: 50%;
  left: 50%;
  width: 40%;
  height: 43%;
  margin-left: -20%;
  border-radius: 52% 52% 45% 45%;
  background: var(--foundation-red);
  transform-origin: 50% 100%;
}

.foundation-flower-mark::after {
  position: absolute;
  inset: 39%;
  border-radius: 50%;
  background: var(--foundation-red);
  content: "";
}

.foundation-flower-mark i:nth-child(1) { transform: rotate(0deg); }
.foundation-flower-mark i:nth-child(2) { transform: rotate(72deg); }
.foundation-flower-mark i:nth-child(3) { transform: rotate(144deg); }
.foundation-flower-mark i:nth-child(4) { transform: rotate(216deg); }
.foundation-flower-mark i:nth-child(5) { transform: rotate(288deg); }

.foundation-story-grid {
  display: grid;
  margin-top: 64px;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 28px;
}

.foundation-story-card {
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
}

.foundation-story-card > a {
  display: block;
  overflow: hidden;
}

.foundation-story-card img {
  width: 100%;
  height: 330px;
  object-fit: cover;
  transition: transform .5s ease;
}

.foundation-story-card:first-child img {
  height: 410px;
}

.foundation-story-card:hover img {
  transform: scale(1.025);
}

.foundation-story-card > div {
  padding: 28px;
}

.foundation-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--foundation-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
}

.foundation-card-meta span {
  color: var(--foundation-red);
}

.foundation-story-card h3 {
  margin-top: 16px;
  font-size: 23px;
  line-height: 1.45;
}

.foundation-story-card > div > p:not(.foundation-card-meta) {
  margin-top: 14px;
  color: var(--foundation-muted);
  font-size: 14px;
  line-height: 1.8;
}

.foundation-card-link {
  display: inline-block;
  margin-top: 22px;
  color: var(--foundation-red) !important;
  font-size: 13px;
  font-weight: 800;
}

.foundation-project {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .8fr);
  gap: 0;
}

.foundation-project-media {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  border-radius: 36px 0 0 36px;
}

.foundation-project-media img {
  width: 100%;
  height: 100%;
  min-height: 720px;
  object-fit: cover;
}

.foundation-project-media > span {
  position: absolute;
  top: 30px;
  left: 30px;
  border-radius: 999px;
  padding: 10px 16px;
  background: var(--foundation-yellow);
  font-family: var(--font-brand);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
}

.foundation-project-copy {
  display: flex;
  padding: clamp(44px, 6vw, 88px);
  flex-direction: column;
  justify-content: center;
  border-radius: 0 36px 36px 0;
  background: var(--foundation-red);
  color: #fff;
}

.foundation-project-copy .foundation-eyebrow,
.foundation-project-copy > p {
  color: rgba(255, 255, 255, .84);
}

.foundation-project-copy h2 {
  font-size: clamp(40px, 4vw, 62px);
}

.foundation-project-copy > p {
  margin-top: 24px;
}

.foundation-project-copy ol {
  display: grid;
  margin-top: 34px;
  padding: 0;
  list-style: none;
}

.foundation-project-copy li {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 20px;
  border-top: 1px solid rgba(255, 255, 255, .28);
  padding: 18px 0;
  font-size: 14px;
  line-height: 1.7;
}

.foundation-project-copy li b {
  color: var(--foundation-yellow);
}

.foundation-project-copy .foundation-button {
  align-self: flex-start;
  margin-top: 26px;
  border-color: #fff;
  background: #fff;
  color: var(--foundation-red) !important;
}

.foundation-news-strip {
  display: grid;
  grid-column: 1 / -1;
  margin-top: 28px;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--foundation-line);
  border-radius: 20px;
  background: var(--foundation-line);
}

.foundation-news-strip a {
  display: grid;
  min-width: 0;
  min-height: 410px;
  grid-template-rows: 220px minmax(0, 1fr);
  background: var(--foundation-page);
}

.foundation-news-strip a > img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center 30%;
}

.foundation-news-strip a > div {
  display: flex;
  min-width: 0;
  padding: 25px 28px 27px;
  flex-direction: column;
}

.foundation-news-strip span {
  color: var(--foundation-red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.foundation-news-strip strong {
  margin-top: 16px;
  font-size: 21px;
  line-height: 1.4;
}

.foundation-news-strip p {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 12px;
  color: var(--foundation-muted);
  font-size: 13px;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.foundation-news-strip i {
  margin-top: auto;
  padding-top: 18px;
  color: var(--foundation-red);
  font-size: 12px;
  font-weight: 800;
  font-style: normal;
}

.foundation-impact .foundation-section-heading > p {
  align-self: end;
}

.foundation-metric-grid {
  display: grid;
  margin-top: 72px;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--foundation-ink);
  border-left: 1px solid var(--foundation-line);
}

.foundation-metric-grid article {
  min-height: 230px;
  border-right: 1px solid var(--foundation-line);
  border-bottom: 1px solid var(--foundation-line);
  padding: 36px;
}

.foundation-metric-grid strong {
  color: var(--foundation-red);
  font-family: var(--font-brand);
  font-size: clamp(42px, 4vw, 64px);
  line-height: 1;
  letter-spacing: -.04em;
}

.foundation-metric-grid strong.is-rolling {
  animation: foundation-metric-pulse .9s ease-out;
  font-variant-numeric: tabular-nums;
}

@keyframes foundation-metric-pulse {
  0% { opacity: .72; transform: translateY(4px); }
  45% { opacity: 1; transform: translateY(-2px); }
  100% { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-metric-grid strong.is-rolling { animation: none; }
}

.foundation-metric-grid h3 {
  margin-top: 28px;
  font-size: 17px;
}

.foundation-metric-grid p {
  margin-top: 8px;
  color: var(--foundation-muted);
  font-size: 13px;
}

.foundation-donation-snapshot {
  margin-top: clamp(42px, 7vw, 96px);
  background: #8f1d22;
  color: #fff;
}

.foundation-donation-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
}

.foundation-donation-heading .foundation-eyebrow,
.foundation-donation-heading > div > p:last-child {
  color: rgba(255, 255, 255, .72);
}

.foundation-donation-heading h2 {
  max-width: 760px;
  margin-top: 10px;
  font-family: var(--font-brand);
  font-size: clamp(36px, 5vw, 68px);
  line-height: 1.08;
}

.foundation-donation-heading > div > p:last-child {
  margin-top: 16px;
}

.foundation-donation-heading .foundation-button {
  flex: 0 0 auto;
  background: #fff;
  color: #8f1d22;
}

.foundation-donation-totals {
  display: grid;
  margin-top: 58px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, .34);
  border-left: 1px solid rgba(255, 255, 255, .2);
}

.foundation-donation-totals article {
  min-height: 190px;
  padding: 30px;
  border-right: 1px solid rgba(255, 255, 255, .2);
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.foundation-donation-totals span,
.foundation-donation-totals small {
  display: block;
  color: rgba(255, 255, 255, .7);
}

.foundation-donation-totals strong {
  display: block;
  margin-top: 24px;
  font-family: var(--font-brand);
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: 1;
}

.foundation-donation-totals small {
  margin-top: 14px;
  font-size: 12px;
}

.foundation-donation-latest {
  margin-top: 66px;
}

.foundation-donation-latest-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .34);
}

.foundation-donation-latest-head h3 {
  font-size: 24px;
}

.foundation-donation-latest-head p {
  color: rgba(255, 255, 255, .65);
  font-size: 13px;
}

.foundation-donation-record-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.foundation-donation-record-grid > article {
  min-height: 168px;
  padding: 24px;
  border-right: 1px solid rgba(255, 255, 255, .18);
  border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.foundation-donation-record-grid header,
.foundation-donation-record-grid article > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

.foundation-donation-record-grid time,
.foundation-donation-record-grid span,
.foundation-donation-record-grid p {
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
}

.foundation-donation-record-grid article > div {
  margin-top: 24px;
}

.foundation-donation-record-grid b {
  font-size: 18px;
}

.foundation-donation-record-grid p {
  margin-top: 16px;
  line-height: 1.7;
}

.foundation-action-grid {
  display: grid;
  margin-top: 64px;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}

.foundation-action-card {
  position: relative;
  display: flex;
  min-height: 310px;
  padding: 32px;
  flex-direction: column;
  grid-column: span 4;
  border: 1px solid var(--foundation-line);
  border-radius: 26px;
  transition: transform .2s ease;
}

.foundation-action-card:hover {
  transform: translateY(-5px);
}

.foundation-action-card:nth-child(4),
.foundation-action-card:nth-child(5) {
  grid-column: span 6;
}

.foundation-action-card > span {
  font-family: var(--font-brand);
  font-size: 12px;
}

.foundation-action-card h3 {
  margin-top: 54px;
  font-size: 30px;
}

.foundation-action-card p {
  max-width: 320px;
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.75;
}

.foundation-action-card b {
  margin-top: auto;
  padding-top: 30px;
  font-size: 13px;
}

.foundation-action-card.tone-red { background: var(--foundation-red); color: #fff; }
.foundation-action-card.tone-yellow { background: var(--foundation-yellow); }
.foundation-action-card.tone-green { background: var(--foundation-green); }
.foundation-action-card.tone-cream { background: var(--foundation-cream); }
.foundation-action-card.tone-white { background: #fff; }

.foundation-trust {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(440px, 1fr);
  gap: clamp(60px, 9vw, 140px);
}

.foundation-trust-intro > p {
  margin-top: 24px;
}

.foundation-trust-intro .foundation-button {
  margin-top: 34px;
}

.foundation-honor-list {
  border-top: 2px solid var(--foundation-ink);
}

.foundation-honor-list a {
  display: grid;
  min-height: 150px;
  grid-template-columns: 105px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--foundation-line);
}

.foundation-honor-list a > span {
  color: var(--foundation-red);
  font-family: var(--font-brand);
  font-size: 15px;
}

.foundation-honor-list h3 {
  font-size: 20px;
}

.foundation-honor-list p {
  margin-top: 10px;
  color: var(--foundation-muted);
  font-size: 13px;
  line-height: 1.6;
}

.foundation-honor-list b {
  font-size: 18px;
}

.foundation-partners {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(380px, .8fr);
  gap: 70px;
}

.foundation-partner-map {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  border-radius: 32px;
  padding: 64px;
  background: var(--foundation-green);
}

.foundation-partner-map::before,
.foundation-partner-map::after {
  position: absolute;
  border: 2px solid rgba(23, 23, 23, .22);
  border-radius: 45% 55% 56% 44% / 58% 43% 57% 42%;
  content: "";
}

.foundation-partner-map::before {
  right: -8%;
  bottom: -18%;
  width: 72%;
  height: 72%;
  transform: rotate(-17deg);
}

.foundation-partner-map::after {
  right: 6%;
  bottom: -5%;
  width: 55%;
  height: 55%;
  transform: rotate(12deg);
}

.foundation-partner-map h2 {
  max-width: 620px;
}

.foundation-partner-map > p {
  max-width: 560px;
  margin-top: 22px;
  color: rgba(23, 23, 23, .72);
}

.foundation-map-points {
  position: relative;
  z-index: 2;
  display: flex;
  margin-top: 48px;
  max-width: 660px;
  flex-wrap: wrap;
  gap: 10px;
}

.foundation-map-points span {
  border: 1px solid rgba(23, 23, 23, .25);
  border-radius: 999px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, .54);
  font-size: 12px;
  font-weight: 700;
}

.foundation-partner-list {
  display: grid;
  align-content: center;
  gap: 1px;
  background: var(--foundation-line);
}

.foundation-partner-list article {
  display: grid;
  min-height: 112px;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 24px;
  background: var(--foundation-page);
}

.foundation-partner-list article > span {
  width: 24px;
  height: 24px;
  border: 6px solid var(--foundation-red);
  border-radius: 50% 50% 50% 3px;
  transform: rotate(45deg);
}

.foundation-partner-list h3 {
  font-size: 17px;
}

.foundation-partner-list p {
  color: var(--foundation-muted);
  font-size: 12px;
}

.foundation-footer {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(320px, .75fr) minmax(600px, 1.25fr);
  background: var(--foundation-ink);
  color: #fff;
}

.foundation-footer-lead {
  display: flex;
  min-height: 470px;
  padding: clamp(50px, 6vw, 92px);
  flex-direction: column;
  align-items: flex-start;
  background: var(--foundation-red);
}

.foundation-footer-lead img {
  width: 260px;
  height: 70px;
  object-fit: contain;
  object-position: left center;
}

.foundation-footer-lead p {
  margin-top: 62px;
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 800;
  line-height: 1.32;
}

.foundation-footer-lead .foundation-button {
  margin-top: auto;
  border-color: #fff;
  background: #fff;
  color: var(--foundation-red) !important;
}

.foundation-footer-contact {
  display: grid;
  min-height: 390px;
  padding: clamp(50px, 6vw, 92px);
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 48px;
}

.foundation-footer-contact > div {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.foundation-footer-contact span {
  margin-bottom: 16px;
  color: rgba(255, 255, 255, .5);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
}

.foundation-footer-contact a,
.foundation-footer-contact p {
  color: rgba(255, 255, 255, .86);
  font-size: 13px;
  line-height: 1.8;
}

.foundation-footer-bottom {
  display: flex;
  grid-column: 2;
  min-height: 80px;
  margin: 0 clamp(50px, 6vw, 92px);
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .5);
  font-size: 12px;
}

.foundation-footer-bottom > div { min-width: 0; }
.foundation-footer-bottom > div > p { margin: 0 0 9px; }
.site-compliance { display: flex; flex-wrap: wrap; gap: 7px 18px; color: rgba(255, 255, 255, .58); font-size: 11px; line-height: 1.65; }
.site-compliance-organization,
.site-compliance-records { display: flex; flex-wrap: wrap; gap: 5px 14px; }
.site-compliance a { color: inherit; text-decoration: none; }
.site-compliance a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Foundation-wide public navigation and service surfaces */
.foundation-public-header {
  position: relative;
  z-index: 80;
  min-height: 82px;
  border-bottom: 1px solid rgba(23, 23, 23, .13);
  background: rgba(255, 255, 255, .96);
  color: #171717;
  font-family: var(--font-brand);
  backdrop-filter: blur(16px);
}

.foundation-public-header *,
.foundation-service-portal *,
.foundation-content-center * {
  box-sizing: border-box;
}

.foundation-public-header-inner {
  display: flex;
  width: min(100% - 56px, 1376px);
  min-height: 82px;
  margin: 0 auto;
  align-items: center;
  gap: 30px;
}

.foundation-public-brand {
  flex: 0 0 auto;
  width: 238px;
}

.foundation-public-brand img {
  display: block;
  width: 100%;
  height: 60px;
  object-fit: contain;
  object-position: left center;
}

.foundation-public-nav {
  display: flex;
  min-height: 82px;
  margin-left: auto;
  align-items: center;
  gap: clamp(16px, 1.8vw, 30px);
}

.foundation-public-nav a {
  color: #171717;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.foundation-public-nav a:hover {
  color: #ea1034;
}

.foundation-public-user {
  display: inline-grid;
  min-height: 42px;
  place-items: center;
  border: 1px solid #ea1034;
  border-radius: 999px;
  padding: 0 19px;
  color: #ea1034;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.foundation-public-mobile-menu {
  display: none;
}

/* The top-level 专项基金 topic adds one more primary destination. Keep the
   complete desktop navigation readable on common 1280–1440px screens. */
@media (max-width: 1320px) and (min-width: 821px) {
  .foundation-public-header-inner {
    width: calc(100% - 32px);
    gap: 16px;
  }

  .foundation-public-brand {
    width: 208px;
  }

  .foundation-public-nav {
    gap: 12px;
  }

  .foundation-public-nav a {
    font-size: 12px;
  }

  .foundation-public-user {
    padding: 0 14px;
  }
}

.topbar .foundation-nav-brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.topbar .foundation-nav-brand img {
  width: 42px;
  height: 42px;
  object-fit: cover;
  object-position: left center;
}

.foundation-service-portal,
.foundation-content-center {
  --fs-red: #ea1034;
  --fs-yellow: #ffce37;
  --fs-green: #aaf7a9;
  --fs-cream: #fff4d7;
  --fs-ink: #171717;
  --fs-muted: #68645e;
  margin: 0;
  overflow-x: hidden;
  background: #fffaf0;
  color: var(--fs-ink);
  font-family: var(--font-brand);
}

.foundation-service-portal a,
.foundation-content-center a {
  color: inherit;
  text-decoration: none;
}

.foundation-service-portal h1,
.foundation-service-portal h2,
.foundation-service-portal h3,
.foundation-service-portal p,
.foundation-service-portal figure,
.foundation-service-portal dl,
.foundation-service-portal dd,
.foundation-content-center h1,
.foundation-content-center h2,
.foundation-content-center h3,
.foundation-content-center p {
  margin: 0;
}

.foundation-service-hero {
  display: grid;
  width: min(100% - 64px, 1376px);
  min-height: 680px;
  margin: 0 auto;
  padding: 64px 0;
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr);
  align-items: center;
  gap: 70px;
}

.foundation-service-hero-copy > p,
.foundation-service-section > header p,
.foundation-service-activity-copy > p,
.foundation-content-hubs > header p,
.foundation-content-latest > header p {
  color: var(--fs-red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
}

.foundation-service-hero h1 {
  margin-top: 24px;
  font-size: clamp(58px, 5.4vw, 82px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.foundation-service-hero h1 em {
  color: var(--fs-red);
  font-style: normal;
}

.foundation-service-hero-copy > span {
  display: block;
  max-width: 610px;
  margin-top: 28px;
  color: var(--fs-muted);
  font-size: 17px;
  line-height: 1.9;
}

.foundation-service-hero-copy > div {
  display: flex;
  margin-top: 36px;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
}

.foundation-service-hero-copy > div a {
  font-size: 14px;
  font-weight: 800;
}

.foundation-service-primary {
  display: inline-grid;
  min-height: 52px;
  place-items: center;
  border-radius: 999px;
  padding: 0 28px;
  background: var(--fs-red);
  color: #fff !important;
}

.foundation-service-hero figure {
  position: relative;
  height: 540px;
  overflow: hidden;
  border-radius: 34px;
  background: var(--fs-yellow);
}

.foundation-service-hero figure::before {
  position: absolute;
  top: -70px;
  right: -45px;
  z-index: 1;
  width: 180px;
  height: 180px;
  border: 34px solid var(--fs-green);
  border-radius: 50%;
  content: "";
}

.foundation-service-hero figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.foundation-service-hero figcaption {
  position: absolute;
  right: 28px;
  bottom: 28px;
  display: grid;
  max-width: 260px;
  border-radius: 18px;
  padding: 20px 24px;
  background: var(--fs-yellow);
}

.foundation-service-hero figcaption b {
  color: var(--fs-red);
  font-size: 22px;
}

.foundation-service-hero figcaption span {
  margin-top: 5px;
  font-size: 13px;
}

.foundation-service-section {
  width: min(100% - 64px, 1376px);
  margin: 0 auto;
  border-top: 1px solid rgba(23, 23, 23, .15);
  padding: 118px 0;
}

.foundation-service-section > header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 60px;
}

.foundation-service-section > header h2,
.foundation-service-activity-copy h2,
.foundation-content-hubs h2,
.foundation-content-latest h2 {
  margin-top: 16px;
  font-size: clamp(38px, 4.4vw, 64px);
  line-height: 1.13;
  letter-spacing: -.04em;
}

.foundation-service-section > header > span,
.foundation-service-activity-copy > span {
  color: var(--fs-muted);
  font-size: 16px;
  line-height: 1.8;
}

.foundation-service-grid {
  display: grid;
  margin-top: 60px;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.foundation-service-grid > a {
  display: flex;
  min-height: 310px;
  border: 1px solid rgba(23, 23, 23, .16);
  border-radius: 24px;
  padding: 30px;
  flex-direction: column;
  background: #fff;
  transition: transform .2s ease;
}

.foundation-service-grid > a:hover {
  transform: translateY(-5px);
}

.foundation-service-grid > a.is-red { background: var(--fs-red); color: #fff; }
.foundation-service-grid > a.is-yellow { background: var(--fs-yellow); }
.foundation-service-grid > a.is-green { background: var(--fs-green); }

.foundation-service-grid small {
  font-family: ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .08em;
}

.foundation-service-grid h3 {
  margin-top: 45px;
  font-size: 30px;
}

.foundation-service-grid p {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.75;
}

.foundation-service-grid b {
  margin-top: auto;
  padding-top: 28px;
  font-size: 13px;
}

.foundation-service-activity {
  display: grid;
  grid-template-columns: minmax(330px, .7fr) minmax(0, 1.3fr);
  gap: 70px;
}

.foundation-service-activity-copy > span {
  display: block;
  margin-top: 25px;
}

.foundation-service-activity-copy > a {
  display: inline-block;
  margin-top: 32px;
  color: var(--fs-red);
  font-size: 14px;
  font-weight: 800;
}

.foundation-service-activity > article {
  display: grid;
  overflow: hidden;
  grid-template-columns: 1fr 1fr;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(23, 23, 23, .08);
}

.foundation-service-activity-cover {
  position: relative;
  min-height: 430px;
  background: var(--fs-yellow) url("/static/img/foundation-hands.webp") center / cover no-repeat;
}

.foundation-service-activity-cover span {
  position: absolute;
  top: 22px;
  left: 22px;
  border-radius: 999px;
  padding: 8px 14px;
  background: var(--fs-red);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.foundation-service-activity > article > div {
  display: flex;
  padding: 42px;
  flex-direction: column;
  justify-content: center;
}

.foundation-service-activity article small {
  color: var(--fs-red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
}

.foundation-service-activity article h3 {
  margin-top: 14px;
  font-size: 28px;
  line-height: 1.4;
}

.foundation-service-activity article p {
  margin-top: 16px;
  color: var(--fs-muted);
  font-size: 14px;
  line-height: 1.75;
}

.foundation-service-activity article dl {
  display: grid;
  margin-top: 20px;
  gap: 8px;
}

.foundation-service-activity article dl div {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 10px;
  font-size: 12px;
}

.foundation-service-activity article dt { color: var(--fs-muted); }

.foundation-service-activity article div > a {
  margin-top: 26px;
  color: var(--fs-red);
  font-size: 13px;
  font-weight: 800;
}

.foundation-service-activity-empty > img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
}

.foundation-service-impact {
  display: grid;
  min-height: 520px;
  padding: 100px max(32px, calc((100% - 1376px) / 2));
  grid-template-columns: .7fr 1.3fr;
  align-items: end;
  gap: 30px 70px;
  background: var(--fs-red);
  color: #fff;
}

.foundation-service-impact > p {
  align-self: start;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
}

.foundation-service-impact h2 {
  align-self: start;
  font-size: clamp(42px, 5vw, 74px);
  line-height: 1.08;
}

.foundation-service-impact dl {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .45);
}

.foundation-service-impact dl div {
  padding: 30px 20px 0 0;
}

.foundation-service-impact dt {
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 800;
}

.foundation-service-impact dd {
  margin-top: 8px;
  color: rgba(255, 255, 255, .75);
  font-size: 13px;
}

.foundation-service-impact > a {
  grid-column: 2;
  font-size: 14px;
  font-weight: 800;
}

.foundation-service-footer {
  display: flex;
  min-height: 130px;
  padding: 30px max(32px, calc((100% - 1376px) / 2));
  align-items: center;
  gap: 34px;
  background: #171717;
  color: #fff;
}

.foundation-service-footer img {
  width: 240px;
  height: 62px;
  object-fit: contain;
  object-position: left center;
}

.foundation-service-footer p {
  color: rgba(255, 255, 255, .58);
  font-size: 13px;
}

.foundation-service-footer nav {
  display: flex;
  margin-left: auto;
  gap: 26px;
  font-size: 13px;
  font-weight: 700;
}

.foundation-service-mobile-nav { display: none; }

.foundation-service-application {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: 80px;
  align-items: start;
}

.foundation-service-application-intro {
  position: sticky;
  top: 110px;
}

.foundation-service-application-intro > p {
  color: var(--fs-red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
}

.foundation-service-application-intro h2 {
  margin-top: 16px;
  font-size: clamp(38px, 4.4vw, 64px);
  line-height: 1.13;
  letter-spacing: -.04em;
}

.foundation-service-application-intro > span {
  display: block;
  margin-top: 24px;
  color: var(--fs-muted);
  font-size: 16px;
  line-height: 1.85;
}

.foundation-service-application-intro ol {
  display: grid;
  margin: 42px 0 0;
  padding: 0;
  list-style: none;
}

.foundation-service-application-intro li {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 14px;
  border-top: 1px solid rgba(23, 23, 23, .14);
  padding: 18px 0;
  font-size: 14px;
}

.foundation-service-application-intro li b { color: var(--fs-red); font-family: ui-monospace, monospace; font-size: 12px; }

.foundation-service-application-card {
  border-radius: 28px;
  padding: 42px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(23, 23, 23, .08);
}

.foundation-service-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 18px;
}

.foundation-service-form-grid label { display: grid; gap: 9px; }
.foundation-service-form-grid label.is-wide { grid-column: 1 / -1; }
.foundation-service-form-grid label > span { color: #252525; font-size: 13px; font-weight: 800; }
.foundation-service-form-grid label > span em { margin-left: 8px; color: var(--fs-red); font-size: 11px; font-style: normal; }
.foundation-service-form-grid label > span small { margin-left: 8px; color: #9a9a9a; font-size: 11px; font-weight: 500; }

.foundation-service-form-grid input,
.foundation-service-form-grid select,
.foundation-service-form-grid textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(23, 23, 23, .18);
  border-radius: 12px;
  padding: 13px 15px;
  background: #fbfbf9;
  color: #171717;
  font: inherit;
  outline: none;
}

.foundation-service-form-grid textarea { min-height: 130px; resize: vertical; }
.foundation-service-form-grid input:focus,
.foundation-service-form-grid select:focus,
.foundation-service-form-grid textarea:focus { border-color: var(--fs-red); box-shadow: 0 0 0 3px rgba(225, 55, 47, .09); }
.foundation-service-field-help { color: var(--fs-muted); font-size: 11px; line-height: 1.5; }
.foundation-service-form-privacy { margin-top: 24px !important; color: var(--fs-muted); font-size: 11px; line-height: 1.6; }

.foundation-service-application-form > button {
  display: flex;
  width: 100%;
  min-height: 58px;
  margin-top: 18px;
  border: 0;
  border-radius: 999px;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: var(--fs-red);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}

.foundation-service-form-error,
.foundation-service-form-message {
  border-radius: 16px;
  padding: 18px 20px;
  background: rgba(225, 55, 47, .09);
  color: #8e241f;
}

.foundation-service-form-error { margin-bottom: 22px; font-size: 13px; font-weight: 800; }
.foundation-service-form-message { display: grid; min-height: 280px; align-content: center; gap: 15px; }
.foundation-service-form-message.success { background: rgba(78, 203, 113, .12); color: #185b2e; }
.foundation-service-form-message strong { font-size: 30px; }
.foundation-service-form-message p { color: currentColor; font-size: 15px; line-height: 1.8; }
.foundation-service-form-message a { font-size: 13px; font-weight: 800; }

.foundation-content-center {
  background: #fff;
}

.foundation-content-center main {
  width: 100%;
}

.foundation-content-hero {
  display: grid;
  width: min(100% - 64px, 1376px);
  min-height: 640px;
  margin: 0 auto;
  padding: 56px 0;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}

.foundation-content-hero > div {
  display: flex;
  padding: 64px 70px 64px 0;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid var(--fs-ink);
  border-bottom: 1px solid var(--fs-ink);
}

.foundation-content-hero > div > p {
  color: var(--fs-red);
  font-family: ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .12em;
}

.foundation-content-hero h1 {
  margin-top: 26px;
  font-size: clamp(54px, 5.2vw, 78px);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.foundation-content-hero h1 em {
  color: var(--fs-red);
  font-style: normal;
}

.foundation-content-hero > div > span {
  max-width: 560px;
  margin-top: 25px;
  color: var(--fs-muted);
  font-size: 16px;
  line-height: 1.8;
}

.foundation-content-hero > div > a {
  margin-top: 35px;
  color: var(--fs-red);
  font-size: 14px;
  font-weight: 800;
}

.foundation-content-hero > img {
  width: 100%;
  height: 100%;
  min-height: 528px;
  border-top: 1px solid var(--fs-ink);
  border-bottom: 1px solid var(--fs-ink);
  object-fit: cover;
}

.foundation-content-hubs,
.foundation-content-latest {
  width: min(100% - 64px, 1376px);
  margin: 0 auto;
  padding: 110px 0;
}

.foundation-content-hubs > header,
.foundation-content-latest > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.foundation-content-hubs > div {
  display: grid;
  margin-top: 56px;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.foundation-content-hubs > div > a {
  display: flex;
  min-height: 300px;
  border: 1px solid rgba(23, 23, 23, .16);
  border-radius: 22px;
  padding: 28px;
  flex-direction: column;
  background: #fff;
}

.foundation-content-hubs > div > a.is-red { background: var(--fs-red); color: #fff; }
.foundation-content-hubs > div > a.is-yellow { background: var(--fs-yellow); }
.foundation-content-hubs > div > a.is-green { background: var(--fs-green); }

.foundation-content-hubs small { font-family: ui-monospace, monospace; font-size: 12px; }
.foundation-content-hubs h3 { margin-top: 42px; font-size: 28px; }
.foundation-content-hubs a p { margin-top: 14px; font-size: 14px; line-height: 1.7; }
.foundation-content-hubs a b { margin-top: auto; padding-top: 25px; font-size: 13px; }

.foundation-content-latest {
  border-top: 1px solid rgba(23, 23, 23, .15);
}

.foundation-content-latest > header > a {
  color: var(--fs-red);
  font-size: 14px;
  font-weight: 800;
}

.foundation-content-latest > div {
  display: grid;
  margin-top: 55px;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.foundation-content-latest article {
  overflow: hidden;
  border: 1px solid rgba(23, 23, 23, .14);
  border-radius: 22px;
}

.foundation-content-latest article img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}

.foundation-content-latest article span {
  display: block;
  padding: 25px;
}

.foundation-content-latest time {
  color: var(--fs-red);
  font-size: 11px;
  font-weight: 800;
}

.foundation-content-latest h3 {
  margin-top: 12px;
  font-size: 21px;
  line-height: 1.45;
}

.foundation-content-latest article p {
  margin-top: 12px;
  color: var(--fs-muted);
  font-size: 13px;
  line-height: 1.7;
}

.foundation-content-latest article b {
  display: block;
  margin-top: 20px;
  color: var(--fs-red);
  font-size: 12px;
}

.foundation-content-disclosure {
  display: grid;
  min-height: 480px;
  padding: 90px max(32px, calc((100% - 1376px) / 2));
  grid-template-columns: .7fr 1fr auto;
  align-items: center;
  gap: 50px;
  background: var(--fs-cream);
}

.foundation-content-disclosure > p {
  color: var(--fs-red);
  font-size: 13px;
  font-weight: 800;
}

.foundation-content-disclosure h2 {
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.12;
}

.foundation-content-disclosure a {
  display: inline-grid;
  min-height: 52px;
  place-items: center;
  border-radius: 999px;
  padding: 0 26px;
  background: var(--fs-red);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}

@media (max-width: 1080px) {
  .foundation-public-nav { gap: 13px; }
  .foundation-public-nav a { font-size: 12px; }
  .foundation-public-brand { width: 205px; }
  .foundation-service-hero { grid-template-columns: .9fr 1.1fr; gap: 35px; }
  .foundation-service-grid { grid-template-columns: repeat(2, 1fr); }
  .foundation-content-hubs > div { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .foundation-public-header {
    position: sticky;
    top: 0;
    min-height: 66px;
  }

  .foundation-public-header-inner {
    width: calc(100% - 30px);
    min-height: 66px;
  }

  .foundation-public-brand { width: 188px; }
  .foundation-public-brand img { height: 50px; }
  .foundation-public-nav,
  .foundation-public-user { display: none; }

  .foundation-public-mobile-menu {
    position: static;
    display: block;
    margin-left: auto;
  }

  .foundation-public-mobile-menu summary {
    display: grid;
    width: 42px;
    height: 42px;
    place-content: center;
    gap: 5px;
    border: 1px solid rgba(23, 23, 23, .18);
    border-radius: 50%;
    list-style: none;
  }

  .foundation-public-mobile-menu summary::-webkit-details-marker { display: none; }
  .foundation-public-mobile-menu summary span { width: 17px; height: 2px; background: #171717; }

  .foundation-public-mobile-menu nav {
    position: absolute;
    top: 66px;
    right: 0;
    left: 0;
    display: grid;
    padding: 15px 20px 28px;
    background: #fff;
    box-shadow: 0 20px 40px rgba(23, 23, 23, .13);
  }

  .foundation-public-mobile-menu nav a {
    border-bottom: 1px solid rgba(23, 23, 23, .12);
    padding: 15px 4px;
    color: #171717;
    font-size: 15px;
    font-weight: 700;
  }

  .topbar .foundation-nav-brand img { width: 36px; height: 36px; }

  .foundation-service-portal { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }

  .foundation-service-hero,
  .foundation-content-hero {
    width: calc(100% - 34px);
    min-height: auto;
    padding: 42px 0 64px;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .foundation-service-hero h1,
  .foundation-content-hero h1 {
    font-size: clamp(42px, 12vw, 56px);
  }

  .foundation-service-hero-copy > span { font-size: 15px; }
  .foundation-service-hero figure { height: 390px; border-radius: 24px; }
  .foundation-service-hero figcaption { right: 16px; bottom: 16px; }

  .foundation-service-section,
  .foundation-content-hubs,
  .foundation-content-latest {
    width: calc(100% - 34px);
    padding: 76px 0;
  }

  .foundation-service-section > header,
  .foundation-service-activity,
  .foundation-service-application {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .foundation-service-application-intro { position: static; }
  .foundation-service-application-card { padding: 26px 20px; border-radius: 22px; }
  .foundation-service-form-grid { grid-template-columns: 1fr; }
  .foundation-service-form-grid label.is-wide { grid-column: auto; }

  .foundation-service-section > header h2,
  .foundation-service-activity-copy h2,
  .foundation-content-hubs h2,
  .foundation-content-latest h2 {
    font-size: 38px;
  }

  .foundation-service-grid,
  .foundation-content-hubs > div,
  .foundation-content-latest > div {
    margin-top: 40px;
    grid-template-columns: 1fr;
  }

  .foundation-service-grid > a { min-height: 250px; }

  .foundation-service-activity > article { grid-template-columns: 1fr; }
  .foundation-service-activity-cover,
  .foundation-service-activity-empty > img { min-height: 330px; }
  .foundation-service-activity > article > div { padding: 30px 25px; }

  .foundation-service-impact {
    min-height: 570px;
    padding: 74px 20px;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 24px;
  }

  .foundation-service-impact dl { grid-template-columns: repeat(2, 1fr); }
  .foundation-service-impact > a { grid-column: 1; }

  .foundation-service-footer {
    padding: 40px 22px;
    flex-direction: column;
    align-items: flex-start;
  }

  .foundation-service-footer nav { margin-left: 0; flex-wrap: wrap; }

  .foundation-service-mobile-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 90;
    display: grid;
    min-height: calc(68px + env(safe-area-inset-bottom));
    grid-template-columns: repeat(5, 1fr);
    padding-bottom: env(safe-area-inset-bottom);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 -8px 30px rgba(23, 23, 23, .12);
  }

  .foundation-service-mobile-nav a {
    display: grid;
    place-items: center;
    color: #5e5b56;
    font-size: 12px;
    font-weight: 700;
  }

  .foundation-service-mobile-nav a.is-primary { color: var(--fs-red); }

  .foundation-content-hero > div {
    padding: 30px 0 38px;
  }

  .foundation-content-hero > img {
    min-height: 390px;
    border: 0;
  }

  .foundation-content-latest article img { height: 250px; }

  .foundation-content-disclosure {
    min-height: 520px;
    padding: 74px 20px;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .foundation-content-disclosure a { justify-self: start; }
}

/* Direction 02: energetic civic participation */
.foundation-direction-action {
  --foundation-page: #fffdf5;
}

.foundation-direction-action .foundation-header {
  background: rgba(255, 253, 245, .95);
}

.foundation-direction-action .foundation-hero {
  background: var(--foundation-yellow);
}

.foundation-direction-action .foundation-hero-grid {
  grid-template-columns: minmax(450px, .86fr) minmax(0, 1.14fr);
}

.foundation-direction-action .foundation-hero-copy h1 {
  font-size: clamp(54px, 5.5vw, 84px);
  line-height: 1.05;
}

.foundation-direction-action .foundation-hero-copy h1 em {
  color: var(--foundation-ink);
  text-decoration: underline;
  text-decoration-color: var(--foundation-red);
  text-decoration-thickness: .1em;
  text-underline-offset: .14em;
}

.foundation-direction-action .foundation-hero-visual {
  height: 590px;
}

.foundation-direction-action .foundation-hero-visual > img {
  border: 12px solid #fff;
  border-radius: 32px;
  object-position: center;
  transform: rotate(1.5deg);
}

.foundation-direction-action .foundation-hero-visual::before {
  top: -25px;
  right: -32px;
  width: 190px;
  height: 190px;
  background: var(--foundation-green);
}

.foundation-direction-action .foundation-hero-visual::after {
  bottom: -22px;
  left: -32px;
  width: 160px;
  height: 160px;
}

.foundation-direction-action .foundation-hero-visual figcaption {
  right: 28px;
  bottom: 28px;
  width: 170px;
  height: 90px;
  border-radius: 12px;
  background: var(--foundation-red);
  color: #fff;
  transform: rotate(-3deg);
}

.foundation-direction-action .foundation-hero-visual figcaption strong {
  color: var(--foundation-yellow);
}

.foundation-direction-action .foundation-direction-switch {
  border-color: rgba(23, 23, 23, .3);
}

.foundation-direction-action .foundation-direction-switch a[aria-current="page"] {
  background: var(--foundation-green);
  color: var(--foundation-ink);
  border-color: var(--foundation-ink);
}

.foundation-direction-action .foundation-participate {
  padding-top: 108px;
}

.foundation-direction-action .foundation-action-card {
  min-height: 330px;
  border: 2px solid var(--foundation-ink);
  border-radius: 8px;
  box-shadow: 8px 8px 0 var(--foundation-ink);
}

.foundation-direction-action .foundation-action-card:hover {
  transform: translate(4px, 4px);
  box-shadow: 4px 4px 0 var(--foundation-ink);
}

.foundation-direction-action .foundation-project-copy {
  background: var(--foundation-green);
  color: var(--foundation-ink);
}

.foundation-direction-action .foundation-project-copy .foundation-eyebrow,
.foundation-direction-action .foundation-project-copy > p {
  color: rgba(23, 23, 23, .72);
}

.foundation-direction-action .foundation-project-copy li {
  border-color: rgba(23, 23, 23, .2);
}

.foundation-direction-action .foundation-project-copy li b {
  color: var(--foundation-red);
}

.foundation-direction-action .foundation-project-copy .foundation-button {
  border-color: var(--foundation-ink);
  background: var(--foundation-ink);
  color: #fff !important;
}

/* Direction 03: editorial, evidence-led trust */
.foundation-direction-trust {
  --foundation-page: #fff;
  --foundation-line: rgba(20, 20, 20, .18);
}

.foundation-direction-trust .foundation-header {
  background: rgba(255, 255, 255, .95);
}

.foundation-direction-trust .foundation-hero {
  padding-top: 36px;
}

.foundation-direction-trust .foundation-hero-grid {
  min-height: 620px;
  grid-template-columns: 1.05fr .95fr;
  border-top: 1px solid var(--foundation-ink);
  border-bottom: 1px solid var(--foundation-ink);
  gap: 0;
}

.foundation-direction-trust .foundation-hero-copy {
  height: 100%;
  padding: 76px 72px 48px 0;
}

.foundation-direction-trust .foundation-hero-copy h1 {
  font-size: clamp(54px, 5.2vw, 78px);
  line-height: 1.06;
}

.foundation-direction-trust .foundation-hero-visual {
  height: 620px;
  border-left: 1px solid var(--foundation-ink);
  padding: 24px 0 24px 24px;
}

.foundation-direction-trust .foundation-hero-visual > img {
  border-radius: 0;
  filter: saturate(.62) contrast(1.05);
}

.foundation-direction-trust .foundation-hero-visual::before,
.foundation-direction-trust .foundation-hero-visual::after,
.foundation-direction-trust .foundation-hero-visual figcaption,
.foundation-direction-trust .foundation-seed {
  display: none;
}

.foundation-hero-proof {
  display: grid;
  margin-top: 44px;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--foundation-ink);
}

.foundation-hero-proof div {
  padding: 20px 12px 0 0;
}

.foundation-hero-proof dt {
  color: var(--foundation-red);
  font-family: var(--font-brand);
  font-size: 32px;
  font-weight: 700;
}

.foundation-hero-proof dd {
  margin-top: 5px;
  color: var(--foundation-muted);
  font-size: 12px;
}

.foundation-direction-trust .foundation-direction-switch {
  margin-top: 0;
}

.foundation-direction-trust .foundation-direction-switch a[aria-current="page"] {
  background: var(--foundation-ink);
  color: #fff;
  border-color: var(--foundation-red);
}

.foundation-direction-trust .foundation-trust {
  width: 100%;
  padding: 120px max(32px, calc((100% - 1376px) / 2));
  background: #f4f4f2;
}

.foundation-direction-trust .foundation-metric-grid article {
  min-height: 250px;
}

.foundation-direction-trust .foundation-project-media,
.foundation-direction-trust .foundation-project-copy {
  border-radius: 0;
}

.foundation-direction-trust .foundation-project-copy {
  background: var(--foundation-ink);
}

.foundation-direction-trust .foundation-story-card {
  border: 1px solid var(--foundation-line);
  border-radius: 0;
}

@media (min-width: 821px) {
  .foundation-direction-story .foundation-hero-copy h1,
  .foundation-direction-action .foundation-hero-copy h1 {
    font-size: clamp(50px, 4vw, 60px);
  }
}

@media (max-width: 1120px) {
  .foundation-nav {
    gap: 16px;
  }

  .foundation-header-actions .foundation-text-link {
    display: none;
  }

  .foundation-brand {
    width: 215px;
  }

  .foundation-hero-grid,
  .foundation-direction-action .foundation-hero-grid {
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    gap: 40px;
  }

  .foundation-story-grid {
    grid-template-columns: 1fr 1fr;
  }

  .foundation-story-card:first-child {
    grid-column: 1 / -1;
  }

  .foundation-story-card:first-child {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
  }

  .foundation-story-card:first-child img {
    height: 100%;
    min-height: 390px;
  }
}

@media (max-width: 820px) {
  .foundation-header {
    position: sticky;
    top: 0;
    min-height: 66px;
  }

  .foundation-header-inner {
    width: calc(100% - 32px);
    min-height: 66px;
  }

  .foundation-brand {
    width: 190px;
  }

  .foundation-brand img {
    height: 52px;
  }

  .foundation-nav,
  .foundation-header-actions {
    display: none;
  }

  .foundation-mobile-menu {
    position: static;
    display: block;
    margin-left: auto;
  }

  .foundation-mobile-menu summary {
    display: grid;
    width: 44px;
    height: 44px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--foundation-line);
    border-radius: 50%;
    list-style: none;
    cursor: pointer;
  }

  .foundation-mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  .foundation-mobile-menu summary span {
    width: 18px;
    height: 2px;
    background: currentColor;
    transition: transform .2s ease;
  }

  .foundation-mobile-menu[open] summary span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .foundation-mobile-menu[open] summary span:nth-child(2) { opacity: 0; }
  .foundation-mobile-menu[open] summary span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .foundation-mobile-menu nav {
    position: absolute;
    top: 66px;
    right: 0;
    left: 0;
    display: grid;
    max-height: calc(100vh - 66px);
    overflow-y: auto;
    border-top: 1px solid var(--foundation-line);
    padding: 18px 20px 30px;
    background: var(--foundation-page);
    box-shadow: 0 18px 40px rgba(23, 23, 23, .12);
  }

  .foundation-mobile-menu nav > a:not(.foundation-button) {
    border-bottom: 1px solid var(--foundation-line);
    padding: 17px 4px;
    font-size: 16px;
    font-weight: 700;
  }

  .foundation-mobile-menu nav .foundation-button {
    margin-top: 20px;
  }

  .foundation-hero {
    min-height: auto;
    padding: 36px 20px 20px;
  }

  .foundation-hero-grid,
  .foundation-direction-action .foundation-hero-grid,
  .foundation-direction-trust .foundation-hero-grid {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 36px;
    border: 0;
  }

  .foundation-hero-copy h1,
  .foundation-direction-action .foundation-hero-copy h1,
  .foundation-direction-trust .foundation-hero-copy h1 {
    margin-top: 18px;
    font-size: clamp(38px, 11vw, 52px);
    line-height: 1.12;
  }

  .foundation-hero-lead {
    margin-top: 20px !important;
    font-size: 15px;
    line-height: 1.8;
  }

  .foundation-hero-actions {
    margin-top: 26px;
  }

  .foundation-hero-actions .foundation-button {
    min-height: 48px;
    padding: 0 20px;
    font-size: 14px;
  }

  .foundation-hero-visual,
  .foundation-direction-action .foundation-hero-visual,
  .foundation-direction-trust .foundation-hero-visual {
    height: 420px;
    border: 0;
    padding: 0;
  }

  .foundation-hero-visual figcaption {
    right: -5px;
    bottom: 18px;
    width: 128px;
    height: 128px;
  }

  .foundation-hero-visual figcaption strong {
    font-size: 17px;
  }

  .foundation-direction-action .foundation-hero-visual figcaption {
    right: 14px;
    bottom: 14px;
    width: 138px;
    height: 76px;
  }

  .foundation-direction-action .foundation-hero-visual > img {
    border-width: 7px;
  }

  .foundation-direction-trust .foundation-hero-copy {
    padding: 14px 0 0;
  }

  .foundation-hero-proof {
    margin-top: 30px;
  }

  .foundation-hero-proof dt {
    font-size: 26px;
  }

  .foundation-direction-switch {
    display: grid;
    min-height: auto;
    margin-top: 34px;
    grid-template-columns: repeat(3, 1fr);
  }

  .foundation-direction-switch > span {
    display: none;
  }

  .foundation-direction-switch a {
    display: grid;
    min-width: 0;
    min-height: 58px;
    place-content: center;
    gap: 2px;
    padding: 6px;
    text-align: center;
    font-size: 12px;
  }

  .foundation-section,
  .foundation-direction-trust .foundation-trust {
    width: calc(100% - 40px);
    padding: 80px 0;
  }

  .foundation-section-heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .foundation-section h2 {
    font-size: clamp(34px, 9.5vw, 46px);
  }

  .foundation-section-heading > p,
  .foundation-mission-body > p,
  .foundation-project-copy > p,
  .foundation-trust-intro > p,
  .foundation-partner-map > p {
    font-size: 15px;
    line-height: 1.8;
  }

  .foundation-mission {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .foundation-section-index {
    writing-mode: horizontal-tb;
  }

  .foundation-flower-mark {
    right: -80px;
    width: 160px;
    height: 160px;
  }

  .foundation-story-grid,
  .foundation-story-card:first-child {
    display: grid;
    margin-top: 42px;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .foundation-story-card:first-child {
    grid-column: auto;
  }

  .foundation-story-card,
  .foundation-direction-trust .foundation-story-card {
    border-radius: 18px;
  }

  .foundation-story-card img,
  .foundation-story-card:first-child img {
    height: 280px;
    min-height: 0;
  }

  .foundation-story-card > div {
    padding: 24px;
  }

  .foundation-project {
    display: grid;
    grid-template-columns: 1fr;
  }

  .foundation-project-media,
  .foundation-direction-trust .foundation-project-media {
    min-height: 430px;
    border-radius: 24px 24px 0 0;
  }

  .foundation-project-media img {
    min-height: 430px;
  }

  .foundation-project-copy,
  .foundation-direction-trust .foundation-project-copy {
    padding: 36px 26px;
    border-radius: 0 0 24px 24px;
  }

  .foundation-project-copy h2 {
    font-size: 39px;
  }

  .foundation-news-strip {
    grid-template-columns: 1fr;
  }

  .foundation-news-strip a {
    min-height: 0;
    grid-template-columns: minmax(118px, 34vw) minmax(0, 1fr);
    grid-template-rows: none;
  }

  .foundation-news-strip a > img {
    width: 100%;
    height: 100%;
    min-height: 190px;
  }

  .foundation-news-strip a > div {
    padding: 22px 20px;
  }

  .foundation-metric-grid {
    margin-top: 48px;
    grid-template-columns: repeat(2, 1fr);
  }

  .foundation-metric-grid article,
  .foundation-direction-trust .foundation-metric-grid article {
    min-height: 176px;
    padding: 24px 18px;
  }

  .foundation-metric-grid strong {
    font-size: clamp(34px, 9vw, 46px);
  }

  .foundation-metric-grid h3 {
    margin-top: 20px;
    font-size: 15px;
  }

  .foundation-action-grid {
    margin-top: 42px;
    grid-template-columns: 1fr;
  }

  .foundation-action-card,
  .foundation-action-card:nth-child(4),
  .foundation-action-card:nth-child(5) {
    min-height: 250px;
    grid-column: auto;
  }

  .foundation-direction-action .foundation-action-card {
    min-height: 260px;
    box-shadow: 5px 5px 0 var(--foundation-ink);
  }

  .foundation-action-card h3 {
    margin-top: 34px;
  }

  .foundation-trust {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .foundation-direction-trust .foundation-trust {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }

  .foundation-honor-list a {
    min-height: 140px;
    grid-template-columns: 80px minmax(0, 1fr) 20px;
    gap: 12px;
  }

  .foundation-honor-list h3 {
    font-size: 17px;
  }

  .foundation-partners {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .foundation-partner-map {
    min-height: 510px;
    padding: 38px 26px;
  }

  .foundation-partner-list article {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .foundation-partner-list article p {
    grid-column: 2;
  }

  .foundation-footer {
    grid-template-columns: 1fr;
  }

  .foundation-footer-lead {
    min-height: 390px;
    padding: 48px 24px;
  }

  .foundation-footer-lead img {
    width: 230px;
  }

  .foundation-footer-contact {
    min-height: auto;
    padding: 54px 24px;
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .foundation-footer-bottom {
    grid-column: 1;
    margin: 0 24px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
  }

}

@media (max-width: 420px) {
  .foundation-brand {
    width: 178px;
  }

  .foundation-hero {
    padding-right: 16px;
    padding-left: 16px;
  }

  .foundation-hero-visual,
  .foundation-direction-action .foundation-hero-visual,
  .foundation-direction-trust .foundation-hero-visual {
    height: 380px;
  }

  .foundation-section {
    width: calc(100% - 32px);
  }

  .foundation-metric-grid strong {
    font-size: 32px;
  }

  .foundation-metric-grid article {
    min-height: 168px;
    padding: 22px 14px;
  }
}

/* Dedicated party-building public page */
.foundation-party-building-page {
  --party-red: #ea1034;
  --party-deep-red: #a80724;
  --party-yellow: #ffce37;
  --party-green: #aaf7a9;
  --party-cream: #fff4d7;
  --party-ink: #211d1c;
  --party-muted: #766d67;
  overflow-x: clip;
  color: var(--party-ink);
  background: #fffdf8;
}
.foundation-party-building-page *,
.foundation-party-building-page *::before,
.foundation-party-building-page *::after { box-sizing: border-box; }
.foundation-party-building-page a { color: inherit; }
.foundation-party-shell { width: min(1216px, calc(100% - 64px)); margin: 0 auto; }
.foundation-party-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, #8b172c 0%, #b41131 52%, #df2445 100%); }
.foundation-party-hero::after { position: absolute; bottom: -110px; left: -70px; width: 270px; height: 270px; border-radius: 50%; background: rgba(255, 206, 55, .1); content: ""; }
.foundation-party-emblem-bg { position: absolute; z-index: 0; top: 88px; right: 3.5%; display: block; width: min(29vw, 390px); height: min(29vw, 390px); opacity: .12; transform: rotate(-7deg); pointer-events: none; }
.foundation-party-emblem-bg img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(112, 0, 25, .2)); }
.foundation-party-breadcrumb { position: relative; z-index: 2; display: flex; gap: 10px; align-items: center; padding-top: 34px; color: rgba(255, 255, 255, .62); font-size: 13px; }
.foundation-party-breadcrumb strong { color: var(--party-yellow); }
.foundation-party-hero-grid { position: relative; z-index: 1; display: grid; min-height: 635px; grid-template-columns: minmax(0, .88fr) minmax(430px, 1.12fr); gap: 74px; align-items: center; padding: 48px 0 82px; }
.foundation-party-hero-copy > p,
.foundation-party-section-head > div > p,
.foundation-party-principles header > p { display: flex; align-items: center; gap: 11px; margin: 0; color: var(--party-yellow); font-size: 11px; font-weight: 900; letter-spacing: .17em; }
.foundation-party-star-mark { display: inline-grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border: 1px solid rgba(255, 206, 55, .5); border-radius: 50%; color: var(--party-yellow); font-size: 13px; line-height: 1; }
.foundation-party-hero-copy h1 { margin: 19px 0 0; font-size: clamp(62px, 7vw, 94px); line-height: 1.02; letter-spacing: -.065em; }
.foundation-party-hero-copy h1 em { color: var(--party-yellow); font-style: normal; }
.foundation-party-hero-copy > div { max-width: 590px; margin-top: 27px; color: rgba(255, 255, 255, .72); font-size: 16px; line-height: 1.9; }
.foundation-party-hero-copy > div p { margin: 0; }
.foundation-party-hero-copy > nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.foundation-party-hero-copy > nav a { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(255, 255, 255, .33); border-radius: 999px; padding: 0 24px; font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-party-hero-copy > nav a:first-child { border-color: var(--party-yellow); color: #2d211d; background: var(--party-yellow); }
.foundation-party-hero-visual { position: relative; min-height: 500px; padding: 22px 22px 29px 44px; }
.foundation-party-hero-word { position: absolute; z-index: 0; top: -6px; left: -24px; color: rgba(255, 206, 55, .17); font-size: 106px; font-weight: 900; letter-spacing: -.12em; writing-mode: vertical-rl; }
.foundation-party-hero-visual > a { position: relative; z-index: 1; display: block; min-height: 472px; overflow: hidden; border: 8px solid rgba(255, 255, 255, .95); border-radius: 150px 28px 28px 28px; background: #dfd1c6; box-shadow: 0 30px 70px rgba(20, 7, 10, .32); text-decoration: none; }
.foundation-party-hero-visual > a::after { position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(26, 8, 12, .88)); content: ""; }
.foundation-party-hero-visual img { display: block; width: 100%; height: 472px; object-fit: cover; }
.foundation-party-hero-visual a > span { position: absolute; z-index: 2; right: 32px; bottom: 31px; left: 34px; display: grid; gap: 8px; }
.foundation-party-hero-visual a small { color: var(--party-yellow); font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.foundation-party-hero-visual a strong { max-width: 520px; color: #fff; font-size: clamp(20px, 2vw, 29px); line-height: 1.35; }
.foundation-party-hero-visual a i { display: flex; align-items: center; justify-content: space-between; margin-top: 7px; color: rgba(255, 255, 255, .68); font-size: 12px; font-style: normal; }
.foundation-party-hero-empty { position: relative; z-index: 1; display: grid; min-height: 472px; place-content: center; gap: 9px; border: 1px dashed rgba(255, 255, 255, .35); border-radius: 150px 28px 28px 28px; padding: 35px; text-align: center; }
.foundation-party-hero-empty strong { font-size: 26px; }
.foundation-party-hero-empty span { color: rgba(255, 255, 255, .65); }
.foundation-party-seed { position: absolute; z-index: 3; display: block; width: 26px; height: 48px; border-radius: 80% 15% 80% 15%; transform: rotate(35deg); background: var(--party-green); }
.foundation-party-seed.seed-one { top: 0; right: 5px; }
.foundation-party-seed.seed-two { right: 1px; bottom: 60px; width: 18px; height: 34px; transform: rotate(-30deg); background: var(--party-yellow); }
.foundation-party-facts { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: -1px 0 0; border-radius: 26px 26px 0 0; color: var(--party-ink); background: #fff; box-shadow: 0 -12px 38px rgba(27, 9, 13, .09); }
.foundation-party-facts > div { min-height: 112px; border-left: 1px solid #eee7e1; padding: 23px 27px; }
.foundation-party-facts > div:first-child { border-left: 0; }
.foundation-party-facts dt { color: var(--party-red); font-size: 30px; font-weight: 900; letter-spacing: -.04em; }
.foundation-party-facts dd { margin: 7px 0 0; color: var(--party-muted); font-size: 12px; }

.foundation-party-latest { padding: 106px 0 112px; background: #fff; }
.foundation-party-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 390px); gap: 22px 70px; align-items: end; margin-bottom: 46px; }
.foundation-party-section-head > div > p { color: var(--party-red); }
.foundation-party-section-head h2,
.foundation-party-principles h2 { margin: 11px 0 0; font-size: clamp(41px, 5vw, 65px); line-height: 1.08; letter-spacing: -.055em; }
.foundation-party-section-head > span { color: var(--party-muted); font-size: 15px; line-height: 1.8; }
.foundation-party-featured { display: grid; overflow: hidden; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); border-radius: 31px; background: var(--party-cream); box-shadow: 0 25px 62px rgba(93, 62, 41, .1); }
.foundation-party-featured-media { display: block; min-height: 490px; overflow: hidden; background: #e5d8cd; }
.foundation-party-featured-media img { display: block; width: 100%; height: 100%; min-height: 490px; object-fit: cover; transition: transform .35s ease; }
.foundation-party-featured > div { display: flex; min-height: 490px; flex-direction: column; padding: 49px 46px 42px; }
.foundation-party-featured > div > p,
.foundation-party-card > div > p { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0; color: #8c8178; font-size: 11px; }
.foundation-party-featured h3 { margin: 65px 0 0; font-size: clamp(28px, 3.2vw, 43px); line-height: 1.27; letter-spacing: -.04em; }
.foundation-party-featured h3 a,
.foundation-party-card h4 a { text-decoration: none; }
.foundation-party-featured > div > div { display: -webkit-box; overflow: hidden; margin-top: 21px; color: #71675f; font-size: 14px; line-height: 1.85; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.foundation-party-featured-action { display: flex; align-items: center; justify-content: space-between; margin-top: auto; border-top: 1px solid rgba(98, 72, 52, .16); padding-top: 21px; color: var(--party-red); font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-party-featured:hover img { transform: scale(1.025); }

.foundation-party-principles { padding: 105px 0 110px; color: #fff; background: var(--party-ink); }
.foundation-party-principles { position: relative; overflow: hidden; }
.foundation-party-principles::before { position: absolute; top: 0; right: 7%; width: 9px; height: 128px; border-radius: 0 0 9px 9px; background: var(--party-red); box-shadow: 19px 0 0 var(--party-yellow); content: ""; }
.foundation-party-principles header > p { color: var(--party-yellow); }
.foundation-party-principles ol { display: grid; margin: 56px 0 0; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; }
.foundation-party-principles li { position: relative; min-height: 305px; overflow: hidden; border-left: 1px solid rgba(255, 255, 255, .16); padding: 14px 36px 30px; }
.foundation-party-principles li:first-child { border-left: 0; }
.foundation-party-principles li::after { position: absolute; right: -52px; bottom: -88px; width: 190px; height: 190px; border: 40px solid rgba(234, 16, 52, .12); border-radius: 50%; content: ""; }
.foundation-party-principles li:nth-child(2)::after { border-color: rgba(255, 206, 55, .1); }
.foundation-party-principles li:nth-child(3)::after { border-color: rgba(170, 247, 169, .09); }
.foundation-party-principles li > span { color: var(--party-red); font-size: 11px; font-weight: 900; }
.foundation-party-principles li > strong { display: block; margin-top: 104px; font-size: 27px; }
.foundation-party-principles li > p { position: relative; z-index: 1; max-width: 300px; margin: 16px 0 0; color: rgba(255, 255, 255, .61); font-size: 14px; line-height: 1.8; }

.foundation-party-archive { padding: 107px 0 122px; background: #f7f2ec; }
.foundation-party-section-head.archive-head { margin-bottom: 28px; }
.foundation-party-years { display: grid; gap: 64px; }
.foundation-party-year { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 32px; border-top: 1px solid #dcd2c9; padding-top: 31px; }
.foundation-party-year > header { position: sticky; top: 96px; align-self: start; }
.foundation-party-year > header h3 { margin: 0; color: var(--party-red); font-size: 43px; line-height: 1; letter-spacing: -.06em; }
.foundation-party-year > header span { display: block; margin-top: 10px; color: #8c8179; font-size: 12px; }
.foundation-party-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px; }
.foundation-party-card { display: grid; overflow: hidden; border: 1px solid rgba(90, 66, 49, .11); border-radius: 25px; background: #fff; box-shadow: 0 17px 47px rgba(70, 47, 32, .06); }
.foundation-party-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #ddd2c8; text-decoration: none; }
.foundation-party-card-media::after { position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(32, 24, 20, .45)); content: ""; }
.foundation-party-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .32s ease; }
.foundation-party-card-media span { position: absolute; z-index: 2; top: 17px; left: 17px; display: grid; width: 43px; height: 43px; place-items: center; border-radius: 14px; color: #fff; background: var(--party-red); font-size: 11px; font-weight: 900; }
.foundation-party-card.yellow .foundation-party-card-media span { color: #332815; background: var(--party-yellow); }
.foundation-party-card.green .foundation-party-card-media span { color: #263c29; background: var(--party-green); }
.foundation-party-card.cream .foundation-party-card-media span { color: #342b24; background: var(--party-cream); }
.foundation-party-card > div { display: flex; min-height: 323px; flex-direction: column; padding: 27px 28px 26px; }
.foundation-party-card h4 { margin: 19px 0 0; font-size: clamp(22px, 2.2vw, 31px); line-height: 1.32; letter-spacing: -.035em; }
.foundation-party-card > div > div { display: -webkit-box; overflow: hidden; margin-top: 16px; color: #786f68; font-size: 14px; line-height: 1.78; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.foundation-party-card-action { display: flex; align-items: center; justify-content: space-between; margin-top: auto; border-top: 1px solid #eee7e1; padding-top: 19px; color: var(--party-red); font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-party-card:hover img { transform: scale(1.035); }
.foundation-party-empty { display: grid; min-height: 250px; place-content: center; gap: 8px; border: 1px dashed rgba(91, 66, 48, .25); border-radius: 28px; text-align: center; }
.foundation-party-empty strong { font-size: 24px; }
.foundation-party-empty span { color: var(--party-muted); }
.foundation-party-footer { padding: 34px 0; color: #fff; background: #201c1c; }
.foundation-party-footer .foundation-party-shell { display: flex; align-items: center; gap: 26px; }
.foundation-party-footer img { width: 164px; height: auto; }
.foundation-party-footer p { flex: 1; margin: 0; color: rgba(255, 255, 255, .67); font-size: 13px; }
.foundation-party-footer a { border-bottom: 1px solid rgba(255, 255, 255, .42); padding-bottom: 3px; font-size: 13px; text-decoration: none; }
.foundation-party-building-page a:focus-visible { outline: 3px solid rgba(255, 206, 55, .58); outline-offset: 3px; }

@media (max-width: 980px) {
  .foundation-party-hero-grid { grid-template-columns: minmax(0, .82fr) minmax(380px, 1.18fr); gap: 34px; }
  .foundation-party-hero-copy h1 { font-size: 61px; }
  .foundation-party-featured { grid-template-columns: 1fr 390px; }
  .foundation-party-featured > div { padding-inline: 34px; }
  .foundation-party-year { grid-template-columns: 105px minmax(0, 1fr); gap: 22px; }
  .foundation-party-principles li { padding-inline: 24px; }
}

@media (max-width: 720px) {
  .foundation-party-shell { width: calc(100% - 30px); }
  .foundation-party-breadcrumb { display: none; }
  .foundation-party-hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 38px; padding: 58px 0 63px; }
  .foundation-party-emblem-bg { top: 255px; right: -72px; width: 235px; height: 235px; opacity: .1; }
  .foundation-party-hero-copy h1 { font-size: 52px; }
  .foundation-party-hero-copy > div { font-size: 15px; }
  .foundation-party-hero-copy > nav { display: grid; grid-template-columns: 1fr; }
  .foundation-party-hero-visual { min-height: 0; padding: 22px 7px 25px 21px; }
  .foundation-party-hero-word { top: -18px; left: -8px; font-size: 82px; writing-mode: initial; }
  .foundation-party-hero-visual > a { min-height: 350px; border-width: 6px; border-radius: 90px 22px 22px 22px; }
  .foundation-party-hero-visual img { height: 350px; }
  .foundation-party-hero-visual a > span { right: 23px; bottom: 24px; left: 24px; }
  .foundation-party-hero-empty { min-height: 350px; border-radius: 90px 22px 22px 22px; }
  .foundation-party-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 21px 21px 0 0; }
  .foundation-party-facts > div { min-height: 92px; border-top: 1px solid #eee7e1; padding: 16px 17px; }
  .foundation-party-facts > div:nth-child(odd) { border-left: 0; }
  .foundation-party-facts > div:nth-child(-n+2) { border-top: 0; }
  .foundation-party-facts dt { font-size: 26px; }
  .foundation-party-latest { padding: 76px 0 82px; }
  .foundation-party-section-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 32px; }
  .foundation-party-section-head h2,
  .foundation-party-principles h2 { font-size: 40px; }
  .foundation-party-section-head > span { font-size: 14px; }
  .foundation-party-featured { grid-template-columns: 1fr; border-radius: 24px; }
  .foundation-party-featured-media,
  .foundation-party-featured-media img { min-height: 260px; height: 260px; }
  .foundation-party-featured > div { min-height: 0; padding: 27px 23px 25px; }
  .foundation-party-featured h3 { margin-top: 34px; font-size: 29px; }
  .foundation-party-featured-action { margin-top: 30px; }
  .foundation-party-principles { padding: 76px 0 82px; }
  .foundation-party-principles ol { grid-template-columns: 1fr; margin-top: 37px; }
  .foundation-party-principles li { min-height: 0; border-top: 1px solid rgba(255, 255, 255, .16); border-left: 0; padding: 25px 8px; }
  .foundation-party-principles li:first-child { border-top: 0; }
  .foundation-party-principles li > strong { margin-top: 18px; }
  .foundation-party-archive { padding: 76px 0 86px; }
  .foundation-party-years { gap: 49px; }
  .foundation-party-year { grid-template-columns: 1fr; gap: 22px; padding-top: 23px; }
  .foundation-party-year > header { position: static; display: flex; align-items: end; justify-content: space-between; }
  .foundation-party-year > header h3 { font-size: 38px; }
  .foundation-party-grid { grid-template-columns: 1fr; }
  .foundation-party-card { border-radius: 22px; }
  .foundation-party-card > div { min-height: 0; padding: 24px 22px; }
  .foundation-party-card-action { margin-top: 28px; }
  .foundation-party-footer .foundation-party-shell { align-items: flex-start; flex-direction: column; gap: 9px; }
  .foundation-party-footer p { margin: 3px 0; }
}

/* Dedicated news-center hub */
.foundation-news-center-page {
  --news-red: #ea1034;
  --news-yellow: #ffce37;
  --news-green: #aaf7a9;
  --news-cream: #fff4d7;
  --news-ink: #211e1d;
  --news-muted: #776f69;
  overflow-x: clip;
  color: var(--news-ink);
  background: #fffdf9;
}
.foundation-news-center-page *,
.foundation-news-center-page *::before,
.foundation-news-center-page *::after { box-sizing: border-box; }
.foundation-news-center-page a { color: inherit; }
.foundation-news-shell { width: min(1216px, calc(100% - 64px)); margin: 0 auto; }
.foundation-news-hero { position: relative; overflow: hidden; padding-bottom: 0; background: linear-gradient(130deg, #fffaf0 0%, var(--news-cream) 58%, #ffe9ae 100%); }
.foundation-news-hero::before { position: absolute; top: 90px; right: -40px; color: rgba(234, 16, 52, .055); font-size: clamp(180px, 25vw, 370px); font-weight: 950; line-height: .8; letter-spacing: -.11em; content: "NEWS"; }
.foundation-news-breadcrumb { position: relative; z-index: 1; display: flex; gap: 10px; align-items: center; padding-top: 34px; color: #8b8178; font-size: 13px; }
.foundation-news-breadcrumb strong { color: var(--news-red); }
.foundation-news-hero-heading { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 430px); gap: 76px; align-items: end; padding: 67px 0 52px; }
.foundation-news-hero-heading > div:first-child > p,
.foundation-news-section > header > div:first-child > p { display: flex; align-items: center; gap: 11px; margin: 0; color: var(--news-red); font-size: 11px; font-weight: 900; letter-spacing: .17em; }
.foundation-news-hero-heading h1 { margin: 18px 0 0; font-size: clamp(59px, 7vw, 94px); line-height: 1.02; letter-spacing: -.07em; }
.foundation-news-hero-heading h1 em { color: var(--news-red); font-style: normal; }
.foundation-news-hero-heading > div:last-child > p { margin: 0; color: var(--news-muted); font-size: 16px; line-height: 1.9; }
.foundation-news-hero-heading > div:last-child > a { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; border-bottom: 1px solid var(--news-red); padding-bottom: 5px; color: var(--news-red); font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-news-lead-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(315px, .75fr); gap: 20px; }
.foundation-news-featured { display: grid; overflow: hidden; min-height: 490px; grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr); border-radius: 31px; background: #fff; box-shadow: 0 25px 64px rgba(96, 62, 34, .13); }
.foundation-news-featured-media { position: relative; display: block; min-height: 490px; overflow: hidden; background: #e7dbd0; }
.foundation-news-featured-media::after { position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(33, 24, 19, .25)); content: ""; }
.foundation-news-featured-media img { display: block; width: 100%; height: 100%; min-height: 490px; object-fit: cover; transition: transform .35s ease; }
.foundation-news-featured-media span { position: absolute; z-index: 2; top: 21px; left: 21px; border-radius: 999px; padding: 9px 15px; color: #fff; background: var(--news-red); font-size: 11px; font-weight: 850; }
.foundation-news-featured > div { display: flex; min-height: 490px; flex-direction: column; padding: 42px 39px 36px; }
.foundation-news-featured > div > p { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; color: #8b8179; font-size: 11px; }
.foundation-news-featured > div > p strong { color: var(--news-red); }
.foundation-news-featured h2 { margin: 71px 0 0; font-size: clamp(27px, 2.8vw, 40px); line-height: 1.3; letter-spacing: -.04em; }
.foundation-news-featured h2 a { text-decoration: none; }
.foundation-news-featured > div > div { display: -webkit-box; overflow: hidden; margin-top: 20px; color: var(--news-muted); font-size: 14px; line-height: 1.85; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.foundation-news-featured-action { display: flex; align-items: center; justify-content: space-between; margin-top: auto; border-top: 1px solid #eee7df; padding-top: 19px; color: var(--news-red); font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-news-featured:hover img { transform: scale(1.025); }
.foundation-news-latest { display: grid; overflow: hidden; align-content: start; border-radius: 31px; color: #fff; background: var(--news-ink); box-shadow: 0 25px 64px rgba(45, 34, 28, .16); }
.foundation-news-latest > header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255, 255, 255, .14); padding: 28px 27px 24px; }
.foundation-news-latest > header span { color: var(--news-yellow); font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.foundation-news-latest > header strong { font-size: 16px; }
.foundation-news-latest > a { position: relative; display: grid; gap: 10px; min-height: 103px; border-bottom: 1px solid rgba(255, 255, 255, .12); padding: 19px 47px 18px 27px; text-decoration: none; }
.foundation-news-latest > a:last-child { border-bottom: 0; }
.foundation-news-latest > a > p { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; color: rgba(255, 255, 255, .48); font-size: 10px; }
.foundation-news-latest > a > p span { color: var(--news-yellow); }
.foundation-news-latest > a > strong { display: -webkit-box; overflow: hidden; font-size: 15px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.foundation-news-latest > a > i { position: absolute; right: 24px; bottom: 22px; color: var(--news-yellow); font-style: normal; }
.foundation-news-latest > div { padding: 30px 27px; color: rgba(255, 255, 255, .55); }
.foundation-news-facts { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 28px 0 0; border-radius: 25px 25px 0 0; background: #fff; box-shadow: 0 -10px 34px rgba(81, 51, 31, .08); }
.foundation-news-facts > div { min-height: 105px; border-left: 1px solid #eee6dd; padding: 23px 28px; }
.foundation-news-facts > div:first-child { border-left: 0; }
.foundation-news-facts dt { color: var(--news-red); font-size: 29px; font-weight: 900; line-height: 1.1; }
.foundation-news-facts dd { margin: 8px 0 0; color: var(--news-muted); font-size: 12px; }

.foundation-news-index { position: sticky; z-index: 9; top: 0; border-bottom: 1px solid #eee6de; background: rgba(255, 255, 255, .95); backdrop-filter: blur(14px); }
.foundation-news-index .foundation-news-shell { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.foundation-news-index a { display: flex; min-height: 70px; align-items: center; gap: 13px; border-left: 1px solid #eee6de; padding: 0 25px; font-size: 14px; font-weight: 850; text-decoration: none; }
.foundation-news-index a:first-child { border-left: 0; }
.foundation-news-index a span { color: var(--news-red); font-size: 10px; }
.foundation-news-index a i { margin-left: auto; color: #9a9088; font-style: normal; }

.foundation-news-sections { padding: 0 0 118px; background: #fff; }
.foundation-news-section { padding: 105px 0 10px; scroll-margin-top: 80px; }
.foundation-news-section + .foundation-news-section { margin-top: 102px; border-top: 1px solid #e8e0d8; }
.foundation-news-section > header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 430px); gap: 70px; align-items: end; margin-bottom: 44px; }
.foundation-news-section > header h2 { margin: 10px 0 0; font-size: clamp(46px, 5.8vw, 72px); line-height: 1.05; letter-spacing: -.06em; }
.foundation-news-section > header > div:last-child > p { margin: 0; color: var(--news-muted); font-size: 15px; line-height: 1.8; }
.foundation-news-section > header > div:last-child > span { display: block; margin-top: 12px; color: #968c84; font-size: 11px; }
.foundation-news-section > header > div:last-child > a { display: inline-flex; align-items: center; gap: 9px; margin-top: 20px; border-bottom: 1px solid currentColor; padding-bottom: 4px; color: var(--news-red); font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-news-section.yellow > header > div:first-child > p,
.foundation-news-section.yellow > header > div:last-child > a { color: #a56f00; }
.foundation-news-section.green > header > div:first-child > p,
.foundation-news-section.green > header > div:last-child > a { color: #397440; }
.foundation-news-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; }
.foundation-news-card { display: grid; overflow: hidden; border: 1px solid rgba(84, 62, 46, .11); border-radius: 25px; background: #fffdf9; box-shadow: 0 16px 46px rgba(72, 50, 33, .07); }
.foundation-news-section.yellow .foundation-news-card { background: #fffaf0; }
.foundation-news-section.green .foundation-news-card { background: #f5fff5; }
.foundation-news-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #e7ddd4; text-decoration: none; }
.foundation-news-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .33s ease; }
.foundation-news-card-media span { position: absolute; top: 15px; left: 15px; border-radius: 999px; padding: 8px 13px; color: #fff; background: var(--news-red); font-size: 10px; font-weight: 850; }
.foundation-news-card > div { display: flex; min-height: 340px; flex-direction: column; padding: 26px 25px 24px; }
.foundation-news-card > div > p { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; color: #948a82; font-size: 10px; }
.foundation-news-card > div > p span { overflow: hidden; max-width: 62%; text-overflow: ellipsis; white-space: nowrap; }
.foundation-news-card h3 { margin: 19px 0 0; font-size: clamp(21px, 2vw, 29px); line-height: 1.35; letter-spacing: -.035em; }
.foundation-news-card h3 a { text-decoration: none; }
.foundation-news-card > div > div { display: -webkit-box; overflow: hidden; margin-top: 16px; color: var(--news-muted); font-size: 14px; line-height: 1.78; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.foundation-news-card > div > a { display: flex; align-items: center; justify-content: space-between; margin-top: auto; border-top: 1px solid #eae2da; padding-top: 18px; color: var(--news-red); font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-news-section.yellow .foundation-news-card > div > a { color: #a56f00; }
.foundation-news-section.green .foundation-news-card > div > a { color: #397440; }
.foundation-news-card:hover img { transform: scale(1.035); }
.foundation-news-empty { grid-column: 1 / -1; display: grid; min-height: 250px; place-content: center; gap: 8px; border: 1px dashed rgba(92, 68, 49, .25); border-radius: 26px; text-align: center; }
.foundation-news-empty strong { font-size: 24px; }
.foundation-news-empty span { color: var(--news-muted); }
.foundation-news-footer { padding: 34px 0; color: #fff; background: var(--news-ink); }
.foundation-news-footer .foundation-news-shell { display: flex; align-items: center; gap: 26px; }
.foundation-news-footer img { width: 164px; height: auto; }
.foundation-news-footer p { flex: 1; margin: 0; color: rgba(255, 255, 255, .67); font-size: 13px; }
.foundation-news-footer a { border-bottom: 1px solid rgba(255, 255, 255, .42); padding-bottom: 3px; font-size: 13px; text-decoration: none; }
.foundation-news-center-page a:focus-visible { outline: 3px solid rgba(234, 16, 52, .28); outline-offset: 3px; }

@media (max-width: 980px) {
  .foundation-news-hero-heading { grid-template-columns: minmax(0, 1fr) 350px; gap: 38px; }
  .foundation-news-featured { grid-template-columns: 1fr 330px; }
  .foundation-news-featured > div { padding-inline: 31px; }
  .foundation-news-lead-grid { grid-template-columns: minmax(0, 1fr) 290px; }
  .foundation-news-section > header { grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; }
  .foundation-news-card > div { padding-inline: 21px; }
}

@media (max-width: 720px) {
  .foundation-news-shell { width: calc(100% - 30px); }
  .foundation-news-breadcrumb { display: none; }
  .foundation-news-hero::before { top: 230px; right: -70px; font-size: 170px; }
  .foundation-news-hero-heading { grid-template-columns: 1fr; gap: 24px; padding: 60px 0 39px; }
  .foundation-news-hero-heading h1 { font-size: 49px; }
  .foundation-news-hero-heading > div:last-child > p { font-size: 15px; }
  .foundation-news-lead-grid { grid-template-columns: 1fr; }
  .foundation-news-featured { min-height: 0; grid-template-columns: 1fr; border-radius: 24px; }
  .foundation-news-featured-media,
  .foundation-news-featured-media img { min-height: 270px; height: 270px; }
  .foundation-news-featured > div { min-height: 0; padding: 27px 23px 25px; }
  .foundation-news-featured h2 { margin-top: 35px; font-size: 29px; }
  .foundation-news-featured-action { margin-top: 30px; }
  .foundation-news-latest { border-radius: 24px; }
  .foundation-news-facts { grid-template-columns: 1fr; border-radius: 21px 21px 0 0; }
  .foundation-news-facts > div { min-height: 82px; border-top: 1px solid #eee6dd; border-left: 0; padding: 17px 20px; }
  .foundation-news-facts > div:first-child { border-top: 0; }
  .foundation-news-facts dt { font-size: 25px; }
  .foundation-news-index { position: static; overflow-x: auto; }
  .foundation-news-index .foundation-news-shell { display: flex; width: max-content; min-width: 100%; }
  .foundation-news-index a { min-width: 168px; min-height: 62px; padding-inline: 18px; }
  .foundation-news-sections { padding-bottom: 83px; }
  .foundation-news-section { padding-top: 75px; }
  .foundation-news-section + .foundation-news-section { margin-top: 69px; }
  .foundation-news-section > header { grid-template-columns: 1fr; gap: 22px; margin-bottom: 32px; }
  .foundation-news-section > header h2 { font-size: 44px; }
  .foundation-news-card-grid { grid-template-columns: 1fr; }
  .foundation-news-card { border-radius: 22px; }
  .foundation-news-card > div { min-height: 0; padding: 24px 22px; }
  .foundation-news-card > div > a { margin-top: 28px; }
  .foundation-news-footer .foundation-news-shell { align-items: flex-start; flex-direction: column; gap: 9px; }
  .foundation-news-footer p { margin: 3px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-home *,
  .foundation-home *::before,
  .foundation-home *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Donor directory search and batch management */
.foundation-donor-search{display:grid;grid-template-columns:220px minmax(280px,560px) 1fr;gap:14px 22px;padding:22px 0 26px;border-top:1px solid rgba(29,38,53,.12);align-items:center}.foundation-donor-search>label{color:#202735;font-size:14px;font-weight:900}.foundation-donor-search>div{display:flex;gap:8px}.foundation-donor-search input{min-width:0;flex:1;padding:12px 16px;border:1px solid rgba(29,38,53,.18);border-radius:12px;background:#fff;color:#1d2635;font:inherit}.foundation-donor-search button,.foundation-donor-search a{display:inline-flex;min-height:44px;padding:0 18px;border:0;border-radius:12px;align-items:center;justify-content:center;background:#ea1034;color:#fff;font:inherit;font-weight:900;text-decoration:none;cursor:pointer}.foundation-donor-search a{background:#fff;color:#1d2635}.foundation-donor-search>p{margin:0;color:#766f66;font-size:13px}.foundation-donor-no-results{padding:38px;border-radius:22px;background:#fff4d7;text-align:center}.foundation-donor-no-results strong{display:block;color:#202735;font-size:22px}.foundation-donor-no-results p{margin:8px 0 18px;color:#70695f}.foundation-donor-no-results a{color:#ea1034;font-weight:900}.cms-donor-bulk{display:flex;min-height:58px;padding:10px 14px;border-bottom:1px solid #e5e7eb;align-items:center;gap:18px}.cms-donor-bulk label{display:flex;align-items:center;gap:8px;font-weight:900}.cms-donor-bulk input,.cms-donor-select-cell input{width:18px;height:18px;accent-color:#ea1034}.cms-donor-bulk>span{margin-right:auto;color:#746d64;font-size:13px}.cms-donor-bulk button:disabled{opacity:.45;cursor:not-allowed}.cms-donor-select-cell{width:44px;text-align:center}

@media(max-width:820px){.foundation-donor-search{grid-template-columns:1fr}.foundation-donor-search>div{flex-wrap:wrap}.foundation-donor-search input{flex-basis:200px}.cms-donor-bulk{position:sticky;left:0;min-width:100%;z-index:2}}

.cms-donor-toolbar form{grid-template-columns:minmax(180px,1fr) 160px 145px 160px auto auto}.cms-donor-entry-method{display:block;color:#252c38;font-size:12px}.cms-donor-field-help{margin:0 0 16px;color:#756e65;font-size:13px;line-height:1.65}.cms-donor-ocr-meta{display:flex;margin-top:16px;padding:14px 16px;border-radius:12px;background:#f5f1e7;align-items:center;gap:14px}.cms-donor-ocr-meta strong{font-size:13px}.cms-donor-ocr-meta span{color:#ea1034;font-size:13px;font-weight:900}.cms-donor-ocr-meta small{margin-left:auto;color:#756e65}.cms-donor-editor [hidden]{display:none!important}
@media(max-width:1100px){.cms-donor-toolbar form{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-donor-toolbar form label:first-child{grid-column:1/-1}}
@media(max-width:620px){.cms-donor-toolbar form{grid-template-columns:1fr}.cms-donor-toolbar form label:first-child{grid-column:auto}.cms-donor-ocr-meta{align-items:flex-start;flex-direction:column;gap:5px}.cms-donor-ocr-meta small{margin-left:0}}

/* Charity dinner annual donor honor rolls */
.foundation-dinner-donor-entry{padding:46px 0;background:#ffce37}.foundation-dinner-donor-entry .foundation-thanks-shell{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.foundation-dinner-donor-entry p,.foundation-dinner-donors-hero>div>p,.foundation-dinner-donor-archive header>p,.foundation-dinner-donor-current header>div:last-child>p{margin:0 0 10px;color:#ea1034;font-size:12px;font-weight:900;letter-spacing:.17em}.foundation-dinner-donor-entry h2{margin:0 0 8px;font-size:34px}.foundation-dinner-donor-entry nav{display:flex;gap:10px}.foundation-dinner-donor-entry a{display:flex;min-height:48px;padding:0 18px;border:1px solid rgba(29,38,53,.18);border-radius:14px;align-items:center;gap:24px;color:#1d2635;font-weight:900;text-decoration:none}.foundation-dinner-donor-entry a.primary{border-color:#ea1034;background:#ea1034;color:#fff}.foundation-dinner-donors-hero{padding-bottom:58px;background:#fff4d7}.foundation-dinner-donors-hero h1{max-width:850px;margin:18px 0 12px;color:#171d2a;font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.055em}.foundation-dinner-donors-hero h2{margin:0;color:#71695e;font-size:20px;font-weight:500}.foundation-dinner-donors-hero>div>nav:last-child{display:flex;gap:8px;margin-top:34px}.foundation-dinner-donors-hero>div>nav:last-child a{padding:10px 16px;border-radius:999px;background:#fff;color:#1d2635;font-size:13px;font-weight:900;text-decoration:none}.foundation-dinner-donors-hero>div>nav:last-child a.active{background:#ea1034;color:#fff}.foundation-dinner-donor-current{padding:72px 0 90px;background:#fff}.foundation-dinner-donor-current header{display:grid;grid-template-columns:180px minmax(0,1fr);gap:48px;margin-bottom:40px;padding-bottom:30px;border-bottom:2px solid #1d2635}.foundation-dinner-donor-current header>div:first-child{display:flex;flex-direction:column}.foundation-dinner-donor-current header>div:first-child span{color:#ea1034;font-size:70px;font-weight:900;line-height:1}.foundation-dinner-donor-current header small{margin-top:8px;color:#756e64}.foundation-dinner-donor-current h2{margin:0 0 14px;font-size:34px}.foundation-dinner-donor-current header p:last-child{max-width:760px;color:#6f685f;line-height:1.7}.foundation-dinner-donor-body{max-width:900px;margin:0 auto}.foundation-dinner-donor-body img{max-width:100%!important;height:auto!important}.foundation-dinner-donor-body table{width:100%!important;max-width:100%;border-collapse:collapse}.foundation-dinner-donor-body td,.foundation-dinner-donor-body th{padding:9px!important}.foundation-dinner-donor-current footer{display:flex;max-width:900px;margin:42px auto 0;padding-top:22px;border-top:1px solid #ededed;gap:12px}.foundation-dinner-donor-current footer a{padding:12px 17px;border-radius:12px;background:#ededed;color:#1d2635;font-weight:900;text-decoration:none}.foundation-dinner-donor-current footer a:first-child{background:#ea1034;color:#fff}.foundation-dinner-donor-archive{padding:76px 0 92px;background:#fff}.foundation-dinner-donor-archive>div>header{display:grid;grid-template-columns:1fr 1.2fr;gap:18px 60px;margin-bottom:34px}.foundation-dinner-donor-archive header>p{grid-column:1/-1}.foundation-dinner-donor-archive h2{margin:0;font-size:40px}.foundation-dinner-donor-archive header>span{color:#726b62;line-height:1.7}.foundation-dinner-donor-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.foundation-dinner-donor-cards article{display:flex;min-height:430px;padding:24px;border:1px solid #e7e4dd;border-radius:24px;flex-direction:column;background:#fff}.foundation-dinner-donor-cards article>div{display:flex;align-items:baseline;justify-content:space-between}.foundation-dinner-donor-cards article>div span{color:#ea1034;font-size:42px;font-weight:900}.foundation-dinner-donor-cards article>div small{color:#786f65}.foundation-dinner-donor-cards img{width:100%;height:155px;margin:18px 0;border-radius:15px;object-fit:cover}.foundation-dinner-donor-cards h3{margin:18px 0 10px;font-size:23px;line-height:1.3}.foundation-dinner-donor-cards p{display:-webkit-box;margin:0;color:#756e65;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.foundation-dinner-donor-cards a{display:flex;margin-top:auto;padding-top:22px;color:#ea1034;font-weight:900;text-decoration:none;justify-content:space-between}
@media(max-width:820px){.foundation-dinner-donor-entry .foundation-thanks-shell{align-items:flex-start;flex-direction:column}.foundation-dinner-donor-entry nav{width:100%;flex-direction:column}.foundation-dinner-donor-entry a{justify-content:space-between}.foundation-dinner-donors-hero h1{font-size:48px}.foundation-dinner-donor-current{padding:52px 0}.foundation-dinner-donor-current header{grid-template-columns:1fr;gap:20px}.foundation-dinner-donor-current footer{flex-direction:column}.foundation-dinner-donor-current footer a{text-align:center}.foundation-dinner-donor-archive>div>header{grid-template-columns:1fr;gap:12px}.foundation-dinner-donor-archive header>p{grid-column:auto}.foundation-dinner-donor-cards{grid-template-columns:1fr}.foundation-dinner-donor-cards article{min-height:380px}}

/* A direct #cms-categories visit is intentionally a compact workspace. */
body.admin-body.admin-cms-categories-view .admin-cms-category-create {
  grid-template-columns: minmax(0, 760px);
}

body.admin-body.admin-cms-categories-view #cms-categories .admin-row-form {
  margin-top: 0;
}

body.admin-body.admin-cms-categories-view #cms-categories .admin-inline-danger {
  margin-top: 8px;
}

.cms-category-workspace-head { align-items: end; }
.cms-category-visual-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.cms-category-visual-summary article { display: grid; min-height: 112px; align-content: center; border: 1px solid rgba(29, 38, 53, .1); border-radius: 18px; padding: 20px; background: #fff; box-shadow: 0 8px 26px rgba(29, 38, 53, .05); }
.cms-category-visual-summary span { color: #1d2635; font-size: 32px; font-weight: 900; line-height: 1; }
.cms-category-visual-summary small { margin-top: 9px; color: #756e65; font-size: 13px; font-weight: 750; }
.cms-category-tree-panel { overflow: hidden; padding: 0; }
.cms-category-tree-panel > .admin-panel-head { margin: 0; padding: 24px 26px 18px; border-bottom: 1px solid rgba(29, 38, 53, .09); }
.cms-category-tree { display: grid; }
.cms-category-tree-row { --tree-depth: 0; display: grid; grid-template-columns: 28px minmax(210px, 1fr) auto auto; align-items: center; gap: 16px; min-height: 92px; margin-left: calc(var(--tree-depth) * 34px); border-bottom: 1px solid rgba(29, 38, 53, .08); padding: 14px 24px 14px 16px; background: #fff; }
.cms-category-tree-row[hidden] { display: none !important; }
.cms-category-tree-row:last-child { border-bottom: 0; }
.cms-category-tree-row.is-navigation-hidden { background: #f8f7f4; opacity: .72; }
.cms-category-tree-row.is-navigation-hidden .cms-category-tree-branch i { background: #9e978e; box-shadow: 0 0 0 1px rgba(80, 74, 68, .18); }
.cms-category-tree-row.depth-1 { --tree-depth: 1; }
.cms-category-tree-row.depth-2 { --tree-depth: 2; }
.cms-category-tree-row.depth-3 { --tree-depth: 3; }
.cms-category-tree-branch { position: relative; width: 28px; height: 100%; }
.cms-category-tree-branch::before { content: ""; position: absolute; top: 50%; left: 8px; width: 18px; height: 1px; background: #d7d4ce; }
.cms-category-tree-branch i { position: absolute; top: calc(50% - 5px); left: 3px; width: 11px; height: 11px; border: 3px solid #fff; border-radius: 50%; background: #ea1034; box-shadow: 0 0 0 1px rgba(234, 16, 52, .25); }
.cms-category-tree-row.depth-1 .cms-category-tree-branch i, .cms-category-tree-row.depth-2 .cms-category-tree-branch i, .cms-category-tree-row.depth-3 .cms-category-tree-branch i { background: #f0b323; box-shadow: 0 0 0 1px rgba(240, 179, 35, .3); }
.cms-category-tree-title { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cms-category-tree-title strong { color: #1d2635; font-size: 16px; }
.cms-category-tree-title code { border-radius: 6px; padding: 4px 7px; background: #f4f2ed; color: #7a7269; font-size: 11px; }
.cms-category-tree-main p { max-width: 620px; margin: 7px 0 0; overflow: hidden; color: #827b72; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.cms-category-tree-tags { display: flex; max-width: 430px; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.cms-category-tree-tags span { border-radius: 999px; padding: 5px 9px; background: #f3f3f1; color: #6d675f; font-size: 11px; font-weight: 750; white-space: nowrap; }
.cms-category-tree-tags .is-nav, .cms-category-tree-tags .status-published { background: #e8f6ee; color: #26724a; }
.cms-category-tree-tags .status-draft { background: #fff3d8; color: #8b6200; }
.cms-category-tree-tags .status-archived { background: #f0ecec; color: #756a6a; }
.cms-category-editor { display: grid; max-width: 940px; margin-right: auto; gap: 0; padding: 0; overflow: hidden; }
.cms-category-editor > section { display: grid; gap: 18px; padding: 28px 30px; border-bottom: 1px solid rgba(29, 38, 53, .09); }
.cms-category-editor > section h2 { margin: 0; color: #1d2635; font-size: 19px; }
.cms-category-editor > footer { display: flex; justify-content: flex-end; gap: 10px; padding: 20px 30px; background: #faf9f6; }
.cms-category-nav-check { display: flex !important; align-items: flex-start; border: 1px solid rgba(29, 38, 53, .1); border-radius: 14px; padding: 16px; background: #faf9f6; }
.cms-category-nav-check input { width: auto !important; margin-top: 3px; }
.cms-category-nav-check span { display: grid; gap: 4px; }
.cms-category-nav-check strong { color: #1d2635; }
.cms-category-nav-check small { color: #756e65; font-weight: 500; line-height: 1.5; }
.cms-category-delete { max-width: 940px; margin-top: 12px; text-align: right; }

@media (max-width: 900px) {
  .cms-category-visual-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-category-tree-row { grid-template-columns: 24px minmax(0, 1fr) auto; margin-left: calc(var(--tree-depth) * 14px); padding-right: 16px; }
  .cms-category-tree-tags { grid-column: 2 / -1; justify-content: flex-start; }
}
@media (max-width: 560px) {
  .cms-category-visual-summary { gap: 9px; }
  .cms-category-visual-summary article { min-height: 90px; border-radius: 14px; padding: 15px; }
  .cms-category-tree-row { grid-template-columns: 18px minmax(0, 1fr); gap: 10px; margin-left: calc(var(--tree-depth) * 8px); padding: 14px 12px 14px 8px; }
  .cms-category-tree-row > .admin-button { grid-column: 2; justify-self: start; }
  .cms-category-tree-tags { grid-column: 2; }
  .cms-category-editor > section { padding: 22px 18px; }
  .cms-category-editor > footer { padding: 16px 18px; }
}

/* Page 67: V2 mobile fundraising activity creation */
@media (max-width: 760px) {
  body.admin-body.fundraising-create-v2-body {
    background: #f4f5f7;
  }

  body.admin-body.fundraising-create-v2-body .admin-topbar,
  body.admin-body.fundraising-create-v2-body .admin-sidebar,
  body.admin-body.fundraising-create-v2-body .admin-workspace-bar,
  body.admin-body.fundraising-create-v2-body .admin-page-head,
  body.admin-body.fundraising-create-v2-body .admin-section-subnav,
  body.admin-body.fundraising-create-v2-body .admin-metrics,
  body.admin-body.fundraising-create-v2-body .admin-two-panel,
  body.admin-body.fundraising-create-v2-body .admin-panel#fundraising-base {
    display: none;
  }

  body.admin-body.fundraising-create-v2-body .admin-shell {
    display: block;
  }

  body.admin-body.fundraising-create-v2-body .admin-main {
    min-height: 100dvh;
    padding: 0;
    background: #f4f5f7;
    color: #25262a;
  }

  body.admin-body.fundraising-create-v2-body .admin-alert {
    margin: 10px 12px;
    border-radius: 6px;
  }

  body.admin-body.fundraising-create-v2-body .fundraising-create-v2 {
    display: block;
    width: 100%;
    max-width: 853px;
    min-height: 100dvh;
    margin: 0 auto;
    padding: 0 0 calc(22px + env(safe-area-inset-bottom));
  }

  .fundraising-create-v2 svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .fundraising-create-v2-header {
    position: sticky;
    top: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 76px;
    min-height: 52px;
    align-items: center;
    border-bottom: 1px solid #e8e8eb;
    padding: env(safe-area-inset-top) 10px 0;
    background: rgba(255, 255, 255, .98);
  }

  .fundraising-create-v2-header a {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: #222328;
  }

  .fundraising-create-v2-header a svg {
    width: 22px;
    height: 22px;
  }

  .fundraising-create-v2-header h1 {
    margin: 0;
    overflow: hidden;
    color: #1f2024;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 720;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: 0;
  }

  .fundraising-create-v2-header button {
    min-height: 31px;
    border: 0;
    border-radius: 999px;
    padding: 0 13px;
    background: #ff3b35;
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }

  .fundraising-create-v2-primary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 48px;
    border-bottom: 1px solid #ececef;
    background: #fff;
  }

  .fundraising-create-v2-primary button,
  .fundraising-create-v2-tabs button {
    position: relative;
    border: 0;
    background: transparent;
    color: #7b7e86;
    font: inherit;
    font-size: 13px;
    font-weight: 560;
    white-space: nowrap;
  }

  .fundraising-create-v2-primary button.active {
    color: #202126;
    font-weight: 720;
  }

  .fundraising-create-v2-primary button.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 28px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: #ff3b35;
    transform: translateX(-50%);
  }

  .fundraising-create-v2-tabs {
    display: flex;
    height: 44px;
    overflow-x: auto;
    border-bottom: 1px solid #ececef;
    background: #fff;
    scrollbar-width: none;
  }

  .fundraising-create-v2-tabs::-webkit-scrollbar {
    display: none;
  }

  .fundraising-create-v2-tabs button {
    flex: 1 0 auto;
    min-width: 84px;
    padding: 0 11px;
    font-size: 11px;
  }

  .fundraising-create-v2-tabs button.active {
    color: #ff3b35;
    font-weight: 720;
  }

  .fundraising-create-v2-content {
    padding: 10px 10px 0;
  }

  .fundraising-create-v2-pane {
    display: none;
  }

  .fundraising-create-v2-pane.active {
    display: grid;
    gap: 10px;
  }

  .fundraising-create-v2-card {
    display: grid;
    gap: 13px;
    margin: 0;
    border: 1px solid #e8e8eb;
    border-radius: 7px;
    padding: 15px 14px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(24, 24, 28, .035);
  }

  .fundraising-create-v2-card h2 {
    margin: 0;
    color: #24252a;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 720;
    letter-spacing: 0;
  }

  .fundraising-create-v2-card > p {
    margin: -7px 0 0;
    color: #979aa2;
    font-size: 10px;
    line-height: 1.5;
  }

  .fundraising-create-v2-field {
    position: relative;
    display: grid;
    gap: 7px;
    color: #45474e;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
  }

  .fundraising-create-v2-field > span b {
    color: #ff3b35;
  }

  .fundraising-create-v2-field input,
  .fundraising-create-v2-field textarea,
  .fundraising-create-v2-field select {
    width: 100%;
    min-height: 38px;
    border: 1px solid #dedfe3;
    border-radius: 5px;
    padding: 0 11px;
    background: #fff;
    color: #24252a;
    font: inherit;
    font-size: 12px;
    font-weight: 500;
    outline: none;
  }

  .fundraising-create-v2-field textarea {
    min-height: 88px;
    padding-top: 10px;
    padding-bottom: 24px;
    resize: vertical;
    line-height: 1.55;
  }

  .fundraising-create-v2-field input:focus,
  .fundraising-create-v2-field textarea:focus,
  .fundraising-create-v2-field select:focus {
    border-color: #ff8d89;
    box-shadow: 0 0 0 2px rgba(255, 59, 53, .08);
  }

  .fundraising-create-v2-field input::placeholder,
  .fundraising-create-v2-field textarea::placeholder {
    color: #b5b7bd;
  }

  .fundraising-create-v2-field.counter em {
    position: absolute;
    right: 10px;
    bottom: 7px;
    color: #a0a2a8;
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
  }

  .fundraising-create-v2-cover {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 12px;
    align-items: start;
  }

  .fundraising-create-v2-cover > label {
    padding-top: 3px;
    color: #45474e;
    font-size: 12px;
    font-weight: 600;
  }

  .fundraising-create-v2-cover-drop {
    position: relative;
    display: grid;
    width: 112px;
    aspect-ratio: 1;
    place-items: center;
    align-content: center;
    gap: 4px;
    overflow: hidden;
    border: 1px dashed #cfd1d7;
    border-radius: 5px;
    background: #fafafa;
    color: #8e9199;
    cursor: pointer;
  }

  .fundraising-create-v2-cover-drop > input,
  .fundraising-create-v2-detail-drop > input,
  .fundraising-create-v2-detail-upload > textarea {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .fundraising-create-v2-cover-drop > svg {
    width: 28px;
    height: 28px;
  }

  .fundraising-create-v2-cover-drop > b,
  .fundraising-create-v2-detail-drop > b {
    font-size: 11px;
    font-weight: 650;
  }

  .fundraising-create-v2-cover-drop > small,
  .fundraising-create-v2-detail-drop > small {
    color: #aaaeb6;
    font-size: 9px;
  }

  .fundraising-create-v2-cover-drop [data-upload-preview] {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    background: #fafafa;
  }

  .fundraising-create-v2-cover-drop [data-upload-preview].empty {
    display: none;
  }

  .fundraising-create-v2-cover-drop [data-upload-preview] img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .fundraising-create-v2-detail-upload {
    position: relative;
    display: grid;
    gap: 8px;
  }

  .fundraising-create-v2-detail-drop {
    display: grid;
    min-height: 98px;
    place-items: center;
    align-content: center;
    gap: 5px;
    border: 1px dashed #d0d2d8;
    border-radius: 5px;
    background: #fafafa;
    color: #858890;
    cursor: pointer;
  }

  .fundraising-create-v2-detail-drop svg {
    width: 30px;
    height: 30px;
  }

  .fundraising-create-v2-upload-preview {
    display: flex;
    gap: 7px;
    overflow-x: auto;
  }

  .fundraising-create-v2-upload-preview.empty {
    display: none;
  }

  .fundraising-create-v2-upload-preview img {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    border: 1px solid #e4e5e8;
    border-radius: 4px;
    object-fit: cover;
  }

  .fundraising-create-v2-upload-preview .upload-preview-count {
    display: inline-grid;
    flex: 0 0 58px;
    height: 58px;
    place-items: center;
    border-radius: 4px;
    background: #f2f3f5;
    color: #73767e;
    font-size: 9px;
  }

  .fundraising-create-v2-detail-preview {
    padding: 0;
  }

  .fundraising-create-v2-detail-preview summary {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    padding: 0 14px;
    color: #33353a;
    font-size: 12px;
    font-weight: 650;
    cursor: pointer;
    list-style: none;
  }

  .fundraising-create-v2-detail-preview summary::-webkit-details-marker {
    display: none;
  }

  .fundraising-create-v2-detail-preview summary svg {
    width: 17px;
    height: 17px;
    transition: transform .18s ease;
  }

  .fundraising-create-v2-detail-preview[open] summary svg {
    transform: rotate(180deg);
  }

  .fundraising-create-v2-detail-preview > div {
    display: grid;
    gap: 8px;
    border-top: 1px solid #eeeeef;
    padding: 10px 14px 14px;
  }

  .fundraising-create-v2-detail-preview > div p {
    margin: 0;
    color: #9a9da5;
    font-size: 10px;
  }

  .fundraising-create-v2-detail-preview figure {
    margin: 0;
  }

  .fundraising-create-v2-detail-preview figure img {
    display: block;
    width: 100%;
    max-height: 280px;
    object-fit: contain;
    background: #f7f7f8;
  }

  .fundraising-create-v2-detail-preview figcaption {
    padding-top: 4px;
    color: #9598a0;
    font-size: 9px;
  }

  .social-preview-card {
    margin-bottom: 12px;
  }

  .fundraising-create-v2-social-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fundraising-create-v2-social-grid > article {
    display: grid;
    gap: 7px;
  }

  .fundraising-create-v2-social-grid > article > span {
    color: #777a82;
    font-size: 10px;
  }

  .fundraising-create-v2-moment,
  .fundraising-create-v2-wechat {
    min-width: 0;
    min-height: 104px;
    border: 1px solid #e5e6e9;
    border-radius: 5px;
    padding: 8px;
    background: #fbfbfc;
  }

  .fundraising-create-v2-moment {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 7px;
  }

  .fundraising-create-v2-moment > i {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 3px;
    background: #ffca3b;
    color: #5a4000;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
  }

  .fundraising-create-v2-moment > div,
  .fundraising-create-v2-wechat > div {
    min-width: 0;
  }

  .fundraising-create-v2-moment b,
  .fundraising-create-v2-wechat > b {
    display: block;
    overflow: hidden;
    color: #4f6280;
    font-size: 9px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .fundraising-create-v2-moment p,
  .fundraising-create-v2-wechat p {
    display: -webkit-box;
    overflow: hidden;
    margin: 4px 0 6px;
    color: #62656c;
    font-size: 8px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .fundraising-create-v2-wechat > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 43px;
    gap: 6px;
    margin-top: 8px;
    padding: 7px;
    background: #f0f1f3;
  }

  .fundraising-create-v2-social-grid figure {
    min-height: 43px;
    margin: 0;
    border-radius: 2px;
    background: #e4e5e8;
    background-position: center;
    background-size: cover;
  }

  .fundraising-create-v2-moment figure {
    aspect-ratio: 1.8;
  }

  .fundraising-create-v2-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fundraising-create-v2-switch {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 12px;
    min-height: 54px;
    align-items: center;
    border-top: 1px solid #eeeeef;
    color: #34363c;
  }

  .fundraising-create-v2-switch span {
    display: grid;
    gap: 4px;
  }

  .fundraising-create-v2-switch b {
    font-size: 12px;
    font-weight: 650;
  }

  .fundraising-create-v2-switch small {
    color: #989ba3;
    font-size: 9px;
    line-height: 1.35;
  }

  .fundraising-create-v2-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .fundraising-create-v2-switch i {
    position: relative;
    display: block;
    width: 39px;
    height: 22px;
    border-radius: 999px;
    background: #d7d8dc;
    transition: background .16s ease;
  }

  .fundraising-create-v2-switch i::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(30, 31, 35, .2);
    transition: transform .16s ease;
  }

  .fundraising-create-v2-switch input:checked + i {
    background: #ff3b35;
  }

  .fundraising-create-v2-switch input:checked + i::after {
    transform: translateX(17px);
  }

  .fundraising-create-v2-tip {
    border-radius: 5px;
    padding: 9px 10px;
    background: #fff7f6;
    color: #a34d49 !important;
  }
}

/* Independent homepage module management */
body.admin-body.admin-layout-v2.cms-homepage-modules-admin-body .admin-main,
body.admin-body.admin-layout-v2.cms-homepage-module-form-body .admin-main {
  max-width: 1240px;
}

body.admin-body.admin-layout-v2 .cms-homepage-direction-tabs {
  display: inline-flex;
  gap: 4px;
  margin: 0 0 18px;
  padding: 4px;
  border: 1px solid #e4ddd4;
  border-radius: 12px;
  background: #f8f5f0;
}

body.admin-body.admin-layout-v2 .cms-homepage-direction-tabs a {
  padding: 9px 16px;
  border-radius: 8px;
  color: #6f665d;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

body.admin-body.admin-layout-v2 .cms-homepage-direction-tabs a.active {
  background: #fff;
  color: #d71337;
  box-shadow: 0 2px 10px rgb(54 43 32 / 8%);
}

body.admin-body.admin-layout-v2 .cms-homepage-modules-panel {
  padding: 0;
  overflow: hidden;
}

body.admin-body.admin-layout-v2 .cms-homepage-modules-panel > .admin-panel-head {
  padding: 24px 26px;
  border-bottom: 1px solid #ece7e0;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-row {
  display: grid;
  grid-template-columns: 38px 34px minmax(280px, 1fr) auto minmax(190px, auto);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 20px 26px;
  border-bottom: 1px solid #ece7e0;
  background: #fff;
  transition: background-color 160ms ease, opacity 160ms ease;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-row:last-child { border-bottom: 0; }
body.admin-body.admin-layout-v2 .cms-homepage-module-row.is-dragging { opacity: .55; background: #fff4d7; }

body.admin-body.admin-layout-v2 .cms-homepage-module-handle {
  display: grid;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #e5ded5;
  border-radius: 8px;
  place-items: center;
  background: #faf8f5;
  color: #8a8178;
  cursor: grab;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-handle:active { cursor: grabbing; }

body.admin-body.admin-layout-v2 .cms-homepage-module-position {
  color: #c7bbb0;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-copy { min-width: 0; }
body.admin-body.admin-layout-v2 .cms-homepage-module-copy > div { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
body.admin-body.admin-layout-v2 .cms-homepage-module-copy strong { color: #25211d; font-size: 17px; }
body.admin-body.admin-layout-v2 .cms-homepage-module-copy code { color: #968a80; font-size: 11px; }
body.admin-body.admin-layout-v2 .cms-homepage-module-copy p { margin: 6px 0 3px; color: #746b63; font-size: 13px; line-height: 1.55; }
body.admin-body.admin-layout-v2 .cms-homepage-module-copy small { color: #9a9087; }
body.admin-body.admin-layout-v2 .cms-homepage-module-copy small.warning { color: #b86b17; }

body.admin-body.admin-layout-v2 .cms-homepage-module-toggle {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: #514b45;
  font-weight: 700;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-toggle input {
  width: 18px;
  height: 18px;
  accent-color: #ea1034;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

body.admin-body.admin-layout-v2 .cms-homepage-modules-save {
  display: flex;
  padding: 20px 26px;
  border-top: 1px solid #ece7e0;
  justify-content: flex-end;
  background: #faf8f5;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-editor {
  display: grid;
  gap: 20px;
  max-width: 920px;
  margin: 0 auto;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-editor-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 10px;
  background: #f8f5f0;
  color: #756c64;
}

body.admin-body.admin-layout-v2 .cms-homepage-module-editor-meta small { flex-basis: 100%; }

body.admin-body.admin-layout-v2.cms-about-admin-body .admin-main,
body.admin-body.admin-layout-v2.cms-about-form-body .admin-main {
  max-width: 1180px;
}

body.admin-body.admin-layout-v2 .cms-about-panel {
  padding: 0;
  overflow: hidden;
}

body.admin-body.admin-layout-v2 .cms-about-list {
  display: grid;
}

body.admin-body.admin-layout-v2 .cms-about-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 24px 28px;
  border-bottom: 1px solid #eee8e1;
}

body.admin-body.admin-layout-v2 .cms-about-row:last-child { border-bottom: 0; }

body.admin-body.admin-layout-v2 .cms-about-row-index {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #fff4d7;
  color: #ea1034;
  font-size: 13px;
  font-weight: 800;
}

body.admin-body.admin-layout-v2 .cms-about-row-copy { min-width: 0; }
body.admin-body.admin-layout-v2 .cms-about-row-copy h2 { margin: 0; color: #25211d; font-size: 19px; }
body.admin-body.admin-layout-v2 .cms-about-row-copy p { margin: 6px 0; color: #746b63; line-height: 1.6; }
body.admin-body.admin-layout-v2 .cms-about-row-copy small { color: #9a9087; }
body.admin-body.admin-layout-v2 .cms-about-row-copy small.warning { color: #b86b17; }

body.admin-body.admin-layout-v2 .cms-about-row-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

body.admin-body.admin-layout-v2 .cms-about-editor {
  display: grid;
  gap: 22px;
  max-width: 960px;
}

body.admin-body.admin-layout-v2 .cms-about-editor-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  padding: 13px 15px;
  border-radius: 12px;
  background: #f8f5f1;
  color: #746b63;
}

body.admin-body.admin-layout-v2 .cms-about-editor-meta code { color: #ea1034; }
body.admin-body.admin-layout-v2 .cms-about-editor-meta small { flex-basis: 100%; }
body.admin-body.admin-layout-v2 .cms-about-cover-preview img { max-height: 340px; object-fit: contain; }

@media (max-width: 720px) {
  body.admin-body.admin-layout-v2 .cms-about-row {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 20px 16px;
  }
  body.admin-body.admin-layout-v2 .cms-about-row-actions { grid-column: 2; }
  body.admin-body.admin-layout-v2 .cms-about-row-actions .admin-button,
  body.admin-body.admin-layout-v2 .cms-about-row-actions .admin-link-button { flex: 1; justify-content: center; }
}

@media (max-width: 860px) {
  body.admin-body.admin-layout-v2 .cms-homepage-direction-tabs { display: grid; grid-template-columns: repeat(3, 1fr); }
  body.admin-body.admin-layout-v2 .cms-homepage-direction-tabs a { padding-inline: 10px; text-align: center; }
  body.admin-body.admin-layout-v2 .cms-homepage-module-row {
    grid-template-columns: 36px 28px minmax(0, 1fr) auto;
    padding: 18px;
  }
  body.admin-body.admin-layout-v2 .cms-homepage-module-actions { grid-column: 3 / -1; justify-content: flex-start; }
}

body.admin-body .wechat-userscript-source-note {
  display: grid;
  gap: 7px;
  border-left: 3px solid #9f1832;
  border-radius: 10px;
  padding: 14px 16px;
  background: #fbf6f7;
  color: #3f3f46;
}

body.admin-body .wechat-userscript-source-note strong {
  color: #86172c;
  font-size: 14px;
}

body.admin-body .wechat-userscript-source-note p {
  margin: 0;
  line-height: 1.7;
}

body.admin-body .wechat-userscript-source-note code,
body.admin-body .wechat-userscript-run-card code {
  overflow-wrap: anywhere;
  color: #86172c;
}

body.admin-body .wechat-userscript-run-list {
  display: grid;
  gap: 16px;
}

body.admin-body .wechat-userscript-run-card {
  overflow: hidden;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  background: #fff;
}

body.admin-body .wechat-userscript-run-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid #eee9ea;
}

body.admin-body .wechat-userscript-run-card h2,
body.admin-body .wechat-userscript-run-card header p {
  margin: 0;
}

body.admin-body .wechat-userscript-run-card h2 {
  font-size: 17px;
}

body.admin-body .wechat-userscript-run-card header p {
  margin-top: 4px;
  color: #71717a;
  font-size: 12px;
}

body.admin-body .wechat-userscript-run-stats {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-bottom: 1px solid #eee9ea;
}

body.admin-body .wechat-userscript-run-stats span {
  min-width: 0;
  padding: 14px 10px;
  border-right: 1px solid #eee9ea;
  text-align: center;
}

body.admin-body .wechat-userscript-run-stats span:last-child {
  border-right: 0;
}

body.admin-body .wechat-userscript-run-stats b,
body.admin-body .wechat-userscript-run-stats small {
  display: block;
}

body.admin-body .wechat-userscript-run-stats b {
  color: #27272a;
  font-size: 20px;
}

body.admin-body .wechat-userscript-run-stats small {
  margin-top: 2px;
  color: #71717a;
  font-size: 11px;
}

body.admin-body .wechat-userscript-run-stats .failed b {
  color: #b4233e;
}

body.admin-body .wechat-userscript-run-card > dl {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 16px 20px;
}

body.admin-body .wechat-userscript-run-card > dl > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 10px;
}

body.admin-body .wechat-userscript-run-card dt {
  color: #71717a;
  font-size: 12px;
}

body.admin-body .wechat-userscript-run-card dd {
  min-width: 0;
  margin: 0;
}

body.admin-body .wechat-userscript-run-card dl .error dd {
  color: #a30b26;
}

body.admin-body .wechat-userscript-failures {
  border-top: 1px solid #f1dadd;
  background: #fffafb;
}

body.admin-body .wechat-userscript-failures summary {
  padding: 13px 20px;
  color: #9f1832;
  font-weight: 750;
  cursor: pointer;
}

body.admin-body .wechat-userscript-failures > div {
  display: grid;
  gap: 10px;
  padding: 0 20px 18px;
}

body.admin-body .wechat-userscript-failures article {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.4fr) auto;
  align-items: start;
  gap: 14px;
  border: 1px solid #f0d5da;
  border-radius: 10px;
  padding: 12px 14px;
  background: #fff;
}

body.admin-body .wechat-userscript-failures article strong,
body.admin-body .wechat-userscript-failures article small {
  display: block;
}

body.admin-body .wechat-userscript-failures article small {
  margin-top: 3px;
  color: #71717a;
}

body.admin-body .wechat-userscript-failures article p {
  margin: 0;
  color: #9f1239;
  overflow-wrap: anywhere;
}

body.admin-body .wechat-userscript-failures article a {
  white-space: nowrap;
  color: #86172c;
  font-weight: 700;
}

@media (max-width: 840px) {
  body.admin-body .wechat-userscript-run-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.admin-body .wechat-userscript-run-stats span:nth-child(3) {
    border-right: 0;
  }

  body.admin-body .wechat-userscript-run-stats span:nth-child(-n + 3) {
    border-bottom: 1px solid #eee9ea;
  }

  body.admin-body .wechat-userscript-failures article {
    grid-template-columns: 1fr;
  }
}

/* WeChat article type to CMS category bindings */
body.admin-body .wechat-cms-import-notice {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) minmax(0, 1.5fr);
  gap: 22px;
  align-items: start;
  border: 1px solid #f0d7d7;
  border-radius: 16px;
  padding: 18px 20px;
  background: #fffafa;
}

body.admin-body .wechat-cms-import-notice strong {
  color: #8f1d20;
  font-size: 16px;
}

body.admin-body .wechat-cms-import-notice p {
  margin: 5px 0 0;
  color: #6b7280;
  font-size: 13px;
}

body.admin-body .wechat-cms-unbound-types {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.admin-body .wechat-cms-unbound-types a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  border: 1px solid #ead9d9;
  border-radius: 999px;
  padding: 7px 11px;
  background: #fff;
  color: #7d2326;
  text-decoration: none;
}

body.admin-body .wechat-cms-unbound-types a:hover {
  border-color: #b9272d;
}

body.admin-body .wechat-cms-unbound-types small {
  color: #9ca3af;
}

body.admin-body .wechat-cms-import-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.admin-body .wechat-cms-import-card {
  display: grid;
  gap: 15px;
  min-width: 0;
  border: 1px solid #e6e2e2;
  border-radius: 16px;
  padding: 20px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(73, 28, 30, .04);
}

body.admin-body .wechat-cms-import-card > header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

body.admin-body .wechat-cms-import-card h2 {
  margin: 5px 0 0;
  color: #262222;
  font-size: 20px;
}

body.admin-body .wechat-cms-import-type {
  color: #a3262b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

body.admin-body .wechat-cms-import-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  border-radius: 10px;
  padding: 10px 12px;
  background: #f8f6f6;
  color: #6b6262;
  font-size: 12px;
  text-align: center;
}

body.admin-body .wechat-cms-import-flow i {
  color: #b9272d;
  font-style: normal;
  font-size: 17px;
}

body.admin-body .wechat-cms-import-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
  margin: 0;
}

body.admin-body .wechat-cms-import-card dl > div {
  min-width: 0;
}

body.admin-body .wechat-cms-import-card dl > .wide {
  grid-column: 1 / -1;
}

body.admin-body .wechat-cms-import-card dt {
  color: #8b8585;
  font-size: 11px;
}

body.admin-body .wechat-cms-import-card dd {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  color: #332e2e;
  font-size: 14px;
  font-weight: 700;
}

body.admin-body .wechat-cms-import-card > footer {
  align-self: end;
  border-top: 1px solid #f0eded;
  padding-top: 14px;
}

body.admin-body .wechat-cms-import-editor-panel {
  margin-top: 18px;
}

@media (max-width: 900px) {
  body.admin-body .wechat-cms-import-grid,
  body.admin-body .wechat-cms-import-notice {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  body.admin-body .wechat-cms-import-card {
    padding: 16px;
  }

  body.admin-body .wechat-cms-import-card dl {
    grid-template-columns: 1fr;
  }

  body.admin-body .wechat-cms-import-card dl > .wide {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  body.admin-body.admin-layout-v2 .cms-homepage-modules-panel > .admin-panel-head { padding: 20px 18px; }
  body.admin-body.admin-layout-v2 .cms-homepage-modules-panel > .admin-panel-head .admin-button { width: 100%; }
  body.admin-body.admin-layout-v2 .cms-homepage-module-row { grid-template-columns: 36px 26px minmax(0, 1fr); gap: 10px; }
  body.admin-body.admin-layout-v2 .cms-homepage-module-toggle { grid-column: 3; }
  body.admin-body.admin-layout-v2 .cms-homepage-module-actions { grid-column: 3; display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  body.admin-body.admin-layout-v2 .cms-homepage-module-actions .admin-button,
  body.admin-body.admin-layout-v2 .cms-homepage-module-actions .admin-link-button { width: 100%; justify-content: center; text-align: center; }
}

/* Standalone legacy demo pages: references 80-82. */
.demo-sidebar-body,
.frontend-version-body,
.child-template-body {
  margin: 0;
  color: #161a22;
  background: #f5f7fa;
  font-family: var(--font-brand);
  letter-spacing: 0;
}

.demo-sidebar-body *,
.frontend-version-body *,
.child-template-body * {
  box-sizing: border-box;
}

.demo-sidebar {
  position: fixed;
  z-index: 20;
  inset: 0 auto 0 0;
  display: flex;
  width: 294px;
  flex-direction: column;
  color: #eef2f7;
  background: #172435;
  box-shadow: inset -1px 0 rgba(255, 255, 255, .06);
}

.demo-sidebar-backdrop {
  display: none;
}

.demo-sidebar-brand {
  display: flex;
  min-height: 90px;
  align-items: center;
  gap: 14px;
  padding: 0 30px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  color: #fff;
  text-decoration: none;
}

.demo-sidebar-brand svg {
  width: 44px;
  height: 44px;
  fill: #ffd000;
  stroke: #172435;
  stroke-width: 2;
}

.demo-sidebar-brand strong {
  font-size: 25px;
  line-height: 1;
}

.demo-sidebar-nav {
  display: grid;
  gap: 5px;
  padding: 18px 13px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.demo-sidebar-nav a {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 17px;
  padding: 0 18px;
  border-radius: 6px;
  color: #eef2f7;
  font-size: 17px;
  font-weight: 600;
  text-decoration: none;
}

.demo-sidebar-nav a:hover,
.demo-sidebar-nav a.is-active {
  color: #11161e;
  background: #ffd000;
}

.demo-sidebar-nav svg,
.demo-sidebar-topbar svg,
.demo-module-grid svg {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.demo-sidebar-nav a:first-child svg {
  fill: currentColor;
  stroke: none;
}

.demo-sidebar-groups {
  display: grid;
  gap: 1px;
  padding: 17px 0;
}

.demo-sidebar-groups details {
  padding: 0 29px;
}

.demo-sidebar-groups summary {
  display: flex;
  min-height: 52px;
  cursor: pointer;
  list-style: none;
  align-items: center;
  justify-content: space-between;
  font-size: 17px;
  font-weight: 600;
}

.demo-sidebar-groups summary::-webkit-details-marker {
  display: none;
}

.demo-sidebar-groups summary svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  transition: transform .2s ease;
}

.demo-sidebar-groups details[open] summary svg {
  transform: rotate(180deg);
}

.demo-sidebar-groups details > a {
  display: block;
  padding: 8px 12px 8px 18px;
  color: #cbd3df;
  font-size: 14px;
  text-decoration: none;
}

.demo-sidebar-groups details > a:hover {
  color: #ffd000;
}

.demo-sidebar-main {
  display: flex;
  min-height: 100vh;
  margin-left: 294px;
  flex-direction: column;
}

.demo-sidebar-topbar {
  position: relative;
  z-index: 10;
  display: grid;
  min-height: 90px;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 0 34px;
  border-bottom: 1px solid #dfe3e8;
  background: #fff;
}

.demo-sidebar-topbar > button {
  display: grid;
  width: 40px;
  height: 40px;
  cursor: pointer;
  place-items: center;
  border: 0;
  background: transparent;
  color: #111820;
}

.demo-sidebar-topbar nav {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #4c5562;
  font-size: 17px;
}

.demo-sidebar-topbar nav a {
  color: inherit;
  text-decoration: none;
}

.demo-sidebar-topbar nav b {
  font-weight: 500;
}

.demo-sidebar-account {
  position: relative;
}

.demo-sidebar-account summary {
  display: flex;
  min-width: 148px;
  min-height: 48px;
  cursor: pointer;
  list-style: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #d5dbe2;
  border-radius: 6px;
  background: #fff;
  font-size: 17px;
}

.demo-sidebar-account summary::-webkit-details-marker {
  display: none;
}

.demo-sidebar-account summary svg {
  width: 22px;
}

.demo-sidebar-account > a {
  display: block;
  padding: 10px 15px;
  border: 1px solid #e1e5ea;
  border-top: 0;
  background: #fff;
  color: #2b3440;
  text-decoration: none;
}

.demo-sidebar-content {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px 30px 100px;
}

.demo-sidebar-content > h1 {
  margin: 0 0 28px;
  font-size: 34px;
  line-height: 1.2;
}

.demo-feature-panel,
.demo-module-grid article {
  border: 1px solid #d9dde2;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(26, 35, 48, .06);
}

.demo-feature-panel {
  min-height: 335px;
  padding: 28px 30px;
}

.demo-feature-panel h2 {
  margin: 0;
  padding-bottom: 17px;
  border-bottom: 1px solid #e2e5e9;
  font-size: 23px;
}

.demo-feature-panel ul {
  display: grid;
  gap: 21px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  color: #4c5562;
  font-size: 17px;
}

.demo-feature-panel li {
  display: flex;
  align-items: center;
  gap: 14px;
}

.demo-feature-panel li i {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 3px;
  background: #ffd000;
  color: #111820;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.demo-module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.demo-module-grid article {
  position: relative;
  min-height: 265px;
  padding: 34px 28px 28px;
}

.demo-module-grid article > span {
  position: absolute;
  top: 31px;
  left: 29px;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  background: #fff7d7;
  color: #f5bf00;
}

.demo-module-grid h2 {
  margin: 13px 0 37px 78px;
  font-size: 22px;
}

.demo-module-grid p {
  min-height: 53px;
  margin: 0 0 23px;
  color: #646c78;
  font-size: 16px;
  line-height: 1.65;
}

.demo-module-grid article > a {
  display: inline-flex;
  min-height: 39px;
  align-items: center;
  padding: 0 19px;
  border: 1px solid #cfd5dd;
  border-radius: 5px;
  color: #161c24;
  font-weight: 600;
  text-decoration: none;
}

.demo-sidebar-footer {
  min-height: 77px;
  margin-top: auto;
  padding: 30px;
  border-top: 1px solid #dfe3e8;
  background: #fff;
  color: #606976;
  font-size: 15px;
}

.frontend-version-body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  background: #f8f9fb;
}

.frontend-version-badge {
  position: fixed;
  z-index: 5;
  top: 25px;
  right: 42px;
  padding: 8px 14px;
  border: 1px solid #e2b700;
  border-radius: 9px;
  background: #ffd62a;
  color: #10151d;
  font-size: 20px;
}

.frontend-version-body.is-v2 .frontend-version-badge {
  border-color: #171d26;
  background: #171d26;
  color: #ffd62a;
}

.frontend-version-page {
  width: calc(100% - 82px);
  max-width: 1450px;
  margin: 90px auto 40px;
}

.frontend-version-page > header,
.frontend-version-modules article,
.frontend-version-lower article {
  border: 1px solid #d1d5da;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(23, 29, 38, .08);
}

.frontend-version-page > header {
  min-height: 170px;
  padding: 36px 25px;
  text-align: center;
}

.frontend-version-page > header h1 {
  margin: 0 0 15px;
  font-size: 39px;
}

.frontend-version-page > header p {
  margin: 0;
  color: #5c6470;
  font-size: 21px;
}

.frontend-version-modules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 31px;
  margin-top: 31px;
}

.frontend-version-modules article {
  display: grid;
  min-height: 180px;
  grid-template-columns: 85px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  padding: 29px 27px;
}

.frontend-version-modules article > span {
  display: grid;
  width: 79px;
  height: 79px;
  place-items: center;
  border-radius: 50%;
  background: #fff7d7;
  color: #f3be00;
}

.frontend-version-modules svg {
  width: 49px;
  height: 49px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.frontend-version-modules h2 {
  margin: 0 0 15px;
  font-size: 23px;
}

.frontend-version-modules p {
  margin: 0;
  color: #5e6672;
  font-size: 17px;
  line-height: 1.7;
}

.frontend-version-switch {
  display: flex;
  justify-content: center;
  padding: 45px 0 32px;
}

.frontend-version-switch a {
  display: inline-flex;
  min-width: 266px;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e3b900;
  border-radius: 7px;
  background: #ffd000;
  color: #151a22;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
}

.frontend-version-lower {
  display: grid;
  grid-template-columns: .85fr 1.05fr;
  gap: 31px;
}

.frontend-version-lower article {
  min-height: 258px;
  padding: 28px 34px;
}

.frontend-version-lower h2 {
  margin: 0 0 23px;
  padding-bottom: 15px;
  border-bottom: 1px solid #d9dde2;
  font-size: 23px;
}

.frontend-version-lower h2 span {
  display: inline-grid;
  width: 26px;
  height: 26px;
  margin-right: 10px;
  place-items: center;
  border-radius: 50%;
  background: #f4bf00;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 18px;
}

.frontend-version-lower p {
  margin: 0 0 23px;
  color: #555e6a;
  font-size: 17px;
  line-height: 1.8;
}

.frontend-version-app {
  display: grid;
  min-height: 140px;
  place-items: center;
  border: 1px solid #cfd4da;
  border-radius: 5px;
  background: #f7f8fa;
  color: #4d5561;
  font-size: 30px;
  text-decoration: none;
}

.frontend-version-footer {
  min-height: 96px;
  margin-top: auto;
  padding: 37px 20px;
  border-top: 1px solid #d4d9df;
  background: #fff;
  color: #545d69;
  text-align: center;
  font-size: 17px;
}

.child-template-body {
  min-height: 100vh;
  background: #f5f7fa;
}

.child-template-header {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  border-bottom: 1px solid #dce1e7;
  background: #fff;
}

.child-template-header > a {
  color: #141922;
  font-size: 24px;
  font-weight: 800;
  text-decoration: none;
}

.child-template-header details {
  position: relative;
}

.child-template-header summary {
  cursor: pointer;
  list-style: none;
  font-size: 18px;
}

.child-template-header summary::-webkit-details-marker {
  display: none;
}

.child-template-header details > a {
  display: block;
  min-width: 120px;
  padding: 9px 14px;
  border: 1px solid #d9dee5;
  background: #fff;
  color: #303845;
  text-decoration: none;
}

.child-template-layout {
  display: grid;
  min-height: calc(100vh - 72px);
  grid-template-columns: 307px minmax(0, 1fr);
  gap: 30px;
  padding: 23px 17px 69px;
}

.child-template-layout > aside,
.child-template-layout article {
  border: 1px solid #d6dbe1;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(28, 37, 50, .04);
}

.child-template-layout > aside {
  min-height: 807px;
  padding: 28px 22px;
}

.child-template-layout aside h2 {
  margin: 0;
  font-size: 24px;
}

.child-template-layout aside i {
  display: block;
  width: 46px;
  height: 4px;
  margin: 13px 0 25px;
  background: #ffd000;
}

.child-template-layout aside p {
  margin: 0 0 21px;
  color: #303844;
  font-size: 18px;
  line-height: 1.7;
}

.child-template-layout > section h1 {
  margin: 17px 10px 18px;
  font-size: 34px;
}

.child-template-layout article {
  min-height: 245px;
  padding: 29px 25px;
  color: #303844;
  font-size: 19px;
}

@media (max-width: 900px) {
  .demo-sidebar-body.is-demo-sidebar-open {
    overflow: hidden;
  }

  .demo-sidebar {
    transform: translateX(-100%);
    transition: transform .2s ease;
  }

  .demo-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 15;
    display: block;
    cursor: pointer;
    border: 0;
    background: rgba(15, 23, 42, .46);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  .demo-sidebar-body.is-demo-sidebar-open .demo-sidebar {
    transform: translateX(0);
  }

  .demo-sidebar-body.is-demo-sidebar-open .demo-sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .demo-sidebar-main {
    margin-left: 0;
  }

  .demo-sidebar-topbar {
    padding: 0 16px;
  }

  .demo-module-grid,
  .frontend-version-modules,
  .frontend-version-lower {
    grid-template-columns: 1fr;
  }

  .frontend-version-badge {
    right: 16px;
  }

  .child-template-layout {
    grid-template-columns: 1fr;
  }

  .child-template-layout > aside {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .demo-sidebar-topbar {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .demo-sidebar-topbar nav {
    gap: 7px;
    overflow: hidden;
    font-size: 13px;
    white-space: nowrap;
  }

  .demo-sidebar-account {
    display: none;
  }

  .demo-sidebar-content {
    padding: 24px 16px 70px;
  }

  .demo-sidebar-content > h1 {
    font-size: 28px;
  }

  .demo-feature-panel {
    padding: 23px 20px;
  }

  .demo-module-grid article {
    min-height: 245px;
  }

  .frontend-version-page {
    width: calc(100% - 28px);
    margin-top: 82px;
  }

  .frontend-version-page > header {
    min-height: 150px;
    padding: 31px 18px;
  }

  .frontend-version-page > header h1 {
    font-size: 29px;
  }

  .frontend-version-page > header p {
    font-size: 16px;
  }

  .frontend-version-modules {
    gap: 16px;
  }

  .frontend-version-modules article {
    min-height: 160px;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 15px;
    padding: 22px 18px;
  }

  .frontend-version-modules article > span {
    width: 60px;
    height: 60px;
  }

  .frontend-version-modules svg {
    width: 37px;
    height: 37px;
  }

  .frontend-version-lower article {
    padding: 24px 20px;
  }

  .child-template-header {
    padding: 0 18px;
  }

  .child-template-layout {
    padding: 16px;
  }
}

/* Real QR image shared by legacy and V2 login screens. */
.auth-qr-code {
  display: block;
  min-height: 0;
  background: #fff;
}

.auth-qr-code::before,
.auth-qr-code::after {
  display: none;
}

.auth-qr-code > img {
  display: block;
  width: 214px;
  height: 214px;
  object-fit: contain;
}

/* V2 QR login flow, matched to planning screens 74-76. */
body.public-h5.qr-login-v2-body,
body.public-h5.scan-authorize-v2-body,
body.public-h5.scan-confirmed-v2-body {
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background: #f7f8fb;
  color: #121827;
}

.qr-login-v2,
.scan-authorize-v2,
.scan-confirmed-v2,
.qr-login-v2 *,
.scan-authorize-v2 *,
.scan-confirmed-v2 * {
  box-sizing: border-box;
}

.qr-login-v2 svg,
.scan-authorize-v2 svg,
.scan-confirmed-v2 svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.qr-login-v2,
.scan-authorize-v2,
.scan-confirmed-v2 {
  position: relative;
  width: 100%;
  max-width: 430px;
  min-height: 100vh;
  margin: 0 auto;
  overflow: hidden;
  background: #f7f8fb;
}

.qr-login-v2::before,
.qr-login-v2::after,
.scan-authorize-v2::before,
.scan-authorize-v2::after,
.scan-confirmed-v2::before,
.scan-confirmed-v2::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 260px;
  height: 130px;
  opacity: .52;
  pointer-events: none;
  transform: skewY(-18deg);
}

.qr-login-v2::before,
.scan-authorize-v2::before,
.scan-confirmed-v2::before {
  top: -45px;
  right: -150px;
  background: #ffe7e9;
}

.qr-login-v2::after,
.scan-authorize-v2::after,
.scan-confirmed-v2::after {
  left: -175px;
  bottom: 8px;
  background: #e9f0ff;
}

.qr-login-v2-card,
.scan-authorize-v2-card,
.scan-confirmed-v2-card {
  position: relative;
  z-index: 1;
  border: 1px solid #e4e7ed;
  border-radius: 8px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 10px 28px rgba(34, 43, 60, .09);
}

.qr-login-v2-card {
  display: grid;
  width: calc(100% - 68px);
  min-height: 790px;
  justify-items: center;
  align-content: start;
  margin: 65px auto 0;
  padding: 31px 16px 15px;
}

.qr-login-v2-brand {
  color: #ff3139;
  font-size: 34px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 0;
}

.qr-login-v2-card > h1 {
  margin: 18px 0 0;
  font-size: 23px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: 0;
}

.qr-login-v2-card > p {
  margin: 10px 0 0;
  color: #7b8495;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
}

.qr-login-v2-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  height: 42px;
  margin-top: 23px;
  overflow: hidden;
  border: 1px solid #e2e5ec;
  border-radius: 7px;
  background: #fafbfc;
}

.qr-login-v2-tabs a {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #70798b;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.qr-login-v2-tabs a.active {
  background: #fff;
  color: #ff3038;
}

.qr-login-v2-tabs a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #ff3038;
}

.qr-login-v2-tabs svg {
  width: 19px;
  height: 19px;
}

.qr-login-v2-code {
  position: relative;
  display: grid;
  width: 247px;
  height: 247px;
  place-items: center;
  margin-top: 18px;
  border: 1px solid #dfe3ea;
  border-radius: 7px;
  padding: 8px;
  background: #fff;
}

.qr-login-v2-code > img {
  display: block;
  width: 229px;
  height: 229px;
  object-fit: contain;
}

.qr-login-v2-code > span {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 49px;
  height: 49px;
  border: 5px solid #fff;
  border-radius: 7px;
  background: #fff;
  color: #ff3440;
  transform: translate(-50%, -50%);
}

.qr-login-v2-code > span svg {
  width: 38px;
  height: 38px;
  stroke-width: 1.9;
}

.qr-login-v2-waiting {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 13px;
  color: #737d8e;
  font-size: 13px;
}

.qr-login-v2-waiting i {
  display: block;
  width: 17px;
  height: 17px;
  border: 2px solid #ffd3d5;
  border-top-color: #ff3b42;
  border-radius: 50%;
  animation: auth-spin .9s linear infinite;
}

.qr-login-v2.is-expired .qr-login-v2-waiting i {
  animation: none;
  border-color: #ff3b42;
}

.qr-login-v2-scan-help {
  margin-top: 8px !important;
}

.qr-login-v2-tips {
  width: 100%;
  margin-top: 17px;
  border-top: 1px solid #e6e9ef;
  padding-top: 13px;
}

.qr-login-v2-tips h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
}

.qr-login-v2-tips h2 i {
  width: 3px;
  height: 17px;
  border-radius: 2px;
  background: #ff343b;
}

.qr-login-v2-tips ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.qr-login-v2-tips li {
  display: grid;
  grid-template-columns: 33px minmax(0, 1fr);
  min-height: 33px;
  align-items: center;
  border: 1px solid #e8eaf0;
  border-radius: 6px;
  padding: 2px 9px;
  background: #fff;
  color: #242a38;
  font-size: 12px;
  font-weight: 650;
}

.qr-login-v2-tips li > span {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #fff0f1;
  color: #ff3740;
}

.qr-login-v2-tips li svg {
  width: 18px;
  height: 18px;
}

.qr-login-v2-footer {
  display: grid;
  width: 100%;
  justify-items: center;
  gap: 10px;
  margin-top: 13px;
  border-top: 1px dashed #dfe3ea;
  padding-top: 12px;
}

.qr-login-v2-footer p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #7a8496;
  font-size: 10px;
}

.qr-login-v2-footer p svg {
  width: 14px;
  height: 14px;
}

.qr-login-v2-footer > a {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #d8dce5;
  border-radius: 7px;
  padding: 0 16px;
  color: #6e7889;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.qr-login-v2-footer > a svg {
  width: 17px;
  height: 17px;
}

.qr-login-v2-home {
  position: relative;
  z-index: 1;
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 5px;
  margin: 22px auto 0;
  color: #ff3038;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.qr-login-v2-home svg {
  width: 18px;
  height: 18px;
}

.scan-authorize-v2-card,
.scan-confirmed-v2-card {
  display: grid;
  width: calc(100% - 62px);
  justify-items: center;
  margin: 145px auto 0;
  padding: 28px 22px 24px;
}

.scan-authorize-v2-card {
  padding-top: 24px;
}

.scan-authorize-v2-shield,
.scan-confirmed-v2-check {
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  border: 1px solid #ffe2e4;
  border-radius: 50%;
  background: #fff5f5;
  color: #f5222d;
}

.scan-authorize-v2-shield svg {
  width: 62px;
  height: 62px;
  stroke-width: 1.9;
}

.scan-authorize-v2-card > header,
.scan-confirmed-v2-card > header {
  display: grid;
  justify-items: center;
}

.scan-authorize-v2-card > header h1,
.scan-confirmed-v2-card > header h1 {
  margin: 14px 0 0;
  color: #121827;
  font-size: 30px;
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: 0;
}

.scan-authorize-v2-card > header p,
.scan-confirmed-v2-card > header p {
  margin: 11px 0 0;
  color: #707b8e;
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}

.scan-authorize-v2-user,
.scan-confirmed-v2-user {
  display: grid;
  grid-template-columns: 71px minmax(0, 1fr);
  width: 100%;
  min-height: 100px;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
  border: 1px solid #dfe3ea;
  border-radius: 7px;
  padding: 12px 16px;
  background: #fff;
}

.scan-authorize-v2-user > span,
.scan-confirmed-v2-user > span {
  display: grid;
  place-items: center;
  width: 71px;
  height: 71px;
  border-radius: 50%;
  background: #ff433c;
  color: #fff;
  font-size: 28px;
  font-weight: 850;
}

.scan-authorize-v2-user strong,
.scan-confirmed-v2-user strong,
.scan-authorize-v2-user small,
.scan-confirmed-v2-user small {
  display: block;
}

.scan-authorize-v2-user strong,
.scan-confirmed-v2-user strong {
  overflow: hidden;
  color: #151b2a;
  font-size: 19px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scan-authorize-v2-user small,
.scan-confirmed-v2-user small {
  margin-top: 7px;
  color: #687386;
  font-size: 13px;
}

.scan-authorize-v2-warning {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  width: 100%;
  min-height: 68px;
  align-items: center;
  gap: 11px;
  margin-top: 19px;
  border: 1px solid #ffd9db;
  border-radius: 7px;
  padding: 10px 13px;
  background: #fff4f4;
  color: #f5222d;
}

.scan-authorize-v2-warning > svg {
  width: 43px;
  height: 43px;
}

.scan-authorize-v2-warning strong {
  font-size: 14px;
}

.scan-authorize-v2-warning p {
  margin: 4px 0 0;
  color: #626d7f;
  font-size: 11px;
  line-height: 1.45;
}

.scan-authorize-v2-actions {
  display: grid;
  width: 100%;
  gap: 11px;
  margin-top: 20px;
}

.scan-authorize-v2-actions button,
.scan-authorize-v2-actions a,
.scan-confirmed-v2-primary {
  display: flex;
  min-height: 53px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 7px;
  background: #ff302d;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}

.scan-authorize-v2-actions a {
  border: 1px solid #d9dde5;
  background: #fff;
  color: #616b7c;
}

.scan-authorize-v2-actions button.secondary {
  border: 1px solid #d9dde5;
  background: #fff;
  color: #616b7c;
}

.scan-authorize-v2-actions button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scan-authorize-v2-actions button,
.scan-authorize-v2-actions a {
  min-height: 51px;
}

.scan-authorize-v2-card > footer,
.scan-confirmed-v2-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  width: 100%;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  color: #788295;
  font-size: 11px;
}

.scan-authorize-v2-card > footer span,
.scan-confirmed-v2-divider span {
  height: 1px;
  background: #e0e4eb;
}

.scan-confirmed-v2-card {
  min-height: 630px;
  width: calc(100% - 56px);
  margin-top: 151px;
  padding: 19px 25px 26px;
}

.scan-confirmed-v2-check {
  width: 134px;
  height: 134px;
  border-color: #d8f4e2;
  background: #f5fcf7;
  color: #fff;
}

.scan-confirmed-v2-check svg {
  z-index: 1;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  padding: 18px;
  background: #12b957;
  box-shadow: 0 0 0 14px #e3f8eb;
  box-sizing: border-box;
  stroke-width: 2.1;
}

.scan-confirmed-v2.is-canceled .scan-confirmed-v2-check {
  border-color: #e2e5eb;
  background: #f7f8fa;
}

.scan-confirmed-v2.is-canceled .scan-confirmed-v2-check svg {
  background: #667085;
  box-shadow: 0 0 0 14px #eef0f3;
}

.scan-confirmed-v2-card > header h1 {
  margin-top: 17px;
  font-size: 34px;
}

.scan-confirmed-v2-card > header small {
  margin-top: 11px;
  color: #707b8e;
  font-size: 13px;
}

.scan-confirmed-v2-card > header small b {
  color: #16af58;
  font-size: 17px;
}

.scan-confirmed-v2-user {
  grid-template-columns: 57px minmax(0, 1fr);
  min-height: 88px;
  margin-top: 20px;
}

.scan-confirmed-v2-user > span {
  width: 57px;
  height: 57px;
  font-size: 24px;
}

.scan-confirmed-v2-user strong {
  font-size: 17px;
}

.scan-confirmed-v2-user small {
  display: flex;
  align-items: center;
  gap: 6px;
}

.scan-confirmed-v2-user small svg {
  width: 16px;
  height: 16px;
}

.scan-confirmed-v2-primary {
  width: 100%;
  margin-top: 20px;
}

.scan-confirmed-v2-rescan {
  margin-top: 22px;
  color: #ff302d;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.scan-confirmed-v2-divider {
  margin-top: 29px;
}

.scan-confirmed-v2-alt-states {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  gap: 12px;
  margin-top: 10px;
  border-top: 1px dashed #dfe3ea;
  padding-top: 18px;
}

.scan-confirmed-v2::before {
  background: #ddf8e7;
}

.scan-confirmed-v2::after {
  background: #ffe6e9;
}

.scan-confirmed-v2-alt-states span {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #e2e5eb;
  border-radius: 7px;
  color: #536078;
  font-size: 12px;
  font-weight: 650;
}

.scan-confirmed-v2-alt-states svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 360px) {
  .qr-login-v2-card {
    width: calc(100% - 28px);
    padding-right: 13px;
    padding-left: 13px;
  }

  .scan-authorize-v2-card,
  .scan-confirmed-v2-card {
    width: calc(100% - 28px);
  }
}

/* V2 personal center, matched to planning screen 62. */
body.profile-v2-body {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: #f5f7fb;
  color: #131827;
}

.profile-v2,
.profile-v2 * {
  box-sizing: border-box;
}

.profile-v2 {
  width: 100%;
  max-width: 430px;
  min-height: 100vh;
  margin: 0 auto;
  background: #f5f7fb;
  color: #131827;
}

.profile-v2 svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-v2-header {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 76px;
  height: 60px;
  align-items: center;
  border-bottom: 1px solid #e8ebf1;
  padding: env(safe-area-inset-top) 15px 0;
  background: rgba(255, 255, 255, .97);
}

.profile-v2-header h1 {
  overflow: hidden;
  margin: 0;
  font-size: 18px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-v2-header nav {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
}

.profile-v2-header nav a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #e3e6ed;
  border-radius: 50%;
  background: #fff;
  color: #222938;
  box-shadow: 0 3px 8px rgba(28, 35, 50, .05);
}

.profile-v2-header nav svg {
  width: 18px;
  height: 18px;
}

.profile-v2-content {
  position: relative;
  display: grid;
  gap: 15px;
  padding: 28px 19px 86px;
  overflow: hidden;
}

.profile-v2-content::before,
.profile-v2-content::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 260px;
  height: 110px;
  opacity: .55;
  transform: skewY(-20deg);
  pointer-events: none;
}

.profile-v2-content::before {
  top: 5px;
  left: -150px;
  background: #e8efff;
}

.profile-v2-content::after {
  top: 40px;
  right: -170px;
  background: #ffeaed;
}

.profile-v2-content > * {
  position: relative;
  z-index: 1;
}

.profile-v2-alert,
.profile-v2-success {
  border: 1px solid #efbbb9;
  border-radius: 6px;
  padding: 9px 11px;
  background: #fff5f4;
  color: #d92f2a;
  font-size: 12px;
}

.profile-v2-success {
  border-color: #b9e7c6;
  background: #f1fbf4;
  color: #218342;
}

.profile-v2-user-card,
.profile-v2-menu,
.profile-v2-logout {
  border: 1px solid #e4e7ee;
  border-radius: 8px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 7px 20px rgba(32, 42, 60, .08);
}

.profile-v2-user-card {
  min-height: 264px;
  padding: 16px 15px;
}

.profile-v2-user-main {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 19px;
  min-height: 108px;
  align-items: center;
  padding: 0 5px;
}

.profile-v2-user-main > img,
.profile-v2-avatar {
  display: grid;
  place-items: center;
  width: 90px;
  height: 96px;
  border-radius: 8px;
  object-fit: cover;
  background: #ff443d;
  color: #fff;
  font-size: 38px;
  line-height: 1;
  font-weight: 850;
}

.profile-v2-user-copy {
  min-width: 0;
}

.profile-v2-user-copy h2 {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  margin: 0 0 14px;
  color: #151a29;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-v2-user-copy h2 a {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #657086;
}

.profile-v2-user-copy h2 svg {
  width: 17px;
  height: 17px;
}

.profile-v2-user-copy p {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  overflow: hidden;
  margin: 0 0 9px;
  color: #667085;
  font-size: 13px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-v2-user-copy p svg {
  width: 17px;
  height: 17px;
}

.profile-v2-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 104px;
  margin-top: 18px;
  border: 1px solid #e7eaf0;
  border-radius: 7px;
}

.profile-v2-stats a {
  position: relative;
  display: grid;
  min-width: 0;
  place-items: center;
  align-content: center;
  gap: 4px;
  color: #141928;
  text-decoration: none;
}

.profile-v2-stats a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  width: 1px;
  height: 55px;
  background: #e5e8ee;
}

.profile-v2-stats svg {
  width: 18px;
  height: 18px;
}

.profile-v2-stats svg.red {
  color: #ff3e45;
}

.profile-v2-stats svg.orange {
  color: #ff7b21;
}

.profile-v2-stats strong {
  overflow: hidden;
  max-width: 100%;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-v2-stats span {
  color: #667085;
  font-size: 13px;
  white-space: nowrap;
}

.profile-v2-menu {
  overflow: hidden;
}

.profile-v2-menu > a,
.profile-v2-logout {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 20px;
  gap: 14px;
  min-height: 70px;
  align-items: center;
  padding: 8px 15px 8px 18px;
  color: #161b2a;
  text-decoration: none;
}

.profile-v2-activity-menu > a {
  min-height: 80px;
}

.profile-v2-account-menu {
  margin-top: 2px;
}

.profile-v2-account-menu > a {
  min-height: 73px;
}

.profile-v2-menu > a + a {
  border-top: 1px solid #e9ebf0;
}

.profile-v2-menu-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  color: #fff;
}

.profile-v2-menu-icon.red { background: #ff4a48; }
.profile-v2-menu-icon.orange { background: #ff7b21; }
.profile-v2-menu-icon.purple { background: #735eea; }
.profile-v2-menu-icon.blue { background: #3d7df0; }
.profile-v2-menu-icon.green { background: #2bb56b; }
.profile-v2-menu-icon.gray { background: #747b89; }

.profile-v2-menu-icon svg {
  width: 25px;
  height: 25px;
  stroke-width: 1.9;
}

.profile-v2-menu a > span:nth-child(2),
.profile-v2-logout > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.profile-v2-menu strong,
.profile-v2-logout strong {
  overflow: hidden;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-v2-menu small,
.profile-v2-logout small {
  overflow: hidden;
  color: #7a8497;
  font-size: 13px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-v2-chevron {
  width: 18px;
  height: 18px;
  color: #738096;
}

.profile-v2-logout {
  min-height: 67px;
}

.profile-v2-tabbar {
  position: fixed;
  z-index: 20;
  left: 50%;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  max-width: 430px;
  height: 70px;
  border-top: 1px solid #e5e8ee;
  padding-bottom: env(safe-area-inset-bottom);
  background: rgba(255, 255, 255, .98);
  transform: translateX(-50%);
}

.profile-v2-tabbar a {
  position: relative;
  display: grid;
  min-width: 0;
  place-items: center;
  align-content: center;
  gap: 3px;
  color: #667085;
  font-size: 11px;
  text-decoration: none;
}

.profile-v2-tabbar a.active {
  color: #ff353b;
}

.profile-v2-tabbar a.active::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 50%;
  width: 32px;
  height: 2px;
  border-radius: 2px;
  background: #ff353b;
  transform: translateX(-50%);
}

.profile-v2-tabbar svg {
  width: 23px;
  height: 23px;
}

@media (max-width: 360px) {
  .profile-v2-content {
    padding-right: 13px;
    padding-left: 13px;
  }

  .profile-v2-user-main {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 14px;
  }

  .profile-v2-user-main > img,
  .profile-v2-avatar {
    width: 78px;
    height: 88px;
  }

  .profile-v2-user-copy h2 {
    font-size: 19px;
  }
}

/* Registered activity view linked from the V2 personal center. */
.registered-events-view {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: 22px;
}

.user-events-mode-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  margin-bottom: 14px;
  border: 1px solid #e4e7ed;
  border-radius: 7px;
  background: #fff;
}

.user-events-mode-tabs a {
  display: grid;
  min-height: 42px;
  place-items: center;
  color: #687184;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.user-events-mode-tabs a.active {
  background: #ff4641;
  color: #fff;
}

.registered-events-list {
  display: grid;
  gap: 12px;
}

.registered-event-card {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #e5e8ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(28, 35, 50, .06);
}

.registered-event-cover {
  position: relative;
  display: grid;
  min-height: 150px;
  place-items: center;
  overflow: hidden;
  background: #e9edf3;
  color: #7a8497;
  text-decoration: none;
}

.registered-event-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.registered-event-cover > b {
  position: absolute;
  top: 8px;
  left: 8px;
  border-radius: 3px;
  padding: 4px 7px;
  background: #eaf8ee;
  color: #249347;
  font-size: 10px;
}

.registered-event-cover > b.ended,
.registered-event-cover > b.closed {
  background: #f0f1f3;
  color: #777d88;
}

.registered-event-content {
  display: grid;
  min-width: 0;
  align-content: start;
  padding: 13px 12px 10px;
}

.registered-event-content h2 {
  overflow: hidden;
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.registered-event-content h2 a {
  color: #171c2b;
  text-decoration: none;
}

.registered-event-content p {
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr);
  gap: 5px;
  align-items: center;
  overflow: hidden;
  margin: 0 0 7px;
  color: #747e90;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.registered-event-content p svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.registered-event-content footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  padding-top: 9px;
  border-top: 1px solid #edf0f4;
}

.registered-event-content footer span {
  color: #ff413c;
  font-size: 11px;
  font-weight: 700;
}

.registered-event-content footer a,
.registered-events-empty > a {
  border: 1px solid #ff5a55;
  border-radius: 4px;
  padding: 5px 8px;
  color: #ff413c;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}

.registered-events-empty {
  display: grid;
  min-height: 300px;
  place-items: center;
  align-content: center;
  gap: 10px;
  color: #80899a;
  text-align: center;
}

.registered-events-empty svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: #a4abba;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.registered-events-empty strong {
  color: #323846;
  font-size: 15px;
}

.registered-events-empty p {
  margin: 0;
  font-size: 12px;
}

@media (max-width: 760px) {
  .registered-events-view {
    width: 100%;
    padding: 13px 14px 28px;
  }

  .managed-events-add.registered-discover {
    min-width: 82px;
  }

  .registered-event-card {
    grid-template-columns: 125px minmax(0, 1fr);
  }
}

/* V2 mobile activity management, matched to planning screen 61. */
.activity-manage-v2 {
  display: none;
}

@media (max-width: 760px) {
  body.admin-body.activity-management-v2-index-body {
    min-width: 0;
    padding: 0;
    background: #f4f5f7;
  }

  body.admin-body.activity-management-v2-index-body .admin-topbar,
  body.admin-body.activity-management-v2-index-body .admin-sidebar,
  body.admin-body.activity-management-v2-index-body .legacy-activity-admin {
    display: none;
  }

  body.admin-body.activity-management-v2-index-body .admin-shell {
    display: block;
    min-height: 100vh;
  }

  body.admin-body.activity-management-body.activity-management-v2-index-body .admin-main {
    width: 100%;
    min-width: 0;
    padding: 0 0 24px;
    background: #f4f5f7;
  }

  .activity-manage-v2 {
    display: block;
    width: 100%;
    max-width: 430px;
    min-height: 100vh;
    margin: 0 auto;
    color: #27282d;
    background: #f4f5f7;
  }

  .activity-manage-v2 svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .activity-manage-v2-header {
    position: relative;
    display: flex;
    align-items: center;
    height: 56px;
    border-bottom: 1px solid #ededf0;
    padding: env(safe-area-inset-top) 18px 0 11px;
    background: #fff;
  }

  .activity-manage-v2-header h1 {
    position: absolute;
    left: 50%;
    top: 50%;
    overflow: hidden;
    margin: 0;
    color: #232429;
    font-size: 19px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    text-overflow: ellipsis;
    transform: translate(-50%, -50%);
    white-space: nowrap;
  }

  .activity-manage-v2-back {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    color: #26272c;
    text-decoration: none;
  }

  .activity-manage-v2-back svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.1;
  }

  .activity-manage-v2-alert {
    margin: 10px 15px 0;
    border: 1px solid #f1b8b5;
    border-radius: 6px;
    padding: 9px 11px;
    background: #fff6f5;
    color: #d82d28;
    font-size: 12px;
  }

  .activity-manage-v2-mode {
    display: grid;
    flex: 0 0 112px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 32px;
    overflow: hidden;
    border: 1px solid #e6e7ea;
    border-radius: 8px;
    margin-left: auto;
    padding: 2px;
    background: #f1f2f4;
  }

  .activity-manage-v2-mode a {
    display: grid;
    place-items: center;
    border-radius: 6px;
    color: #73757c;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
  }

  .activity-manage-v2-mode a.active {
    background: #ff4a45;
    color: #fff;
    font-weight: 700;
  }

  .activity-manage-v2-mode a.active::after {
    content: none;
  }

  .activity-manage-v2-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    height: 48px;
    padding: 0 18px;
    background: #f4f5f7;
  }

  .activity-manage-v2-status {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
  }

  .activity-manage-v2-status a {
    flex: 0 0 auto;
    min-height: 27px;
    align-items: center;
    border: 1px solid #e0e1e5;
    border-radius: 999px;
    padding: 0 10px;
    background: #fff;
    color: #686b73;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
  }

  .activity-manage-v2-status a.active {
    border-color: #ff4a45;
    background: #ff4a45;
    color: #fff;
    font-weight: 700;
  }

  .activity-manage-v2-create {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 108px;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid #ff4a45;
    border-radius: 999px;
    padding: 0 13px;
    background: #ff4a45;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
  }

  .activity-manage-v2-create svg {
    width: 15px;
    height: 15px;
    stroke-width: 2.2;
  }

  .activity-manage-v2-list {
    display: grid;
    gap: 13px;
    padding: 9px 17px 18px;
  }

  .activity-manage-v2-card {
    overflow: hidden;
    border: 1px solid #e6e7ea;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(25, 27, 34, .04);
  }

  .activity-manage-v2-cover {
    position: relative;
    height: 136px;
    margin: 5px 5px 0;
    overflow: hidden;
    border-radius: 8px;
    background-color: #dfe3e8;
    background-position: center;
    background-size: cover;
  }

  .activity-manage-v2-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .activity-manage-v2-cover.fallback {
    background: #e5e8ec;
  }

  .activity-manage-v2-cover.fallback::before {
    content: "活动";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #a4a8b0;
    font-size: 24px;
    font-weight: 700;
  }

  .activity-manage-v2-card-tools {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 7px;
  }

  .activity-manage-v2-card-tools form {
    margin: 0;
  }

  .activity-manage-v2-card-tools button {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border: 0;
    border-radius: 6px;
    padding: 0;
    background: rgba(255, 255, 255, .94);
    color: #4f525b;
    box-shadow: 0 1px 5px rgba(28, 30, 37, .16);
    cursor: pointer;
  }

  .activity-manage-v2-card-tools svg {
    width: 15px;
    height: 15px;
  }

  .activity-manage-v2-creator {
    position: absolute;
    left: 10px;
    bottom: 8px;
    display: flex;
    max-width: calc(100% - 22px);
    align-items: center;
    gap: 7px;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .75);
  }

  .activity-manage-v2-creator img,
  .activity-manage-v2-creator > span {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 50%;
    object-fit: cover;
    background: #ff5a55;
    color: #fff;
    font-size: 12px;
    text-shadow: none;
  }

  .activity-manage-v2-creator b {
    overflow: hidden;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .activity-manage-v2-creator small {
    font-size: 11px;
    font-weight: 400;
  }

  .activity-manage-v2-content {
    padding: 8px 12px 5px;
  }

  .activity-manage-v2-content h2 {
    overflow: hidden;
    margin: 0 0 4px;
    color: #26272c;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .activity-manage-v2-content dl {
    display: grid;
    gap: 3px;
    margin: 0;
  }

  .activity-manage-v2-content dl > div {
    display: grid;
    grid-template-columns: 17px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
  }

  .activity-manage-v2-content dt,
  .activity-manage-v2-content dd {
    min-width: 0;
    margin: 0;
  }

  .activity-manage-v2-content dt {
    display: grid;
    place-items: center;
    color: #a2a5ad;
  }

  .activity-manage-v2-content dt svg {
    width: 14px;
    height: 14px;
  }

  .activity-manage-v2-content dd {
    overflow: hidden;
    color: #747780;
    font-size: 12px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .activity-manage-v2-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 4px;
    color: #747780;
    font-size: 12px;
  }

  .activity-manage-v2-meta > span:first-child b {
    color: #ff3d38;
    font-size: 14px;
  }

  .activity-manage-v2-state {
    display: inline-flex;
    min-height: 23px;
    align-items: center;
    border-radius: 3px;
    padding: 0 8px;
    background: #ebf8ef;
    color: #27a64b;
    font-weight: 700;
  }

  .activity-manage-v2-state.draft,
  .activity-manage-v2-state.reviewing {
    background: #fff4dc;
    color: #d58a07;
  }

  .activity-manage-v2-state.archived {
    background: #f0f1f3;
    color: #80838b;
  }

  .activity-manage-v2-state.paused {
    background: #fff4dc;
    color: #d97706;
  }

  .activity-manage-v2-state.closed {
    background: #fff1f2;
    color: #dc2626;
  }

  .activity-manage-v2-state.ended {
    background: #f0f1f3;
    color: #6b7280;
  }

  .activity-manage-v2-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 38px;
    border-top: 1px solid #eeeeef;
  }

  .activity-manage-v2-actions a {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-right: 1px solid #eeeeef;
    color: #565961;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
  }

  .activity-manage-v2-actions a:last-child {
    border-right: 0;
  }

  .activity-manage-v2-actions svg {
    width: 15px;
    height: 15px;
    color: #777a82;
  }

  .activity-manage-v2-empty {
    display: grid;
    min-height: 240px;
    place-items: center;
    align-content: center;
    gap: 10px;
    color: #a0a3aa;
  }

  .activity-manage-v2-empty svg {
    width: 34px;
    height: 34px;
  }

  .activity-manage-v2-empty p {
    margin: 0;
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  .activity-manage-v2-status {
    gap: 4px;
  }

  .activity-manage-v2-status a {
    padding: 0 8px;
  }

  .activity-manage-v2-create {
    padding: 0 10px;
  }
}

/* Pages 01 and 59: legacy and V2 mobile home experiences. */
.home-desktop-shell {
  display: none;
}

.home-v2-body,
.home-legacy-body {
  min-height: 100dvh;
  margin: 0;
  background: #eef0f5;
  color: #171923;
  font-family: var(--font-brand);
}

.home-v2-body *,
.home-v2-body *::before,
.home-v2-body *::after,
.home-legacy-body *,
.home-legacy-body *::before,
.home-legacy-body *::after {
  box-sizing: border-box;
}

.home-v2-shell,
.home-legacy-shell {
  position: relative;
  width: min(100%, 430px);
  min-height: 100dvh;
  margin: 0 auto;
  overflow-x: hidden;
  background: #fff;
  box-shadow: 0 0 36px rgba(26, 28, 38, .12);
}

.home-v2-shell svg,
.home-legacy-shell svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-v2-header {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  min-height: 57px;
  align-items: center;
  padding: env(safe-area-inset-top) 16px 0;
  background: #fff;
}

.home-v2-header h1 {
  grid-column: 2;
  margin: 0;
  color: #141622;
  font-size: 23px;
  line-height: 1;
  font-weight: 760;
  text-align: center;
  letter-spacing: 0;
}

.home-v2-header a {
  grid-column: 3;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  justify-self: end;
  border-radius: 50%;
  background: #f1f2f6;
  color: #1c2232;
}

.home-v2-header a svg {
  width: 23px;
  height: 23px;
}

.home-v2-main {
  position: relative;
  min-height: calc(100dvh - 139px);
  overflow: hidden;
  padding: 60px 20px 309px;
  background-color: #3154ec;
  background-image: url("/static/img/home-v2-event-light-background-v1.webp");
  background-position: center;
  background-size: cover;
  color: #fff;
}

.home-v2-main::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(36, 24, 135, .16);
  pointer-events: none;
}

.home-v2-hero-copy,
.home-v2-feature {
  position: relative;
  z-index: 1;
}

.home-v2-hero-copy {
  text-align: center;
}

.home-v2-hero-copy > p:first-child {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  justify-content: center;
  margin: 0 0 22px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 999px;
  padding: 0 20px;
  background: rgba(255, 255, 255, .09);
  box-shadow: inset 0 0 16px rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 15px;
  font-weight: 650;
}

.home-v2-hero-copy h2 {
  margin: 0;
  color: #fff;
  font-size: 50px;
  line-height: 1.23;
  font-weight: 820;
  letter-spacing: 0;
}

.home-v2-hero-copy h2 span {
  color: #ffe16a;
}

.home-v2-star {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 12px 0 15px;
}

.home-v2-star i {
  width: 38px;
  height: 1px;
  background: rgba(255, 255, 255, .75);
}

.home-v2-star svg {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  padding: 6px;
  background: #ffd941;
  color: #3047c9;
  stroke-width: 2;
}

.home-v2-intro {
  margin: 0;
  color: rgba(255, 255, 255, .93);
  font-size: 15px;
  line-height: 1.9;
  font-weight: 520;
}

.home-v2-feature {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 35px;
  min-height: 271px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 20px;
  padding: 21px 22px 18px;
  background: rgba(249, 249, 255, .87);
  color: #18203b;
  box-shadow: 0 14px 38px rgba(26, 20, 92, .18);
  backdrop-filter: blur(14px);
}

.home-v2-feature header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 14px;
}

.home-v2-feature header > span {
  display: grid;
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, .78);
  color: #4d48e8;
}

.home-v2-feature header svg {
  width: 32px;
  height: 32px;
  stroke-width: 2;
}

.home-v2-feature h2 {
  margin: 0;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 780;
  letter-spacing: 0;
}

.home-v2-feature p {
  margin: 0 0 8px;
  color: #333b54;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 520;
}

.home-v2-feature a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 7px;
  color: #5049f2;
  font-size: 15px;
  font-weight: 720;
  text-decoration: none;
}

.home-v2-feature a b {
  font-size: 24px;
  line-height: 1;
}

.home-v2-tabbar,
.home-legacy-tabbar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 30;
  display: grid;
  width: min(100%, 430px);
  min-height: calc(82px + env(safe-area-inset-bottom));
  align-items: start;
  padding: 12px 10px env(safe-area-inset-bottom);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -4px 20px rgba(24, 27, 42, .08);
  transform: translateX(-50%);
}

.home-v2-tabbar {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-v2-tabbar a,
.home-legacy-tabbar a {
  position: relative;
  display: grid;
  min-height: 57px;
  place-items: center;
  align-content: center;
  gap: 4px;
  color: #666d7d;
  font-size: 12px;
  font-weight: 560;
  text-decoration: none;
}

.home-v2-tabbar a svg,
.home-legacy-tabbar a svg {
  width: 27px;
  height: 27px;
}

.home-v2-tabbar a.active,
.home-legacy-tabbar a.active {
  color: #5149f0;
  font-weight: 720;
}

.home-v2-tabbar a.active::after {
  content: "";
  position: absolute;
  left: 25%;
  right: 25%;
  bottom: -10px;
  height: 2px;
  background: #5149f0;
}

.home-legacy-shell {
  padding-bottom: calc(82px + env(safe-area-inset-bottom));
}

.home-legacy-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  padding: max(14px, env(safe-area-inset-top)) 20px 12px;
  background: #08090a;
  color: #fff;
}

.home-legacy-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
}

.home-legacy-brand svg {
  width: 39px;
  height: 34px;
  fill: #ffd322;
  stroke: #ffd322;
  stroke-width: 1;
}

.home-legacy-brand strong {
  font-size: 22px;
  font-weight: 760;
}

.home-legacy-search {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #fff;
}

.home-legacy-search svg {
  width: 25px;
  height: 25px;
}

.home-legacy-main {
  display: grid;
  gap: 12px;
  padding: 14px 12px 18px;
  background: #f7f7f8;
}

.home-legacy-hero {
  position: relative;
  min-height: 220px;
  overflow: hidden;
  border-radius: 14px;
  background-color: #111;
  background-image: url("/static/img/home-legacy-convention-honeycomb-v1.webp");
  background-position: center;
  background-size: cover;
  color: #fff;
}

.home-legacy-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .28);
}

.home-legacy-hero > div {
  position: relative;
  z-index: 1;
  padding: 43px 22px;
}

.home-legacy-hero h1 {
  margin: 0 0 24px;
  color: #fff;
  font-size: 24px;
  line-height: 1.35;
  font-weight: 820;
  letter-spacing: 0;
}

.home-legacy-hero h1 span {
  color: #ffd21c;
}

.home-legacy-hero > div > a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 14px;
  border-radius: 6px;
  padding: 0 19px;
  background: #ffd21c;
  color: #151515;
  font-size: 14px;
  font-weight: 680;
  text-decoration: none;
}

.home-legacy-hero > div > a b {
  font-size: 22px;
  line-height: 1;
}

.home-legacy-hero > nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 13px;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.home-legacy-hero > nav i {
  width: 10px;
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .7);
}

.home-legacy-hero > nav i.active {
  background: #ffd21c;
}

.home-legacy-stats,
.home-legacy-hot > article,
.home-legacy-empty {
  border: 1px solid #eeeeef;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(33, 35, 45, .055);
}

.home-legacy-stats {
  padding: 13px 12px 12px;
}

.home-legacy-stats h2,
.home-legacy-hot h2 {
  margin: 0;
  color: #202126;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 720;
  letter-spacing: 0;
}

.home-legacy-stats > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 12px;
}

.home-legacy-stats article {
  position: relative;
  display: grid;
  place-items: center;
  gap: 5px;
  color: #f1bb00;
}

.home-legacy-stats article:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: #eeeeef;
}

.home-legacy-stats article svg {
  width: 24px;
  height: 24px;
}

.home-legacy-stats article strong {
  color: #131418;
  font-size: 21px;
  line-height: 1;
  font-weight: 800;
}

.home-legacy-stats article span {
  color: #777a82;
  font-size: 10px;
}

.home-legacy-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.home-legacy-actions a {
  display: grid;
  min-height: 92px;
  place-items: center;
  align-content: center;
  gap: 9px;
  border: 1px solid #eeeeef;
  border-radius: 12px;
  background: #fff;
  color: #202126;
  box-shadow: 0 5px 16px rgba(33, 35, 45, .045);
  font-size: 11px;
  font-weight: 660;
  text-decoration: none;
}

.home-legacy-actions a svg {
  width: 31px;
  height: 31px;
  color: #f3bd00;
}

.home-legacy-hot {
  display: grid;
  gap: 10px;
}

.home-legacy-hot > header {
  display: flex;
  min-height: 28px;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px;
}

.home-legacy-hot h2 span {
  color: #ff6b35;
  font-size: 12px;
}

.home-legacy-hot > header > a {
  color: #858890;
  font-size: 11px;
  text-decoration: none;
}

.home-legacy-hot > article {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  overflow: hidden;
}

.home-legacy-hot-cover {
  position: relative;
  min-height: 135px;
  background-color: #dce4ef;
  background-position: center;
  background-size: cover;
}

.home-legacy-hot-cover > span {
  position: absolute;
  left: 10px;
  top: 10px;
  border-radius: 999px;
  padding: 5px 10px;
  background: #ffd21c;
  color: #111;
  font-size: 10px;
  font-weight: 720;
}

.home-legacy-hot-copy {
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 12px 13px;
}

.home-legacy-hot-copy h3 {
  margin: 0 0 2px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 750;
}

.home-legacy-hot-copy h3 a {
  color: #1e2025;
  text-decoration: none;
}

.home-legacy-hot-copy p {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  margin: 0;
  color: #777a82;
  font-size: 9px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-legacy-hot-copy p svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.home-legacy-hot footer {
  grid-column: 1 / -1;
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  padding: 7px 12px;
  background: #fffbe8;
  color: #4b4d53;
  font-size: 10px;
}

.home-legacy-hot footer a,
.home-legacy-empty a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  border-radius: 6px;
  padding: 0 18px;
  background: #ffd21c;
  color: #161616;
  font-size: 11px;
  font-weight: 720;
  text-decoration: none;
}

.home-legacy-empty {
  display: flex;
  min-height: 110px;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
}

.home-legacy-empty p {
  margin: 0;
  color: #777a82;
  font-size: 12px;
}

.home-legacy-tabbar {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-legacy-tabbar a.active {
  color: #f2ba00;
}

.home-legacy-activity-marker {
  position: absolute !important;
  width: 1px;
  height: 1px;
  min-height: 0 !important;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

@media (min-width: 821px) {
  body.home-v2-body,
  body.home-legacy-body {
    min-width: 821px;
    background: #f5f6f8;
    color: #17191f;
  }

  .home-v2-shell,
  .home-legacy-shell {
    display: none;
  }

  .home-desktop-shell {
    display: block;
    min-height: 100vh;
    background:
      linear-gradient(#e7e9ed 1px, transparent 1px),
      linear-gradient(90deg, #e7e9ed 1px, transparent 1px),
      #f7f8fa;
    background-size: 104px 104px;
  }

  .home-desktop-shell *,
  .home-desktop-shell *::before,
  .home-desktop-shell *::after {
    box-sizing: border-box;
  }

  .home-desktop-shell svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .home-desktop-container,
  .home-desktop-main {
    width: min(calc(100% - 64px), 1200px);
    margin: 0 auto;
  }

  .home-desktop-header {
    position: sticky;
    top: 0;
    z-index: 80;
    min-height: 78px;
    border-bottom: 1px solid #e2e4e8;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 2px 10px rgba(20, 23, 31, .04);
  }

  .home-desktop-header .home-desktop-container {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
    gap: 28px;
    min-height: 78px;
    align-items: center;
  }

  .home-desktop-brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
    justify-self: start;
    color: #17191f;
    text-decoration: none;
  }

  .home-desktop-brand > span {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 8px;
    background: #ffdc38;
    color: #17191f;
    box-shadow: 0 8px 20px rgba(235, 183, 0, .19);
  }

  .home-desktop-brand svg {
    width: 31px;
    height: 31px;
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 1;
  }

  .home-desktop-brand strong {
    overflow: hidden;
    font-size: 22px;
    font-weight: 820;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .desktop-nav {
    display: flex;
    min-height: 78px;
    align-items: stretch;
    gap: 30px;
  }

  .desktop-nav a {
    position: relative;
    display: flex;
    align-items: center;
    color: #555a66;
    font-size: 14px;
    font-weight: 680;
    text-decoration: none;
  }

  .desktop-nav a:hover,
  .desktop-nav a.is-active {
    color: #16181e;
  }

  .desktop-nav a.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #f4bf00;
  }

  .home-desktop-header-actions {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 9px;
  }

  .home-desktop-header-actions > a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #d8dbe1;
    border-radius: 7px;
    padding: 0 14px;
    background: #fff;
    color: #252831;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
  }

  .home-desktop-header-actions > a:hover {
    border-color: #b9bdc6;
    background: #f7f8fa;
  }

  .home-desktop-header-actions .home-desktop-user-link {
    border-color: #16181e;
    background: #16181e;
    color: #fff;
  }

  .home-desktop-header-actions svg {
    width: 18px;
    height: 18px;
  }

  .home-desktop-main {
    padding: 32px 0 72px;
  }

  .home-desktop-hero {
    position: relative;
    min-height: 600px;
    overflow: hidden;
    border: 1px solid #303640;
    border-radius: 8px;
    background-color: #171d27;
    background-image: url("/static/img/home-legacy-convention-honeycomb-v1.webp");
    background-position: center;
    background-size: cover;
    color: #fff;
    box-shadow: 0 20px 45px rgba(19, 23, 31, .13);
  }

  .home-desktop-hero-shade {
    position: absolute;
    inset: 0;
    background: rgba(16, 22, 32, .78);
  }

  .home-desktop-hero-copy {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(100%, 1030px);
    min-height: 600px;
    flex-direction: column;
    justify-content: center;
    padding: 62px 76px 54px;
  }

  .home-desktop-eyebrow {
    width: fit-content;
    margin: 0 0 26px;
    border: 1px solid rgba(255, 219, 61, .55);
    border-radius: 999px;
    padding: 10px 18px;
    background: rgba(255, 221, 56, .08);
    color: #ffe270;
    font-size: 14px;
    font-weight: 760;
  }

  .home-desktop-hero h1 {
    margin: 0;
    color: #fff;
    font-size: 64px;
    line-height: 1.12;
    font-weight: 880;
    letter-spacing: 0;
  }

  .home-desktop-hero h1 span {
    text-decoration-color: #f4c20d;
    text-decoration-line: underline;
    text-decoration-thickness: 9px;
    text-underline-offset: -2px;
  }

  .home-desktop-lead {
    max-width: 900px;
    margin: 26px 0 0;
    color: #d4d8df;
    font-size: 17px;
    line-height: 1.8;
  }

  .home-desktop-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
  }

  .home-desktop-hero-actions a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 7px;
    padding: 0 22px;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    font-size: 14px;
    font-weight: 760;
    text-decoration: none;
  }

  .home-desktop-hero-actions a:hover {
    background: rgba(255, 255, 255, .14);
  }

  .home-desktop-hero-actions a.is-primary {
    border-color: #ffda36;
    background: #ffda36;
    color: #16181e;
    box-shadow: 0 9px 24px rgba(244, 191, 0, .2);
  }

  .home-desktop-hero-actions svg,
  .home-desktop-section-head svg,
  .home-desktop-featured-cta svg {
    width: 18px;
    height: 18px;
  }

  .home-desktop-hero-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 620px);
    margin: 34px 0 0;
  }

  .home-desktop-hero-points div {
    padding: 2px 28px;
    border-left: 1px solid rgba(255, 255, 255, .24);
  }

  .home-desktop-hero-points div:first-child {
    padding-left: 0;
    border-left: 0;
  }

  .home-desktop-hero-points dt,
  .home-desktop-hero-points dd {
    margin: 0;
  }

  .home-desktop-hero-points dt {
    color: #fff;
    font-size: 24px;
    font-weight: 820;
  }

  .home-desktop-hero-points dd {
    margin-top: 4px;
    color: #aeb5c0;
    font-size: 13px;
  }

  .home-desktop-section {
    padding: 66px 0 34px;
  }

  .home-desktop-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
  }

  .home-desktop-section-head p,
  .home-desktop-operation-copy > p,
  .home-desktop-featured-activity > div > p {
    margin: 0 0 10px;
    color: #a87900;
    font-size: 13px;
    font-weight: 800;
  }

  .home-desktop-section-head h2,
  .home-desktop-operation-copy h2 {
    margin: 0;
    color: #17191f;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: 0;
  }

  .home-desktop-section-head > a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 7px;
    color: #555a66;
    font-size: 13px;
    font-weight: 720;
    text-decoration: none;
  }

  .home-desktop-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
  }

  .home-desktop-feature-grid > a {
    display: flex;
    min-height: 245px;
    flex-direction: column;
    border: 1px solid #dedfe3;
    border-radius: 8px;
    padding: 24px;
    background: rgba(255, 255, 255, .94);
    color: #17191f;
    box-shadow: 0 9px 25px rgba(23, 25, 31, .055);
    text-decoration: none;
  }

  .home-desktop-feature-grid > a:hover {
    border-color: #c8a700;
    box-shadow: 0 13px 30px rgba(23, 25, 31, .09);
    transform: translateY(-2px);
  }

  .home-desktop-feature-grid > a > span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 8px;
    background: #fff4b8;
    color: #8f6d00;
  }

  .home-desktop-feature-grid > a:nth-child(2) > span {
    background: #e8f0ff;
    color: #2f5dba;
  }

  .home-desktop-feature-grid > a:nth-child(3) > span {
    background: #e8f7ee;
    color: #23754a;
  }

  .home-desktop-feature-grid > a:nth-child(4) > span {
    background: #f0ebff;
    color: #6047a9;
  }

  .home-desktop-feature-grid svg {
    width: 25px;
    height: 25px;
  }

  .home-desktop-feature-grid h3 {
    margin: 20px 0 9px;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 810;
  }

  .home-desktop-feature-grid p {
    margin: 0;
    color: #676c76;
    font-size: 14px;
    line-height: 1.7;
  }

  .home-desktop-feature-grid b {
    margin-top: auto;
    padding-top: 18px;
    color: #8c6a00;
    font-size: 13px;
  }

  .home-desktop-operations {
    display: grid;
    grid-template-columns: minmax(350px, .82fr) minmax(500px, 1.18fr);
    gap: 24px;
    align-items: stretch;
    padding: 34px 0 0;
  }

  .home-desktop-operation-copy {
    border: 1px solid #dedfe3;
    border-radius: 8px;
    padding: 30px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(23, 25, 31, .055);
  }

  .home-desktop-operation-copy > span {
    display: block;
    margin-top: 12px;
    color: #707580;
    font-size: 14px;
  }

  .home-desktop-operation-copy dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 28px 0 0;
    overflow: hidden;
    border: 1px solid #e6e7ea;
    border-radius: 8px;
    background: #e6e7ea;
  }

  .home-desktop-operation-copy dl div {
    min-height: 90px;
    padding: 17px;
    background: #fafafa;
  }

  .home-desktop-operation-copy dt,
  .home-desktop-operation-copy dd {
    margin: 0;
  }

  .home-desktop-operation-copy dt {
    color: #17191f;
    font-size: 28px;
    font-weight: 850;
  }

  .home-desktop-operation-copy dd {
    margin-top: 4px;
    color: #777b84;
    font-size: 12px;
  }

  .home-desktop-featured-activity {
    display: grid;
    grid-template-columns: minmax(240px, .9fr) minmax(300px, 1.1fr);
    min-height: 390px;
    overflow: hidden;
    border: 1px solid #dedfe3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(23, 25, 31, .055);
  }

  .home-desktop-featured-cover {
    position: relative;
    min-height: 100%;
    background-color: #dfe3e9;
    background-image: url("/static/img/home-legacy-convention-honeycomb-v1.webp");
    background-position: center;
    background-size: cover;
  }

  .home-desktop-featured-cover > span {
    position: absolute;
    left: 18px;
    top: 18px;
    border-radius: 999px;
    padding: 7px 12px;
    background: #ffdc38;
    color: #16181e;
    font-size: 12px;
    font-weight: 780;
  }

  .home-desktop-featured-activity > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
  }

  .home-desktop-featured-activity h3 {
    margin: 0;
    font-size: 25px;
    line-height: 1.35;
    font-weight: 820;
  }

  .home-desktop-featured-activity h3 a {
    color: #17191f;
    text-decoration: none;
  }

  .home-desktop-featured-activity dl {
    display: grid;
    gap: 9px;
    margin: 23px 0;
  }

  .home-desktop-featured-activity dl div {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px;
    color: #666b75;
    font-size: 13px;
  }

  .home-desktop-featured-activity dt,
  .home-desktop-featured-activity dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
  }

  .home-desktop-featured-activity dt {
    color: #8a8f98;
  }

  .home-desktop-featured-cta,
  .home-desktop-featured-empty a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: flex-start;
    border-radius: 7px;
    padding: 0 17px;
    background: #ffda36;
    color: #17191f;
    font-size: 13px;
    font-weight: 780;
    text-decoration: none;
  }

  .home-desktop-featured-empty {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border: 1px dashed #c9ccd2;
    border-radius: 8px;
    background: rgba(255, 255, 255, .76);
    color: #6d727c;
  }

  .home-desktop-featured-empty p {
    margin: 0;
  }

  .home-desktop-footer {
    border-top: 1px solid #dfe1e5;
    background: #fff;
  }

  .home-desktop-footer .home-desktop-container {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    min-height: 88px;
    align-items: center;
    color: #777b84;
    font-size: 13px;
  }

  .home-desktop-footer strong {
    color: #17191f;
    font-size: 17px;
  }

  .home-desktop-footer nav {
    display: flex;
    gap: 22px;
  }

  .home-desktop-footer a {
    color: #666b75;
    text-decoration: none;
  }
}

@media (min-width: 821px) and (max-width: 1080px) {
  .home-desktop-container,
  .home-desktop-main {
    width: calc(100% - 40px);
  }

  .home-desktop-header .home-desktop-container {
    grid-template-columns: minmax(190px, 1fr) auto auto;
    gap: 18px;
  }

  .desktop-nav {
    gap: 18px;
  }

  .home-desktop-screen-link {
    display: none !important;
  }

  .home-desktop-hero,
  .home-desktop-hero-copy {
    min-height: 540px;
  }

  .home-desktop-hero-copy {
    padding: 54px;
  }

  .home-desktop-hero h1 {
    font-size: 52px;
  }

  .home-desktop-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-desktop-feature-grid > a {
    min-height: 220px;
  }

  .home-desktop-operations {
    grid-template-columns: 1fr;
  }

  .home-desktop-operation-copy dl {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 360px) {
  .home-v2-main {
    padding-left: 14px;
    padding-right: 14px;
  }

  .home-v2-feature {
    left: 14px;
    right: 14px;
    padding: 18px;
  }

  .home-v2-hero-copy h2 {
    font-size: 40px;
  }

  .home-v2-intro {
    font-size: 13px;
  }

  .home-legacy-main {
    padding-left: 8px;
    padding-right: 8px;
  }

  .home-legacy-actions {
    gap: 5px;
  }

  .home-legacy-hot > article {
    grid-template-columns: 112px minmax(0, 1fr);
  }
}

/* Page 60: V2 activity discovery. */
.discover-v2-body {
  min-height: 100dvh;
  margin: 0;
  background: #eef0f5;
  color: #171923;
  font-family: var(--font-brand);
}

.discover-v2-body *,
.discover-v2-body *::before,
.discover-v2-body *::after {
  box-sizing: border-box;
}

.discover-v2-shell {
  position: relative;
  width: min(100%, 430px);
  min-height: 100dvh;
  margin: 0 auto;
  overflow-x: hidden;
  background: #f8f9fc;
  box-shadow: 0 0 36px rgba(26, 28, 38, .12);
}

.discover-v2-shell svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.discover-v2-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  min-height: 56px;
  align-items: center;
  border-bottom: 1px solid #eceef3;
  padding: env(safe-area-inset-top) 16px 0;
  background: rgba(255, 255, 255, .98);
}

.discover-v2-header h1 {
  grid-column: 2;
  margin: 0;
  color: #141622;
  font-size: 23px;
  line-height: 1;
  font-weight: 760;
  text-align: center;
  letter-spacing: 0;
}

.discover-v2-header a {
  grid-column: 3;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  justify-self: end;
  color: #554ff2;
}

.discover-v2-header a svg {
  width: 32px;
  height: 32px;
  stroke-width: 1.7;
}

.discover-v2-main {
  display: grid;
  gap: 16px;
  padding: 16px 16px calc(96px + env(safe-area-inset-bottom));
}

.discover-v2-hero {
  position: relative;
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr);
  min-height: 153px;
  align-items: center;
  overflow: hidden;
  border: 1px solid #e9e8fb;
  border-radius: 18px;
  padding: 14px 18px 14px 8px;
  background: #f0f0ff;
  box-shadow: 0 8px 22px rgba(62, 58, 165, .07);
}

.discover-v2-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/static/img/home-v2-event-light-background-v1.webp");
  background-position: center 70%;
  background-size: cover;
  opacity: .09;
}

.discover-v2-hero > * {
  position: relative;
  z-index: 1;
}

.discover-v2-compass {
  position: relative;
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  justify-self: center;
  transform: translateX(-4px);
  border: 1px solid rgba(102, 93, 238, .18);
  border-radius: 50%;
  color: #5a51ed;
}

.discover-v2-compass::before,
.discover-v2-compass::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(102, 93, 238, .22);
  border-radius: 50%;
}

.discover-v2-compass::before {
  inset: 15px;
}

.discover-v2-compass::after {
  inset: 27px;
  background: rgba(255, 255, 255, .62);
  box-shadow: 0 5px 18px rgba(80, 72, 218, .14);
}

.discover-v2-compass i {
  position: absolute;
  left: 8px;
  top: 27px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #a69cf4;
}

.discover-v2-compass svg {
  position: relative;
  z-index: 2;
  width: 48px;
  height: 48px;
  stroke-width: 2;
}

.discover-v2-hero h2 {
  margin: 0 0 8px;
  color: #514bed;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 790;
  letter-spacing: 0;
}

.discover-v2-hero p {
  margin: 0;
  color: #666b7a;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 520;
}

.discover-v2-search {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  min-height: 42px;
  align-items: center;
  gap: 10px;
  border: 1px solid #e1e3ea;
  border-radius: 15px;
  padding: 0 15px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(36, 39, 55, .055);
  color: #687082;
}

.discover-v2-search svg {
  width: 23px;
  height: 23px;
}

.discover-v2-search button {
  display: grid;
  width: 28px;
  height: 36px;
  place-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.discover-v2-search input:not([type="hidden"]) {
  width: 100%;
  border: 0;
  background: transparent;
  color: #252834;
  font: inherit;
  font-size: 14px;
  outline: none;
}

.discover-v2-search input::placeholder {
  color: #8d92a0;
}

.discover-v2-filters {
  display: grid;
  grid-template-columns: 1.08fr repeat(4, minmax(0, 1fr));
  gap: 7px;
  padding: 0;
}

.discover-v2-filters a {
  display: inline-flex;
  min-width: 0;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  border: 1px solid #edeef3;
  border-radius: 999px;
  padding: 0 4px;
  background: #fff;
  color: #606574;
  box-shadow: 0 5px 14px rgba(37, 40, 57, .04);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.discover-v2-filters a.active {
  border-color: #5a54ef;
  background: #5a54ef;
  color: #fff;
  box-shadow: 0 7px 18px rgba(90, 84, 239, .23);
}

.discover-v2-list {
  display: grid;
  gap: 11px;
  margin-top: -2px;
}

.discover-v2-card {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 18px;
  min-height: 164px;
  overflow: hidden;
  border: 1px solid #eceef3;
  border-radius: 16px;
  padding: 11px 12px;
  background: #fff;
  box-shadow: 0 8px 23px rgba(35, 38, 54, .055);
}

.discover-v2-cover {
  position: relative;
  display: block;
  width: 112px;
  height: 140px;
  overflow: hidden;
  border-radius: 13px;
  background: #e3e5fa;
  color: #5650e9;
  text-decoration: none;
}

.discover-v2-cover > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.discover-v2-cover > span {
  display: grid;
  height: 100%;
  place-items: center;
  padding: 14px;
  background: rgba(255, 255, 255, .58);
  font-size: 13px;
  font-weight: 720;
  text-align: center;
}

.discover-v2-cover > b {
  position: absolute;
  left: 8px;
  bottom: 8px;
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  gap: 4px;
  border-radius: 999px;
  padding: 0 8px;
  background: rgba(39, 38, 121, .72);
  color: #fff;
  font-size: 11px;
  font-weight: 650;
  backdrop-filter: blur(5px);
}

.discover-v2-cover > b svg {
  width: 13px;
  height: 13px;
}

.discover-v2-card-copy {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 5px;
}

.discover-v2-org {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  overflow: hidden;
  color: #686d7a;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.discover-v2-org i {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  border-radius: 50%;
  background: #3c86ef;
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 740;
}

.discover-v2-org i.fundraising {
  background: #31a85d;
}

.discover-v2-org i.training {
  background: #5960e8;
}

.discover-v2-card h2 {
  margin: 0;
  overflow: hidden;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 0;
}

.discover-v2-card h2 a {
  color: #171923;
  text-decoration: none;
}

.discover-v2-card-copy > p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #757a87;
  font-size: 12px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.discover-v2-card dl {
  display: grid;
  gap: 3px;
  margin: 0;
}

.discover-v2-card dl > div {
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr);
  gap: 5px;
  align-items: center;
}

.discover-v2-card dt,
.discover-v2-card dd {
  margin: 0;
}

.discover-v2-card dt {
  display: grid;
  place-items: center;
  color: #767c8b;
}

.discover-v2-card dt svg {
  width: 14px;
  height: 14px;
}

.discover-v2-card dd {
  overflow: hidden;
  color: #6f7481;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.discover-v2-hitarea {
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
}

.discover-v2-card a:not(.discover-v2-hitarea) {
  position: relative;
  z-index: 4;
}

.discover-v2-empty {
  display: grid;
  min-height: 210px;
  place-items: center;
  align-content: center;
  gap: 8px;
  border: 1px solid #eceef3;
  border-radius: 16px;
  background: #fff;
  color: #777c8a;
  text-align: center;
}

.discover-v2-empty svg {
  width: 42px;
  height: 42px;
  color: #5a54ef;
}

.discover-v2-empty h2,
.discover-v2-empty p {
  margin: 0;
}

.discover-v2-empty h2 {
  color: #252834;
  font-size: 16px;
}

.discover-v2-empty p {
  font-size: 11px;
}

.discover-v2-tabbar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(100%, 430px);
  min-height: calc(60px + env(safe-area-inset-bottom));
  align-items: start;
  padding: 7px 10px env(safe-area-inset-bottom);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -4px 20px rgba(24, 27, 42, .08);
  transform: translateX(-50%);
}

.discover-v2-tabbar a {
  position: relative;
  display: grid;
  min-height: 48px;
  place-items: center;
  align-content: center;
  gap: 4px;
  color: #666d7d;
  font-size: 12px;
  font-weight: 560;
  text-decoration: none;
}

.discover-v2-tabbar a svg {
  width: 27px;
  height: 27px;
}

.discover-v2-tabbar a.active {
  color: #5149f0;
  font-weight: 720;
}

.discover-v2-tabbar a.active::after {
  content: "";
  position: absolute;
  left: 25%;
  right: 25%;
  bottom: -4px;
  height: 2px;
  background: #5149f0;
}

@media (max-width: 360px) {
  .discover-v2-main {
    padding-left: 10px;
    padding-right: 10px;
  }

  .discover-v2-hero {
    grid-template-columns: 110px minmax(0, 1fr);
    padding-left: 4px;
    padding-right: 12px;
  }

  .discover-v2-compass {
    width: 94px;
    height: 94px;
    transform: none;
  }

  .discover-v2-hero h2 {
    font-size: 21px;
  }

  .discover-v2-card {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 10px;
  }

  .discover-v2-cover {
    width: 100px;
    height: 112px;
  }
}

@media (max-width: 360px) {
  .fundraising-create-v2-header {
    grid-template-columns: 48px minmax(0, 1fr) 72px;
    padding-left: 6px;
    padding-right: 6px;
  }

  .fundraising-create-v2-social-grid,
  .fundraising-create-v2-time-grid {
    grid-template-columns: 1fr;
  }

  .fundraising-create-v2-tabs button {
    min-width: 80px;
  }
}

/* Page 64: V2 fundraising detail */
.activity-detail-type-fundraising {
  background:
    linear-gradient(180deg, #fef3f2 0, #f7f8fb 18%, #f7f8fb 100%);
  color: #1f2933;
}

.activity-detail-type-fundraising .app-tabbar,
.activity-detail-type-fundraising .topbar {
  display: none;
}

.activity-detail-type-fundraising .detail-page {
  width: 100%;
  max-width: 430px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 13px 84px;
  overflow-x: hidden;
}

.fundraising-detail-v2 {
  display: grid;
  gap: 0;
}

.fundraising-detail-notice {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 8px;
  min-height: 35px;
  margin: 0 -13px;
  padding: 0 17px;
  border: 0;
  border-radius: 0;
  background: #fff7ed;
  color: #b45309;
  text-decoration: none;
  box-shadow: none;
}

.fundraising-detail-notice span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: #f97316;
  font-size: 10px;
}

.fundraising-detail-notice span svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.fundraising-detail-notice strong {
  min-width: 0;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fundraising-detail-notice em {
  color: #f97316;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
}

.fundraising-detail-cover,
.fundraising-story-image {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #e5e7eb;
  box-shadow: 0 16px 36px rgba(31, 41, 55, 0.12);
}

.fundraising-detail-cover {
  aspect-ratio: 2.04 / 1;
  margin-top: 16px;
}

.fundraising-story-image {
  aspect-ratio: 3.02 / 1;
  margin-top: 9px;
}

.fundraising-detail-cover img,
.fundraising-story-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fundraising-detail-cover-ribbon {
  position: absolute;
  left: 14px;
  bottom: 14px;
  max-width: calc(100% - 28px);
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(185, 28, 28, 0.9);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: 0 10px 22px rgba(127, 29, 29, 0.28);
}

.fundraising-detail-v2 > h1 {
  margin: 14px 8px 0;
  color: #111827;
  font-size: 24px;
  line-height: 1.26;
  letter-spacing: 0;
}

.fundraising-org-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  margin: 5px 12px 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fundraising-org-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #16a34a, #86efac);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.fundraising-org-card strong,
.fundraising-org-card small {
  display: block;
  min-width: 0;
}

.fundraising-org-card strong {
  color: #111827;
  font-size: 15px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fundraising-org-card strong i {
  display: inline-grid;
  place-items: center;
  width: 14px;
  height: 14px;
  margin-left: 3px;
  border-radius: 50%;
  background: #ef4444;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  vertical-align: 1px;
}

.fundraising-org-card small {
  margin-top: 3px;
  color: #6b7280;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fundraising-org-card em {
  padding: 5px 7px;
  border-radius: 999px;
  background: #fef2f2;
  color: #dc2626;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.fundraising-org-card em:last-child {
  background: #ecfdf5;
  color: #15803d;
}

.fundraising-progress-card,
.fundraising-detail-section {
  border: 1px solid #eef2f7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

.fundraising-progress-card {
  height: 154px;
  margin: 5px 4px 0;
  padding: 13px 14px 11px;
  border-radius: 14px;
}

.fundraising-progress-stats {
  display: grid;
  grid-template-columns: 1.2fr 1fr 0.9fr;
  gap: 8px;
}

.fundraising-progress-stats div {
  min-width: 0;
  text-align: center;
}

.fundraising-progress-stats div + div {
  border-left: 1px solid #edf0f4;
}

.fundraising-progress-stats small {
  display: block;
  margin-bottom: 5px;
  color: #8b95a1;
  font-size: 12px;
}

.fundraising-progress-stats strong {
  display: block;
  color: #dc2626;
  font-size: 20px;
  line-height: 1.15;
  white-space: nowrap;
}

.fundraising-progress-stats div:not(:first-child) strong {
  color: #111827;
  font-size: 18px;
}

.fundraising-progress-meter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
}

.fundraising-progress-meter > strong {
  color: #ef233c;
  font-size: 15px;
  text-align: right;
}

.fundraising-progress-line {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #fee2e2;
}

.fundraising-progress-line span {
  display: block;
  height: 100%;
  min-width: 8px;
  border-radius: inherit;
  background: linear-gradient(90deg, #ef4444, #f97316);
}

.fundraising-progress-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #6b7280;
  margin-top: 5px;
  font-size: 12px;
}

.fundraising-progress-card p {
  margin: 10px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff7ed;
  color: #b45309;
  font-size: 12px;
  line-height: 1.55;
}

.fundraising-detail-section {
  margin-top: 14px;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fundraising-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  justify-content: flex-start;
  margin-bottom: 8px;
}

.fundraising-section-head h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: #111827;
  font-size: 18px;
  line-height: 1.2;
}

.fundraising-section-head h2::before {
  content: "";
  width: 4px;
  height: 18px;
  border-radius: 999px;
  background: #ff3947;
}

.fundraising-section-head span {
  display: none;
}

.fundraising-detail-section p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.45;
}

.fundraising-usage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.fundraising-usage-grid article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  min-width: 0;
  gap: 5px;
  align-items: start;
  padding: 2px 4px;
  border-left: 1px solid #edf0f4;
  background: transparent;
  text-align: left;
}

.fundraising-usage-grid article:first-child {
  border-left: 0;
  padding-left: 0;
}

.fundraising-usage-grid article > i {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: #fff0f2;
  color: #ff3947;
}

.fundraising-usage-grid article:nth-child(2) > i {
  background: #fff1ec;
}

.fundraising-usage-grid article > i svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.fundraising-usage-grid article > span {
  min-width: 0;
}

.fundraising-usage-grid strong {
  display: block;
  color: #dc2626;
  margin-top: 3px;
  font-size: 14px;
  line-height: 1;
}

.fundraising-usage-grid b {
  display: block;
  margin-top: 0;
  color: #111827;
  font-size: 12px;
  line-height: 1.25;
}

.fundraising-usage-grid small {
  display: block;
  margin-top: 4px;
  color: #7b8491;
  font-size: 10px;
  line-height: 1.35;
}

.activity-detail-type-fundraising .detail-sticky-action {
  display: grid;
  grid-template-columns: 92px 118px minmax(0, 1fr);
  gap: 10px;
  max-width: 430px;
  min-height: calc(84px + env(safe-area-inset-bottom));
  padding: 13px 14px calc(13px + env(safe-area-inset-bottom));
  border-top: 1px solid #eef2f7;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.08);
}

.activity-detail-type-fundraising .detail-sticky-action .detail-save-button {
  display: flex;
  place-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
  height: 56px;
  padding: 0;
  border: 1px solid #eef2f7;
  border-radius: 28px;
  background: #fff;
  color: #4b5563;
  text-decoration: none;
}

.activity-detail-type-fundraising .detail-sticky-action .detail-save-button span {
  color: #ef4444;
  font-size: 18px;
  line-height: 1;
}

.activity-detail-type-fundraising .detail-sticky-action .detail-save-button small {
  font-size: 16px;
  line-height: 1;
}

.activity-detail-type-fundraising .detail-sticky-action .button {
  width: 100%;
  min-width: 0;
  height: 56px;
  padding: 0 10px;
  border-radius: 28px;
  background: #ff3038;
  color: #fff !important;
  font-size: 16px;
  white-space: nowrap;
}

.activity-detail-type-fundraising .detail-sticky-action .button.secondary {
  border-color: #fecdd3;
  background: #fff8f8;
  color: #ef233c;
}

.fundraising-story-image {
  margin-right: 4px;
  margin-left: 4px;
}

@media (max-width: 360px) {
  .fundraising-org-card {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .fundraising-org-card em {
    display: none;
  }

  .fundraising-progress-stats strong {
    font-size: 15px;
  }

  .fundraising-usage-grid {
    grid-template-columns: 1fr;
  }
}

/* V2 mobile project progress management */
.progress-manage-v2 {
  display: none;
}

@media (max-width: 760px) {
  body.progress-manage-admin-v2 {
    min-width: 0;
    background: #f5f7fb;
    color: #111827;
  }

  body.progress-manage-admin-v2 .admin-topbar,
  body.progress-manage-admin-v2 .admin-sidebar,
  body.progress-manage-admin-v2 .admin-workspace-bar,
  body.progress-manage-admin-v2 > .admin-success,
  body.progress-manage-admin-v2 .progress-manage-desktop {
    display: none;
  }

  body.progress-manage-admin-v2 .admin-shell,
  body.progress-manage-admin-v2 .admin-main {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  body.progress-manage-admin-v2 .progress-manage-v2 {
    display: block;
    min-height: 100vh;
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }

  .progress-manage-v2-header {
    position: sticky;
    z-index: 20;
    top: 0;
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr) 108px;
    align-items: center;
    height: 60px;
    padding: 0 14px;
    border-bottom: 1px solid #e3e7ed;
    background: rgba(255, 255, 255, 0.98);
  }

  .progress-manage-v2-header h1 {
    margin: 0;
    color: #101827;
    font-size: 21px;
    font-weight: 760;
    line-height: 1;
    text-align: center;
  }

  .progress-manage-v2-back {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #111827;
  }

  .progress-manage-v2-back svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.4;
  }

  .progress-manage-v2-create {
    display: inline-flex;
    width: 108px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 999px;
    background: #ff3935;
    box-shadow: 0 5px 12px rgba(255, 57, 53, 0.2);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
  }

  .progress-manage-v2-create svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
  }

  .progress-manage-v2-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
    padding: 18px 15px 20px;
  }

  .progress-manage-v2-stats article {
    display: grid;
    min-width: 0;
    height: 82px;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    padding: 11px 7px;
    border: 1px solid #dbe4ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(50, 67, 89, 0.06);
  }

  .progress-manage-v2-stats article.published {
    border-color: #d8eddf;
    background: #f7fcf8;
  }

  .progress-manage-v2-stats article.draft {
    border-color: #f7e5c9;
    background: #fffaf3;
  }

  .progress-manage-v2-stats article.total {
    border-color: #dce7fb;
    background: #f8faff;
  }

  .progress-manage-v2-stat-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
  }

  .progress-manage-v2-stat-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .progress-manage-v2-stats .published .progress-manage-v2-stat-icon {
    background: #e5f6e9;
    color: #27ad54;
  }

  .progress-manage-v2-stats .draft .progress-manage-v2-stat-icon {
    background: #fff0dc;
    color: #ff850d;
  }

  .progress-manage-v2-stats .total .progress-manage-v2-stat-icon {
    background: #e8efff;
    color: #3477ee;
  }

  .progress-manage-v2-stats article > span:last-child {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  .progress-manage-v2-stats b {
    white-space: nowrap;
    color: #4a5568;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.25;
  }

  .progress-manage-v2-stats strong {
    font-size: 24px;
    font-weight: 760;
    line-height: 1;
  }

  .progress-manage-v2-stats .published strong {
    color: #29ad58;
  }

  .progress-manage-v2-stats .draft strong {
    color: #ff850d;
  }

  .progress-manage-v2-stats .total strong {
    color: #3477ee;
  }

  .progress-manage-v2-notice {
    margin: 0 15px 12px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
  }

  .progress-manage-v2-notice.success {
    background: #eaf8ee;
    color: #218a45;
  }

  .progress-manage-v2-notice.error {
    background: #fff0ef;
    color: #d9322f;
  }

  .progress-manage-v2-list {
    display: grid;
    gap: 12px;
    padding: 0 14px;
  }

  .progress-manage-v2-card {
    overflow: hidden;
    border: 1px solid #e4e8ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(39, 53, 73, 0.08);
  }

  .progress-manage-v2-card-main {
    display: grid;
    grid-template-columns: 143px minmax(0, 1fr);
    gap: 14px;
    min-height: 156px;
    padding: 12px 14px 11px;
  }

  .progress-manage-v2-card-main > img {
    display: block;
    width: 143px;
    height: 143px;
    border-radius: 9px;
    object-fit: cover;
  }

  .progress-manage-v2-card-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding-top: 5px;
  }

  .progress-manage-v2-card-title {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
  }

  .progress-manage-v2-card-title h2 {
    min-width: 0;
    margin: 0;
    color: #111827;
    font-size: 17px;
    font-weight: 740;
    line-height: 1.35;
  }

  .progress-manage-v2-card-title .status {
    flex: 0 0 auto;
    padding: 5px 9px;
    border: 1px solid #cdebd6;
    border-radius: 999px;
    background: #f2fbf4;
    color: #2ba755;
    font-size: 12px;
    line-height: 1;
  }

  .progress-manage-v2-card-title .status.draft {
    border-color: #ffdca7;
    background: #fff9ee;
    color: #f4820b;
  }

  .progress-manage-v2-card-title .status.archived {
    border-color: #d9dee7;
    background: #f6f7f9;
    color: #6f7b8d;
  }

  .progress-manage-v2-time {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 12px 0 0;
    color: #66758a;
    font-size: 12.5px;
    line-height: 1.2;
  }

  .progress-manage-v2-time svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .progress-manage-v2-summary {
    display: -webkit-box;
    overflow: hidden;
    margin: 13px 0 0;
    color: #526075;
    font-size: 13px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .progress-manage-v2-card-actions {
    display: grid;
    height: 50px;
    grid-template-columns: 1fr 1fr;
    margin: 0 14px;
    border-top: 1px solid #e4e8ee;
  }

  .progress-manage-v2-card-actions > a,
  .progress-manage-v2-card-actions form {
    display: grid;
    place-items: center;
    margin: 0;
  }

  .progress-manage-v2-card-actions form {
    border-left: 1px solid #e4e8ee;
  }

  .progress-manage-v2-card-actions > a,
  .progress-manage-v2-card-actions button {
    display: inline-flex;
    min-width: 96px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: transparent;
    color: #172133;
    font: inherit;
    font-size: 14px;
    text-decoration: none;
  }

  .progress-manage-v2-card-actions button {
    color: #ff312f;
    cursor: pointer;
  }

  .progress-manage-v2-card-actions svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .progress-manage-v2-end {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 6px 0 0;
    color: #788498;
    font-size: 13px;
    text-align: center;
  }

  .progress-manage-v2-end span {
    width: 18px;
    height: 1px;
    background: #d7dce4;
  }

  .progress-manage-v2-empty {
    display: grid;
    min-height: 260px;
    place-items: center;
    align-content: center;
    gap: 10px;
    padding: 30px;
    border: 1px solid #e3e7ed;
    border-radius: 12px;
    background: #fff;
    color: #66758a;
    text-align: center;
  }

  .progress-manage-v2-empty svg {
    width: 48px;
    height: 48px;
    fill: none;
    stroke: #9aa6b7;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
  }

  .progress-manage-v2-empty p {
    margin: 0;
  }

  .progress-manage-v2-empty a {
    color: #ef3d39;
  }

  .progress-manage-v2-sheet {
    position: fixed;
    z-index: 80;
    inset: 0;
    display: none;
    align-items: flex-end;
    justify-content: center;
  }

  .progress-manage-v2-sheet:target,
  .progress-manage-v2-sheet.is-open {
    display: flex;
  }

  .progress-manage-v2-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(12, 18, 28, 0.48);
  }

  .progress-manage-v2-sheet-panel {
    position: relative;
    z-index: 1;
    overflow: auto;
    width: min(100%, 520px);
    max-height: 90vh;
    padding: 18px 20px calc(22px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
    background: #fff;
    box-shadow: 0 -12px 32px rgba(18, 28, 43, 0.2);
  }

  .progress-manage-v2-sheet-panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
  }

  .progress-manage-v2-sheet-panel header p,
  .progress-manage-v2-sheet-panel header h2 {
    margin: 0;
  }

  .progress-manage-v2-sheet-panel header p {
    color: #ff3b38;
    font-size: 12px;
    font-weight: 700;
  }

  .progress-manage-v2-sheet-panel header h2 {
    margin-top: 3px;
    font-size: 21px;
  }

  .progress-manage-v2-sheet-panel header > a {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: #273244;
  }

  .progress-manage-v2-sheet-panel header svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
  }

  .progress-manage-v2-sheet-panel form {
    display: grid;
    gap: 13px;
  }

  .progress-manage-v2-sheet-panel label {
    display: grid;
    gap: 7px;
    color: #3c485b;
    font-size: 13px;
    font-weight: 650;
  }

  .progress-manage-v2-sheet-panel input,
  .progress-manage-v2-sheet-panel textarea,
  .progress-manage-v2-sheet-panel select {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #d9dee7;
    border-radius: 8px;
    background: #fff;
    color: #111827;
    font: inherit;
    font-weight: 400;
  }

  .progress-manage-v2-sheet-panel textarea {
    min-height: 0;
    resize: vertical;
  }

  .progress-manage-v2-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .progress-manage-v2-upload input {
    padding: 7px;
  }

  .progress-manage-v2-submit {
    min-height: 48px;
    border: 0;
    border-radius: 9px;
    background: #ff3b37;
    box-shadow: 0 6px 14px rgba(255, 59, 55, 0.2);
    color: #fff;
    font-size: 15px;
    font-weight: 720;
  }
}

@media (max-width: 370px) {
  .progress-manage-v2-header {
    grid-template-columns: 92px minmax(0, 1fr) 92px;
    padding-right: 10px;
    padding-left: 10px;
  }

  .progress-manage-v2-create {
    width: 92px;
    font-size: 13px;
  }

  .progress-manage-v2-stats {
    gap: 7px;
    padding-right: 10px;
    padding-left: 10px;
  }

  .progress-manage-v2-stats article {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 4px;
    padding-right: 6px;
    padding-left: 6px;
  }

  .progress-manage-v2-stat-icon {
    width: 34px;
    height: 34px;
  }

  .progress-manage-v2-list {
    padding-right: 10px;
    padding-left: 10px;
  }

  .progress-manage-v2-card-main {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 11px;
    padding-right: 11px;
    padding-left: 11px;
  }

  .progress-manage-v2-card-main > img {
    width: 120px;
    height: 143px;
  }
}

/* Page 63: V2 user donations */
.v2-user-donations-h5 {
  margin: 0;
  min-height: 100vh;
  background: #f7f9fc;
  color: #101828;
  font-family: var(--font-brand);
}

.v2-donation-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  align-items: center;
  height: 56px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(16, 24, 40, 0.06);
}

.v2-donation-topbar > a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  color: #111827;
  text-decoration: none;
}

.v2-donation-topbar > a:first-child {
  font-size: 38px;
  line-height: 1;
}

.v2-donation-topbar strong {
  text-align: center;
  font-size: 23px;
  font-weight: 900;
  line-height: 1.1;
}

.v2-donation-user-icon {
  position: relative;
}

.v2-donation-user-icon::before,
.v2-donation-user-icon::after {
  content: "";
  position: absolute;
  border: 2px solid #111827;
}

.v2-donation-user-icon::before {
  top: 12px;
  left: 18px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
}

.v2-donation-user-icon::after {
  left: 13px;
  bottom: 10px;
  width: 23px;
  height: 16px;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
}

.v2-donation-page {
  box-sizing: border-box;
  width: min(100%, 430px);
  margin: 0 auto;
  padding-bottom: 26px;
  overflow-x: hidden;
}

.v2-donation-profile {
  position: relative;
  margin: 0 -18px;
  padding: 25px 35px 15px;
  background: linear-gradient(138deg, #ff243a 0%, #ff3a4b 56%, #ff5e43 100%);
  overflow: hidden;
}

.v2-donation-profile::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -36px;
  left: -28px;
  height: 70px;
  border-radius: 0 0 50% 50%;
  background: #f7f9fc;
}

.v2-donation-profile-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 78px;
  gap: 16px;
  align-items: center;
  min-height: 120px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.98);
  padding: 20px 18px;
  box-shadow: 0 18px 32px rgba(194, 19, 35, 0.13);
}

.v2-donation-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 16px;
  background: linear-gradient(145deg, #ff344b, #ff6b1f);
  color: #fff;
  font-size: 40px;
  font-weight: 950;
  line-height: 1;
}

.v2-donation-identity {
  min-width: 0;
}

.v2-donation-identity h1 {
  margin: 0 0 14px;
  overflow: hidden;
  color: #111827;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-donation-identity h1 span {
  color: #667085;
  font-size: 18px;
}

.v2-donation-identity p {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: #667085;
  font-size: 15px;
  font-weight: 700;
}

.v2-donation-identity i {
  color: #f43f5e;
  font-style: normal;
  font-size: 23px;
}

.v2-donation-heart {
  position: relative;
  width: 70px;
  height: 62px;
  opacity: .18;
  transform: rotate(-45deg);
}

.v2-donation-heart::before,
.v2-donation-heart::after {
  content: "";
  position: absolute;
  background: #ff5064;
}

.v2-donation-heart::before {
  inset: 20px 0 0 0;
  border-radius: 0 0 8px 8px;
}

.v2-donation-heart::after {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  box-shadow: 34px 34px 0 #ff5064;
}

.v2-donation-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  height: 112px;
  margin: 22px 17px;
}

.v2-donation-stat {
  position: relative;
  min-height: 112px;
  overflow: hidden;
  border: 1px solid rgba(254, 202, 202, 0.85);
  border-radius: 18px;
  background: #fff;
  padding: 14px 13px;
  box-shadow: 0 12px 24px rgba(16, 24, 40, 0.05);
}

.v2-donation-stat span,
.v2-donation-stat p {
  position: relative;
  z-index: 1;
}

.v2-donation-stat span {
  display: block;
  margin-bottom: 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.v2-donation-stat strong {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 27px;
  color: #f0142f;
  font-size: 23px;
  font-weight: 950;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.v2-donation-stat p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

.v2-donation-stat i {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 54px;
  height: 54px;
  opacity: .62;
}

.v2-donation-stat-total {
  background: linear-gradient(135deg, #fff 0%, #fff1f3 100%);
}

.v2-donation-stat-total i {
  transform: rotate(-45deg);
}

.v2-donation-stat-total i::before,
.v2-donation-stat-total i::after {
  content: "";
  position: absolute;
  background: linear-gradient(135deg, #ff3151, #ff91a0);
}

.v2-donation-stat-total i::before {
  inset: 18px 0 0;
  border-radius: 0 0 8px 8px;
}

.v2-donation-stat-total i::after {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  box-shadow: 26px 26px 0 #ff91a0;
}

.v2-donation-stat-recent {
  border-color: rgba(251, 191, 36, 0.55);
  background: linear-gradient(135deg, #fff 0%, #fff8eb 100%);
}

.v2-donation-stat-recent strong {
  color: #f97316;
  font-size: 18px;
}

.v2-donation-stat-recent i {
  right: 14px;
  width: 48px;
  height: 48px;
  border: 5px solid #fb923c;
  border-top-width: 16px;
  border-radius: 8px;
}

.v2-donation-stat-recent i::before {
  content: "♥";
  position: absolute;
  inset: 11px 0 0;
  color: #fb923c;
  text-align: center;
  font-size: 22px;
}

.v2-donation-records {
  margin: 0 17px;
}

.v2-donation-records h2 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 21px;
  font-weight: 950;
  line-height: 1.2;
}

.v2-donation-card {
  display: grid;
  gap: 7px;
  margin-bottom: 13px;
  border: 1px solid rgba(226, 232, 240, 0.96);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  padding: 14px 14px 12px;
  box-shadow: 0 10px 26px rgba(16, 24, 40, 0.09);
}

.v2-donation-card-head,
.v2-donation-card-foot,
.v2-donation-actions,
.v2-donation-org {
  display: flex;
  align-items: center;
}

.v2-donation-card-head,
.v2-donation-card-foot {
  justify-content: space-between;
  gap: 12px;
}

.v2-donation-card-head time {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #667085;
  font-size: 13px;
  font-weight: 750;
}

.v2-donation-card-head time::before {
  content: "◷";
  color: #667085;
  font-size: 18px;
}

.v2-donation-card .donation-status {
  min-height: 28px;
  margin-bottom: 0;
  padding: 2px 10px;
}

.v2-donation-main {
  display: grid;
  gap: 5px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #d9dee8;
}

.v2-donation-main h3 {
  margin: 0;
  color: #111827;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.28;
}

.v2-donation-main p {
  margin: 0;
  color: #667085;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-donation-main strong {
  color: #f0142f;
  font-size: 23px;
  font-weight: 950;
  line-height: 1.15;
}

.v2-donation-main small {
  color: #98a2b3;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.v2-donation-org {
  min-width: 0;
  gap: 10px;
}

.v2-donation-project-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f0142f;
  color: #fff;
  font-size: 20px;
  font-weight: 950;
}

.v2-donation-project-icon.green {
  background: #22c55e;
}

.v2-donation-project-icon.pending {
  background: #f59e0b;
}

.v2-donation-project-icon.muted {
  background: #94a3b8;
}

.v2-donation-org p {
  min-width: 0;
  margin: 0;
}

.v2-donation-org strong,
.v2-donation-org small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-donation-org strong {
  color: #111827;
  font-size: 15px;
  font-weight: 900;
}

.v2-donation-org small {
  margin-top: 4px;
  color: #667085;
  font-size: 13px;
}

.v2-donation-actions {
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.v2-donation-actions a,
.v2-donation-actions button,
.v2-donation-actions summary,
.v2-donation-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  padding: 0 12px;
  color: #344054;
  font: inherit;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.v2-donation-actions a span,
.v2-donation-actions button span,
.v2-donation-actions summary span,
.v2-donation-disabled span {
  color: #ef233c;
  font-size: 18px;
}

.v2-donation-actions form {
  margin: 0;
}

.v2-donation-actions button {
  cursor: pointer;
}

.v2-donation-disabled {
  color: #98a2b3;
}

.v2-donation-invoice {
  position: relative;
}

.v2-donation-invoice summary {
  cursor: pointer;
  list-style: none;
}

.v2-donation-invoice summary::-webkit-details-marker {
  display: none;
}

.v2-donation-invoice form {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 5;
  display: grid;
  width: 224px;
  gap: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  padding: 10px;
  box-shadow: 0 16px 30px rgba(16, 24, 40, 0.14);
}

.v2-donation-invoice input {
  box-sizing: border-box;
  width: 100%;
  min-height: 38px;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  padding: 0 10px;
  font: inherit;
  font-size: 13px;
}

.v2-donation-invoice form button {
  border-radius: 8px;
  background: #ef233c;
  color: #fff;
}

.v2-donation-status-meta {
  display: grid;
  gap: 7px;
  margin: 0;
}

.v2-donation-status-meta div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #98a2b3;
  font-size: 12px;
}

.v2-donation-status-meta dt,
.v2-donation-status-meta dd {
  margin: 0;
}

.v2-donation-status-meta dd {
  color: #667085;
  text-align: right;
  overflow-wrap: anywhere;
}

.v2-donation-status-meta dd.success {
  color: #16a34a;
}

.v2-donation-status-meta dd.pending {
  color: #d97706;
}

.v2-donation-status-meta dd.danger {
  color: #dc2626;
}

.v2-donation-empty {
  display: grid;
  gap: 10px;
  border: 1px dashed #fecdd3;
  border-radius: 18px;
  background: #fff;
  padding: 26px 18px;
  text-align: center;
}

.v2-donation-empty strong {
  font-size: 19px;
}

.v2-donation-empty p {
  margin: 0;
  color: #667085;
}

.v2-donation-empty a {
  justify-self: center;
  color: #ef233c;
  font-weight: 900;
  text-decoration: none;
}

.v2-donation-blessing {
  margin: 21px 17px 0;
  border-top: 1px solid #e8edf5;
  padding: 18px 0 0;
  color: #667085;
  text-align: center;
}

.v2-donation-blessing span {
  color: #ef233c;
  font-size: 22px;
}

.v2-donation-blessing p {
  margin: 7px 0 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

.v2-donation-card:last-of-type {
  margin-bottom: 0;
}

@media (max-width: 380px) {
  .v2-donation-profile-card {
    grid-template-columns: 68px minmax(0, 1fr);
  }

  .v2-donation-heart {
    display: none;
  }

  .v2-donation-stats {
    gap: 10px;
  }

  .v2-donation-stat {
    padding: 15px 12px;
  }

  .v2-donation-card-foot {
    align-items: flex-start;
    flex-direction: column;
  }

  .v2-donation-actions {
    justify-content: flex-start;
  }
}

/* Page 70: V2 project progress editor */
body.admin-body.progress-editor-body {
  min-width: 0;
  background: #eef2f7;
  color: #111827;
  scrollbar-width: none;
}

body.admin-body.progress-editor-body::-webkit-scrollbar {
  display: none;
}

body.admin-body.progress-editor-body .admin-topbar,
body.admin-body.progress-editor-body .admin-sidebar {
  display: none;
}

body.admin-body.progress-editor-body .admin-shell {
  display: block;
  min-height: 100vh;
}

body.admin-body.progress-editor-body .admin-main {
  width: min(100%, 426px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0;
  background: #f7f9fc;
  box-shadow: 0 0 30px rgba(51, 65, 85, 0.08);
}

.progress-editor-v2 {
  --progress-editor-red: #ff252b;
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  font-family: var(--font-brand);
}

.progress-editor-v2 *,
.progress-editor-v2 *::before,
.progress-editor-v2 *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.progress-editor-v2 svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.progress-editor-header {
  position: sticky;
  z-index: 10;
  top: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 82px;
  min-height: 56px;
  align-items: center;
  padding: 0 14px;
  border-bottom: 1px solid #e1e6ed;
  background: rgba(255, 255, 255, 0.97);
}

.progress-editor-header > a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #111827;
}

.progress-editor-header > a svg {
  width: 27px;
  height: 27px;
  stroke-width: 2.4;
}

.progress-editor-header h1 {
  margin: 0;
  overflow: hidden;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.progress-editor-header > button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 13px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #ff3f36, #ff171f);
  box-shadow: 0 4px 12px rgba(255, 37, 43, 0.18);
  color: #fff;
  font: inherit;
  font-size: 14px;
  white-space: nowrap;
}

.progress-editor-header > button svg {
  width: 18px;
  height: 18px;
}

.progress-editor-card {
  margin: 14px 13px 30px;
  padding: 14px 13px 18px;
  border: 1px solid #e3e8ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(71, 85, 105, 0.07);
}

.progress-editor-card > h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 750;
}

.progress-editor-card > h2 i {
  width: 3px;
  height: 18px;
  border-radius: 2px;
  background: var(--progress-editor-red);
}

.progress-editor-alert {
  margin: 0 0 12px;
  padding: 9px 11px;
  border: 1px solid #fecaca;
  border-radius: 6px;
  background: #fff1f2;
  color: #b91c1c;
  font-size: 12px;
}

.progress-editor-field {
  display: grid;
  gap: 4px;
  margin: 0 0 12px;
  color: #1f2937;
  font-size: 14px;
}

.progress-editor-field > span:first-child,
.progress-editor-cover-field > span:first-child {
  font-weight: 650;
}

.progress-editor-field > span b {
  color: var(--progress-editor-red);
}

.progress-editor-field > input,
.progress-editor-control textarea,
.progress-editor-richbox,
.progress-editor-date-control {
  width: 100%;
  border: 1px solid #ccd6e3;
  border-radius: 6px;
  background: #fff;
}

.progress-editor-field > input {
  height: 34px;
  padding: 0 11px;
  outline: 0;
  color: #1f2937;
  font: inherit;
  font-size: 14px;
}

.progress-editor-control {
  position: relative;
  display: block;
}

.progress-editor-control textarea {
  height: 92px;
  padding: 10px 11px 24px;
  outline: 0;
  color: #1f2937;
  font: inherit;
  font-size: 14px;
  line-height: 1.6;
  resize: none;
}

.progress-editor-control em {
  position: absolute;
  right: 10px;
  bottom: 7px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
}

.progress-editor-richbox {
  display: block;
  overflow: hidden;
}

.progress-editor-toolbar {
  display: grid;
  grid-template-columns: repeat(5, 40px);
  min-height: 38px;
  align-items: center;
  gap: 0;
  padding: 0 7px;
  border-bottom: 1px solid #d9e0e9;
}

.progress-editor-toolbar button {
  display: grid;
  width: 38px;
  height: 34px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: #506078;
  font: inherit;
}

.progress-editor-toolbar button:hover,
.progress-editor-toolbar button:focus-visible {
  background: #f1f5f9;
  color: var(--progress-editor-red);
}

.progress-editor-toolbar button strong {
  font-family: Georgia, serif;
  font-size: 21px;
}

.progress-editor-toolbar button svg {
  width: 20px;
  height: 20px;
}

.progress-editor-toolbar button:last-child {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.progress-editor-toolbar button:last-child span {
  font-size: 7px;
  line-height: 0.75;
}

.progress-editor-toolbar button:last-child svg {
  width: 16px;
}

.progress-editor-richbox > textarea {
  display: block;
  width: 100%;
  height: 136px;
  padding: 8px 11px;
  border: 0;
  outline: 0;
  color: #172033;
  font: inherit;
  font-size: 13px;
  line-height: 1.5;
  resize: none;
}

.progress-editor-field > input:focus,
.progress-editor-control textarea:focus,
.progress-editor-richbox:focus-within,
.progress-editor-date-control:focus-within {
  border-color: #ff8c8f;
  box-shadow: 0 0 0 3px rgba(255, 37, 43, 0.07);
}

.progress-editor-status {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
}

.progress-editor-status legend {
  width: 100%;
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 650;
}

.progress-editor-status label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #1f2937;
  font-size: 14px;
}

.progress-editor-status input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.progress-editor-status label > span {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1.5px solid #b7c2d1;
  border-radius: 50%;
}

.progress-editor-status input:checked + span {
  border-color: var(--progress-editor-red);
}

.progress-editor-status input:checked + span::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--progress-editor-red);
  content: "";
}

.progress-editor-publish-time {
  margin-bottom: 14px;
}

.progress-editor-date-control {
  position: relative;
  display: flex;
  height: 36px;
  align-items: center;
  padding: 0 10px;
}

.progress-editor-date-control svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  color: #64748b;
}

.progress-editor-date-control input {
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 0 7px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1f2937;
  font: inherit;
  font-size: 14px;
}

.progress-editor-publish-time small {
  color: #718096;
  font-size: 11px;
  line-height: 1.2;
}

.progress-editor-cover-field {
  display: grid;
  gap: 8px;
  color: #1f2937;
  font-size: 14px;
}

.progress-editor-cover-upload {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  min-height: 162px;
  align-items: center;
  gap: 13px;
  padding: 10px;
  border: 1px dashed #ff9b9e;
  border-radius: 7px;
  cursor: pointer;
}

.progress-editor-cover-preview {
  position: relative;
  display: block;
  width: 140px;
  height: 136px;
  overflow: hidden;
  border-radius: 7px;
  background: #eef2f7;
}

.progress-editor-cover-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.progress-editor-cover-preview > button {
  position: absolute;
  top: 6px;
  right: 6px;
  display: grid;
  width: 24px;
  height: 24px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.76);
  color: #fff;
}

.progress-editor-cover-preview > button svg {
  width: 16px;
  height: 16px;
}

.progress-editor-cover-preview.is-empty {
  display: none;
}

.progress-editor-upload-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #64748b;
  text-align: center;
}

.progress-editor-upload-copy svg {
  width: 38px;
  height: 38px;
  color: var(--progress-editor-red);
  stroke-width: 1.6;
}

.progress-editor-upload-copy strong {
  color: #1f2937;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

.progress-editor-upload-copy small {
  font-size: 11px;
}

.progress-editor-cover-upload > input,
.progress-editor-cover-field > textarea {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

@media (max-width: 380px) {
  .progress-editor-header {
    grid-template-columns: 38px minmax(0, 1fr) 76px;
    padding: 0 9px;
  }

  .progress-editor-header h1 {
    font-size: 16px;
  }

  .progress-editor-card {
    margin-right: 9px;
    margin-left: 9px;
  }

  .progress-editor-cover-upload {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 9px;
  }

  .progress-editor-cover-preview {
    width: 120px;
    height: 128px;
  }

  .progress-editor-upload-copy strong {
    font-size: 12px;
    white-space: normal;
  }
}

/* Page 58: legacy mobile activity status management */
.activity-status-manage-h5 {
  margin: 0;
  min-height: 100vh;
  background: #f5f7fb;
  color: #152034;
  font-family: var(--font-brand);
}

.status-manage-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  height: 49px;
  border-bottom: 1px solid #edf0f5;
  background: rgba(255, 255, 255, 0.98);
}

.status-manage-topbar a,
.status-manage-topbar span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  color: #26364d;
  font-size: 30px;
  line-height: 1;
  text-decoration: none;
}

.status-manage-topbar strong {
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 17px;
  font-weight: 800;
}

.status-manage-page {
  box-sizing: border-box;
  width: min(100%, 430px);
  min-height: calc(100vh - 49px);
  margin: 0 auto;
  padding: 16px 16px 104px;
}

.status-manage-toast,
.status-manage-error,
.status-manage-warning,
.status-manage-card {
  box-sizing: border-box;
  width: 100%;
  border-radius: 12px;
}

.status-manage-toast,
.status-manage-error {
  margin-bottom: 12px;
  padding: 11px 13px;
  font-size: 13px;
  font-weight: 800;
}

.status-manage-toast {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
}

.status-manage-error {
  border: 1px solid #fecaca;
  background: #fff1f2;
  color: #be123c;
}

.status-manage-warning {
  margin-bottom: 12px;
  border: 1px solid #fde68a;
  background: #fffbeb;
  padding: 12px 14px 12px 42px;
  color: #92400e;
  position: relative;
}

.status-manage-warning::before {
  content: "!";
  position: absolute;
  top: 13px;
  left: 15px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #f59e0b;
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
  line-height: 17px;
}

.status-manage-warning p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.status-manage-card {
  border: 1px solid #eceff5;
  background: #fff;
  box-shadow: 0 8px 26px rgba(20, 31, 52, 0.06);
}

.status-manage-activity {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: center;
  padding: 18px 16px 16px;
  border-bottom: 1px solid #eef2f7;
}

.status-manage-calendar {
  position: relative;
  display: block;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #eaf2ff;
}

.status-manage-calendar::before {
  content: "";
  position: absolute;
  inset: 11px 10px 9px;
  border: 2px solid #3b82f6;
  border-top-width: 7px;
  border-radius: 4px;
}

.status-manage-calendar::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  height: 2px;
  background: #3b82f6;
  box-shadow: 0 5px 0 #3b82f6;
}

.status-manage-activity h1 {
  margin: 0 0 7px;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
}

.status-manage-activity p {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

.status-manage-current {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  border: 1px solid #bbf7d0;
  border-radius: 7px;
  padding: 0 9px;
  background: #f0fdf4;
  color: #16a34a;
  font-style: normal;
  font-weight: 900;
}

.status-manage-current-paused {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #ea580c;
}

.status-manage-current-closed {
  border-color: #fecaca;
  background: #fff1f2;
  color: #dc2626;
}

.status-manage-current-ended {
  border-color: #d1d5db;
  background: #f9fafb;
  color: #4b5563;
}

.status-manage-section {
  padding: 18px 16px 0;
}

.status-manage-section h2,
.status-manage-message label {
  display: block;
  margin: 0 0 13px;
  color: #1f2937;
  font-size: 15px;
  font-weight: 900;
}

.status-manage-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.status-manage-option {
  position: relative;
  display: flex;
  min-height: 96px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  padding: 13px 12px;
  overflow: hidden;
  cursor: pointer;
}

.status-manage-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.status-manage-option-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.status-manage-option-head {
  display: flex;
  align-items: center;
  gap: 9px;
}

.status-manage-option-head b {
  display: inline-flex;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e5e7eb;
  color: #4b5563;
  font-size: 20px;
  line-height: 1;
}

.status-manage-option strong {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.1;
}

.status-manage-option small {
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.status-manage-option i {
  display: none;
}

.status-manage-option.is-active {
  border-width: 2px;
  padding: 12px 11px;
}

.status-manage-option.is-active i {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 27px;
  height: 27px;
  border-radius: 12px 0 10px;
}

.status-manage-option.is-active i::after {
  content: "";
  position: absolute;
  right: 7px;
  bottom: 8px;
  width: 10px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.status-manage-option-green.is-active {
  border-color: #22c55e;
  background: #f0fdf4;
}

.status-manage-option-green strong {
  color: #16a34a;
}

.status-manage-option-green .status-manage-option-head b {
  background: #22c55e;
  color: #fff;
}

.status-manage-option-green.is-active i {
  background: #22c55e;
}

.status-manage-option-orange.is-active {
  border-color: #f59e0b;
  background: #fffbeb;
}

.status-manage-option-orange strong {
  color: #d97706;
}

.status-manage-option-orange .status-manage-option-head b {
  background: #f59e0b;
  color: #fff;
  font-size: 15px;
  letter-spacing: 0;
}

.status-manage-option-orange.is-active i {
  background: #f59e0b;
}

.status-manage-option-red.is-active {
  border-color: #ef4444;
  background: #fff1f2;
}

.status-manage-option-red strong {
  color: #dc2626;
}

.status-manage-option-red .status-manage-option-head b {
  background: #ef4444;
  color: #fff;
}

.status-manage-option-red.is-active i {
  background: #ef4444;
}

.status-manage-option-gray.is-active {
  border-color: #6b7280;
  background: #f9fafb;
}

.status-manage-option-gray strong {
  color: #4b5563;
}

.status-manage-option-gray .status-manage-option-head b {
  background: #6b7280;
  color: #fff;
  font-size: 17px;
}

.status-manage-option-gray.is-active i {
  background: #6b7280;
}

.status-manage-message {
  padding-bottom: 18px;
}

.status-manage-message textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 108px;
  resize: vertical;
  border: 1px solid #d7dce5;
  border-radius: 10px;
  background: #fff;
  padding: 12px;
  color: #111827;
  font: inherit;
  font-size: 14px;
  line-height: 1.6;
}

.status-manage-message textarea:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.status-manage-counter {
  display: flex;
  justify-content: flex-end;
  margin-top: 7px;
  color: #98a2b3;
  font-size: 12px;
  font-weight: 700;
}

.status-manage-message p {
  margin: 8px 0 0;
  color: #98a2b3;
  font-size: 12px;
  line-height: 1.5;
}

.status-manage-savebar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 25;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid #eef2f7;
  background: rgba(255, 255, 255, 0.98);
}

.status-manage-savebar button {
  width: min(100%, 398px);
  min-height: 44px;
  border: 0;
  border-radius: 9px;
  background: #2563eb;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.24);
}

.status-manage-savebar button span {
  margin-right: 9px;
  font-size: 18px;
}

.activity-status-public-note {
  margin-top: 14px;
  border: 1px solid #fed7aa;
  border-radius: 12px;
  background: #fff7ed;
  padding: 12px 13px;
  color: #9a3412;
}

.activity-status-public-note strong {
  display: block;
  margin-bottom: 5px;
  font-size: 13px;
  font-weight: 900;
}

.activity-status-public-note p {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

@media (max-width: 380px) {
  .status-manage-options {
    gap: 10px;
  }

  .status-manage-option {
    min-height: 88px;
    padding-inline: 10px;
  }
}

/* Page 79: site debug information */
body.site-debug-page {
  min-height: 100vh;
  margin: 0;
  background: #f3f4f6;
  color: #111827;
  font-family: var(--font-brand);
}

.site-debug-shell {
  width: min(100%, 1536px);
  min-height: calc(100vh - 92px);
  margin: 0 auto;
  padding: 40px 45px 40px;
  box-sizing: border-box;
}

.site-debug-hero {
  display: grid;
  justify-items: center;
  margin-bottom: 36px;
  text-align: center;
}

.site-debug-hero h1 {
  margin: 0;
  color: #111;
  font-size: 50px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0;
}

.site-debug-hero time {
  margin-top: 16px;
  color: #4b5563;
  font-size: 26px;
  line-height: 1.25;
}

.site-debug-hero span {
  display: inline-flex;
  min-width: 91px;
  min-height: 33px;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: linear-gradient(180deg, #e5e7eb 0%, #d1d5db 100%);
  color: #374151;
  font-size: 23px;
}

.site-debug-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 26px;
}

.site-debug-card {
  min-height: 312px;
  border: 1px solid #d7dbe2;
  border-radius: 4px;
  padding: 28px 25px 24px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 2px 6px rgba(15, 23, 42, .12);
  box-sizing: border-box;
}

.site-debug-card h2 {
  margin: 0 0 26px;
  color: #111;
  font-size: 29px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0;
}

.site-debug-card dl {
  overflow: hidden;
  margin: 0;
  border: 1px solid #e0e4ea;
  border-radius: 3px;
  background: #fff;
}

.site-debug-card div {
  display: grid;
  grid-template-columns: 41% minmax(0, 1fr);
  min-height: 67px;
  border-bottom: 1px solid #e5e7eb;
}

.site-debug-card div:last-child {
  border-bottom: 0;
}

.site-debug-card dt,
.site-debug-card dd {
  display: flex;
  min-width: 0;
  align-items: center;
  margin: 0;
  padding: 0 17px;
  color: #374151;
  font-size: 20px;
  line-height: 1.35;
  word-break: break-word;
}

.site-debug-card dd {
  color: #1f2937;
}

.site-debug-foot {
  display: flex;
  min-height: 90px;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #d7dbe2;
  background: rgba(255, 255, 255, .45);
  color: #4b5563;
  font-size: 22px;
  text-align: center;
}

@media (max-width: 900px) {
  .site-debug-shell {
    min-height: auto;
    padding: 30px 18px;
  }

  .site-debug-hero h1 {
    font-size: 38px;
  }

  .site-debug-hero time {
    font-size: 21px;
  }

  .site-debug-grid {
    grid-template-columns: 1fr;
  }

  .site-debug-card {
    min-height: auto;
  }
}

/* Page 77: public raw HTML activity page */
body.activity-raw-html-h5 {
  margin: 0;
  padding-bottom: 0;
  background: #eef2f7;
  color: #1f2937;
  font-family: var(--font-brand);
}

.activity-raw-html-page {
  max-width: 853px;
  min-height: 100vh;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .12);
}

.activity-raw-html-hero {
  position: relative;
  overflow: hidden;
  height: 520px;
  border-radius: 8px 8px 0 0;
  background: #dbeafe;
}

.activity-raw-html-hero > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.activity-raw-html-hero > div {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: start;
  justify-items: center;
  padding-top: 86px;
  color: #064e21;
  text-align: center;
  text-shadow: 0 2px 8px rgba(255, 255, 255, .75);
}

.activity-raw-html-hero h1 {
  margin: 0;
  font-size: 70px;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: 0;
}

.activity-raw-html-hero p {
  margin: 20px 0 0;
  font-size: 31px;
  font-weight: 800;
}

.activity-raw-html-meta {
  display: grid;
  grid-template-columns: 1fr 1.45fr .9fr;
  min-height: 120px;
  align-items: center;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 32px;
}

.activity-raw-html-meta > div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 58px;
  border-right: 1px solid #e5e7eb;
  padding: 0 26px;
}

.activity-raw-html-meta > div:first-child { padding-left: 0; }
.activity-raw-html-meta > div:last-child { border-right: 0; padding-right: 0; }
.activity-raw-html-meta svg { width: 34px; height: 34px; fill: none; stroke: #f7c400; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.activity-raw-html-meta strong,
.activity-raw-html-meta small { display: block; }
.activity-raw-html-meta strong { overflow: hidden; color: #111827; font-size: 18px; line-height: 1.3; text-overflow: ellipsis; }
.activity-raw-html-meta small { margin-top: 5px; color: #64748b; font-size: 15px; line-height: 1.35; }

.activity-raw-html-content {
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
}

.activity-raw-html-content > img:first-child,
.activity-raw-html-content > figure:first-child img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
}

.activity-raw-html-content > :not(img):not(figure):not(hr),
.activity-raw-html-content > figure:not(:first-child) {
  margin-right: 34px;
  margin-left: 34px;
}

.activity-raw-html-content h1,
.activity-raw-html-content h2,
.activity-raw-html-content h3 {
  position: relative;
  margin-top: 34px;
  margin-bottom: 16px;
  color: #111827;
  line-height: 1.22;
  font-weight: 950;
  letter-spacing: 0;
}

.activity-raw-html-content h1 {
  font-size: 42px;
  text-align: center;
}

.activity-raw-html-content h2 {
  padding-left: 22px;
  font-size: 32px;
}

.activity-raw-html-content h2::before,
.activity-raw-html-content h3::before {
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;
  width: 7px;
  border-radius: 999px;
  background: #f7c400;
  content: "";
}

.activity-raw-html-content h3 {
  padding-left: 18px;
  font-size: 24px;
}

.activity-raw-html-content p {
  margin-top: 0;
  margin-bottom: 22px;
  color: #1f2937;
  font-size: 22px;
  line-height: 1.88;
}

.activity-raw-html-content strong,
.activity-raw-html-content b {
  color: #111827;
}

.activity-raw-html-content a {
  color: #b45309;
  text-decoration: none;
  font-weight: 850;
}

.activity-raw-html-content ul,
.activity-raw-html-content ol {
  padding-left: 28px;
  color: #374151;
  font-size: 20px;
  line-height: 1.8;
}

.activity-raw-html-content blockquote {
  border-left: 7px solid #f7c400;
  margin-top: 22px;
  margin-bottom: 26px;
  border-radius: 8px;
  padding: 18px 22px;
  background: #fffbeb;
  color: #92400e;
  font-size: 20px;
  line-height: 1.7;
}

.activity-raw-html-content table {
  overflow: hidden;
  width: calc(100% - 68px);
  margin: 16px 34px 34px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #1f2937;
  font-size: 20px;
  line-height: 1.45;
}

.activity-raw-html-content th,
.activity-raw-html-content td {
  border-right: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  padding: 12px 20px;
  vertical-align: top;
}

.activity-raw-html-content th:last-child,
.activity-raw-html-content td:last-child {
  border-right: 0;
}

.activity-raw-html-content tr:last-child td {
  border-bottom: 0;
}

.activity-raw-html-content th {
  background: linear-gradient(180deg, #ffd91a 0%, #f6bf00 100%);
  color: #111827;
  font-weight: 900;
  text-align: center;
}

.activity-raw-html-content figure {
  display: inline-grid;
  grid-template-columns: 108px minmax(0, 1fr);
  width: calc((100% - 94px) / 3);
  min-height: 168px;
  margin-top: 8px;
  margin-bottom: 18px;
  margin-left: 30px;
  vertical-align: top;
  align-items: start;
  gap: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

.activity-raw-html-content figure img {
  display: block;
  width: 108px;
  height: 134px;
  border-radius: 8px;
  object-fit: cover;
}

.activity-raw-html-content figcaption {
  color: #4b5563;
  font-size: 15px;
  line-height: 1.55;
}

.activity-raw-html-content figcaption strong {
  display: block;
  margin-bottom: 7px;
  color: #111827;
  font-size: 20px;
}

.activity-raw-html-content figcaption em {
  display: block;
  margin-bottom: 9px;
  color: #f97316;
  font-style: normal;
  font-weight: 850;
}

.activity-raw-html-content > p:has(> a[href="#activity-registration"]) {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: center;
  margin: 28px 30px 0;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffd91a 0%, #f7c400 100%);
  color: #111827;
  font-size: 30px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
}

.activity-raw-html-content > p:has(> a[href="#activity-registration"]) a {
  display: inline-flex;
  width: 100%;
  min-height: 72px;
  align-items: center;
  justify-content: center;
  color: inherit;
}

.activity-raw-registration {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  place-items: center;
  padding: 18px;
}

.activity-raw-registration:target { display: grid; }
.activity-raw-registration-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .6); }
.activity-raw-registration > section { position: relative; z-index: 1; display: grid; width: min(100%, 430px); max-height: calc(100vh - 36px); gap: 13px; overflow: auto; border-radius: 8px; padding: 20px; background: #fff; box-shadow: 0 18px 48px rgba(15, 23, 42, .25); }
.activity-raw-registration header { display: flex; align-items: center; justify-content: space-between; }
.activity-raw-registration h2 { margin: 0; font-size: 21px; }
.activity-raw-registration header a { color: #64748b; font-size: 28px; line-height: 1; text-decoration: none; }
.activity-raw-registration label { display: grid; gap: 6px; color: #374151; font-size: 13px; font-weight: 700; }
.activity-raw-registration input,
.activity-raw-registration textarea { width: 100%; border: 1px solid #d9dee7; border-radius: 6px; padding: 10px 11px; font: inherit; box-sizing: border-box; }
.activity-raw-registration button { min-height: 44px; border: 0; border-radius: 6px; background: #f7c400; color: #111827; font-size: 15px; font-weight: 900; }

.activity-raw-html-content > small,
.activity-raw-html-content > time {
  display: block;
  margin: 14px 34px 30px;
  color: #64748b;
  font-size: 18px;
  text-align: center;
}

@media (max-width: 720px) {
  .activity-raw-html-page {
    max-width: none;
    box-shadow: none;
  }

  .activity-raw-html-content {
    border-radius: 0;
  }

  .activity-raw-html-hero {
    height: 260px;
    border-radius: 0;
  }

  .activity-raw-html-hero > div { padding-top: 43px; }
  .activity-raw-html-hero h1 { font-size: 35px; }
  .activity-raw-html-hero p { margin-top: 10px; font-size: 16px; }

  .activity-raw-html-meta {
    min-height: 61px;
    padding: 0 16px;
  }

  .activity-raw-html-meta > div {
    grid-template-columns: 19px minmax(0, 1fr);
    gap: 7px;
    min-height: 38px;
    padding: 0 10px;
  }

  .activity-raw-html-meta svg { width: 18px; height: 18px; }
  .activity-raw-html-meta strong { font-size: 10px; }
  .activity-raw-html-meta small { margin-top: 2px; font-size: 8px; }

  .activity-raw-html-content > :not(img):not(figure):not(hr),
  .activity-raw-html-content > figure:not(:first-child) {
    margin-right: 16px;
    margin-left: 16px;
  }

  .activity-raw-html-content h1 {
    font-size: 30px;
  }

  .activity-raw-html-content h2 {
    margin-top: 18px;
    margin-bottom: 9px;
    padding-left: 12px;
    font-size: 18px;
  }

  .activity-raw-html-content h2::before { width: 4px; }

  .activity-raw-html-content h3 {
    font-size: 21px;
  }

  .activity-raw-html-content p {
    margin-bottom: 9px;
    font-size: 11px;
    line-height: 1.72;
  }

  .activity-raw-html-content table {
    display: table;
    overflow: visible;
    table-layout: fixed;
    width: calc(100% - 32px);
    margin: 12px 16px 26px;
    margin-bottom: 16px;
    font-size: 9px;
    line-height: 1.35;
    white-space: normal;
    word-break: break-word;
  }

  .activity-raw-html-content th,
  .activity-raw-html-content td {
    padding: 4px 5px;
  }

  .activity-raw-html-content figure {
    display: inline-grid;
    grid-template-columns: 50px minmax(0, 1fr);
    width: calc((100% - 44px) / 3);
    min-height: 104px;
    margin: 4px 0 12px 8px;
    gap: 5px;
    border-radius: 5px;
    padding: 5px;
    box-shadow: none;
  }

  .activity-raw-html-content > figure:first-child,
  .activity-raw-html-content > figure:not(:first-child) {
    margin: 4px 0 12px 8px;
  }

  .activity-raw-html-content figure img {
    width: 50px;
    height: 82px;
    border-radius: 5px;
  }

  .activity-raw-html-content figure:nth-of-type(1) img { object-position: 8% center; }
  .activity-raw-html-content figure:nth-of-type(2) img { object-position: 50% center; }
  .activity-raw-html-content figure:nth-of-type(3) img { object-position: 92% center; }

  .activity-raw-html-content figcaption {
    font-size: 8px;
    line-height: 1.4;
  }

  .activity-raw-html-content figcaption strong {
    margin-bottom: 3px;
    font-size: 11px;
  }

  .activity-raw-html-content figcaption em { margin-bottom: 4px; font-size: 8px; }

  .activity-raw-html-content > p:has(> a[href="#activity-registration"]),
  .activity-raw-html-content > p:has(> a[href="#activity-registration"]) a {
    min-height: 36px;
    font-size: 16px;
  }

  .activity-raw-html-content > p:has(> a[href="#activity-registration"]) { margin: 5px 15px 0; }
  .activity-raw-html-content > small,
  .activity-raw-html-content > time { margin: 8px 16px 16px; font-size: 10px; }
}

/* Page 73: activity publish preview */
body.meeting-preview-h5 {
  margin: 0;
  min-height: 100vh;
  padding-bottom: calc(100px + env(safe-area-inset-bottom));
  background: #f8fafc;
  color: #111827;
  font-family: var(--font-brand);
}

.meeting-preview-h5 svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.meeting-preview-mode,
.meeting-preview-topbar,
.meeting-preview-page,
.meeting-preview-actions {
  width: min(100%, 430px);
  margin: 0 auto;
  box-sizing: border-box;
}

.meeting-preview-mode {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) 40px;
  gap: 7px;
  align-items: center;
  min-height: 38px;
  border-bottom: 1px solid #fde68a;
  padding: 0 15px;
  background: linear-gradient(90deg, #fff7d6, #fff1c2);
  color: #f97316;
  font-size: 12px;
  font-weight: 800;
}

.meeting-preview-mode svg {
  width: 16px;
  height: 16px;
}

.meeting-preview-mode b {
  display: grid;
  min-height: 26px;
  place-items: center;
  border: 1px solid #fdba74;
  border-radius: 999px;
  background: rgba(255, 255, 255, .55);
  font-size: 11px;
}

.meeting-preview-topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 47px;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 14px 0 10px;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
}

.meeting-preview-topbar > a:first-child {
  display: grid;
  width: 36px;
  height: 38px;
  place-items: center;
  color: #111827;
  text-decoration: none;
}

.meeting-preview-topbar > a:first-child svg {
  width: 24px;
  height: 24px;
  stroke-width: 2.6;
}

.meeting-preview-topbar h1 {
  margin: 0;
  overflow: hidden;
  color: #111827;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 950;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.meeting-preview-share {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-radius: 999px;
  padding: 0 10px;
  background: linear-gradient(135deg, #2f6df6, #5d5cf6);
  color: #fff;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .25);
}

.meeting-preview-share svg {
  width: 15px;
  height: 15px;
}

.meeting-preview-page {
  padding: 10px 14px 20px;
}

.meeting-preview-cover {
  overflow: hidden;
  height: 199px;
  border-radius: 8px;
  background: #e5e7eb;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .1);
}

.meeting-preview-cover img,
.meeting-preview-detail-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.meeting-preview-cover-fallback {
  display: grid;
  min-height: 186px;
  place-items: center;
  background: linear-gradient(135deg, #dbeafe, #fff7ed);
  color: #b91c1c;
  text-align: center;
}

.meeting-preview-cover-fallback strong,
.meeting-preview-cover-fallback span {
  display: block;
}

.meeting-preview-cover-fallback strong {
  font-size: 24px;
  font-weight: 950;
}

.meeting-preview-cover-fallback span {
  color: #f97316;
  font-size: 18px;
}

.meeting-preview-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  padding: 14px 6px 8px;
}

.meeting-preview-title h2 {
  grid-column: 1 / -1;
  margin: 0 0 8px;
  color: #111827;
  font-size: 22px;
  line-height: 1.18;
  font-weight: 950;
}

.meeting-preview-organizer {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.meeting-preview-leaf {
  position: relative;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #86efac;
  border-radius: 50%;
  background: #f0fdf4;
}

.meeting-preview-leaf::before,
.meeting-preview-leaf::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 18px;
  border-radius: 18px 18px 4px 18px;
  background: #22c55e;
  transform: rotate(-36deg);
}

.meeting-preview-leaf::after {
  width: 13px;
  height: 13px;
  transform: translate(6px, 6px) rotate(35deg);
}

.meeting-preview-organizer strong {
  display: block;
  color: #111827;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 850;
}

.meeting-preview-organizer b {
  color: #ef4444;
}

.meeting-preview-organizer p {
  margin: 2px 0 0;
  color: #6b7280;
  font-size: 10px;
}

.meeting-preview-trust {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 0;
}

.meeting-preview-trust span {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  gap: 4px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 0 8px;
  background: #fff;
  color: #374151;
  font-size: 10px;
  font-weight: 750;
}

.meeting-preview-trust svg {
  width: 13px;
  height: 13px;
  color: #ef4444;
}

.meeting-preview-progress {
  position: relative;
  margin-top: 4px;
  border-radius: 10px;
  padding: 14px 15px 11px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .1);
}

.meeting-preview-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
}

.meeting-preview-stats article {
  border-right: 1px solid #e5e7eb;
}

.meeting-preview-stats article:last-child {
  border-right: 0;
}

.meeting-preview-stats span {
  display: block;
  margin-bottom: 4px;
  color: #6b7280;
  font-size: 12px;
}

.meeting-preview-stats strong {
  color: #111827;
  font-size: 17px;
  line-height: 1;
  font-weight: 950;
}

.meeting-preview-stats article:first-child strong,
.meeting-preview-meta b {
  color: #ef1f2f;
}

.meeting-preview-stats em {
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
}

.meeting-preview-bar {
  overflow: hidden;
  height: 7px;
  margin: 16px 0 8px;
  border-radius: 999px;
  background: #eef2f7;
}

.meeting-preview-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff1f2f, #ff4242);
}

.meeting-preview-meta {
  display: flex;
  min-height: 18px;
  align-items: center;
  justify-content: space-between;
  color: #6b7280;
  font-size: 12px;
}

.meeting-preview-meta b {
  position: absolute;
  top: 70px;
  right: 15px;
  font-size: 14px;
  font-weight: 950;
}

.meeting-preview-meta em {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  color: #6b7280;
  font-style: normal;
}

.meeting-preview-meta svg {
  width: 14px;
  height: 14px;
}

.meeting-preview-progress > p {
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 9px 0 0;
  border-radius: 8px;
  background: #fff1f2;
  color: #dc2626;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.meeting-preview-progress > p svg {
  width: 14px;
  height: 14px;
}

.meeting-preview-section {
  margin-top: 17px;
  padding: 0 3px;
}

.meeting-preview-section h2 {
  position: relative;
  margin: 0 0 8px;
  padding-left: 11px;
  color: #111827;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 950;
}

.meeting-preview-section h2::before {
  position: absolute;
  left: 0;
  top: 2px;
  width: 3px;
  height: 17px;
  border-radius: 999px;
  background: #ef1f2f;
  content: "";
}

.meeting-preview-section > p {
  margin: 0;
  color: #4b5563;
  font-size: 12px;
  line-height: 1.5;
}

.meeting-preview-uses > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}

.meeting-preview-uses article {
  display: grid;
  min-width: 0;
  grid-template-columns: 44px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  align-items: center;
  border-right: 1px solid #e5e7eb;
  padding: 0 6px;
  text-align: left;
}

.meeting-preview-uses article:last-child {
  border-right: 0;
}

.meeting-preview-uses article > span {
  display: grid;
  width: 40px;
  height: 40px;
  grid-row: 1 / 4;
  place-items: center;
  margin: 0;
  border-radius: 50%;
  background: #fee2e2;
  color: #ef1f2f;
}

.meeting-preview-uses svg {
  width: 22px;
  height: 22px;
}

.meeting-preview-uses strong,
.meeting-preview-uses b,
.meeting-preview-uses p {
  display: block;
}

.meeting-preview-uses strong {
  overflow-wrap: anywhere;
  color: #111827;
  font-size: 10px;
  font-weight: 900;
}

.meeting-preview-uses b {
  margin-top: 1px;
  color: #ef1f2f;
  font-size: 13px;
  font-weight: 950;
}

.meeting-preview-uses p {
  margin: 1px 0 0;
  color: #6b7280;
  font-size: 8px;
  line-height: 1.3;
}

.meeting-preview-detail-image {
  overflow: hidden;
  height: 113px;
  margin-top: 10px;
  border-radius: 8px;
  background: #e5e7eb;
}

.meeting-preview-actions {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr 1.25fr 1.75fr;
  gap: 8px;
  border-top: 1px solid #e5e7eb;
  padding: 9px 13px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
  transform: translateX(-50%);
}

.meeting-preview-actions a {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #fecaca;
  border-radius: 999px;
  background: #fff7f7;
  color: #ef1f2f;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.meeting-preview-actions a.primary {
  border: 0;
  background: linear-gradient(135deg, #ff3434, #f51f2f);
  color: #fff;
  box-shadow: 0 10px 24px rgba(239, 31, 47, .24);
}

.meeting-preview-actions svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 374px) {
  .meeting-preview-mode {
    font-size: 13px;
  }

  .meeting-preview-share {
    padding: 0 10px;
    font-size: 12px;
  }

  .meeting-preview-actions {
    gap: 7px;
  }

  .meeting-preview-actions a {
    font-size: 13px;
  }
}

/* Website CMS is the primary administrative workflow. */
body.admin-body.admin-layout-v2 .admin-nav-group-primary {
  border-color: rgba(234, 16, 52, .14);
  background: rgba(234, 16, 52, .035);
}

body.admin-body.admin-layout-v2 .admin-nav-group-primary > summary {
  color: #b90d2b;
}

body.admin-body.admin-layout-v2 .admin-nav-group-primary > summary::after {
  border-color: #ea1034;
}

body.admin-body.admin-layout-v2 .admin-cms-homepage {
  overflow: hidden;
  margin-bottom: 20px;
  border-color: rgba(234, 16, 52, .14);
  background: linear-gradient(135deg, rgba(255, 244, 215, .82), rgba(255, 255, 255, .98) 38%);
}

body.admin-body.admin-layout-v2 .admin-cms-homepage > .admin-panel-head {
  align-items: flex-start;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(23, 23, 23, .08);
}

body.admin-body.admin-layout-v2 .admin-cms-homepage-block {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

body.admin-body.admin-layout-v2 .admin-cms-homepage-block-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

body.admin-body.admin-layout-v2 .admin-cms-homepage-block h3 {
  margin: 0;
  color: #171717;
  font-size: 16px;
}

body.admin-body.admin-layout-v2 .admin-cms-homepage-block p {
  margin: 4px 0 0;
  color: #71717a;
  font-size: 13px;
}

body.admin-body.admin-layout-v2 .admin-cms-resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.admin-body.admin-layout-v2 .admin-cms-resource-grid.compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.admin-body.admin-layout-v2 .admin-cms-resource {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 164px;
  align-content: start;
  gap: 8px;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, .92);
  color: #27272a;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.admin-body.admin-layout-v2 .admin-cms-resource:hover {
  transform: translateY(-2px);
  border-color: rgba(234, 16, 52, .35);
  color: #171717;
  box-shadow: 0 12px 26px rgba(17, 24, 39, .08);
}

body.admin-body.admin-layout-v2 .admin-cms-resource .admin-status {
  width: max-content;
  max-width: 100%;
}

body.admin-body.admin-layout-v2 .admin-cms-resource strong {
  overflow-wrap: anywhere;
  color: #171717;
  font-size: 15px;
}

body.admin-body.admin-layout-v2 .admin-cms-resource code {
  overflow: hidden;
  color: #b90d2b;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-layout-v2 .admin-cms-resource p,
body.admin-body.admin-layout-v2 .admin-cms-resource small {
  margin: 0;
  color: #71717a;
  font-size: 12px;
  line-height: 1.55;
}

body.admin-body.admin-layout-v2 .admin-cms-homepage-details {
  margin-top: 18px;
  border-color: rgba(23, 23, 23, .1);
  background: rgba(255, 255, 255, .68);
}

body.admin-body.admin-layout-v2 .admin-cms-homepage-details > summary {
  color: #3f3f46;
  font-weight: 800;
}

@media (max-width: 1120px) {
  body.admin-body.admin-layout-v2 .admin-cms-resource-grid,
  body.admin-body.admin-layout-v2 .admin-cms-resource-grid.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  body.admin-body.admin-layout-v2 .admin-cms-homepage .admin-head-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .admin-cms-resource-grid,
  body.admin-body.admin-layout-v2 .admin-cms-resource-grid.compact {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .admin-cms-resource { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  body.admin-body.admin-layout-v2 .admin-cms-resource { transition: none; }
}

.dynamic-wall-admin {
  margin: 0;
  min-height: 100vh;
  color: #172033;
  background: #f4f7fb;
  font-family: var(--font-brand);
}

.dynamic-wall-admin * {
  box-sizing: border-box;
}

.dw-topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 68px;
  border-bottom: 1px solid #e7ebf2;
  background: #fff;
  box-shadow: 0 6px 18px rgba(30, 49, 85, 0.04);
}

.dw-topbar h1 {
  margin: 0;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}

.dw-back {
  position: absolute;
  left: 33px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #304158;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

.dw-back-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  color: #fff;
  background: #101827;
  font-size: 26px;
  line-height: 20px;
}

.dw-page {
  width: min(100%, 1536px);
  margin: 0 auto;
  padding: 19px 30px 46px;
}

.dw-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 19px;
}

.dw-stat-card,
.dw-activity-card,
.dw-table-panel {
  border: 1px solid #e7edf6;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(25, 42, 70, 0.05);
}

.dw-stat-card {
  display: flex;
  align-items: center;
  gap: 17px;
  min-height: 100px;
  padding: 21px 25px;
}

.dw-stat-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
}

.dw-stat-icon-blue {
  background: linear-gradient(135deg, #2d7cf6, #5aa2ff);
}

.dw-stat-icon-green {
  background: linear-gradient(135deg, #11a86a, #48d196);
}

.dw-stat-icon-purple {
  background: linear-gradient(135deg, #7b51f4, #a87cff);
}

.dw-stat-card strong {
  display: block;
  margin-bottom: 4px;
  color: #121b2e;
  font-size: 28px;
  line-height: 1;
}

.dw-stat-card span {
  color: #7b8798;
  font-size: 14px;
}

.dw-activity-card {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 143px;
  margin-bottom: 19px;
  padding: 12px 17px;
}

.dw-activity-cover {
  position: relative;
  display: flex;
  flex: 0 0 193px;
  flex-direction: column;
  justify-content: flex-end;
  height: 116px;
  overflow: hidden;
  padding: 16px;
  border-radius: 6px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 21%, rgba(255, 207, 76, 0.88), transparent 0 18%, transparent 19%),
    linear-gradient(135deg, #142d52 0%, #163e74 47%, #10213d 100%);
}

.dw-activity-cover::before,
.dw-activity-cover::after {
  position: absolute;
  content: "";
  border-radius: 999px;
  background: rgba(255, 201, 67, 0.18);
}

.dw-activity-cover::before {
  right: -28px;
  bottom: -20px;
  width: 96px;
  height: 96px;
}

.dw-activity-cover::after {
  top: 18px;
  left: 18px;
  width: 38px;
  height: 38px;
}

.dw-activity-cover small,
.dw-activity-cover strong,
.dw-activity-cover span {
  position: relative;
  z-index: 1;
}

.dw-activity-cover.has-image {
  padding: 0;
  background: #e8edf4;
}

.dw-activity-cover.has-image::before,
.dw-activity-cover.has-image::after {
  display: none;
}

.dw-activity-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dw-activity-cover small {
  margin-bottom: 6px;
  color: #b6c6e3;
  font-size: 11px;
  letter-spacing: 0;
}

.dw-activity-cover strong {
  font-size: 20px;
  line-height: 1.2;
}

.dw-activity-cover span {
  margin-top: 7px;
  color: #f4c648;
  font-size: 12px;
  font-weight: 700;
}

.dw-activity-info {
  min-width: 0;
}

.dw-activity-info h2 {
  margin: 0 0 17px;
  color: #142033;
  font-size: 24px;
  line-height: 1.25;
}

.dw-activity-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.dw-activity-tags span,
.dw-activity-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  padding: 0 12px;
  border: 1px solid #dfe7f3;
  border-radius: 4px;
  color: #52627a;
  background: #f8fbff;
  font-size: 13px;
  white-space: nowrap;
  text-decoration: none;
}

.dw-table-panel {
  overflow: hidden;
}

.dw-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 23px 25px 18px;
}

.dw-panel-head h2 {
  margin: 0;
  color: #142033;
  font-size: 20px;
}

.dw-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.dw-btn,
.dw-reset,
.dw-row-actions button,
.dw-pagination a,
.dw-pagination .muted {
  appearance: none;
  border: 0;
  border-radius: 4px;
  font-family: inherit;
  font-weight: 650;
  cursor: pointer;
}

.dw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  gap: 6px;
  padding: 0 17px;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  box-shadow: 0 7px 14px rgba(22, 88, 188, 0.12);
}

.dw-btn-blue {
  background: #2677e5;
}

.dw-btn-green {
  background: #20aa72;
}

.dw-btn-gold {
  background: #f2b840;
}

.dw-filter {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 150px auto auto;
  gap: 12px;
  align-items: center;
  padding: 0 25px 22px;
}

.dw-filter input,
.dw-filter select {
  width: 100%;
  height: 40px;
  border: 1px solid #dce5f0;
  border-radius: 4px;
  color: #27364b;
  background: #fff;
  font: inherit;
  font-size: 14px;
}

.dw-filter input {
  padding: 0 14px;
}

.dw-filter select {
  padding: 0 34px 0 12px;
}

.dw-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 0 12px;
  color: #65758b;
  background: #f1f4f8;
  font-size: 14px;
  text-decoration: none;
}

.dw-table-wrap {
  overflow-x: auto;
  border-top: 1px solid #eef2f7;
}

.dw-table {
  width: 100%;
  min-width: 940px;
  border-collapse: collapse;
}

.dw-table th,
.dw-table td {
  padding: 18px 25px;
  border-bottom: 1px solid #edf2f8;
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
}

.dw-table th {
  color: #66758a;
  background: #f8fafc;
  font-size: 13px;
  font-weight: 700;
}

.dw-user {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 230px;
}

.dw-avatar {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: #2e7be6;
  font-size: 14px;
  font-weight: 800;
  overflow: hidden;
}

.dw-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dw-user strong {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
  color: #172033;
  font-size: 15px;
}

.dw-ambassador-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 6px;
  border-radius: 3px;
  color: #7b5700;
  background: #fff0b7;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.dw-user span:last-child {
  display: block;
  color: #7a8798;
  font-size: 13px;
}

.dw-intro {
  max-width: 420px;
  color: #52627a;
  line-height: 1.6;
}

.dw-type {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 26px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}

.dw-type-user {
  color: #16704e;
  background: #e7f8f0;
}

.dw-type-brand {
  color: #6145b8;
  background: #f0ebff;
}

.dw-row-actions {
  display: flex;
  gap: 8px;
}

.dw-row-actions form {
  margin: 0;
}

.dw-row-actions button {
  height: 30px;
  padding: 0 12px;
  color: #2769c8;
  background: #edf5ff;
  font-size: 13px;
}

.dw-row-actions .danger {
  color: #d84242;
  background: #fff0f0;
}

.dw-empty {
  color: #7c8899;
  text-align: center !important;
}

.dw-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 17px 25px 21px;
  color: #6f7d8f;
  font-size: 13px;
}

.dw-pagination a,
.dw-pagination .muted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 32px;
  padding: 0 10px;
  color: #536376;
  background: #fff;
  border: 1px solid #dfe6ef;
  border-radius: 4px;
  text-decoration: none;
}

.dw-pagination .active {
  color: #fff;
  border-color: #2677e5;
  background: #2677e5;
}

.dw-pagination .muted {
  color: #9aa5b4;
  background: #f8fafc;
}

.dw-pagination .gap {
  padding: 0 3px;
}

.dw-page-size-form {
  margin: 0 8px 0 6px;
}

.dw-page-size-form select {
  height: 34px;
  padding: 0 28px 0 10px;
  border: 1px solid #dfe6ef;
  border-radius: 4px;
  color: #536376;
  background: #fff;
  font: inherit;
}

.dw-notice {
  margin-bottom: 14px;
  padding: 11px 14px;
  border: 1px solid;
  border-radius: 4px;
  font-size: 14px;
}

.dw-notice.success {
  color: #126345;
  border-color: #bde8d3;
  background: #effbf5;
}

.dw-notice.error {
  color: #b4232e;
  border-color: #ffc9cd;
  background: #fff4f4;
}

.dw-dialog {
  width: min(calc(100% - 32px), 650px);
  max-height: min(82vh, 760px);
  padding: 0;
  border: 0;
  border-radius: 6px;
  color: #172033;
  background: #fff;
  box-shadow: 0 26px 80px rgba(16, 24, 39, 0.26);
}

.dw-dialog::backdrop {
  background: rgba(16, 24, 39, 0.46);
}

.dw-dialog form {
  margin: 0;
}

.dw-dialog header,
.dw-dialog footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
}

.dw-dialog header {
  border-bottom: 1px solid #e9eef5;
}

.dw-dialog footer {
  justify-content: flex-end;
  border-top: 1px solid #e9eef5;
}

.dw-dialog h2 {
  margin: 0;
  font-size: 19px;
}

.dw-dialog-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  color: #66758a;
  background: transparent;
  font-size: 25px;
  cursor: pointer;
}

.dw-dialog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 22px;
}

.dw-dialog-grid label:not(.dw-check) {
  display: grid;
  gap: 7px;
  color: #435268;
  font-size: 13px;
  font-weight: 650;
}

.dw-dialog-grid .wide {
  grid-column: 1 / -1;
}

.dw-dialog-grid input:not([type="checkbox"]),
.dw-dialog-grid select,
.dw-dialog-grid textarea {
  width: 100%;
  border: 1px solid #dbe4ef;
  border-radius: 4px;
  color: #172033;
  background: #fff;
  font: inherit;
  font-weight: 400;
}

.dw-dialog-grid input:not([type="checkbox"]),
.dw-dialog-grid select {
  height: 42px;
  padding: 0 12px;
}

.dw-dialog-grid textarea {
  resize: vertical;
  min-height: 94px;
  padding: 10px 12px;
}

.dw-check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #435268;
  font-size: 14px;
}

.dw-check input {
  width: 17px;
  height: 17px;
}

.dw-file-field input {
  padding: 8px 10px !important;
}

.dw-dialog-secondary {
  min-height: 38px;
  padding: 0 17px;
  border: 1px solid #d7e0eb;
  border-radius: 4px;
  color: #536376;
  background: #fff;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}

.dw-ambassador-list {
  display: grid;
  gap: 0;
  max-height: 430px;
  overflow-y: auto;
  padding: 8px 22px;
}

.dw-ambassador-list > label {
  display: grid;
  grid-template-columns: 20px 42px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  min-height: 66px;
  border-bottom: 1px solid #edf2f7;
  cursor: pointer;
}

.dw-ambassador-list input {
  width: 17px;
  height: 17px;
}

.dw-ambassador-list strong,
.dw-ambassador-list small {
  display: block;
}

.dw-ambassador-list strong {
  margin-bottom: 4px;
  font-size: 14px;
}

.dw-ambassador-list small {
  color: #7a8798;
  font-size: 12px;
}

body.admin-body.conference-registration-body {
  min-height: 100vh;
  color: #151d2f;
  background: #f5f7fb;
}

body.admin-body.conference-registration-body .admin-topbar,
body.admin-body.conference-registration-body .admin-sidebar,
body.admin-body.conference-registration-body .admin-workspace-bar {
  display: none;
}

body.admin-body.conference-registration-body .admin-shell {
  display: block;
  min-height: 100vh;
  background: #f5f7fb;
}

body.admin-body.conference-registration-body .admin-main {
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background: #f5f7fb;
}

body.admin-body.activity-management-body.conference-registration-body .admin-main {
  padding: 0;
}

.conference-registration-admin {
  min-height: 100vh;
  font-family: var(--font-brand);
}

.conference-registration-admin * {
  box-sizing: border-box;
}

.conference-registration-topbar {
  position: sticky;
  top: 0;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 66px;
  border-bottom: 1px solid #e3e8f0;
  background: #fff;
  box-shadow: 0 7px 20px rgba(34, 48, 78, 0.05);
}

.conference-registration-topbar h1 {
  margin: 0;
  color: #141c2d;
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
}

.conference-registration-back {
  position: absolute;
  left: 29px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #182235;
  font-size: 16px;
  font-weight: 650;
  text-decoration: none;
}

.conference-registration-back span {
  color: #111927;
  font-size: 35px;
  font-weight: 300;
  line-height: 1;
}

.conference-registration-page {
  width: min(100%, 1480px);
  margin: 0 auto;
  padding: 20px 28px 42px;
}

.conference-registration-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 22px;
}

.conference-registration-stat,
.conference-registration-panel {
  border: 1px solid #e1e8f2;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(29, 43, 68, 0.055);
}

.conference-registration-stat {
  display: flex;
  align-items: center;
  min-height: 105px;
  gap: 32px;
  padding: 20px 29px;
}

.conference-registration-stat i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 9px;
  color: #fff;
}

.conference-registration-stat i svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.conference-registration-stat.blue i { background: linear-gradient(135deg, #086ef3, #2588ff); }
.conference-registration-stat.green i { background: linear-gradient(135deg, #10a85f, #25c978); }
.conference-registration-stat.purple i { background: linear-gradient(135deg, #7245d5, #9157ee); }

.conference-registration-stat span {
  display: block;
  margin-bottom: 8px;
  color: #172033;
  font-size: 16px;
}

.conference-registration-stat strong {
  display: block;
  color: #111827;
  font-size: 32px;
  line-height: 1;
}

.conference-registration-panel {
  overflow: hidden;
  padding: 22px 24px 0;
}

.conference-registration-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 19px;
}

.conference-registration-panel-head h2 {
  margin: 0;
  color: #111827;
  font-size: 28px;
  line-height: 1;
}

.conference-registration-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 20px;
}

.conference-registration-btn,
.conference-registration-reset {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  gap: 9px;
  padding: 0 22px;
  border: 0;
  border-radius: 6px;
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(28, 96, 190, 0.14);
}

.conference-registration-btn svg,
.conference-registration-reset svg,
.conference-registration-detail summary svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.conference-registration-btn.blue { background: #0874ee; }
.conference-registration-btn.green { background: #14aa63; }
.conference-registration-btn.yellow { color: #1a2334; background: #f4c410; }

.conference-registration-status-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 17px;
  margin-bottom: 20px;
}

.conference-registration-status-tabs a {
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  min-height: 79px;
  padding: 14px 20px;
  border: 1px solid #dfe6ef;
  border-radius: 6px;
  color: #1f2937;
  background: #fff;
  text-decoration: none;
}

.conference-registration-status-tabs a.active {
  border-color: #0b76ff;
  box-shadow: inset 0 -2px 0 #0b76ff;
}

.conference-registration-status-tabs i {
  grid-row: 1 / span 2;
  font-style: normal;
  font-size: 27px;
  font-weight: 800;
}

.conference-registration-status-tabs i.blue { color: #0b76ff; }
.conference-registration-status-tabs i.orange { color: #f59e0b; }
.conference-registration-status-tabs i.green { color: #16a34a; }
.conference-registration-status-tabs i.red { color: #ef3333; }
.conference-registration-status-tabs i.purple { color: #7b4bd5; }

.conference-registration-status-tabs span {
  color: #374151;
  font-size: 16px;
}

.conference-registration-status-tabs strong {
  color: #111827;
  font-size: 20px;
}

.conference-registration-filter {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 25px;
  align-items: end;
  margin-bottom: 19px;
  padding: 23px 20px;
  border: 1px solid #dfe6ef;
  border-radius: 6px;
  background: #fff;
}

.conference-registration-compat-selects {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.conference-registration-filter label,
.conference-registration-manual label {
  display: grid;
  gap: 9px;
  color: #1f2937;
  font-size: 16px;
  font-weight: 650;
}

.conference-registration-filter input,
.conference-registration-manual input {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid #d8e0eb;
  border-radius: 5px;
  color: #263244;
  background: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 400;
}

.conference-registration-filter-actions {
  display: flex;
  gap: 15px;
}

.conference-registration-reset {
  color: #344054;
  border: 1px solid #d8e0eb;
  background: #fff;
  box-shadow: none;
}

.conference-registration-table-wrap {
  overflow-x: auto;
  border: 1px solid #e1e8f2;
  border-radius: 6px;
}

.conference-registration-batchbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  padding: 11px 14px;
  border: 1px solid #b9d5fb;
  border-radius: 6px;
  color: #1f3f6f;
  background: #eef6ff;
}

.conference-registration-batchbar[hidden] {
  display: none;
}

.conference-registration-batchbar > div {
  display: flex;
  gap: 8px;
}

.conference-registration-batchbar button {
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid #cad5e4;
  border-radius: 5px;
  color: #344054;
  background: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.conference-registration-batchbar .conference-registration-batch-approve {
  color: #fff;
  border-color: #169957;
  background: #169957;
}

.conference-registration-batchbar .conference-registration-batch-reject {
  color: #fff;
  border-color: #dc3b3b;
  background: #dc3b3b;
}

.conference-registration-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
}

.conference-registration-table th,
.conference-registration-table td {
  height: 64px;
  padding: 15px 23px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: middle;
  color: #1f2937;
  font-size: 16px;
}

.conference-registration-table th {
  height: 53px;
  color: #1f2937;
  background: #fbfcfe;
  font-size: 16px;
  font-weight: 750;
}

.conference-registration-row.pending { background: #fff9e8; }
.conference-registration-row.approved { background: #f3fff8; }
.conference-registration-row.cancelled { background: #fff1f1; }

.conference-registration-drag {
  display: inline-block;
  margin-right: 18px;
  color: #64748b;
  font-size: 22px;
  vertical-align: middle;
}

.conference-registration-select-all,
.conference-registration-row-select {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  cursor: pointer;
}

.conference-registration-select-all input,
.conference-registration-row-select input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #0b76ff;
}

.conference-registration-row-select .conference-registration-drag {
  margin-right: 0;
}

.conference-registration-table td strong {
  margin-right: 10px;
}

.conference-registration-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 700;
}

.conference-registration-badge.pending {
  color: #d68100;
  border: 1px solid #f1cf8a;
  background: #fff6d8;
}

.conference-registration-badge.approved {
  color: #159447;
  border: 1px solid #afdcbc;
  background: #e8f8ed;
}

.conference-registration-badge.cancelled {
  color: #df3030;
  border: 1px solid #f0b5b5;
  background: #fff0f0;
}

.conference-registration-table .unassigned {
  color: #ff6a00;
  font-weight: 700;
}

.conference-registration-table .assigned {
  color: #1f2937;
}

.conference-registration-detail {
  position: relative;
}

.conference-registration-detail summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid #0b76ff;
  border-radius: 5px;
  color: #0b76ff;
  background: #fff;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}

.conference-registration-detail summary::-webkit-details-marker {
  display: none;
}

.conference-registration-detail dl {
  position: absolute;
  right: 0;
  z-index: 4;
  width: 230px;
  margin: 8px 0 0;
  padding: 12px;
  border: 1px solid #dce4ef;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 16px 32px rgba(15, 23, 42, .14);
}

.conference-registration-detail dt,
.conference-registration-detail dd {
  margin: 0;
  font-size: 13px;
}

.conference-registration-detail dt {
  color: #64748b;
}

.conference-registration-detail dd {
  margin-bottom: 8px;
  color: #111827;
}

.conference-registration-pagination {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 21px 0 18px;
  color: #42526a;
  font-size: 16px;
}

.conference-registration-pagination button,
.conference-registration-pagination a,
.conference-registration-pagination nav > span.disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 36px;
  border: 1px solid #dce4ef;
  border-radius: 5px;
  color: #243044;
  background: #fff;
  font: inherit;
  font-weight: 650;
  text-decoration: none;
}

.conference-registration-pagination form select {
  min-width: 104px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #dce4ef;
  border-radius: 5px;
  color: #243044;
  background: #fff;
  font: inherit;
}

.conference-registration-pagination nav > span.disabled {
  color: #a8b2c1;
  background: #f8fafc;
}

.conference-registration-page-current {
  white-space: nowrap;
}

.conference-registration-pagination nav {
  display: flex;
  justify-content: center;
  gap: 9px;
}

.conference-registration-pagination a.active {
  color: #fff;
  border-color: #0b76ff;
  background: #0b76ff;
}

.conference-registration-pagination label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.conference-registration-pagination input {
  width: 47px;
  height: 36px;
  border: 1px solid #dce4ef;
  border-radius: 5px;
  text-align: center;
  font: inherit;
}

.conference-registration-manual {
  margin-top: 18px;
  border: 1px solid #e1e8f2;
  border-radius: 7px;
  background: #fff;
}

.conference-registration-manual summary {
  padding: 18px 22px;
  color: #111827;
  font-size: 18px;
  font-weight: 750;
  cursor: pointer;
}

.conference-registration-manual form {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
  gap: 16px;
  align-items: end;
  padding: 0 22px 22px;
}

.conference-registration-dialog {
  width: min(720px, calc(100vw - 28px));
  max-height: min(760px, calc(100vh - 32px));
  padding: 0;
  border: 0;
  border-radius: 8px;
  color: #172033;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
}

.conference-registration-dialog::backdrop {
  background: rgba(15, 23, 42, .48);
}

.conference-registration-dialog > form {
  display: grid;
  grid-template-rows: auto auto minmax(180px, 1fr) auto;
  max-height: min(760px, calc(100vh - 32px));
}

.conference-registration-dialog header,
.conference-registration-dialog footer,
.conference-registration-seat-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid #e2e8f0;
}

.conference-registration-dialog header h2,
.conference-registration-dialog header p {
  margin: 0;
}

.conference-registration-dialog header h2 {
  margin-bottom: 5px;
  font-size: 21px;
}

.conference-registration-dialog header p,
.conference-registration-seat-tools {
  color: #64748b;
  font-size: 14px;
}

.conference-registration-dialog header > button {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  color: #667085;
  background: transparent;
  font-size: 27px;
  cursor: pointer;
}

.conference-registration-seat-tools {
  padding-block: 12px;
  background: #f8fafc;
}

.conference-registration-seat-tools label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #344054;
  font-weight: 700;
}

.conference-registration-seat-list {
  overflow-y: auto;
  padding: 6px 22px;
}

.conference-registration-seat-row {
  display: grid;
  grid-template-columns: 18px minmax(180px, 1fr) 70px 130px;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  border-bottom: 1px solid #edf1f6;
}

.conference-registration-seat-row > input[type="checkbox"] {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #0b76ff;
}

.conference-registration-seat-row span,
.conference-registration-seat-row small {
  display: block;
  min-width: 0;
}

.conference-registration-seat-row strong {
  font-size: 15px;
}

.conference-registration-seat-row small {
  overflow: hidden;
  margin-top: 3px;
  color: #7a8699;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conference-registration-seat-row em {
  color: #64748b;
  font-size: 13px;
  font-style: normal;
}

.conference-registration-seat-row > input[type="text"] {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #cfd8e6;
  border-radius: 5px;
  font: inherit;
}

.conference-registration-dialog footer {
  justify-content: flex-end;
  border-top: 1px solid #e2e8f0;
  border-bottom: 0;
}

.conference-registration-dialog footer button {
  min-height: 39px;
  padding: 0 18px;
  border: 1px solid #cfd8e6;
  border-radius: 5px;
  color: #344054;
  background: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.conference-registration-dialog footer .conference-registration-seat-submit {
  color: #fff;
  border-color: #0b76ff;
  background: #0b76ff;
}

@media (max-width: 1100px) {
  .conference-registration-stats,
  .conference-registration-status-tabs,
  .conference-registration-filter {
    grid-template-columns: 1fr;
  }

  .conference-registration-panel-head,
  .conference-registration-actions,
  .conference-registration-filter-actions,
  .conference-registration-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .conference-registration-manual form {
    grid-template-columns: 1fr;
  }

  .conference-registration-seat-row {
    grid-template-columns: 18px minmax(130px, 1fr) 112px;
  }

  .conference-registration-seat-row em {
    display: none;
  }
}

@media (max-width: 560px) {
  .conference-registration-page {
    padding: 14px 10px 30px;
  }

  .conference-registration-topbar h1 {
    font-size: 20px;
  }

  .conference-registration-back {
    left: 14px;
    font-size: 14px;
  }

  .conference-registration-panel {
    padding: 17px 12px 0;
  }

  .conference-registration-panel-head h2 {
    font-size: 22px;
  }

  .conference-registration-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }

  .conference-registration-btn {
    min-width: 0;
    padding: 0 10px;
    font-size: 14px;
  }

  .conference-registration-batchbar,
  .conference-registration-batchbar > div {
    align-items: stretch;
    flex-direction: column;
  }

  .conference-registration-seat-row {
    grid-template-columns: 18px minmax(110px, 1fr) 94px;
    gap: 8px;
  }

  .conference-registration-dialog header,
  .conference-registration-dialog footer,
  .conference-registration-seat-tools,
  .conference-registration-seat-list {
    padding-inline: 14px;
  }
}

@media (max-width: 900px) {
  .dw-back {
    left: 16px;
  }

  .dw-page {
    padding: 18px 14px 30px;
  }

  .dw-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .dw-stat-card {
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-height: 106px;
    padding: 12px 6px;
    text-align: center;
  }

  .dw-stat-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    font-size: 14px;
  }

  .dw-stat-card strong {
    margin-bottom: 3px;
    font-size: 22px;
  }

  .dw-stat-card span {
    font-size: 11px;
  }

  .dw-activity-card,
  .dw-panel-head {
    flex-direction: column;
    align-items: stretch;
  }

  .dw-activity-cover {
    flex-basis: auto;
    width: 100%;
  }

  .dw-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }

  .dw-actions .dw-btn {
    width: 100%;
  }

  .dw-filter {
    grid-template-columns: 1fr;
  }

  .dw-pagination {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .dw-dialog-grid {
    grid-template-columns: 1fr;
  }

  .dw-dialog-grid .wide {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .dw-topbar {
    height: 58px;
  }

  .dw-topbar h1 {
    font-size: 18px;
  }

  .dw-back {
    gap: 4px;
    font-size: 14px;
  }

  .dw-back-icon {
    width: 23px;
    height: 23px;
  }

  .dw-page {
    padding: 12px 10px 28px;
  }

  .dw-activity-card {
    gap: 15px;
    padding: 12px;
  }

  .dw-activity-cover {
    height: 144px;
  }

  .dw-activity-info h2 {
    margin-bottom: 12px;
    font-size: 19px;
  }

  .dw-activity-tags {
    gap: 6px;
  }

  .dw-activity-tags span,
  .dw-activity-tags a {
    min-height: 27px;
    padding: 0 8px;
    font-size: 11px;
  }

  .dw-panel-head {
    gap: 14px;
    padding: 17px 14px 14px;
  }

  .dw-panel-head h2 {
    font-size: 18px;
  }

  .dw-filter {
    gap: 9px;
    padding: 0 14px 16px;
  }

  .dw-pagination {
    padding: 14px;
  }

  .dw-dialog header,
  .dw-dialog footer,
  .dw-dialog-grid {
    padding: 16px;
  }

  .dw-ambassador-list {
    padding: 6px 16px;
  }
}

* { box-sizing: border-box; }
html { overflow-x: hidden; }
body {
  margin: 0;
  font-family: var(--font-brand);
  font-variation-settings: "BEVL" 80;
  font-synthesis: none;
  background:
    linear-gradient(180deg, rgba(250, 215, 9, .08) 0, rgba(255, 255, 255, 0) 360px),
    linear-gradient(90deg, rgba(17, 24, 39, .035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17, 24, 39, .035) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 52px 52px, 52px 52px, auto;
  color: var(--text);
  overflow-x: hidden;
  min-height: 100dvh;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
a { color: var(--primary-strong); text-decoration: none; }
.topbar {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 0 40px;
  border-bottom: 1px solid rgba(226, 232, 240, .9);
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(18px);
  position: sticky;
  top: env(safe-area-inset-top);
  z-index: 10;
  transition: box-shadow .25s ease, transform .25s ease, background .25s ease;
}
.topbar.scrolled {
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 34px rgba(17, 24, 39, .08);
}
.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 10px;
  font-weight: 900;
  color: var(--text);
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--primary);
  color: #000;
  box-shadow: 0 8px 20px rgba(250, 215, 9, .35);
}
.navlinks { display: flex; min-width: 0; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.app-tabbar {
  display: none;
  touch-action: manipulation;
  contain: layout paint;
}
.navlinks a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 9px 12px;
  color: #4a5568;
  font-weight: 700;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.navlinks-icon {
  display: none;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.navlinks a:hover {
  background: rgba(250, 215, 9, .12);
  color: var(--primary-deep);
  transform: translateY(-1px);
}
.navlinks a.is-active,
.navlinks a[aria-current="page"] {
  background: rgba(250, 215, 9, .18);
  color: #111827;
}
.page { max-width: 1180px; margin: 0 auto; padding: 42px 22px 76px; }
.narrow { max-width: 680px; }
.app-shell {
  position: relative;
}
.app-shell::before {
  content: "";
  position: fixed;
  inset: 72px 0 auto;
  height: 360px;
  z-index: -1;
  background:
    radial-gradient(circle at 16% 24%, rgba(250, 215, 9, .18), transparent 26%),
    radial-gradient(circle at 82% 12%, rgba(0, 184, 217, .12), transparent 24%),
    radial-gradient(circle at 52% 72%, rgba(16, 185, 129, .1), transparent 28%);
  pointer-events: none;
}
.hero {
  min-height: 560px;
  display: grid;
  align-items: center;
  gap: 28px;
}
.dynamic-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  padding: clamp(24px, 4vw, 44px);
  background:
    radial-gradient(circle at 16% 18%, rgba(250, 215, 9, .24), transparent 26%),
    radial-gradient(circle at 82% 16%, rgba(0, 184, 217, .18), transparent 28%),
    linear-gradient(135deg, rgba(17, 24, 39, .98), rgba(31, 41, 55, .94));
  box-shadow: var(--shadow);
}
.dynamic-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(120deg, #000, transparent 72%);
  pointer-events: none;
}
.hero-home {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
}
.hero-copy,
.hero-visual { position: relative; z-index: 1; }
.hero-copy { display: grid; gap: 18px; }
.hero h1 {
  max-width: 12em;
  font-size: clamp(42px, 5.2vw, 58px);
  line-height: 1.08;
  margin: 0;
  color: var(--text);
  letter-spacing: 0;
  text-wrap: balance;
}
.dynamic-hero h1 { color: #fff; }
.hero h1 span {
  color: #111827;
  box-shadow: inset 0 -.28em 0 rgba(250, 215, 9, .7);
}
.dynamic-hero h1 span { color: #fff; }
.hero p { max-width: 680px; color: var(--muted); font-size: 18px; line-height: 1.8; margin: 0; }
.dynamic-hero p { color: #dbe3ef; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-badge, .section-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid rgba(250, 215, 9, .35);
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(250, 215, 9, .12);
  color: var(--primary-deep);
  font-weight: 800;
  font-size: 13px;
}
.dynamic-hero .hero-badge {
  border-color: rgba(250, 215, 9, .36);
  background: rgba(250, 215, 9, .15);
  color: #fde68a;
}
.hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 12px;
}
.hero-stats div {
  min-width: 110px;
  padding-right: 18px;
  border-right: 1px solid var(--line);
}
.dynamic-hero .hero-stats div { border-color: rgba(255, 255, 255, .16); }
.hero-stats div:last-child { border-right: 0; }
.hero-stats strong {
  display: block;
  font-size: 26px;
  color: var(--text);
  font-variant-numeric: tabular-nums;
}
.dynamic-hero .hero-stats strong { color: #fff; }
.hero-stats span {
  color: var(--muted);
  font-size: 13px;
}
.dynamic-hero .hero-stats span { color: #cbd5e1; }
.hero-visual {
  position: relative;
  min-height: 460px;
  perspective: 1000px;
  transform-style: preserve-3d;
}
.hero-network {
  position: absolute;
  inset: -16px;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  opacity: .78;
}
.product-shell {
  position: relative;
  display: grid;
  gap: 18px;
  min-height: 390px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(17, 24, 39, .96), rgba(31, 41, 55, .94));
  color: #fff;
  box-shadow: 0 28px 90px rgba(17, 24, 39, .28);
  overflow: hidden;
}
.product-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(250, 215, 9, .08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(180deg, #000, transparent 78%);
  pointer-events: none;
}
.product-topline,
.ops-grid,
.ops-meter,
.ops-timeline {
  position: relative;
}
.product-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.product-topline span {
  border: 1px solid rgba(250, 215, 9, .4);
  border-radius: 999px;
  padding: 6px 10px;
  color: #fde68a;
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
}
.product-topline b {
  font-size: 14px;
  color: #cbd5e1;
}
.ops-meter {
  height: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
}
.ops-meter span {
  display: block;
  width: var(--value);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--primary), var(--green), var(--cyan));
  animation: meter-flow 2.8s ease-in-out infinite;
}
.ops-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.ops-grid article {
  display: grid;
  gap: 8px;
  min-height: 126px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 8px;
  padding: 16px;
  background: rgba(255, 255, 255, .055);
  backdrop-filter: blur(10px);
}
.ops-grid small {
  color: #94a3b8;
  font-weight: 800;
}
.ops-grid strong {
  font-size: 28px;
  color: #fff;
}
.ops-grid span {
  color: #cbd5e1;
  font-size: 13px;
}
.ops-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: auto;
}
.ops-timeline span {
  height: 56px;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(250, 215, 9, .24), rgba(250, 215, 9, .04)),
    rgba(255, 255, 255, .06);
  animation: bar-live 2.6s ease-in-out infinite;
  transform-origin: bottom;
}
.ops-timeline span:nth-child(2) { animation-delay: .18s; }
.ops-timeline span:nth-child(3) { animation-delay: .36s; }
.ops-timeline span:nth-child(4) { animation-delay: .54s; }
.floating-chip {
  position: absolute;
  display: grid;
  gap: 4px;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 8px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--shadow-soft);
  animation: chip-float 4.2s ease-in-out infinite;
}
.floating-chip b {
  color: var(--text);
}
.floating-chip span {
  color: var(--muted);
  font-size: 12px;
}
.chip-a { top: 46px; left: -22px; }
.chip-b { right: -18px; top: 178px; animation-delay: .4s; }
.chip-c { left: 44px; bottom: 28px; animation-delay: .8s; }
.visual-card,
.feature-card,
.activity-card,
.page-hero {
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.visual-card::after,
.feature-card::after,
.activity-card::after,
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(250, 215, 9, .18), transparent 32%);
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}
.visual-card:hover,
.feature-card:hover,
.activity-card:hover,
.page-hero:hover {
  transform: translateY(-4px);
  border-color: rgba(250, 215, 9, .55);
  box-shadow: var(--shadow);
}
.visual-card:hover::after,
.feature-card:hover::after,
.activity-card:hover::after,
.page-hero:hover::after {
  opacity: 1;
}
.section-head, .detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.section-head h2, .page-hero h1 { margin: 6px 0 0; }
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.card, .panel, .form, .table-wrap {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
  box-shadow: var(--shadow-soft);
}
.button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0 18px;
  background: var(--primary);
  color: #000;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(250, 215, 9, .26);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.button:hover { background: var(--primary-strong); color: #000; transform: translateY(-2px); box-shadow: 0 14px 26px rgba(250, 215, 9, .32); }
.button.secondary { background: #fff; color: var(--text); border-color: var(--line); box-shadow: none; }
.button.secondary:hover { border-color: var(--primary); background: rgba(250, 215, 9, .08); }
.button.ghost { background: transparent; color: var(--text); border-color: transparent; box-shadow: none; }
.button.ghost:hover { background: rgba(26, 32, 44, .05); }
.dynamic-hero .button.ghost { color: #fff; border-color: rgba(255, 255, 255, .18); }
.dynamic-hero .button.ghost:hover { background: rgba(255, 255, 255, .08); }
.button.danger { background: #b42318; color: #fff; }
.actions { display: flex; gap: 10px; flex-wrap: wrap; }
.stack { display: grid; gap: 10px; }
.inline-form { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.pill {
  display: inline-flex;
  border: 1px solid rgba(250, 215, 9, .42);
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(250, 215, 9, .1);
  color: var(--primary-deep);
  font-weight: 800;
  font-size: 13px;
}
.media-cover {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #eef2f6;
}
.media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.media-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #eef2f6;
}
.form { display: grid; gap: 14px; }
.form label { display: grid; gap: 6px; font-weight: 700; }
.form input, .form textarea, .form select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
}
.form input:focus, .form textarea:focus, .form select:focus {
  outline: 0;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(250, 215, 9, .18);
}
.form .check { display: flex; align-items: center; gap: 8px; }
.form .check input { width: auto; min-height: auto; }
.two-col {
  display: grid;
  grid-template-columns: minmax(280px, 420px) 1fr;
  gap: 20px;
}
.list { padding: 0; list-style: none; }
.list li {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.empty { color: var(--muted); padding: 16px; }
.empty-card {
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, .64);
}
.muted { color: var(--muted); }
.section-gap { margin-top: 24px; }
.page-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 8px;
  padding: 30px;
  background: rgba(255, 255, 255, .78);
  box-shadow: var(--shadow-soft);
}
.page-hero.compact { min-height: 0; }
.page-hero h1 { font-size: clamp(32px, 5vw, 52px); line-height: 1.12; }
.activity-detail-hero p { max-width: 720px; line-height: 1.8; color: var(--muted); }
.page-hero.dark {
  background:
    linear-gradient(135deg, rgba(17, 24, 39, .98), rgba(31, 41, 55, .92));
  color: #fff;
  border-color: rgba(255, 255, 255, .14);
}
.page-hero.dark .muted,
.page-hero.dark p {
  color: #cbd5e1;
}
.page-hero.dark .section-badge {
  border-color: rgba(250, 215, 9, .38);
  background: rgba(250, 215, 9, .12);
  color: #fde68a;
}
.glass-panel {
  border: 1px solid rgba(255, 255, 255, .72);
  background: rgba(255, 255, 255, .78);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
}
.content-card {
  display: grid;
  gap: 14px;
}
.content-card h2,
.content-card h3,
.content-card p {
  margin: 0;
}
.content-card p {
  color: var(--muted);
  line-height: 1.7;
}
.auth-shell {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1fr);
  gap: 22px;
  align-items: stretch;
}
.auth-visual {
  min-height: 420px;
  display: grid;
  align-content: end;
  gap: 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  padding: 28px;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(17, 24, 39, .98), rgba(31, 41, 55, .9)),
    var(--ink);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.auth-visual h1 { margin: 0; font-size: clamp(32px, 5vw, 56px); line-height: 1.08; }
.auth-visual p { margin: 0; color: #cbd5e1; line-height: 1.8; }
.auth-card {
  align-self: center;
}
.data-table-card {
  overflow-x: auto;
}
.data-table-card table {
  min-width: 760px;
}
.data-table-card th {
  color: var(--muted);
  font-size: 13px;
  background: rgba(17, 24, 39, .025);
}
.data-table-card td {
  vertical-align: top;
}
.data-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}
.data-table th,
.data-table td {
  border-top: 1px solid var(--line);
  padding: 14px 16px;
  text-align: left;
  vertical-align: top;
}
.data-table th {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  background: rgba(17, 24, 39, .025);
}
.data-table td small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.data-table-card .inline-form {
  display: grid;
  gap: 8px;
  min-width: 220px;
}
.checkin-filter {
  grid-template-columns: minmax(180px, 1.4fr) minmax(140px, 1fr) minmax(140px, 1fr) auto auto;
  align-items: end;
}
.checkin-table td:first-child strong {
  display: block;
  overflow-wrap: anywhere;
}
.success-pill {
  border-color: rgba(22, 163, 74, .28);
  background: rgba(22, 163, 74, .1);
  color: #166534;
}
.pending-pill {
  border-color: rgba(245, 158, 11, .28);
  background: rgba(245, 158, 11, .1);
  color: #92400e;
}
.donation-amount-panel {
  display: grid;
  gap: 10px;
}
.donation-amount-panel > span {
  color: var(--text);
  font-weight: 800;
}
.donation-amount-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.donation-amount-grid button {
  min-height: 44px;
  border: 1px solid rgba(250, 215, 9, .42);
  border-radius: 6px;
  background: rgba(250, 215, 9, .1);
  color: var(--primary-deep);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
.donation-amount-grid button:hover,
.donation-amount-grid button.is-selected {
  border-color: var(--primary);
  background: rgba(250, 215, 9, .18);
}
.content-prose {
  font-size: 17px;
  line-height: 1.9;
}
.content-prose h1,
.content-prose h2,
.content-prose h3 {
  line-height: 1.25;
}
.progress-timeline {
  position: relative;
}
.progress-timeline::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: linear-gradient(180deg, var(--primary), rgba(250, 215, 9, 0));
}
.progress-card {
  position: relative;
  margin-left: 44px;
}
.progress-card::before {
  content: "";
  position: absolute;
  left: -34px;
  top: 24px;
  width: 14px;
  height: 14px;
  border: 3px solid #fff;
  border-radius: 999px;
  background: var(--primary);
  box-shadow: 0 0 0 5px rgba(250, 215, 9, .18);
}
.auction-card {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 100%;
}
.auction-card img {
  margin: -6px -6px 0;
}
.auction-card h3,
.auction-card p {
  margin: 0;
}
.auction-card p {
  color: var(--muted);
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.auction-card-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}
.auction-cover-placeholder {
  display: grid;
  min-height: 190px;
  margin: -6px -6px 0;
  place-items: center;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(17, 24, 39, .96), rgba(74, 85, 104, .9)),
    var(--ink);
  color: rgba(255, 255, 255, .82);
  font-size: 28px;
  font-weight: 900;
}
.auction-grid {
  align-items: stretch;
}
.auction-filter {
  grid-template-columns: minmax(180px, 1.4fr) minmax(140px, 1fr) minmax(140px, 1fr) auto auto;
  align-items: end;
}
.auction-media-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
  gap: 8px;
}
.auction-media-strip img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 6px;
  margin: 0;
  background: #eef2f6;
}
.auction-like-button {
  justify-self: start;
}
.auction-like-button.is-liked {
  border-color: rgba(239, 68, 68, .28);
  background: rgba(239, 68, 68, .1);
  color: #991b1b;
}
.auction-like-button.is-error {
  border-color: rgba(239, 68, 68, .32);
  color: #991b1b;
}
.sold-pill {
  border-color: rgba(20, 184, 166, .28);
  background: rgba(20, 184, 166, .1);
  color: #0f766e;
}
.soft-pill {
  border-color: rgba(148, 163, 184, .32);
  background: rgba(148, 163, 184, .1);
  color: #475569;
}
.message-card {
  min-height: 180px;
  align-content: start;
}
.message-card p {
  color: var(--muted);
  line-height: 1.7;
}
.auction-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.auction-price strong {
  font-size: 22px;
}
.qr-panel {
  position: relative;
  overflow: hidden;
}
.qr-panel::before {
  content: "";
  position: absolute;
  inset: -40% auto auto -20%;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: rgba(250, 215, 9, .18);
}
.result-card {
  text-align: center;
  padding: 34px;
}
.result-card h1 {
  margin-top: 0;
}
.hero-media {
  overflow: hidden;
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.hero-media .media-cover {
  border: 0;
  border-radius: 8px;
}
.feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.feature-card {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 24px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.feature-card span {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--primary);
  color: #000;
  font-weight: 900;
}
.feature-card h3, .feature-card p { margin: 0; }
.feature-card p { color: var(--muted); line-height: 1.7; }
.activity-card {
  display: grid;
  align-content: start;
  gap: 14px;
}
.activity-card h2, .activity-card h3, .activity-card p { margin: 0; }
.activity-card p { color: var(--muted); line-height: 1.7; }
.activity-status-badge,
.activity-mobile-facts,
.activity-card-hitarea {
  display: none;
}
.registration-modal-backdrop,
.registration-modal-close {
  display: none;
}
.registration-modal-card {
  display: grid;
  gap: 14px;
}
.registration-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.registration-modal-head h2 {
  margin: 0;
}
.registration-field b {
  color: #ef4444;
}
.activity-card .media-cover,
.activity-cover-placeholder {
  margin: -6px -6px 0;
}
.activity-cover-placeholder {
  display: grid;
  place-items: center;
  min-height: 168px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(250, 215, 9, .9), rgba(217, 184, 7, .86)),
    #fad709;
  color: rgba(0, 0, 0, .72);
  font-weight: 900;
  font-size: 28px;
  text-align: center;
  line-height: 1.25;
}
.activity-cover-placeholder span {
  display: block;
  max-width: 8em;
}
.my-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(250, 215, 9, .18), rgba(255, 255, 255, .82) 46%),
    #fff;
  box-shadow: var(--shadow-soft);
}
.my-user-card {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}
.my-user-card img,
.my-avatar {
  width: 72px;
  height: 72px;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 12px 28px rgba(17, 24, 39, .14);
}
.my-avatar {
  display: grid;
  place-items: center;
  background: var(--primary);
  color: #000;
  font-size: 30px;
  font-weight: 900;
}
.my-user-card h1,
.my-user-card p {
  margin: 6px 0 0;
}
.my-user-card h1 {
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: 40px;
  line-height: 1.05;
}
.my-user-card p {
  color: var(--muted);
  overflow-wrap: anywhere;
}
.my-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.profile-edit-link,
.profile-hero-stats {
  display: none;
}
.profile-menu-shell {
  display: grid;
  gap: 22px;
}
.profile-menu-section {
  display: grid;
  gap: 14px;
}
.profile-menu-section h2 {
  margin: 0;
}
.profile-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.profile-quick-grid a {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 104px;
  border-left: 1px solid var(--line);
  color: var(--text);
  font-weight: 900;
  text-align: center;
}
.profile-quick-grid a:first-child {
  border-left: 0;
}
.profile-quick-grid span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(250, 215, 9, .14);
  color: #d29600;
}
.my-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
}
.my-stats article {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 18px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.my-stats span {
  display: block;
  color: var(--ink);
  font-size: 28px;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.my-stats p {
  margin: 6px 0 0;
  color: var(--muted);
}
.my-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 16px;
}
.my-action-grid .feature-card {
  color: var(--text);
  text-decoration: none;
}
.donation-stats {
  align-items: stretch;
}
.user-donation-list {
  display: grid;
  gap: 18px;
}
.user-donation-card {
  display: grid;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--shadow-soft);
}
.user-donation-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}
.user-donation-head h2 {
  margin: 8px 0 6px;
  font-size: 18px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.user-donation-head p,
.user-donation-action p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.user-donation-amount {
  display: grid;
  justify-items: end;
  gap: 8px;
  flex: 0 0 auto;
}
.user-donation-amount strong {
  font-size: 28px;
  line-height: 1;
}
.donation-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 10px;
  color: var(--muted);
  background: rgba(17, 24, 39, .035);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.donation-status.success {
  border-color: rgba(22, 163, 74, .26);
  background: rgba(22, 163, 74, .1);
  color: #166534;
}
.donation-status.pending {
  border-color: rgba(245, 158, 11, .3);
  background: rgba(245, 158, 11, .12);
  color: #92400e;
}
.donation-status.danger {
  border-color: rgba(239, 68, 68, .28);
  background: rgba(239, 68, 68, .1);
  color: #991b1b;
}
.donation-status.muted {
  color: var(--muted);
}
.user-donation-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.user-donation-meta div {
  min-width: 0;
  border: 1px solid rgba(226, 232, 240, .86);
  border-radius: 8px;
  padding: 12px;
  background: rgba(248, 250, 252, .86);
}
.user-donation-meta dt {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.user-donation-meta dd {
  margin: 0;
  color: var(--ink);
  font-weight: 800;
  overflow-wrap: anywhere;
}
.user-donation-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.user-donation-action {
  display: grid;
  align-content: start;
  gap: 12px;
  border: 1px solid rgba(226, 232, 240, .86);
  border-radius: 8px;
  padding: 16px;
  background: rgba(248, 250, 252, .72);
}
.user-donation-action h3 {
  margin: 0;
  font-size: 16px;
}
.donation-inline-form {
  display: grid;
  grid-template-columns: minmax(160px, 1.4fr) minmax(130px, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.donation-inline-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.donation-inline-form input {
  width: 100%;
}
.inline-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.my-dashboard-grid.admin-two-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.my-list {
  display: grid;
  gap: 10px;
}
.my-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: rgba(255, 255, 255, .72);
}
.my-list article > div {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.my-list strong,
.my-list span {
  overflow-wrap: anywhere;
}
.my-list span {
  color: var(--muted);
}
.my-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 10px;
}
.my-image-grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #eef2f7;
}
.my-table-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.my-table-actions a,
.my-table-actions button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 10px;
  background: rgba(255, 255, 255, .82);
  color: var(--ink);
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.my-table-actions button {
  color: #b42318;
}
.my-table-actions .primary-action {
  border-color: rgba(250, 215, 9, .78);
  background: var(--primary);
  color: #000;
}
.user-events-mobile {
  display: none;
}
.user-certificate-page .certificate-editor-workspace {
  margin-top: 0;
}
.certificate-public-page {
  max-width: 1120px;
}
.certificate-public-shell {
  display: grid;
  justify-items: center;
  overflow-x: auto;
  border: 1px solid rgba(226, 232, 240, .92);
  border-radius: 12px;
  padding: clamp(16px, 4vw, 34px);
  background:
    radial-gradient(circle at 15% 15%, rgba(250, 215, 9, .18), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, .95), rgba(248, 250, 252, .9));
  box-shadow: var(--shadow);
}
.certificate-public-canvas {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(17, 24, 39, .12);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 20px 54px rgba(17, 24, 39, .16);
  transform-origin: top center;
}
.certificate-public-bg,
.certificate-public-default-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.certificate-public-bg {
  object-fit: cover;
}
.certificate-public-default-bg {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  color: #111827;
  background:
    linear-gradient(135deg, rgba(250, 215, 9, .22), rgba(20, 184, 166, .16)),
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, .8), transparent 30%),
    #fffdf3;
}
.certificate-public-default-bg span {
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}
.certificate-public-default-bg strong {
  font-size: 34px;
}
.certificate-public-field {
  position: absolute;
  z-index: 1;
  display: grid;
  align-items: center;
  justify-items: center;
  line-height: 1.2;
  font-weight: 800;
  transform-origin: center center;
  overflow-wrap: anywhere;
}
.certificate-public-field.is-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.certificate-public-field.is-image span {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  border: 1px dashed rgba(100, 116, 139, .55);
  border-radius: 8px;
  color: #64748b;
  font-size: 14px;
}
.certificate-public-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.certificate-public-meta div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, .82);
}
.certificate-public-meta span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.certificate-public-meta strong {
  display: block;
  margin-top: 6px;
  color: var(--ink);
  overflow-wrap: anywhere;
}
@media (max-width: 860px) {
  .certificate-public-shell {
    justify-items: start;
  }
  .certificate-public-meta {
    grid-template-columns: 1fr;
  }
}
.certificate-workbench-body {
  --workbench-bg: #0b1120;
  --workbench-panel: rgba(17, 24, 39, .78);
  --workbench-panel-strong: rgba(15, 23, 42, .94);
  --workbench-line: rgba(255, 255, 255, .14);
  --workbench-line-strong: rgba(250, 215, 9, .35);
  --workbench-muted: #aab6c8;
  --workbench-soft: rgba(255, 255, 255, .065);
  display: flex;
  flex-direction: column;
  height: 100dvh;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(250, 215, 9, .07), transparent 360px),
    var(--workbench-bg);
}
.certificate-workbench-body .topbar {
  flex: 0 0 auto;
  min-height: 60px;
  padding: 8px 22px;
  background: rgba(15, 23, 42, .9);
  border-bottom-color: var(--workbench-line);
  backdrop-filter: blur(18px);
  color: #f8fafc;
}
.certificate-workbench-body .brand,
.certificate-workbench-body .navlinks a {
  color: #e5e7eb;
}
.certificate-workbench-body .navlinks a:hover {
  background: rgba(250, 215, 9, .13);
  color: #fde68a;
}
.certificate-workbench-page {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}
.certificate-workbench {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  color: #f8fafc;
  background:
    linear-gradient(135deg, rgba(17, 24, 39, .98), rgba(31, 41, 55, .94) 58%, rgba(15, 23, 42, .98));
}
.certificate-workbench::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(120deg, #000, transparent 76%);
  pointer-events: none;
}
.certificate-workbench-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--workbench-line);
  padding: 16px 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .072), rgba(255, 255, 255, .026));
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .035);
}
.certificate-workbench-top span {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 26px;
  margin-bottom: 5px;
  border: 1px solid rgba(250, 215, 9, .36);
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(250, 215, 9, .13);
  color: #fde68a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.certificate-workbench-top h1,
.certificate-workbench-top p {
  margin: 0;
}
.certificate-workbench-top h1 {
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}
.certificate-workbench-top p {
  margin-top: 4px;
  color: #dbe3ef;
  line-height: 1.5;
}
.certificate-workbench-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.certificate-workbench-actions .button {
  min-height: 38px;
  border-radius: 6px;
  padding: 0 14px;
}
.certificate-workbench-actions .button:not(.secondary):not(.ghost) {
  box-shadow: 0 12px 28px rgba(250, 215, 9, .24);
}
.certificate-workbench-actions .button.secondary,
.certificate-workbench-actions .button.ghost {
  border-color: var(--workbench-line, rgba(255, 255, 255, .14));
  background: rgba(255, 255, 255, .07);
  color: #f8fafc;
}
.certificate-workbench-actions .button.secondary:hover,
.certificate-workbench-actions .button.ghost:hover {
  border-color: rgba(250, 215, 9, .5);
  background: rgba(250, 215, 9, .1);
  color: #fde68a;
}
.certificate-workbench-alert {
  border-bottom: 1px solid var(--workbench-line);
  padding: 10px 18px;
  font-weight: 800;
}
.certificate-workbench-alert.success {
  background: rgba(34, 197, 94, .14);
  color: #bbf7d0;
}
.certificate-workbench-alert.error {
  background: rgba(248, 113, 113, .14);
  color: #fecaca;
}
.certificate-workbench-grid {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr) 370px;
  min-height: 0;
  overflow: hidden;
}
.certificate-workbench-library {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 0;
  overflow: auto;
  border-right: 1px solid var(--workbench-line);
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(17, 24, 39, .92), rgba(15, 23, 42, .82));
  backdrop-filter: blur(16px);
}
.certificate-workbench-stage {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 18px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .03) 1px, transparent 1px),
    linear-gradient(180deg, rgba(2, 6, 23, .12), rgba(2, 6, 23, .34));
  background-size: 32px 32px, 32px 32px, auto;
}
.certificate-stage-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: min(920px, 100%);
  margin: 0 auto 14px;
  border: 1px solid var(--workbench-line);
  border-radius: 999px;
  padding: 9px 13px;
  background: rgba(15, 23, 42, .72);
  color: #dbe3ef;
  backdrop-filter: blur(14px);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 14px 36px rgba(2, 6, 23, .18);
}
.certificate-stage-toolbar span:first-child {
  min-width: 0;
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.certificate-stage-toolbar span:last-child {
  flex: 0 0 auto;
  color: #fde68a;
}
.certificate-workbench-stage .certificate-canvas {
  width: 760px;
  min-height: 0;
  height: 520px;
  margin: 0 auto;
  border-color: rgba(250, 215, 9, .28);
  background:
    linear-gradient(90deg, rgba(17, 24, 39, .035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(17, 24, 39, .035) 1px, transparent 1px),
    linear-gradient(180deg, #fffdf7, #f8fafc);
  background-size: 28px 28px, 28px 28px, auto;
  box-shadow:
    0 34px 92px rgba(0, 0, 0, .46),
    0 0 0 1px rgba(255, 255, 255, .06);
}
.certificate-workbench-stage .certificate-canvas img {
  min-height: 0;
  height: 100%;
}
.certificate-workbench-stage .certificate-empty {
  color: #cbd5e1;
}
.certificate-workbench-stage .certificate-empty strong {
  color: #f8fafc;
}
.certificate-workbench-inspector {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 0;
  overflow: auto;
  border-left: 1px solid var(--workbench-line);
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(17, 24, 39, .95), rgba(15, 23, 42, .88));
  backdrop-filter: blur(16px);
}
@media (max-width: 960px) {
  .certificate-workbench-body {
    height: auto;
    min-height: 100dvh;
    overflow: auto;
  }
  .certificate-workbench-body .topbar {
    position: static;
    min-height: 0;
  }
  .certificate-workbench-page {
    height: auto;
    overflow: visible;
  }
  .certificate-workbench {
    height: auto;
    min-height: calc(100dvh - 64px);
    grid-template-rows: auto auto minmax(0, 1fr);
  }
  .certificate-workbench-top {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
  }
  .certificate-workbench-top h1 {
    font-size: 20px;
  }
  .certificate-workbench-top p {
    font-size: 13px;
  }
  .certificate-workbench-actions {
    justify-content: flex-start;
  }
  .certificate-workbench-actions .button {
    flex: 1 1 140px;
  }
  .certificate-workbench-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    overflow: visible;
  }
  .certificate-workbench-library {
    display: block;
    border-right: 0;
    border-bottom: 1px solid var(--workbench-line);
    padding: 12px;
    overflow: visible;
  }
  .certificate-workbench-library .certificate-tool-panel + .certificate-tool-panel {
    margin-top: 12px;
  }
  .certificate-workbench-stage {
    min-height: 320px;
    padding: 12px;
  }
  .certificate-stage-toolbar {
    width: 100%;
  }
  .certificate-workbench-stage .certificate-canvas {
    min-height: 0;
  }
  .certificate-workbench-stage .certificate-canvas img {
    min-height: 0;
  }
  .certificate-workbench-inspector {
    border-left: 0;
    border-top: 1px solid var(--workbench-line);
    padding: 12px;
    overflow: visible;
  }
}
@media (max-width: 520px) {
  .certificate-workbench-page {
    height: auto;
  }
  .certificate-workbench-top p {
    display: none;
  }
  .certificate-workbench-actions .button {
    flex: 1 1 calc(50% - 6px);
    min-height: 38px;
    padding: 0 10px;
    font-size: 13px;
  }
  .certificate-workbench-grid {
    grid-template-rows: auto auto auto;
  }
  .certificate-stage-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .certificate-preset-grid,
  .certificate-field-list {
    grid-template-columns: 1fr;
  }
}

/* Admin light override for legacy PHP parity. Keep this block at EOF. */
body.admin-body {
  color-scheme: light;
  --admin-bg: #f5f6f8;
  --admin-panel: #ffffff;
  --admin-panel-2: #f9fafb;
  --admin-line: #e5e7eb;
  --admin-text: #111827;
  --admin-muted: #6b7280;
  --admin-accent: #ffd400;
  --admin-accent-strong: #f5c400;
  --admin-danger: #dc2626;
  background: var(--admin-bg);
  color: var(--admin-text);
}

body.admin-body .admin-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 64px;
  padding: 0 24px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: linear-gradient(180deg, #141414, #050505);
  color: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .18);
}

body.admin-body .admin-topbar-brand,
body.admin-body .admin-topbar-actions {
  display: flex;
  align-items: center;
  color: inherit;
}

body.admin-body .admin-topbar-brand {
  gap: 12px;
  min-width: 0;
}

body.admin-body .admin-topbar-brand strong {
  overflow: hidden;
  max-width: min(420px, 40vw);
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body .admin-topbar-actions {
  justify-content: flex-end;
  gap: 14px;
  margin-left: auto;
  color: rgba(255, 255, 255, .86);
  font-size: 14px;
  font-weight: 800;
}

body.admin-body .admin-topbar a,
body.admin-body .admin-topbar-role {
  color: inherit;
}

body.admin-body .admin-topbar a:hover {
  color: #ffd400;
}

body.admin-body .admin-topbar-menu {
  color: rgba(255, 255, 255, .84);
  font-size: 24px;
  line-height: 1;
}

body.admin-body .admin-topbar .admin-brand-mark,
body.admin-body .admin-brand-mark {
  border-radius: 10px;
  background: #ffd400;
  color: #111;
  box-shadow: none;
}

body.admin-body .admin-shell {
  min-height: calc(100vh - 64px);
}

body.admin-body .admin-sidebar {
  top: 64px;
  height: calc(100vh - 64px);
  border-right: 1px solid #e5e7eb;
  background: #fff;
  padding: 20px 14px;
}

body.admin-body .admin-sidebar .admin-brand {
  display: none;
}

body.admin-body .admin-nav {
  gap: 22px;
}

body.admin-body .admin-nav-group p {
  color: #6b7280;
  font-size: 13px;
}

body.admin-body .admin-nav a {
  min-height: 44px;
  border-radius: 8px;
  padding: 0 14px;
  color: #111827;
  font-weight: 800;
}

body.admin-body .admin-nav a:hover {
  background: rgba(255, 212, 0, .12);
  color: #111827;
}

body.admin-body .admin-nav a.active,
body.admin-body .admin-nav a.admin-nav-sub.active {
  border-color: #ffd400;
  background: #ffd400;
  color: #111827;
  box-shadow: 0 10px 20px rgba(255, 212, 0, .22);
}

body.admin-body .admin-nav a.admin-nav-sub {
  min-height: 34px;
  padding-left: 28px;
  color: #4b5563;
  font-size: 13px;
}

body.admin-body .admin-sidebar-footer {
  border-top-color: #e5e7eb;
}

body.admin-body .admin-sidebar-card {
  border-color: #eef0f3;
  background: #fbfbfc;
}

body.admin-body .admin-brand small,
body.admin-body .admin-panel p,
body.admin-body .admin-page-head p,
body.admin-body .admin-metrics small,
body.admin-body .admin-metric p,
body.admin-body .admin-table small,
body.admin-body .admin-list,
body.admin-body .admin-inline-help,
body.admin-body .admin-muted-text,
body.admin-body .admin-sidebar-card small {
  color: var(--admin-muted);
}

body.admin-body .admin-main {
  padding: 26px 28px 36px;
  background: var(--admin-bg);
}

body.admin-body .admin-workspace-bar,
body.admin-body .admin-panel,
body.admin-body .admin-metrics article,
body.admin-body .admin-link-grid a,
body.admin-body .admin-login-card,
body.admin-body .admin-main .form,
body.admin-body .admin-main .table-wrap,
body.admin-body .admin-main .panel,
body.admin-body .admin-main .card,
body.admin-body .admin-detail-hero {
  border-color: #e5e7eb;
  background: #fff;
  color: var(--admin-text);
  box-shadow: 0 8px 24px rgba(17, 24, 39, .055);
}

body.admin-body .admin-workspace-bar {
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 212, 0, .12), rgba(255, 255, 255, .96) 42%),
    #fff;
}

body.admin-body .admin-chip,
body.admin-body .admin-user-pill,
body.admin-body .admin-workspace-meta code {
  border-color: #e5e7eb;
  background: #fff;
  color: #111827;
}

body.admin-body .admin-chip.accent {
  border-color: rgba(255, 212, 0, .56);
  background: rgba(255, 212, 0, .16);
  color: #8a6a00;
}

body.admin-body .admin-page-head h1,
body.admin-body .admin-login h1,
body.admin-body .admin-detail-hero h2,
body.admin-body .admin-metrics strong,
body.admin-body .admin-metric span,
body.admin-body .admin-sidebar-card strong {
  color: #111827;
}

body.admin-body .admin-kicker {
  color: #9a7600;
}

body.admin-body .admin-button {
  min-height: 40px;
  border-radius: 8px;
  background: #ffd400;
  color: #111827;
  box-shadow: 0 8px 18px rgba(255, 212, 0, .2);
}

body.admin-body .admin-button:hover {
  background: #f5c400;
  color: #111827;
}

body.admin-body .admin-button.ghost,
body.admin-body .admin-link-button {
  border-color: #e5e7eb;
  background: #fff;
  color: #111827;
  box-shadow: none;
}

body.admin-body .admin-button.danger,
body.admin-body .admin-link-button.danger {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(220, 38, 38, .08);
  color: #b91c1c;
}

body.admin-body .admin-subnav a {
  border-color: #e5e7eb;
  background: #fff;
  color: #374151;
}

body.admin-body .admin-subnav a.active {
  border-color: #ffd400;
  background: #ffd400;
  color: #111827;
}

body.admin-body .admin-table {
  border-collapse: collapse;
  background: #fff;
}

body.admin-body .admin-table th,
body.admin-body .admin-table td {
  border-color: #e5e7eb;
}

body.admin-body .admin-table th {
  color: #4b5563;
  background: #f9fafb;
}

body.admin-body .admin-table code,
body.admin-body .admin-table a,
body.admin-body .admin-actions a,
body.admin-body .admin-row-detail summary,
body.admin-body .admin-login-link,
body.admin-body .admin-pagination a {
  color: #2563eb;
}

body.admin-body .admin-status {
  background: rgba(22, 163, 74, .12);
  color: #15803d;
}

body.admin-body .admin-status.warning {
  background: rgba(245, 158, 11, .13);
  color: #b45309;
}

body.admin-body .admin-status.danger,
body.admin-body .admin-main .upload-status.error {
  background: rgba(220, 38, 38, .1);
  color: #b91c1c;
}

body.admin-body .admin-badge {
  background: #f3f4f6;
  color: #374151;
}

body.admin-body .admin-badge.success,
body.admin-body .admin-success {
  background: rgba(22, 163, 74, .08);
  color: #166534;
}

body.admin-body .admin-filter label,
body.admin-body .admin-form label,
body.admin-body .admin-form-grid label,
body.admin-body .admin-check,
body.admin-body .admin-check-grid label,
body.admin-body .admin-row-detail dt {
  color: #4b5563;
}

body.admin-body .admin-filter input,
body.admin-body .admin-filter select,
body.admin-body .admin-form input,
body.admin-body .admin-form textarea,
body.admin-body .admin-form select,
body.admin-body .admin-form-grid input,
body.admin-body .admin-form-grid textarea,
body.admin-body .admin-form-grid select,
body.admin-body .admin-row-form input,
body.admin-body .admin-row-form select,
body.admin-body .admin-inline-actions input,
body.admin-body .admin-inline-actions select,
body.admin-body .admin-main .form input,
body.admin-body .admin-main .form textarea,
body.admin-body .admin-main .form select,
body.admin-body .admin-main .inline-form input,
body.admin-body .admin-main .inline-form textarea,
body.admin-body .admin-main .inline-form select {
  border-color: #d1d5db;
  background: #fff;
  color: #111827;
}

body.admin-body .admin-filter input:focus,
body.admin-body .admin-filter select:focus,
body.admin-body .admin-form input:focus,
body.admin-body .admin-form textarea:focus,
body.admin-body .admin-form select:focus,
body.admin-body .admin-form-grid input:focus,
body.admin-body .admin-form-grid textarea:focus,
body.admin-body .admin-form-grid select:focus {
  border-color: #ffd400;
  outline: 3px solid rgba(255, 212, 0, .22);
}

body.admin-body .admin-row-detail pre,
body.admin-body .admin-empty-card,
body.admin-body .admin-main .upload-dropzone,
body.admin-body .admin-main .advanced-settings {
  border-color: #e5e7eb;
  background: #fbfbfc;
  color: #6b7280;
}

body.admin-body .admin-main .upload-dropzone strong {
  color: #111827;
}

body.admin-body .admin-main .upload-dropzone.dragover {
  border-color: #ffd400;
  background: rgba(255, 212, 0, .14);
}

body.admin-body .admin-main .upload-preview img,
body.admin-body .admin-main .certificate-canvas {
  border-color: #e5e7eb;
  background: #fff;
}

body.admin-body .admin-alert {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(220, 38, 38, .08);
  color: #991b1b;
}

body.admin-body.admin-login {
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 212, 0, .18), transparent 28%),
    #f5f6f8;
}

@media (max-width: 860px) {
  body.admin-body .admin-topbar {
    padding: 0 14px;
  }

  body.admin-body .admin-topbar-brand strong {
    max-width: 48vw;
  }

  body.admin-body .admin-topbar-actions {
    gap: 8px;
    font-size: 12px;
  }

  body.admin-body .admin-topbar-role,
  body.admin-body .admin-topbar-actions a:nth-child(2) {
    display: none;
  }

  body.admin-body .admin-sidebar {
    position: static;
    height: auto;
    border-bottom-color: #e5e7eb;
  }

  body.admin-body .admin-main {
    padding: 18px;
  }

  body.admin-body .certificate-editor-sidebar {
    border-top-color: #e5e7eb;
  }
}

/* Final admin theme override: keep this after the legacy dark admin block. */
body.admin-body {
  color-scheme: light;
  --admin-bg: #f5f6f8;
  --admin-panel: #ffffff;
  --admin-panel-2: #f9fafb;
  --admin-line: #e5e7eb;
  --admin-text: #111827;
  --admin-muted: #6b7280;
  --admin-accent: #ffd400;
  --admin-danger: #dc2626;
  background: var(--admin-bg);
  color: var(--admin-text);
}
.admin-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 64px;
  padding: 0 24px;
  background: linear-gradient(180deg, #141414, #050505);
  color: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .18);
}
.admin-topbar-brand,
.admin-topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  color: inherit;
}
.admin-topbar-brand strong {
  overflow: hidden;
  max-width: min(420px, 40vw);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-topbar-actions {
  justify-content: flex-end;
  margin-left: auto;
  color: rgba(255, 255, 255, .86);
  font-size: 14px;
  font-weight: 800;
}
.admin-topbar-actions a,
.admin-topbar-role {
  color: inherit;
}
.admin-topbar-brand:hover,
.admin-topbar-actions a:hover {
  color: #ffd400;
}
.admin-topbar-menu {
  color: rgba(255, 255, 255, .84);
  font-size: 24px;
  line-height: 1;
}
.admin-topbar .admin-brand-mark,
.admin-brand-mark {
  border-radius: 10px;
  background: #ffd400;
  color: #111;
  box-shadow: none;
}
.admin-shell {
  min-height: calc(100vh - 64px);
}
.admin-sidebar {
  top: 64px;
  height: calc(100vh - 64px);
  border-right-color: #e5e7eb;
  background: #fff;
  padding: 20px 14px;
}
.admin-sidebar .admin-brand {
  display: none;
}
.admin-nav a {
  min-height: 44px;
  border-radius: 8px;
  padding: 0 14px;
  color: #111827;
  font-weight: 800;
}
.admin-nav a:hover {
  background: rgba(255, 212, 0, .12);
  color: #111827;
}
.admin-nav a.active,
.admin-nav a.admin-nav-sub.active,
.admin-subnav a.active {
  border-color: #ffd400;
  background: #ffd400;
  color: #111827;
  box-shadow: 0 10px 20px rgba(255, 212, 0, .22);
}
.admin-nav a.admin-nav-sub {
  color: #4b5563;
}
.admin-nav-group p,
.admin-brand small,
.admin-panel p,
.admin-page-head p,
.admin-metrics small,
.admin-metric p,
.admin-table small,
.admin-list,
.admin-inline-help,
.admin-muted-text,
.admin-sidebar-card small {
  color: var(--admin-muted);
}
.admin-main {
  padding: 26px 28px 36px;
  background: var(--admin-bg);
}
.admin-workspace-bar,
.admin-panel,
.admin-metrics article,
.admin-link-grid a,
.admin-login-card,
.admin-main .form,
.admin-main .table-wrap,
.admin-main .panel,
.admin-main .card,
.admin-detail-hero,
.admin-sidebar-card {
  border-color: #e5e7eb;
  background: #fff;
  color: var(--admin-text);
  box-shadow: 0 8px 24px rgba(17, 24, 39, .055);
}
.admin-workspace-bar {
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255, 212, 0, .12), rgba(255, 255, 255, .96) 42%), #fff;
}
.admin-chip,
.admin-user-pill,
.admin-workspace-meta code {
  border-color: #e5e7eb;
  background: #fff;
  color: #111827;
}
.admin-chip.accent,
.admin-kicker {
  color: #8a6a00;
}
.admin-chip.accent {
  border-color: rgba(255, 212, 0, .56);
  background: rgba(255, 212, 0, .16);
}
.admin-page-head h1,
.admin-login h1,
.admin-detail-hero h2,
.admin-metrics strong,
.admin-metric span,
.admin-sidebar-card strong {
  color: #111827;
}
.admin-button {
  min-height: 40px;
  border-radius: 8px;
  background: #ffd400;
  color: #111827;
  box-shadow: 0 8px 18px rgba(255, 212, 0, .2);
}
.admin-button:hover {
  background: #f5c400;
  color: #111827;
}
.admin-button.ghost,
.admin-link-button,
.admin-subnav a {
  border-color: #e5e7eb;
  background: #fff;
  color: #111827;
  box-shadow: none;
}
.admin-table {
  background: #fff;
}
.admin-table th,
.admin-table td {
  border-color: #e5e7eb;
}
.admin-table th {
  color: #4b5563;
  background: #f9fafb;
}
.admin-table code,
.admin-table a,
.admin-actions a,
.admin-row-detail summary,
.admin-login-link,
.admin-pagination a {
  color: #2563eb;
}
.admin-status {
  background: rgba(22, 163, 74, .12);
  color: #15803d;
}
.admin-status.warning {
  background: rgba(245, 158, 11, .13);
  color: #b45309;
}
.admin-status.danger,
.admin-main .upload-status.error {
  background: rgba(220, 38, 38, .1);
  color: #b91c1c;
}
.admin-badge {
  background: #f3f4f6;
  color: #374151;
}
.admin-badge.success,
.admin-success {
  background: rgba(22, 163, 74, .08);
  color: #166534;
}
.admin-filter label,
.admin-form label,
.admin-form-grid label,
.admin-check,
.admin-check-grid label,
.admin-row-detail dt {
  color: #4b5563;
}
.admin-filter input,
.admin-filter select,
.admin-form input,
.admin-form textarea,
.admin-form select,
.admin-form-grid input,
.admin-form-grid textarea,
.admin-form-grid select,
.admin-row-form input,
.admin-row-form select,
.admin-inline-actions input,
.admin-inline-actions select,
.admin-main .form input,
.admin-main .form textarea,
.admin-main .form select,
.admin-main .inline-form input,
.admin-main .inline-form textarea,
.admin-main .inline-form select {
  border-color: #d1d5db;
  background: #fff;
  color: #111827;
}
.admin-row-detail pre,
.admin-empty-card,
.admin-main .upload-dropzone,
.admin-main .advanced-settings {
  border-color: #e5e7eb;
  background: #fbfbfc;
  color: #6b7280;
}
.admin-main .upload-dropzone strong {
  color: #111827;
}
.admin-main .upload-preview img,
.admin-main .certificate-canvas {
  border-color: #e5e7eb;
  background: #fff;
}
.admin-alert,
.admin-button.danger,
.admin-link-button.danger {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(220, 38, 38, .08);
  color: #991b1b;
}
.admin-login {
  background: radial-gradient(circle at 18% 12%, rgba(255, 212, 0, .18), transparent 28%), #f5f6f8;
}
@media (max-width: 860px) {
  .admin-topbar {
    padding: 0 14px;
  }
  .admin-topbar-brand strong {
    max-width: 48vw;
  }
  .admin-topbar-actions {
    gap: 8px;
    font-size: 12px;
  }
  .admin-topbar-role,
  .admin-topbar-actions a:nth-child(2) {
    display: none;
  }
  .admin-sidebar {
    position: static;
    height: auto;
    border-bottom-color: #e5e7eb;
  }
  .certificate-editor-sidebar {
    border-top-color: #e5e7eb;
  }
}

body.admin-body {
  color-scheme: light;
  --admin-bg: #f5f6f8;
  --admin-panel: #ffffff;
  --admin-panel-2: #f9fafb;
  --admin-line: #e5e7eb;
  --admin-text: #111827;
  --admin-muted: #6b7280;
  --admin-accent: #ffd400;
  --admin-accent-strong: #f5c400;
  --admin-danger: #dc2626;
  background: var(--admin-bg);
  color: var(--admin-text);
}

.admin-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 64px;
  padding: 0 24px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: linear-gradient(180deg, #141414, #050505);
  color: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .18);
}

.admin-topbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: #fff;
}

.admin-topbar-brand:hover,
.admin-topbar-actions a:hover {
  color: #ffd400;
}

.admin-topbar-brand strong {
  overflow: hidden;
  max-width: min(420px, 40vw);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-topbar .admin-brand-mark,
.admin-brand-mark {
  border-radius: 10px;
  background: #ffd400;
  color: #111;
  box-shadow: none;
}

.admin-topbar-menu {
  color: rgba(255, 255, 255, .84);
  font-size: 24px;
  line-height: 1;
}

.admin-topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-left: auto;
  color: rgba(255, 255, 255, .86);
  font-size: 14px;
  font-weight: 800;
}

.admin-topbar-actions a,
.admin-topbar-role {
  color: inherit;
}

.admin-shell {
  min-height: calc(100vh - 64px);
}

.admin-sidebar {
  top: 64px;
  height: calc(100vh - 64px);
  border-right: 1px solid #e5e7eb;
  background: #fff;
  padding: 20px 14px;
}

.admin-sidebar .admin-brand {
  display: none;
}

.admin-nav {
  gap: 22px;
}

.admin-nav-group p {
  color: #6b7280;
  font-size: 13px;
}

.admin-nav a {
  min-height: 44px;
  border-radius: 8px;
  padding: 0 14px;
  color: #111827;
  font-weight: 800;
}

.admin-nav a:hover {
  background: rgba(255, 212, 0, .12);
  color: #111827;
}

.admin-nav a.active,
.admin-nav a.admin-nav-sub.active {
  background: #ffd400;
  color: #111827;
  box-shadow: 0 10px 20px rgba(255, 212, 0, .22);
}

.admin-nav a.admin-nav-sub {
  min-height: 34px;
  padding-left: 28px;
  color: #4b5563;
  font-size: 13px;
}

.admin-sidebar-footer {
  border-top-color: #e5e7eb;
}

.admin-sidebar-card {
  border-color: #eef0f3;
  background: #fbfbfc;
}

.admin-sidebar-card strong {
  color: #111827;
}

.admin-sidebar-card small,
.admin-brand small,
.admin-panel p,
.admin-page-head p,
.admin-metrics small,
.admin-metric p,
.admin-table small,
.admin-list,
.admin-inline-help,
.admin-muted-text {
  color: var(--admin-muted);
}

.admin-main {
  padding: 26px 28px 36px;
  background: var(--admin-bg);
}

.admin-workspace-bar,
.admin-panel,
.admin-metrics article,
.admin-link-grid a,
.admin-login-card,
.admin-main .form,
.admin-main .table-wrap,
.admin-main .panel,
.admin-main .card,
.admin-detail-hero {
  border-color: #e5e7eb;
  background: #fff;
  color: var(--admin-text);
  box-shadow: 0 8px 24px rgba(17, 24, 39, .055);
}

.admin-workspace-bar {
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 212, 0, .12), rgba(255, 255, 255, .96) 42%),
    #fff;
}

.admin-chip,
.admin-user-pill,
.admin-workspace-meta code {
  border-color: #e5e7eb;
  background: #fff;
  color: #111827;
}

.admin-chip.accent {
  border-color: rgba(255, 212, 0, .56);
  background: rgba(255, 212, 0, .16);
  color: #8a6a00;
}

.admin-page-head h1,
.admin-login h1,
.admin-detail-hero h2,
.admin-metrics strong,
.admin-metric span {
  color: #111827;
}

.admin-page-head h1,
.admin-login h1 {
  font-size: 30px;
}

.admin-kicker {
  color: #9a7600;
}

.admin-button {
  min-height: 40px;
  border-radius: 8px;
  background: #ffd400;
  color: #111827;
  box-shadow: 0 8px 18px rgba(255, 212, 0, .2);
}

.admin-button:hover {
  background: #f5c400;
  color: #111827;
}

.admin-button.ghost,
.admin-link-button {
  border-color: #e5e7eb;
  background: #fff;
  color: #111827;
  box-shadow: none;
}

.admin-button.danger,
.admin-link-button.danger {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(220, 38, 38, .08);
  color: #b91c1c;
}

.admin-subnav a {
  border-color: #e5e7eb;
  background: #fff;
  color: #374151;
}

.admin-subnav a.active {
  border-color: #ffd400;
  background: #ffd400;
  color: #111827;
}

.admin-table {
  border-collapse: collapse;
  background: #fff;
}

.admin-table th,
.admin-table td {
  border-color: #e5e7eb;
}

.admin-table th {
  color: #4b5563;
  background: #f9fafb;
}

.admin-table code,
.admin-table a,
.admin-actions a,
.admin-row-detail summary,
.admin-login-link,
.admin-pagination a {
  color: #2563eb;
}

.admin-status {
  background: rgba(22, 163, 74, .12);
  color: #15803d;
}

.admin-status.warning {
  background: rgba(245, 158, 11, .13);
  color: #b45309;
}

.admin-status.danger {
  background: rgba(220, 38, 38, .1);
  color: #b91c1c;
}

.admin-badge {
  background: #f3f4f6;
  color: #374151;
}

.admin-badge.success {
  background: rgba(22, 163, 74, .12);
  color: #15803d;
}

.admin-filter label,
.admin-form label,
.admin-form-grid label,
.admin-check,
.admin-check-grid label,
.admin-row-detail dt {
  color: #4b5563;
}

.admin-filter input,
.admin-filter select,
.admin-form input,
.admin-form textarea,
.admin-form select,
.admin-form-grid input,
.admin-form-grid textarea,
.admin-form-grid select,
.admin-row-form input,
.admin-row-form select,
.admin-inline-actions input,
.admin-inline-actions select,
.admin-main .form input,
.admin-main .form textarea,
.admin-main .form select,
.admin-main .inline-form input,
.admin-main .inline-form textarea,
.admin-main .inline-form select {
  border-color: #d1d5db;
  background: #fff;
  color: #111827;
}

.admin-filter input:focus,
.admin-filter select:focus,
.admin-form input:focus,
.admin-form textarea:focus,
.admin-form select:focus,
.admin-form-grid input:focus,
.admin-form-grid textarea:focus,
.admin-form-grid select:focus {
  border-color: #ffd400;
  outline: 3px solid rgba(255, 212, 0, .22);
}

.admin-row-detail pre {
  border-color: #e5e7eb;
  background: #f9fafb;
  color: #111827;
}

.admin-empty-card {
  border-color: #e5e7eb;
  background: #fbfbfc;
  color: #6b7280;
}

.admin-success {
  border-color: rgba(22, 163, 74, .22);
  background: rgba(22, 163, 74, .08);
  color: #166534;
}

.admin-alert {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(220, 38, 38, .08);
  color: #991b1b;
}

.admin-main .upload-dropzone {
  border-color: #d1d5db;
  background: #f9fafb;
  color: #6b7280;
}

.admin-main .upload-dropzone strong {
  color: #111827;
}

.admin-main .upload-dropzone.dragover {
  border-color: #ffd400;
  background: rgba(255, 212, 0, .14);
}

.admin-main .upload-preview img,
.admin-main .certificate-canvas {
  border-color: #e5e7eb;
  background: #fff;
}

.admin-main .advanced-settings {
  border-color: #e5e7eb;
  background: #fbfbfc;
}

.admin-login {
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 212, 0, .18), transparent 28%),
    #f5f6f8;
}

@media (max-width: 860px) {
  .admin-topbar {
    padding: 0 14px;
  }
  .admin-topbar-brand strong {
    max-width: 48vw;
  }
  .admin-topbar-actions {
    gap: 8px;
    font-size: 12px;
  }
  .admin-topbar-role,
  .admin-topbar-actions a:nth-child(2) {
    display: none;
  }
  .admin-sidebar {
    position: static;
    height: auto;
    border-bottom-color: #e5e7eb;
  }
  .admin-main {
    padding: 18px;
  }
  .certificate-editor-sidebar {
    border-top-color: #e5e7eb;
  }
}
.activity-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.card-link { font-weight: 900; }
.mini-meta {
  display: grid;
  gap: 8px;
  margin: 0;
}
.mini-meta span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 10px;
  background: rgba(255, 255, 255, .66);
  color: var(--ink);
  font-weight: 800;
}
.mini-meta div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}
.mini-meta dt { color: var(--muted); }
.mini-meta dd { margin: 0; font-weight: 800; }
.ui-reveal {
  opacity: 1;
  transform: none;
  transition: opacity .7s ease, transform .7s ease;
}
.ui-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@keyframes chip-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -10px, 0); }
}
@keyframes bar-live {
  0%, 100% { transform: scaleY(.42); opacity: .72; }
  50% { transform: scaleY(1); opacity: 1; }
}
@keyframes meter-flow {
  0%, 100% { filter: saturate(1); }
  50% { filter: saturate(1.45); }
}
.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.inline-actions form { margin: 0; }
.inline-actions button {
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
.prose { line-height: 1.8; white-space: pre-wrap; }
.qr-panel { text-align: center; }
.qr-code {
  margin: 0 auto 16px;
  display: grid;
  place-content: center;
  width: 220px;
  min-height: 220px;
  border: 8px solid var(--text);
  background: #fff;
  color: var(--text);
  overflow-wrap: anywhere;
  padding: 14px;
  font-size: 13px;
}
.alert {
  border: 1px solid #fedf89;
  background: #fffaeb;
  color: var(--warning);
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
}
.success {
  border: 1px solid #a6f4c5;
  background: #ecfdf3;
  color: #027a48;
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
}
.notice {
  border: 1px solid #a6f4c5;
  background: #ecfdf3;
  color: #027a48;
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
}
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 12px; border-bottom: 1px solid var(--line); }
.image-upload-field {
  display: grid;
  gap: 10px;
}
.upload-dropzone {
  position: relative;
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 128px;
  border: 1.5px dashed var(--line);
  border-radius: 8px;
  padding: 18px;
  background: rgba(17, 106, 123, .05);
  color: var(--muted);
  text-align: center;
  cursor: pointer;
}
.upload-dropzone strong {
  color: var(--text);
}
.image-upload-field .upload-dropzone input[type="file"] {
  position: absolute;
  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  max-height: 1px !important;
  left: 50%;
  top: 50%;
  border: 0 !important;
  opacity: 0;
  padding: 0 !important;
  pointer-events: none;
}
.upload-dropzone.dragover {
  border-color: var(--primary);
  background: rgba(17, 106, 123, .12);
}
.upload-preview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
}
.upload-preview.empty {
  display: none;
}
.upload-preview img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #eef2f6;
}
.detail-preview {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.upload-preview-count,
.upload-status {
  color: var(--muted);
  font-size: 13px;
}
.upload-status.error {
  color: #b42318;
}
.advanced-settings {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, .58);
}
.advanced-settings summary {
  cursor: pointer;
  font-weight: 800;
}
.advanced-settings[open] {
  display: grid;
  gap: 14px;
}
.certificate-designer {
  display: grid;
  gap: 14px;
}
.certificate-summary-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--admin-line, var(--line));
  border-radius: 8px;
  padding: 18px;
  background: rgba(255, 255, 255, .72);
}
.certificate-summary-card h3,
.certificate-summary-card p {
  margin: 6px 0 0;
}
.certificate-summary-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.certificate-editor-modal[hidden] {
  display: none;
}
.certificate-editor-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 24px;
}
.certificate-editor-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, .72);
  backdrop-filter: blur(10px);
}
.certificate-editor-dialog {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  max-height: min(900px, calc(100vh - 48px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  background: #0f172a;
  color: #f8fafc;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .38);
}
.certificate-editor-workspace {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: min(820px, calc(100vh - 120px));
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  background: #0f172a;
  color: #f8fafc;
  box-shadow: 0 24px 80px rgba(2, 6, 23, .22);
}
.certificate-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  padding: 18px;
}
.certificate-editor-head h2,
.certificate-editor-head p {
  margin: 6px 0 0;
}
.certificate-editor-head p {
  color: #cbd5e1;
}
.certificate-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.certificate-editor-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  min-height: 0;
}
.certificate-editor-stage {
  min-width: 0;
  overflow: auto;
  padding: 20px;
}
.certificate-editor-sidebar {
  display: grid;
  align-content: start;
  gap: 14px;
  overflow: auto;
  border-left: 1px solid rgba(255, 255, 255, .1);
  padding: 18px;
  background: rgba(15, 23, 42, .92);
}
.certificate-tool-panel {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, .045);
}
.certificate-tool-panel h3,
.certificate-tool-panel p {
  margin: 0;
}
.certificate-tool-panel label {
  display: grid;
  gap: 6px;
  color: #e5e7eb;
  font-size: 13px;
  font-weight: 800;
}
.certificate-tool-panel input,
.certificate-tool-panel select,
.certificate-tool-panel textarea {
  min-height: 36px;
  width: 100%;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
  padding: 7px 9px;
  background: #111827;
  color: #f8fafc;
  font: inherit;
}
.certificate-tool-panel textarea {
  min-height: 180px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.55;
}
.certificate-tool-panel .image-upload-field {
  gap: 0;
}
.certificate-tool-panel {
  position: relative;
  overflow: hidden;
  border-color: var(--workbench-line, rgba(255, 255, 255, .14));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .072), rgba(255, 255, 255, .032));
  color: #f8fafc;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .055),
    0 16px 42px rgba(2, 6, 23, .16);
}
.certificate-tool-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, rgba(250, 215, 9, .84), rgba(0, 184, 217, .42), transparent);
  opacity: .72;
  pointer-events: none;
}
.certificate-tool-panel h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: #fff;
  font-size: 14px;
}
.certificate-tool-panel h3::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  max-width: 72px;
  background: linear-gradient(90deg, rgba(250, 215, 9, .58), transparent);
}
.certificate-tool-panel label,
.certificate-tool-panel p {
  color: #cbd5e1;
}
.certificate-tool-panel input,
.certificate-tool-panel select,
.certificate-tool-panel textarea {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(2, 6, 23, .38);
  color: #f8fafc;
}
.certificate-tool-panel input::placeholder,
.certificate-tool-panel textarea::placeholder {
  color: #64748b;
}
.certificate-tool-panel input:focus,
.certificate-tool-panel select:focus,
.certificate-tool-panel textarea:focus {
  outline: 0;
  border-color: rgba(250, 215, 9, .72);
  box-shadow: 0 0 0 4px rgba(250, 215, 9, .16);
}
.certificate-tool-panel input[type="color"] {
  padding: 4px;
  background: rgba(255, 255, 255, .08);
}
.certificate-tool-panel .button {
  min-height: 38px;
  border-radius: 6px;
}
.certificate-tool-panel .button.secondary {
  border-color: var(--workbench-line, rgba(255, 255, 255, .14));
  background: rgba(255, 255, 255, .07);
  color: #f8fafc;
}
.certificate-tool-panel .button.secondary:hover {
  border-color: rgba(250, 215, 9, .5);
  background: rgba(250, 215, 9, .1);
  color: #fde68a;
}
.certificate-tool-panel .upload-dropzone {
  min-height: 112px;
  border-color: rgba(250, 215, 9, .36);
  background:
    linear-gradient(135deg, rgba(250, 215, 9, .12), rgba(0, 184, 217, .055)),
    rgba(255, 255, 255, .045);
  color: #dbe3ef;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.certificate-tool-panel .upload-dropzone strong {
  color: #fff;
}
.certificate-tool-panel .upload-dropzone:hover,
.certificate-tool-panel .upload-dropzone.dragover {
  border-color: rgba(250, 215, 9, .82);
  background:
    linear-gradient(135deg, rgba(250, 215, 9, .18), rgba(0, 184, 217, .08)),
    rgba(255, 255, 255, .06);
  transform: translateY(-1px);
}
.certificate-tool-panel .upload-preview {
  margin-top: 10px;
}
.certificate-tool-panel .upload-preview img {
  border-color: rgba(250, 215, 9, .26);
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 12px 28px rgba(2, 6, 23, .24);
}
.certificate-preset-grid,
.certificate-field-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.certificate-workbench-library .certificate-preset-grid,
.certificate-workbench-library .certificate-field-list {
  grid-template-columns: 1fr;
}
.certificate-preset-grid button,
.certificate-field-list button {
  position: relative;
  min-height: 34px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 8px;
  padding: 10px 11px 10px 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035));
  color: #f8fafc;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.certificate-preset-grid button {
  display: grid;
  gap: 3px;
}
.certificate-preset-grid button::before,
.certificate-field-list button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--primary), var(--cyan));
  opacity: .7;
}
.certificate-preset-grid button span {
  color: #94a3b8;
  font-size: 12px;
  font-weight: 700;
}
.certificate-field-list button.is-selected,
.certificate-preset-grid button:hover,
.certificate-field-list button:hover {
  border-color: rgba(250, 215, 9, .64);
  background:
    linear-gradient(180deg, rgba(250, 215, 9, .13), rgba(255, 255, 255, .052));
  color: #fde68a;
  transform: translateY(-1px);
}
.certificate-size-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.certificate-canvas {
  position: relative;
  width: min(100%, 760px);
  min-height: 360px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(250, 215, 9, .08), transparent 34%),
    linear-gradient(180deg, #fffdf7, #f8fafc);
}
.certificate-editor-stage .certificate-canvas {
  width: 760px;
  min-height: 520px;
  margin: 0 auto;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}
.certificate-editor-stage .certificate-empty {
  color: #cbd5e1;
}
.certificate-editor-stage .certificate-empty strong {
  color: #f8fafc;
}
.certificate-canvas img {
  width: 100%;
  display: block;
  min-height: 360px;
  object-fit: contain;
}
.certificate-editor-stage .certificate-canvas img {
  min-height: 520px;
}
.certificate-canvas:not(.has-background) img {
  display: none;
}
.certificate-empty {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: center;
  place-items: center;
  gap: 8px;
  padding: 18px;
  color: var(--muted);
  text-align: center;
}
.certificate-empty strong {
  color: var(--text);
  font-size: 28px;
}
.certificate-empty span {
  max-width: 340px;
  line-height: 1.7;
}
.certificate-canvas.has-background .certificate-empty {
  display: none;
}
.certificate-field-marker {
  position: absolute;
  transform: translate(-50%, -50%);
  min-height: 30px;
  min-width: 80px;
  border: 1px dashed rgba(0, 184, 217, .68);
  border-radius: 6px;
  padding: 4px 9px;
  background: rgba(255, 255, 255, .82);
  color: #111111;
  font-weight: 800;
  cursor: grab;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .12);
  touch-action: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.certificate-field-marker.is-text {
  overflow: visible;
}
.certificate-text-content {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
}
.certificate-field-marker.is-image {
  display: grid;
  place-items: center;
  padding: 0;
  overflow: hidden;
  background:
    linear-gradient(45deg, rgba(148, 163, 184, .16) 25%, transparent 25% 75%, rgba(148, 163, 184, .16) 75%),
    linear-gradient(45deg, rgba(148, 163, 184, .16) 25%, transparent 25% 75%, rgba(148, 163, 184, .16) 75%);
  background-color: rgba(255, 255, 255, .72);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px;
}
.certificate-field-marker.is-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  pointer-events: none;
}
.certificate-image-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: #475467;
  font-size: 13px;
  font-weight: 900;
}
.certificate-field-marker.is-selected {
  border-style: solid;
  border-color: #fad709;
  background: rgba(255, 255, 255, .92);
  box-shadow:
    0 0 0 4px rgba(250, 215, 9, .2),
    0 16px 34px rgba(15, 23, 42, .16);
}
.certificate-field-marker:active,
.certificate-field-marker.is-dragging {
  cursor: grabbing;
  border-color: var(--cyan);
  box-shadow:
    0 0 0 4px rgba(0, 184, 217, .18),
    0 18px 40px rgba(15, 23, 42, .18);
}
.certificate-field-marker.is-resizing {
  cursor: nwse-resize;
}
.certificate-resize-handle {
  position: absolute;
  right: -11px;
  bottom: -11px;
  width: 24px;
  height: 24px;
  display: none;
  border: 2px solid #0f172a;
  border-radius: 7px;
  background:
    linear-gradient(135deg, var(--primary), #fff2a6);
  box-shadow:
    0 0 0 3px rgba(255, 255, 255, .72),
    0 7px 18px rgba(15, 23, 42, .28);
  cursor: nwse-resize;
  touch-action: none;
}
.certificate-resize-handle::before,
.certificate-resize-handle::after {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 8px;
  height: 2px;
  border-radius: 999px;
  background: #0f172a;
  transform: rotate(-45deg);
  transform-origin: right center;
}
.certificate-resize-handle::after {
  right: 4px;
  bottom: 9px;
  width: 5px;
}
.certificate-field-marker.is-selected .certificate-resize-handle,
.certificate-field-marker:hover .certificate-resize-handle {
  display: block;
}
.certificate-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.certificate-tools .button {
  flex: 1 1 auto;
}
.has-modal-open {
  overflow: hidden;
}
.screen { background: #101828; color: #fff; }
.screen-stage {
  min-height: 100vh;
  display: grid;
  place-content: center;
  text-align: center;
}
.screen-stage h1 { font-size: 64px; margin: 0 0 16px; }
.screen-live {
  overflow: hidden;
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(3, 7, 28, .08), rgba(2, 7, 33, .9)),
    radial-gradient(circle at 50% 79%, rgba(42, 106, 255, .85), transparent 22%),
    radial-gradient(circle at 24% 64%, rgba(56, 189, 248, .3), transparent 24%),
    radial-gradient(circle at 74% 66%, rgba(124, 58, 237, .35), transparent 25%),
    linear-gradient(105deg, transparent 0 42%, rgba(77, 136, 255, .3) 43%, transparent 45%),
    linear-gradient(255deg, transparent 0 41%, rgba(83, 159, 255, .28) 42%, transparent 44%),
    linear-gradient(145deg, #04091f 0%, #061a62 48%, #05092a 100%);
  color: #f8fafc;
  font-family: var(--font-brand);
}
.screen-dashboard {
  position: relative;
  width: 100vw;
  min-width: 1180px;
  height: 100vh;
  min-height: 680px;
  margin: 0 auto;
  padding: 24px 24px 26px;
  isolation: isolate;
}

.screen-dashboard::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    repeating-linear-gradient(103deg, transparent 0 58px, rgba(79, 172, 255, .08) 59px 60px),
    radial-gradient(ellipse at 50% 90%, rgba(120, 72, 255, .35), transparent 24%);
  content: "";
}

.screen-dashboard::after {
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 82px;
  height: 86px;
  border: 1px solid rgba(74, 144, 255, .38);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(60, 95, 255, .45), rgba(14, 25, 91, .15) 62%, transparent 70%);
  box-shadow:
    0 0 30px rgba(80, 118, 255, .56),
    inset 0 0 28px rgba(145, 93, 255, .32);
  content: "";
}

.screen-live-connection,
.screen-live-clock,
.screen-live-tabs,
.screen-live-control,
.screen-live-ticker {
  position: absolute;
}

.screen-live-connection {
  top: 26px;
  left: 24px;
  display: flex;
  min-width: 176px;
  min-height: 50px;
  align-items: center;
  gap: 13px;
  border: 1px solid rgba(62, 211, 255, .74);
  border-radius: 999px;
  padding: 0 22px;
  background: rgba(3, 12, 45, .62);
  box-shadow: inset 0 0 22px rgba(30, 107, 255, .2), 0 0 18px rgba(45, 212, 255, .18);
}

.screen-live-connection span {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 8px rgba(74, 222, 128, .14), 0 0 20px rgba(74, 222, 128, .75);
}

.screen-live-connection strong {
  margin: 0;
  color: #eaf8ff;
  font-size: 22px;
  font-weight: 900;
}

.screen-live-clock {
  top: 34px;
  right: 118px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #f8fbff;
  font-size: 20px;
  font-weight: 700;
}

.screen-live-clock span {
  position: relative;
  width: 21px;
  height: 21px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.screen-live-clock span::before,
.screen-live-clock span::after {
  position: absolute;
  left: 9px;
  top: 4px;
  width: 2px;
  height: 7px;
  border-radius: 2px;
  background: currentColor;
  content: "";
}

.screen-live-clock span::after {
  top: 9px;
  width: 6px;
  height: 2px;
}

.screen-live-title {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  color: #fff;
}

.screen-live-title p,
.screen-live-title strong,
.screen-live-title em {
  margin: 0;
}

.screen-live-title p {
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 0 16px rgba(125, 211, 252, .55);
}

.screen-live-title div {
  display: flex;
  min-height: 36px;
  align-items: center;
  gap: 15px;
  margin-top: 10px;
  color: #d9f2ff;
  font-size: 19px;
  font-weight: 800;
}

.screen-live-title div span {
  width: 49px;
  height: 13px;
  background:
    linear-gradient(90deg, transparent 0 8px, #5ee4ff 8px 16px, transparent 16px 24px, #5ee4ff 24px 36px, transparent 36px);
}

.screen-live-title em {
  color: rgba(221, 240, 255, .88);
  font-size: 13px;
  font-style: normal;
}

.screen-live-hero {
  position: absolute;
  top: 163px;
  left: 50%;
  width: min(900px, calc(100vw - 560px));
  transform: translateX(-50%);
  text-align: center;
}

.screen-live-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(54px, 5.4vw, 86px);
  font-weight: 900;
  line-height: 1.02;
  text-shadow: 0 0 26px rgba(92, 153, 255, .44);
  white-space: nowrap;
}

.screen-live-hero p {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  margin: 22px 0 0;
  color: #dfe9ff;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: .16em;
}

.screen-live-hero p::before,
.screen-live-hero p::after {
  display: block;
  width: 84px;
  height: 2px;
  background: rgba(224, 233, 255, .78);
  content: "";
}

.screen-metrics {
  position: absolute;
  top: 310px;
  left: 50%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(990px, calc(100vw - 640px));
  min-width: 760px;
  gap: 26px;
  transform: translateX(-50%);
}

.screen-metrics article {
  display: grid;
  grid-template-columns: 75px minmax(0, 1fr);
  min-height: 145px;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(148, 192, 255, .42);
  border-radius: 14px;
  padding: 23px 25px;
  background: linear-gradient(145deg, rgba(37, 99, 235, .32), rgba(13, 28, 78, .6));
  box-shadow: inset 0 0 32px rgba(69, 125, 255, .18), 0 16px 34px rgba(3, 7, 28, .28);
}

.screen-metrics i {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border-radius: 50%;
  font-style: normal;
}

.screen-metrics i.blue { background: #236dff; box-shadow: 0 0 24px rgba(35, 109, 255, .7); }
.screen-metrics i.green { background: #12bf70; box-shadow: 0 0 24px rgba(18, 191, 112, .66); }
.screen-metrics i.purple { background: #7c3aed; box-shadow: 0 0 24px rgba(124, 58, 237, .7); }

.screen-metrics svg,
.screen-live-led-overlay svg {
  display: block;
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

.screen-metrics p,
.screen-metrics span,
.screen-metrics small {
  display: block;
  margin: 0;
}

.screen-metrics p {
  color: #ecf5ff;
  font-size: 17px;
  font-weight: 800;
}

.screen-metrics span {
  margin-top: 7px;
  color: #fff;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.02;
}

.screen-metrics small {
  margin-top: 6px;
  color: #dce9ff;
  font-size: 17px;
  font-weight: 700;
}

.screen-metrics article:nth-child(3) span,
.screen-metrics article:nth-child(3) small {
  color: #55f083;
}

.screen-pending-compat {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.screen-live-stage {
  position: absolute;
  left: 22px;
  right: 320px;
  top: 476px;
  bottom: 118px;
}

.screen-live-led {
  position: absolute;
  left: 50%;
  top: 0;
  width: min(906px, calc(100vw - 630px));
  min-width: 700px;
  height: min(276px, calc(100vh - 640px));
  min-height: 220px;
  overflow: hidden;
  border: 1px solid rgba(96, 165, 250, .62);
  border-radius: 10px;
  background: linear-gradient(140deg, rgba(26, 36, 137, .94), rgba(84, 32, 180, .76));
  box-shadow: 0 0 34px rgba(50, 112, 255, .52), 0 28px 70px rgba(2, 6, 23, .5);
  transform: translateX(-50%);
}

.screen-live-led > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .82;
}

.screen-live-led-overlay {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 26px;
  padding: 20px;
  background: radial-gradient(circle at 50% 90%, rgba(91, 209, 255, .18), transparent 36%);
}

.screen-live-led-overlay > span {
  display: grid;
  width: 90px;
  height: 90px;
  place-items: center;
}

.screen-live-led-overlay svg {
  width: 90px;
  height: 90px;
}

.screen-live-led-overlay svg path:first-child {
  fill: #ffd100;
  stroke: #ffd100;
}

.screen-live-led-overlay svg path:last-child {
  stroke: #06111f;
  stroke-width: 2.5;
}

.screen-live-led-overlay strong {
  display: block;
  color: #fff;
  font-size: 58px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 0 20px rgba(147, 197, 253, .55);
}

.screen-live-led-overlay p {
  margin: 16px 0 0;
  color: #e0f2fe;
  font-size: 21px;
  font-weight: 800;
  letter-spacing: .14em;
}

.screen-empty {
  position: absolute;
  inset: auto 28px 22px;
  min-height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(96, 165, 250, .32);
  border-radius: 999px;
  background: rgba(3, 7, 28, .38);
  color: #b7d9ff;
  font-size: 16px;
  font-weight: 800;
}

.screen-empty[hidden] {
  display: none;
}

.screen-live-orbits {
  position: absolute;
  top: -12px;
  width: 230px;
  height: 360px;
  pointer-events: none;
}

.screen-live-orbits.left { left: 0; }
.screen-live-orbits.right { right: 0; }

.screen-live-orbits::before,
.screen-live-orbits::after {
  position: absolute;
  top: 10px;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(79, 172, 254, .78), transparent);
  content: "";
}

.screen-live-orbits::before { left: 42px; }
.screen-live-orbits::after { left: 148px; }

.screen-live-orbits span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  display: grid;
  width: var(--s);
  height: var(--s);
  place-items: center;
  border: 2px solid rgba(101, 190, 255, .78);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, .95) 0 18%, transparent 19%),
    linear-gradient(135deg, #173c91, #7746ef);
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 0 20px rgba(81, 156, 255, .56);
}

.screen-live-control {
  top: 281px;
  right: 20px;
  width: 288px;
  border: 1px solid rgba(111, 165, 255, .42);
  border-radius: 16px;
  padding: 23px 22px 22px;
  background: rgba(8, 17, 54, .82);
  box-shadow: inset 0 0 40px rgba(53, 88, 194, .22), 0 24px 52px rgba(2, 6, 23, .52);
  backdrop-filter: blur(14px);
}

.screen-live-control header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  padding-bottom: 15px;
  margin-bottom: 21px;
}

.screen-live-control header strong {
  font-size: 21px;
}

.screen-live-control button,
.screen-live-control select,
.screen-live-control a {
  font: inherit;
}

.screen-live-control header button {
  border: 0;
  background: transparent;
  color: #dbeafe;
  font-size: 24px;
}

.screen-live-control label {
  display: block;
  margin: 18px 0 11px;
  color: #eef6ff;
  font-size: 16px;
  font-weight: 800;
}

.screen-live-stepper {
  display: grid;
  grid-template-columns: 40px 1fr 40px 25px;
  align-items: center;
  gap: 8px;
  color: #dbeafe;
}

.screen-live-stepper button {
  display: grid;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(96, 165, 250, .26);
  border-radius: 8px;
  background: rgba(59, 130, 246, .2);
  color: #dbeafe;
}

.screen-live-stepper span {
  text-align: center;
  font-size: 18px;
  font-weight: 800;
}

.screen-live-stepper em {
  color: #c7d2fe;
  font-style: normal;
  font-size: 14px;
}

.screen-live-control input[type="range"] {
  width: 100%;
  accent-color: #8b5cf6;
}

.screen-live-control select {
  width: 100%;
  height: 44px;
  border: 1px solid rgba(148, 163, 184, .32);
  border-radius: 8px;
  padding: 0 12px;
  background: rgba(34, 55, 113, .72);
  color: #fff;
}

.screen-live-switch {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  color: #eef6ff;
  font-size: 16px;
  font-weight: 800;
}

.screen-live-switch b {
  display: flex;
  width: 56px;
  height: 31px;
  justify-content: flex-end;
  border-radius: 999px;
  padding: 3px;
  background: linear-gradient(135deg, #6d5dfc, #9a5cff);
}

.screen-live-switch b::before {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.screen-live-control > a {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 8px;
  margin-top: 18px;
  color: #f8fbff;
  font-size: 18px;
  font-weight: 900;
}

.screen-live-tabs {
  top: 106px;
  right: 40px;
  display: grid;
  gap: 18px;
}

.screen-live-tabs p {
  margin: 0;
  color: #eaf4ff;
  font-size: 18px;
  font-weight: 800;
}

.screen-live-tabs nav {
  display: flex;
  gap: 14px;
}

.screen-live-tabs a {
  display: inline-flex;
  min-width: 100px;
  min-height: 51px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(148, 163, 184, .36);
  border-radius: 10px;
  background: rgba(2, 6, 23, .34);
  color: #fff;
  font-size: 18px;
  font-weight: 800;
}

.screen-live-tabs a.active {
  border-color: rgba(167, 139, 250, .78);
  background: linear-gradient(135deg, #6d5dfc, #8b5cf6);
  box-shadow: 0 0 20px rgba(124, 58, 237, .45);
}

.screen-wall {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 14px;
}

.screen-wall > strong {
  flex: 0 0 auto;
  color: #dbeafe;
  font-weight: 900;
}

.screen-checkins {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 18px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  list-style: none;
}

.screen-checkins li {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #dbeafe;
  font-size: 14px;
}

.screen-checkins li span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffd166, #7c3aed);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.screen-checkins strong {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}

.screen-checkins em {
  color: #cbd5e1;
  font-style: normal;
}

.screen-live-ticker {
  left: 20px;
  right: 20px;
  bottom: 20px;
  display: grid;
  grid-template-columns: 230px 200px 360px minmax(0, 1fr);
  min-height: 76px;
  align-items: center;
  gap: 24px;
  border: 1px solid rgba(148, 192, 255, .42);
  border-radius: 14px;
  padding: 0 24px;
  background: rgba(5, 16, 55, .76);
  color: #f8fbff;
  box-shadow: inset 0 0 32px rgba(59, 130, 246, .12), 0 0 26px rgba(51, 117, 255, .16);
}

.screen-live-ticker > div {
  position: relative;
  color: #eaf3ff;
  font-size: 18px;
  font-weight: 700;
}

.screen-live-ticker > div + div::before {
  position: absolute;
  left: -15px;
  top: 50%;
  width: 1px;
  height: 32px;
  background: rgba(148, 163, 184, .38);
  content: "";
  transform: translateY(-50%);
}

.screen-live-ticker strong {
  color: #34e3ff;
}

.screen-live-welcome {
  display: flex;
  align-items: center;
  gap: 12px;
}

.screen-live-welcome span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  color: #e0f2fe;
  transform: rotate(180deg);
}

@media (max-width: 1100px) {
  .topbar {
    min-height: 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding: 14px 24px 12px;
  }
  .navlinks {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 4px;
    scrollbar-width: none;
  }
  .navlinks::-webkit-scrollbar { display: none; }
  .navlinks a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .page {
    padding-top: 28px;
  }
  .user-donation-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .donation-inline-form {
    grid-template-columns: 1fr;
  }
  .hero {
    min-height: 0;
  }
  .hero-home {
    grid-template-columns: 1fr;
  }
  .hero h1 {
    font-size: clamp(38px, 6vw, 58px);
    line-height: 1.06;
    max-width: 16em;
  }
  .hero-visual {
    min-height: 330px;
  }
  .product-shell { min-height: 320px; }
  .floating-chip { display: none; }
}

@media (max-width: 820px) {
  body {
    background-size: auto, 38px 38px, 38px 38px, auto;
  }
  body:has(> .app-tabbar) {
    padding-bottom: calc(var(--app-tabbar-height) + env(safe-area-inset-bottom) + 18px);
  }
  .topbar {
    position: relative;
    top: auto;
    z-index: 60;
    min-height: 0;
    align-items: center;
    flex-direction: row;
    justify-content: flex-start;
    gap: 12px;
    padding: max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
    border-bottom: 1px solid rgba(226, 232, 240, .72);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(14px);
    box-shadow: none;
  }
  .certificate-workbench-body .topbar {
    background: rgba(15, 23, 42, .94);
    backdrop-filter: blur(14px);
  }
  .brand {
    min-height: 36px;
    max-width: calc(100vw - 32px);
    overflow: hidden;
  }
  .brand > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .desktop-nav {
    display: none !important;
  }
  .app-tabbar {
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 120;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    height: calc(var(--app-tabbar-height) + env(safe-area-inset-bottom));
    min-height: calc(var(--app-tabbar-height) + env(safe-area-inset-bottom));
    justify-content: stretch;
    align-items: stretch;
    gap: 8px;
    flex-wrap: nowrap;
    overflow: hidden;
    border-top: 1px solid rgba(226, 232, 240, .9);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 24px 24px 0 0;
    padding: 7px max(12px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .97));
    box-shadow: 0 -18px 42px rgba(17, 24, 39, .16);
    backdrop-filter: blur(24px) saturate(1.16);
    -webkit-backdrop-filter: blur(24px) saturate(1.16);
    scrollbar-width: auto;
    transform: translateZ(0);
  }
  .navlinks::-webkit-scrollbar { display: none; }
  .app-tabbar a {
    position: relative;
    display: grid;
    grid-template-rows: 24px auto;
    min-width: 0;
    min-height: 58px;
    height: 100%;
    place-items: center;
    align-content: center;
    gap: 4px;
    border-radius: 18px;
    padding: 7px 8px 5px;
    color: #667085;
    font-size: 12px;
    line-height: 1.05;
    font-weight: 800;
    white-space: nowrap;
    isolation: isolate;
    transform: none;
    -webkit-tap-highlight-color: rgba(250, 215, 9, .16);
  }
  .app-tabbar a::before {
    content: "";
    position: absolute;
    inset: 5px 7px;
    z-index: -1;
    border-radius: 16px;
    opacity: 0;
    background:
      linear-gradient(180deg, rgba(250, 215, 9, .34), rgba(250, 215, 9, .14));
    box-shadow: inset 0 0 0 1px rgba(184, 153, 6, .1);
    transform: scale(.92);
    transition: opacity .2s ease, transform .2s ease;
  }
  .app-tabbar a::after {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    transform: translateY(2px);
    transition: opacity .2s ease, transform .2s ease;
  }
  .app-tabbar a span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0;
  }
  .navlinks-icon {
    display: block;
    width: 24px;
    height: 24px;
    stroke-width: 2;
  }
  .certificate-workbench-body .app-tabbar {
    background: rgba(15, 23, 42, .96);
    border-top-color: rgba(255, 255, 255, .12);
    box-shadow: 0 -16px 42px rgba(0, 0, 0, .34);
  }
  .certificate-workbench-body .app-tabbar a {
    color: #e5e7eb;
  }
  .app-tabbar a:hover {
    transform: none;
  }
  .app-tabbar a:hover::before,
  .app-tabbar a.is-active::before,
  .app-tabbar a[aria-current="page"]::before {
    opacity: 1;
    transform: scale(1);
  }
  .app-tabbar a.is-active::after,
  .app-tabbar a[aria-current="page"]::after {
    opacity: .95;
    transform: translateY(0);
  }
  .app-tabbar a.is-active,
  .app-tabbar a[aria-current="page"] {
    background: transparent;
    color: #000;
    box-shadow: none;
  }
  .app-tabbar a.is-active .navlinks-icon,
  .app-tabbar a[aria-current="page"] .navlinks-icon {
    stroke-width: 2.35;
  }
  .certificate-workbench-body .app-tabbar a.is-active,
  .certificate-workbench-body .app-tabbar a[aria-current="page"] {
    color: #fde047;
  }
  .page { padding: 28px 16px calc(var(--app-tabbar-height) + 44px + env(safe-area-inset-bottom)); }
  .hero { min-height: 0; gap: 20px; }
  .hero-home { grid-template-columns: 1fr; }
  .dynamic-hero { padding: 22px; }
  .dynamic-hero::before { inset: 0; height: auto; }
  .hero h1 { font-size: 32px; }
  .hero p { font-size: 16px; line-height: 1.7; }
  .hero-actions .button { flex: 1 1 150px; }
  .hero-visual { min-height: 318px; }
  .hero-network { display: none; }
  .product-shell { min-height: 292px; padding: 16px; gap: 10px; }
  .ops-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ops-grid article { min-height: 88px; padding: 11px; gap: 5px; }
  .ops-grid strong { font-size: 21px; }
  .ops-grid span { font-size: 12px; }
  .ops-meter { height: 9px; }
  .ops-timeline span { height: 34px; }
  .floating-chip { display: none; }
  .hero-stats { gap: 12px; }
  .hero-stats div { min-width: 0; flex: 1 1 90px; }
  .page-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
  .page-hero h1 { font-size: 30px; }
  .feature-grid { grid-template-columns: 1fr; }
  .my-hero {
    align-items: stretch;
    flex-direction: column;
    padding: 20px;
  }
  .my-user-card { align-items: flex-start; }
  .my-user-card h1 { font-size: 30px; }
  .my-hero-actions { justify-content: flex-start; }
  .my-hero-actions .button { flex: 1 1 136px; }
  .my-stats,
  .my-action-grid,
  .my-dashboard-grid.admin-two-panel {
    grid-template-columns: 1fr;
  }
  .user-donation-card {
    padding: 16px;
  }
  .user-donation-head,
  .user-donation-actions {
    grid-template-columns: 1fr;
  }
  .user-donation-head {
    display: grid;
  }
  .user-donation-amount {
    justify-items: start;
  }
  .user-donation-meta {
    grid-template-columns: 1fr;
  }
  .user-donation-action {
    padding: 14px;
  }
  .inline-actions .button,
  .donation-inline-form .button {
    width: 100%;
  }
  .checkin-filter {
    grid-template-columns: 1fr;
  }
  .auction-filter {
    grid-template-columns: 1fr;
  }
  .checkin-filter .button,
  .auction-filter .button {
    width: 100%;
  }
  .donation-amount-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .my-list article {
    align-items: flex-start;
    flex-direction: column;
  }
  .section-head, .detail-head { align-items: flex-start; flex-direction: column; }
  .two-col { grid-template-columns: 1fr; }
  .mini-meta div { flex-direction: column; }
  .mini-meta span { width: 100%; }
  .progress-card { margin-left: 34px; }
  .progress-timeline::before { left: 16px; }
  .progress-card::before { left: -27px; }
  .result-card { padding: 24px; text-align: left; }
  .data-table-card table { min-width: 680px; }
  .table-wrap { overflow-x: auto; }
  th, td { padding: 10px 8px; }
  .screen-dashboard { padding: 24px 16px 40px; }
  .screen-header { flex-direction: column; }
  .screen-header h1 { font-size: 34px; }
  .screen-status { width: 100%; }
  .screen-metrics { grid-template-columns: 1fr; }
  .screen-metrics span { font-size: 34px; }
}

@media (max-width: 390px) and (max-height: 700px) {
  .page { padding-top: 20px; }
  .hero h1 { font-size: 29px; }
  .hero-stats { gap: 8px; }
  .hero-stats strong { font-size: 21px; }
  .hero-visual { min-height: 246px; }
  .product-shell { min-height: 234px; padding: 13px; }
  .ops-grid article { min-height: 74px; padding: 9px; }
  .ops-grid strong { font-size: 18px; }
  .ops-timeline { display: none; }
}

@supports (padding: max(0px)) {
  .is-ios .button,
  .is-ios button,
  .is-ios input,
  .is-ios textarea,
  .is-ios select {
    -webkit-tap-highlight-color: rgba(250, 215, 9, .18);
  }
  .is-ios .page {
    padding-bottom: calc(var(--app-tabbar-height) + 48px + env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .ui-reveal {
    opacity: 1;
    transform: none;
  }
}

.mobile-nav-title,
.mobile-topbar-action {
  display: none;
}

body.public-h5 {
  --bg: #f6f6f6;
  --text: #111111;
  --muted: #6b7280;
  --line: #e8e8e8;
  --primary: #ffd400;
  --primary-strong: #f6c800;
  --primary-deep: #b88900;
  background: #f6f6f6;
}

.public-h5 .card,
.public-h5 .panel,
.public-h5 .form,
.public-h5 .table-wrap,
.public-h5 .page-hero,
.public-h5 .feature-card {
  border-color: rgba(17, 17, 17, .08);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 32px rgba(17, 17, 17, .07);
}

.public-h5 .button {
  min-height: 48px;
  border-radius: 12px;
  color: #111;
  box-shadow: 0 8px 18px rgba(255, 212, 0, .26);
}

.public-h5 .button.secondary,
.public-h5 .button.ghost {
  box-shadow: none;
}

.public-h5 .section-badge,
.public-h5 .pill {
  border-color: rgba(255, 212, 0, .58);
  background: rgba(255, 212, 0, .16);
  color: #8a6a00;
}

.public-h5 .media-cover,
.public-h5 .activity-cover-placeholder,
.public-h5 .auction-cover-placeholder {
  border-radius: 14px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

body.public-h5.auction-h5 {
  --auction-red: #d50924;
  --auction-red-deep: #8f0011;
  --auction-gold: #ffc83d;
  --auction-ink: #14161f;
  min-height: 100vh;
  background:
    linear-gradient(160deg, rgba(255, 255, 255, .16) 0 10%, transparent 10% 100%),
    linear-gradient(180deg, #f12137 0%, var(--auction-red) 42%, var(--auction-red-deep) 100%);
}

.auction-h5 .topbar,
.auction-h5 .app-tabbar {
  display: none;
}

.auction-catalog-page {
  width: min(100%, 430px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 20px 14px 42px;
  color: var(--auction-ink);
  overflow: hidden;
}

.auction-catalog-shell {
  position: relative;
  display: grid;
  gap: 14px;
  min-height: calc(100vh - 40px);
}

.auction-catalog-shell::before {
  content: "";
  position: absolute;
  left: -14px;
  right: -14px;
  top: 110px;
  height: 160px;
  opacity: .2;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 6%, rgba(255,255,255,.7) 6% 7%, transparent 7% 16%, rgba(255,255,255,.5) 16% 17%, transparent 17% 27%, rgba(255,255,255,.55) 27% 28%, transparent 28% 68%, rgba(255,255,255,.5) 68% 69%, transparent 69% 80%, rgba(255,255,255,.6) 80% 81%, transparent 81%),
    linear-gradient(0deg, rgba(255,255,255,.5), transparent 62%);
  clip-path: polygon(0 76%, 6% 76%, 6% 48%, 12% 48%, 12% 74%, 20% 74%, 20% 36%, 28% 36%, 28% 72%, 38% 72%, 38% 50%, 48% 50%, 48% 73%, 58% 73%, 58% 42%, 67% 42%, 67% 72%, 76% 72%, 76% 54%, 86% 54%, 86% 74%, 94% 74%, 94% 46%, 100% 46%, 100% 100%, 0 100%);
}

.auction-catalog-topbar {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  color: #fff;
}

.auction-catalog-topbar h1 {
  justify-self: center;
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: 0;
}

.auction-catalog-back,
.auction-live-pill,
.auction-catalog-search button,
.auction-gallery-arrow,
.auction-favorite-button {
  display: grid;
  place-items: center;
}

.auction-catalog-back {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 50%;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  text-decoration: none;
}

.auction-live-pill {
  min-height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  color: #d50924;
  font-size: 12px;
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(117, 0, 17, .16);
}

.auction-catalog-search {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  gap: 10px;
  margin: 2px 0 0;
}

.auction-catalog-search input {
  width: 100%;
  min-width: 0;
  height: 48px;
  border: 0;
  border-radius: 16px;
  padding: 0 16px;
  background: rgba(255, 255, 255, .96);
  color: #111827;
  font-size: 15px;
  font-weight: 750;
  box-shadow: 0 12px 26px rgba(117, 0, 17, .13);
}

.auction-catalog-search input::placeholder {
  color: #9ca3af;
}

.auction-catalog-search button {
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  color: #d50924;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(117, 0, 17, .13);
}

.auction-catalog-chips {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 9px;
  margin: 0 -14px;
  padding: 0 14px 2px;
  overflow-x: auto;
  scrollbar-width: none;
}

.auction-catalog-chips::-webkit-scrollbar {
  display: none;
}

.auction-catalog-chips a {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .36);
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .92);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.auction-catalog-chips a.is-active {
  border-color: #fff;
  background: #fff;
  color: #d50924;
  box-shadow: 0 10px 22px rgba(117, 0, 17, .16);
}

.auction-catalog-feature,
.auction-catalog-empty,
.auction-list-section {
  position: relative;
  z-index: 1;
  border-radius: 22px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 22px 48px rgba(90, 0, 14, .24);
}

.auction-catalog-feature {
  display: grid;
  gap: 11px;
  padding: 12px;
}

.auction-gallery-frame {
  position: relative;
  aspect-ratio: 1.16;
  min-height: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #f4f1ec;
}

.auction-gallery-frame img,
.auction-gallery-placeholder {
  width: 100%;
  height: 100%;
}

.auction-gallery-frame img {
  display: block;
  object-fit: cover;
}

.auction-gallery-placeholder {
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .82);
  font-size: 30px;
  font-weight: 950;
  background: linear-gradient(135deg, #111827, #4b5563);
}

.auction-gallery-count {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  min-width: 54px;
  height: 28px;
  border-radius: 999px;
  background: rgba(17, 24, 39, .78);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}

.auction-gallery-arrow {
  position: absolute;
  top: 50%;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: #d50924;
  text-decoration: none;
  transform: translateY(-50%);
  box-shadow: 0 10px 18px rgba(17, 24, 39, .18);
}

.auction-gallery-arrow.left {
  left: 12px;
}

.auction-gallery-arrow.right {
  right: 12px;
}

.auction-lot-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 12px;
  align-items: start;
}

.auction-lot-heading span {
  display: inline-grid;
  place-items: center;
  min-height: 24px;
  margin-bottom: 7px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(213, 9, 36, .08);
  color: #d50924;
  font-size: 12px;
  font-weight: 900;
}

.auction-lot-heading h2 {
  margin: 0;
  color: #111827;
  font-size: 23px;
  line-height: 1.18;
  font-weight: 950;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.auction-favorite-button {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(213, 9, 36, .12);
  border-radius: 50%;
  background: #fff5f6;
  color: #d50924;
  cursor: pointer;
}

.auction-lot-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.auction-lot-meta span {
  display: grid;
  place-items: center;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 999px;
  background: #f8fafc;
  color: #4b5563;
  font-size: 13px;
  font-weight: 900;
}

.auction-lot-meta span:first-child {
  border-color: rgba(213, 9, 36, .2);
  background: rgba(213, 9, 36, .08);
  color: #d50924;
}

.auction-price-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  border: 1px solid rgba(213, 9, 36, .14);
  border-radius: 16px;
  padding: 8px;
  background: linear-gradient(135deg, #fff7f7, #fff);
}

.auction-price-panel div {
  min-width: 0;
  border-radius: 12px;
  padding: 8px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .05);
}

.auction-price-panel span,
.auction-price-panel strong {
  display: block;
}

.auction-price-panel span {
  color: #7a818f;
  font-size: 12px;
  font-weight: 850;
}

.auction-price-panel strong {
  margin-top: 4px;
  color: #111827;
  font-size: 17px;
  line-height: 1.08;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.auction-price-panel div:first-child strong {
  color: #d50924;
  font-size: 22px;
}

.auction-catalog-description {
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 700;
}

.auction-catalog-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.auction-catalog-actions .button {
  min-height: 42px;
  border-radius: 13px;
  font-size: 15px;
  font-weight: 950;
}

.auction-catalog-actions .button:not(.secondary) {
  background: #d50924;
  color: #fff;
  box-shadow: 0 14px 24px rgba(213, 9, 36, .22);
}

.auction-catalog-empty {
  display: grid;
  place-items: center;
  min-height: 240px;
  padding: 28px 18px;
  text-align: center;
}

.auction-catalog-empty strong {
  color: #111827;
  font-size: 20px;
  font-weight: 950;
}

.auction-catalog-empty p {
  margin: 8px 0 0;
  color: #667085;
  font-weight: 800;
}

.auction-list-section {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding: 14px;
}

.auction-catalog-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.auction-catalog-stats article {
  min-width: 0;
  border-radius: 14px;
  padding: 12px 8px;
  background: #f8fafc;
  text-align: center;
}

.auction-catalog-stats span,
.auction-catalog-stats p {
  display: block;
  margin: 0;
}

.auction-catalog-stats span {
  color: #d50924;
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
}

.auction-catalog-stats p {
  margin-top: 6px;
  color: #667085;
  font-size: 12px;
  font-weight: 850;
}

.auction-catalog-back svg,
.auction-catalog-search svg,
.auction-gallery-arrow svg,
.auction-favorite-button svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auction-favorite-button svg {
  fill: rgba(213, 9, 36, .12);
}

body.public-h5.auction-detail-h5 {
  min-height: 100vh;
  background: #f3f4f6;
  color: #111827;
}

.auction-detail-h5 .topbar,
.auction-detail-h5 .app-tabbar {
  display: none;
}

.auction-gallery-link,
.auction-detail-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.auction-gallery-link {
  width: 100%;
  height: 100%;
}

.auction-detail-page {
  width: min(100%, 430px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 18px 14px 126px;
  background: #fff;
  color: #111827;
}

.auction-detail-topbar {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  margin-bottom: 14px;
}

.auction-detail-topbar h1 {
  margin: 0;
  font-size: 27px;
  line-height: 1.1;
  font-weight: 950;
  text-align: center;
  letter-spacing: 0;
}

.auction-detail-icon-button,
.auction-detail-arrow,
.auction-detail-like {
  display: grid;
  place-items: center;
}

.auction-detail-icon-button {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #111827;
  text-decoration: none;
  cursor: pointer;
}

.auction-detail-gallery {
  margin: 0;
}

.auction-detail-media {
  position: relative;
  aspect-ratio: 1.42;
  overflow: hidden;
  border-radius: 9px;
  background: #20232a;
  box-shadow: 0 14px 30px rgba(17, 24, 39, .16);
}

.auction-detail-media img,
.auction-detail-placeholder {
  width: 100%;
  height: 100%;
}

.auction-detail-media img {
  display: block;
  object-fit: cover;
}

.auction-detail-placeholder {
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .82);
  font-size: 30px;
  font-weight: 950;
  background: linear-gradient(135deg, #111827, #3f4653);
}

.auction-detail-status {
  position: absolute;
  top: 18px;
  left: 18px;
  display: inline-grid;
  grid-template-columns: 20px auto;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  padding: 0 15px;
  border-radius: 999px;
  background: #ef0015;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
  box-shadow: 0 12px 22px rgba(239, 0, 21, .28);
}

.auction-detail-arrow {
  position: absolute;
  top: 50%;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .54);
  color: #fff;
  text-decoration: none;
  transform: translateY(-50%);
}

.auction-detail-arrow.left {
  left: 18px;
}

.auction-detail-arrow.right {
  right: 18px;
}

.auction-detail-dots {
  position: absolute;
  left: 50%;
  bottom: 18px;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
}

.auction-detail-dots span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .82);
}

.auction-detail-dots span.is-active {
  background: #ef0015;
}

.auction-detail-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 20px;
}

.auction-detail-title-row h2 {
  margin: 0;
  color: #111827;
  font-size: 27px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.auction-detail-like {
  grid-template-columns: 25px auto;
  gap: 5px;
  min-height: 42px;
  border: 0;
  background: transparent;
  color: #7b808a;
  cursor: pointer;
  font-size: 17px;
  font-weight: 850;
  white-space: nowrap;
}

.auction-detail-price-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.auction-detail-price-grid article {
  min-height: 132px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 18px 15px;
  background: #fff;
}

.auction-detail-price-grid article.current {
  border-color: rgba(239, 0, 21, .24);
  background: linear-gradient(135deg, #fff1f2, #fff);
}

.auction-detail-price-grid span,
.auction-detail-price-grid strong,
.auction-detail-price-grid em {
  display: block;
}

.auction-detail-price-grid span {
  color: #6b7280;
  font-size: 16px;
  font-weight: 850;
}

.auction-detail-price-grid strong {
  margin-top: 14px;
  color: #111827;
  font-size: 29px;
  line-height: 1;
  font-weight: 950;
}

.auction-detail-price-grid article.current span,
.auction-detail-price-grid article.current strong {
  color: #ef0015;
}

.auction-detail-price-grid em {
  margin-top: 12px;
  color: #7b808a;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
}

.auction-detail-card {
  margin-top: 18px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 8px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .07);
}

.auction-detail-card h3 {
  display: grid;
  grid-template-columns: 5px auto;
  gap: 10px;
  align-items: center;
  margin: 0 0 16px;
  color: #111827;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: 0;
}

.auction-detail-card h3::before {
  content: "";
  width: 5px;
  height: 24px;
  border-radius: 999px;
  background: #ef0015;
}

.auction-detail-info-list {
  display: grid;
  gap: 17px;
  margin: 0;
}

.auction-detail-info-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.auction-detail-info-list dt,
.auction-detail-info-list dd {
  margin: 0;
  min-width: 0;
  font-size: 16px;
  font-weight: 850;
}

.auction-detail-info-list dt {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  color: #6b7280;
}

.auction-detail-info-list dd {
  color: #303541;
  text-align: right;
  overflow-wrap: anywhere;
}

.auction-detail-info-list dd.highlight {
  color: #ef0015;
}

.auction-detail-info-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff1f2;
  color: #ef0015;
}

.auction-detail-info-icon.tag::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 4px 4px 4px 0;
  transform: rotate(45deg);
}

.auction-detail-info-icon.tag::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 10px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
}

.auction-detail-info-icon.grid::before {
  content: "";
  width: 15px;
  height: 15px;
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 6px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 9px 0 / 6px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 0 9px / 6px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 9px 9px / 6px 6px no-repeat;
  border-radius: 3px;
}

.auction-detail-info-icon.shield::before {
  content: "";
  width: 15px;
  height: 17px;
  border: 2px solid currentColor;
  border-radius: 8px 8px 10px 10px;
  clip-path: polygon(50% 0, 100% 20%, 88% 100%, 50% 86%, 12% 100%, 0 20%);
}

.auction-detail-card p,
.auction-detail-notice ol {
  margin: 0;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 700;
}

.auction-detail-notice ol {
  padding-left: 22px;
}

.auction-detail-notice li + li {
  margin-top: 7px;
}

.auction-detail-bidbar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: 74px 98px minmax(0, 1fr);
  align-items: center;
  gap: 0;
  width: min(100%, 430px);
  min-height: calc(82px + env(safe-area-inset-bottom));
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -10px 24px rgba(17, 24, 39, .08);
  transform: translateX(-50%);
}

.auction-detail-bidbar a,
.auction-detail-bidbar button {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 58px;
  border: 0;
  background: transparent;
  color: #4b5563;
  text-decoration: none;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
}

.auction-detail-bidbar a + a {
  border-left: 1px solid #e5e7eb;
}

.auction-detail-bidbar button {
  border-radius: 10px;
  background: linear-gradient(135deg, #ef0015, #d90012);
  color: #fff;
  box-shadow: 0 13px 24px rgba(239, 0, 21, .22);
}

.auction-detail-bidbar button strong,
.auction-detail-bidbar button span {
  display: block;
}

.auction-detail-bidbar button strong {
  font-size: 22px;
  line-height: 1.1;
  font-weight: 950;
}

.auction-detail-bidbar button span {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 800;
}

.auction-detail-support-icon,
.auction-detail-record-icon {
  position: relative;
  width: 25px;
  height: 25px;
  margin-bottom: 5px;
}

.auction-detail-support-icon {
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 14px 14px 4px 4px;
}

.auction-detail-support-icon::before,
.auction-detail-support-icon::after {
  content: "";
  position: absolute;
  bottom: -5px;
  width: 5px;
  height: 11px;
  border: 2px solid currentColor;
  border-radius: 5px;
  background: #fff;
}

.auction-detail-support-icon::before {
  left: -3px;
}

.auction-detail-support-icon::after {
  right: -3px;
}

.auction-detail-record-icon {
  border: 2px solid currentColor;
  border-radius: 4px;
}

.auction-detail-record-icon::before {
  content: "";
  position: absolute;
  left: 5px;
  right: 5px;
  top: 7px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 6px 0 currentColor;
}

.auction-detail-record-icon::after {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -5px;
  width: 12px;
  height: 12px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: #fff;
}

.auction-detail-icon-button svg,
.auction-detail-status svg,
.auction-detail-arrow svg,
.auction-detail-like svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auction-detail-like svg {
  fill: rgba(123, 128, 138, .08);
}

body.checkin-entry-h5 {
  --checkin-red: #d50924;
  --checkin-red-deep: #970014;
  --checkin-green: #19c463;
  --checkin-green-deep: #06933f;
  --checkin-gold: #ffe557;
  min-height: 100vh;
  color: #fff;
  background:
    radial-gradient(circle at 18% 8%, rgba(255, 112, 122, .68), transparent 24%),
    radial-gradient(circle at 82% 9%, rgba(255, 112, 122, .58), transparent 22%),
    radial-gradient(circle at 50% 44%, rgba(255, 42, 60, .72), transparent 38%),
    linear-gradient(180deg, #f01932 0%, var(--checkin-red) 46%, var(--checkin-red-deep) 100%);
}

.checkin-entry-h5 .topbar,
.checkin-entry-h5 .app-tabbar {
  display: none;
}

.checkin-entry-page {
  position: relative;
  z-index: 0;
  width: min(100%, 430px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 38px 18px 44px;
  overflow: hidden;
}

.checkin-entry-page::before,
.checkin-entry-page::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  pointer-events: none;
  z-index: -1;
}

.checkin-entry-page::before {
  top: 188px;
  height: 210px;
  opacity: .46;
  background:
    linear-gradient(90deg, transparent 0 6%, rgba(255,255,255,.28) 6% 7%, transparent 7% 14%, rgba(255,255,255,.18) 14% 15%, transparent 15% 21%, rgba(255,255,255,.24) 21% 22%, transparent 22% 64%, rgba(255,255,255,.2) 64% 65%, transparent 65% 74%, rgba(255,255,255,.25) 74% 75%, transparent 75%),
    linear-gradient(0deg, rgba(255,255,255,.22), rgba(255,255,255,0) 54%);
  clip-path: polygon(0 58%, 4% 54%, 4% 40%, 9% 40%, 9% 62%, 13% 62%, 13% 34%, 18% 34%, 18% 60%, 23% 60%, 23% 46%, 29% 46%, 29% 63%, 36% 63%, 36% 38%, 41% 38%, 41% 60%, 48% 60%, 48% 48%, 54% 48%, 54% 64%, 61% 64%, 61% 37%, 67% 37%, 67% 58%, 74% 58%, 74% 43%, 80% 43%, 80% 60%, 87% 60%, 87% 35%, 93% 35%, 93% 58%, 100% 58%, 100% 100%, 0 100%);
}

.checkin-entry-page::after {
  top: 344px;
  height: 190px;
  opacity: .38;
  background:
    repeating-radial-gradient(ellipse at 50% 100%, transparent 0 18px, rgba(255,255,255,.2) 19px 20px, transparent 21px 42px),
    radial-gradient(circle at 2% 58%, #fff 0 5px, transparent 6px),
    radial-gradient(circle at 98% 58%, #fff 0 5px, transparent 6px),
    linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
}

.checkin-entry-hero {
  text-align: center;
}

.checkin-entry-welcome,
.checkin-entry-footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, .9);
}

.checkin-entry-welcome span,
.checkin-entry-footer span {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72));
}

.checkin-entry-welcome span:last-child,
.checkin-entry-footer span:last-child {
  background: linear-gradient(90deg, rgba(255, 255, 255, .72), transparent);
}

.checkin-entry-welcome b {
  position: relative;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: 0;
}

.checkin-entry-welcome b::before,
.checkin-entry-welcome b::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  background: rgba(255, 214, 221, .9);
  transform: translateY(-50%) rotate(45deg);
}

.checkin-entry-welcome b::before {
  left: -24px;
}

.checkin-entry-welcome b::after {
  right: -24px;
}

.checkin-entry-hero h1 {
  margin: 24px 0 16px;
  color: #fff;
  font-size: 35px;
  line-height: 1.18;
  font-weight: 950;
  letter-spacing: 0;
  text-shadow: 0 6px 18px rgba(132, 0, 12, .26);
}

.checkin-entry-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 190px;
  margin: 0 auto 22px;
}

.checkin-entry-brand::before,
.checkin-entry-brand::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .38));
}

.checkin-entry-brand::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, .38), transparent);
}

.checkin-entry-brand span {
  position: relative;
  width: 44px;
  height: 44px;
  border: 3px solid rgba(255, 255, 255, .42);
  border-radius: 15px;
  transform: rotate(30deg);
}

.checkin-entry-brand span::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 3px solid rgba(255, 255, 255, .62);
  border-top: 0;
  border-radius: 0 0 12px 12px;
}

.checkin-entry-card {
  position: relative;
  display: grid;
  gap: 14px;
  margin-top: 8px;
  padding: 30px 24px 22px;
  border: 2px solid rgba(255, 255, 255, .64);
  border-radius: 26px;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.78), rgba(255,255,255,.28) 32%, rgba(255, 222, 228, .7) 100%);
  box-shadow: inset 0 1px 24px rgba(255,255,255,.28), 0 18px 44px rgba(94, 0, 15, .24);
  color: #111827;
  text-align: center;
}

.checkin-entry-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(ellipse at 50% 42%, transparent 0 44%, rgba(255,255,255,.22) 45% 46%, transparent 47%),
    linear-gradient(115deg, rgba(255,255,255,.42), transparent 42%, rgba(255,255,255,.28));
  pointer-events: none;
}

.checkin-entry-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  margin: 0 auto 2px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 0 0 15px rgba(255, 255, 255, .34), 0 18px 32px rgba(0, 0, 0, .08);
}

.checkin-entry-icon::before {
  content: "";
  position: absolute;
  inset: -22px;
  border: 4px solid rgba(255, 255, 255, .46);
  border-radius: 50%;
}

.checkin-entry-icon span {
  position: relative;
  width: 68px;
  height: 68px;
  border-radius: 14px;
  background: linear-gradient(135deg, #4bdd8c, #14b95d);
  box-shadow: 0 14px 24px rgba(10, 164, 83, .28);
}

.checkin-entry-icon span::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 21px;
  width: 31px;
  height: 18px;
  border-left: 6px solid #fff;
  border-bottom: 6px solid #fff;
  border-radius: 3px;
  transform: rotate(-45deg);
}

.checkin-entry-icon span::after {
  content: "";
  position: absolute;
  inset: -20px;
  border: 4px solid #20b767;
  border-radius: 18px;
  clip-path: polygon(0 0, 26% 0, 26% 16%, 14% 16%, 14% 32%, 0 32%, 0 0, 74% 0, 100% 0, 100% 32%, 86% 32%, 86% 16%, 74% 16%, 74% 0, 0 68%, 14% 68%, 14% 84%, 26% 84%, 26% 100%, 0 100%, 0 68%, 74% 100%, 74% 84%, 86% 84%, 86% 68%, 100% 68%, 100% 100%, 74% 100%);
}

.checkin-entry-card h2 {
  position: relative;
  z-index: 1;
  margin: 8px 0 0;
  color: #111;
  font-size: 28px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: 0;
}

.checkin-entry-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.58;
  font-weight: 600;
}

.checkin-entry-error,
.checkin-entry-success {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 16px;
  font-weight: 800;
}

.checkin-entry-error {
  border: 1px solid rgba(220, 38, 38, .22);
  background: rgba(254, 226, 226, .9);
  color: #b91c1c;
}

.checkin-entry-success {
  border: 1px solid rgba(34, 197, 94, .22);
  background: rgba(220, 252, 231, .9);
  color: #15803d;
}

.checkin-entry-success span {
  color: #166534;
  font-size: 13px;
}

.checkin-entry-form {
  position: relative;
  z-index: 1;
  margin: 0;
}

.checkin-entry-submit {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  width: 100%;
  min-height: 76px;
  padding: 0 24px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(135deg, #34d77c, #00a84a);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 18px 28px rgba(5, 137, 63, .3), inset 0 1px 0 rgba(255,255,255,.35);
}

.checkin-entry-submit:disabled {
  cursor: not-allowed;
  opacity: .66;
}

.checkin-entry-submit span {
  font-size: 34px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .12);
}

.checkin-entry-submit b {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 4px solid rgba(255,255,255,.9);
  border-radius: 50%;
  font-size: 43px;
  line-height: 34px;
  font-family: Arial, sans-serif;
  font-weight: 400;
}

.checkin-entry-status {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 48px;
  border-radius: 17px;
  background: rgba(255, 255, 255, .86);
  color: #5f6673;
  font-size: 18px;
  font-weight: 700;
}

.checkin-entry-status i {
  width: 26px;
  height: 26px;
  border: 4px solid rgba(25, 196, 99, .2);
  border-top-color: var(--checkin-green);
  border-radius: 50%;
}

.checkin-seat-link,
.checkin-return-link {
  display: grid;
  align-items: center;
  width: 100%;
  text-decoration: none;
}

.checkin-seat-link {
  grid-template-columns: 54px 1fr auto 20px;
  gap: 14px;
  min-height: 76px;
  margin-top: 22px;
  padding: 0 22px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 18px;
  background: rgba(255, 255, 255, .94);
  color: #111827;
  box-shadow: 0 12px 28px rgba(95, 0, 15, .16);
}

.checkin-seat-link strong,
.checkin-return-link strong {
  font-size: 23px;
  line-height: 1.1;
  font-weight: 950;
}

.checkin-seat-link em {
  color: #6b7280;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
}

.checkin-seat-link b {
  color: #8a8f99;
  font-size: 40px;
  font-family: Arial, sans-serif;
  font-weight: 400;
}

.checkin-seat-icon {
  position: relative;
  width: 42px;
  height: 42px;
  border: 4px solid #d51a34;
  border-top: 0;
  border-radius: 8px 8px 14px 14px;
}

.checkin-seat-icon::before,
.checkin-seat-icon::after {
  content: "";
  position: absolute;
  bottom: -8px;
  width: 4px;
  height: 12px;
  border-radius: 999px;
  background: #d51a34;
}

.checkin-seat-icon::before {
  left: 7px;
}

.checkin-seat-icon::after {
  right: 7px;
}

.checkin-return-link {
  grid-template-columns: 58px 1fr;
  gap: 12px;
  min-height: 72px;
  margin-top: 18px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 16px;
  background: rgba(180, 0, 24, .2);
  color: var(--checkin-gold);
}

.checkin-return-link span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 4px solid var(--checkin-gold);
  border-radius: 50%;
  font-size: 38px;
  font-family: Arial, sans-serif;
  line-height: 26px;
}

.checkin-entry-footer {
  margin-top: 26px;
  padding: 0 2px;
  color: rgba(255, 255, 255, .95);
}

.checkin-entry-footer b {
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}

.checkin-success-page {
  padding: 24px 14px 44px;
}

.checkin-success-page::before {
  top: 324px;
  opacity: .2;
}

.checkin-success-page::after {
  top: 390px;
  opacity: .18;
}

.checkin-success-back {
  position: absolute;
  top: 34px;
  left: 18px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: rgba(255, 255, 255, .86);
  font: 42px/1 Arial, sans-serif;
  text-decoration: none;
}

.checkin-success-hero {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  padding: 18px 38px 0;
  text-align: center;
}

.checkin-success-hero h1 {
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 31px;
  line-height: 1.14;
  font-weight: 950;
  letter-spacing: 0;
}

.checkin-success-hero p {
  margin: 0;
  color: rgba(255, 255, 255, .55);
  font-size: 19px;
  font-weight: 800;
}

.checkin-success-mode {
  position: relative;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 118px;
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 18px;
  background: rgba(102, 0, 0, .22);
  color: rgba(255, 255, 255, .55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.checkin-success-mode-icon {
  position: relative;
  width: 40px;
  height: 40px;
  border: 4px solid rgba(255, 255, 255, .48);
  border-radius: 10px;
  clip-path: polygon(0 0, 36% 0, 36% 16%, 16% 16%, 16% 36%, 0 36%, 0 0, 64% 0, 100% 0, 100% 36%, 84% 36%, 84% 16%, 64% 16%, 64% 0, 0 64%, 16% 64%, 16% 84%, 36% 84%, 36% 100%, 0 100%, 0 64%, 64% 100%, 64% 84%, 84% 84%, 84% 64%, 100% 64%, 100% 100%, 64% 100%);
}

.checkin-success-mode strong,
.checkin-success-mode span {
  display: block;
}

.checkin-success-mode strong {
  font-size: 20px;
  font-weight: 950;
}

.checkin-success-mode span {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}

.checkin-success-mode a {
  display: grid;
  place-items: center;
  min-height: 40px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 10px;
  padding: 0 12px;
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.checkin-success-panel {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 8px;
  margin: -46px 14px 0;
  padding: 14px 16px;
  border-radius: 20px;
  background: #fff;
  color: #111827;
  box-shadow: 0 24px 54px rgba(64, 0, 12, .28);
}

.checkin-success-check {
  position: relative;
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  margin: 0 auto;
  border-radius: 50%;
  background: rgba(34, 197, 94, .12);
}

.checkin-success-check::before,
.checkin-success-check::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: rgba(34, 197, 94, .62);
  transform: rotate(45deg);
}

.checkin-success-check::before {
  left: -12px;
  top: 38px;
  box-shadow: -14px 0 0 -2px rgba(34, 197, 94, .62), 250px -4px 0 -1px rgba(34, 197, 94, .62);
}

.checkin-success-check::after {
  right: -14px;
  top: 36px;
  box-shadow: 14px 18px 0 -3px rgba(34, 197, 94, .62), -258px 18px 0 -3px rgba(34, 197, 94, .62);
}

.checkin-success-check span {
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #52df79, #11b82f);
  box-shadow: 0 14px 24px rgba(17, 184, 47, .25);
}

.checkin-success-check span::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 16px;
  width: 23px;
  height: 14px;
  border-left: 5px solid #fff;
  border-bottom: 5px solid #fff;
  border-radius: 3px;
  transform: rotate(-45deg);
}

.checkin-success-panel h2 {
  margin: 0;
  color: #09951f;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 950;
  text-align: center;
}

.checkin-success-copy {
  margin: -4px 0 4px;
  color: #667085;
  font-size: 16px;
  font-weight: 800;
  text-align: center;
}

.checkin-success-copy::after {
  content: "";
  display: block;
  width: 100%;
  margin-top: 10px;
  border-top: 1px dashed #d9dde5;
}

.checkin-success-guest {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 66px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
}

.checkin-success-avatar {
  position: relative;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #ffd9dc;
  overflow: hidden;
}

.checkin-success-avatar::before,
.checkin-success-avatar::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: #ef4444;
}

.checkin-success-avatar::before {
  top: 13px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

.checkin-success-avatar::after {
  bottom: -10px;
  width: 46px;
  height: 27px;
  border-radius: 50% 50% 0 0;
}

.checkin-success-guest strong {
  display: block;
  margin-bottom: 6px;
  color: #111827;
  font-size: 19px;
  line-height: 1.1;
  font-weight: 950;
}

.checkin-success-guest dl {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 6px 8px;
  margin: 0;
  color: #667085;
}

.checkin-success-guest dt,
.checkin-success-guest dd {
  margin: 0;
  font-size: 14px;
  font-weight: 750;
}

.checkin-success-guest dt::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 6px;
  border: 2px solid currentColor;
  border-radius: 50%;
  vertical-align: -3px;
}

.checkin-success-seat-card {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  border: 1px solid #ffd46a;
  border-radius: 9px;
  padding: 10px 12px;
  background: linear-gradient(135deg, #fffaf0, #fff);
}

.checkin-success-seat-icon {
  position: relative;
  justify-self: center;
  width: 36px;
  height: 36px;
  border-radius: 8px 8px 14px 14px;
  background: #ffb800;
}

.checkin-success-seat-icon::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: -8px;
  height: 6px;
  border-radius: 999px;
  background: #ffb800;
}

.checkin-success-seat-icon::after {
  content: "";
  position: absolute;
  left: 18px;
  bottom: -18px;
  width: 7px;
  height: 20px;
  border-radius: 999px;
  background: #ffb800;
}

.checkin-success-seat-data h3,
.checkin-success-seat-detail h3 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 17px;
  line-height: 1.1;
  font-weight: 950;
}

.checkin-success-seat-data dl,
.checkin-success-seat-detail dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.checkin-success-seat-data dl > div,
.checkin-success-seat-detail dl > div {
  min-width: 0;
  padding: 0 8px;
  border-left: 1px solid #e5e7eb;
}

.checkin-success-seat-data dl > div:first-child,
.checkin-success-seat-detail dl > div:first-child {
  border-left: 0;
  padding-left: 0;
}

.checkin-success-seat-data dt,
.checkin-success-seat-data dd,
.checkin-success-seat-detail dt,
.checkin-success-seat-detail dd {
  margin: 0;
}

.checkin-success-seat-data dt,
.checkin-success-seat-detail dt {
  color: #7b8190;
  font-size: 12px;
  font-weight: 850;
}

.checkin-success-seat-data dd,
.checkin-success-seat-detail dd {
  margin-top: 6px;
  color: #111827;
  font-size: 17px;
  line-height: 1.05;
  font-weight: 950;
}

.checkin-success-seat-button,
.checkin-success-close {
  display: grid;
  place-items: center;
  min-height: 42px;
  border-radius: 9px;
  text-decoration: none;
  font-weight: 950;
}

.checkin-success-seat-button {
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  background: linear-gradient(135deg, #ffc928, #ffb000);
  color: #111827;
  font-size: 18px;
}

.checkin-success-seat-button span {
  justify-self: end;
  width: 20px;
  height: 22px;
  border: 3px solid currentColor;
  border-top: 0;
  border-radius: 0 0 7px 7px;
}

.checkin-success-close {
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #6b7280;
  font-size: 17px;
}

.checkin-success-seat-detail {
  border-top: 1px solid #e5e7eb;
  padding-top: 12px;
}

.checkin-success-seat-detail dl {
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  padding: 10px;
}

.checkin-success-record-card {
  display: grid;
  gap: 12px;
  min-height: 96px;
  margin: 20px 0 0;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 13px;
  padding: 16px 18px;
  background: rgba(142, 0, 18, .25);
  color: rgba(255, 255, 255, .48);
  text-align: center;
}

.checkin-success-record-card h2,
.checkin-success-record-card p {
  margin: 0;
}

.checkin-success-record-card h2 {
  font-size: 20px;
  font-weight: 950;
}

.checkin-success-record-card h2::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 8px;
  border: 3px solid currentColor;
  border-radius: 50%;
  vertical-align: -5px;
}

.checkin-success-record-card p {
  font-size: 17px;
  font-weight: 800;
}

.checkin-roster-panel {
  display: grid;
  gap: 16px;
  margin-top: 34px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .94);
  color: #111827;
  box-shadow: 0 16px 34px rgba(69, 0, 11, .18);
}

.checkin-roster-panel .section-head {
  margin: 0;
}

.checkin-roster-panel .form,
.checkin-roster-panel .table-wrap {
  box-shadow: none;
}

.checkin-roster-stats {
  margin: 0;
}

.home-h5 .dynamic-hero {
  border-radius: 24px;
  background:
    linear-gradient(105deg, rgba(4, 4, 5, .96), rgba(16, 18, 22, .88) 56%, rgba(255, 212, 0, .72)),
    linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
    #111;
  background-size: auto, 42px 42px, auto;
}

.home-h5 .dynamic-hero h1 span {
  color: #ffd400;
  box-shadow: none;
}

.home-h5 .home-quick-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-h5 .home-quick-grid .feature-card {
  justify-items: center;
  text-align: center;
}

.home-h5 .home-quick-grid .feature-card span {
  border-radius: 14px;
  background: rgba(255, 212, 0, .14);
  color: #d6a800;
  box-shadow: inset 0 0 0 1px rgba(255, 212, 0, .45);
}

.mobile-list-controls {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.mobile-searchbar {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  border: 1px solid rgba(17, 17, 17, .09);
  border-radius: 16px;
  padding: 0 16px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 22px rgba(17, 17, 17, .045);
}

.mobile-searchbar svg,
.mobile-topbar-action svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mobile-searchbar input {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-weight: 700;
}

.mobile-searchbar input:focus {
  outline: 0;
}

.segmented-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid rgba(17, 17, 17, .08);
}

.segmented-tabs a {
  position: relative;
  min-height: 52px;
  display: grid;
  place-items: center;
  color: #333;
  font-weight: 900;
}

.segmented-tabs a::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 0;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.segmented-tabs a.is-active {
  color: #f0bc00;
}

.segmented-tabs a.is-active::after {
  background: #ffd400;
}

.detail-cover-card {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 18px 38px rgba(17, 17, 17, .12);
}

.detail-cover-card img,
.detail-cover-fallback {
  display: block;
  width: 100%;
  min-height: 320px;
}

.detail-cover-card img {
  object-fit: cover;
}

.detail-cover-overlay,
.detail-mobile-topbar {
  display: none;
}

.detail-cover-fallback {
  display: grid;
  align-content: end;
  gap: 10px;
  padding: 28px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(17, 17, 17, .08), rgba(17, 17, 17, .82)),
    linear-gradient(135deg, #4f83c4, #0f172a 70%);
}

.detail-cover-fallback strong {
  font-size: clamp(28px, 5vw, 44px);
  line-height: 1.1;
}

.detail-cover-fallback span {
  color: rgba(255, 255, 255, .86);
  font-size: 18px;
  font-weight: 800;
}

.detail-sticky-action {
  display: none;
}

.detail-organizer-strip,
.detail-info-list,
.detail-anchor-tabs,
.detail-stat-grid {
  display: none;
}

.detail-type-title-card,
.detail-type-tabs,
.detail-type-card {
  display: none;
}

.detail-type-banner {
  display: block;
  width: 100%;
  max-height: 260px;
  margin-bottom: 12px;
  border-radius: 8px;
  object-fit: cover;
}

.detail-save-button {
  display: grid;
  place-items: center;
  min-width: 64px;
  border: 0;
  background: transparent;
  color: #111;
  font: inherit;
  font-weight: 800;
}

.detail-save-button span {
  font-size: 28px;
  line-height: 1;
}

.detail-save-button small {
  font-size: 12px;
}

.donation-pay-card {
  gap: 22px;
}

.donor-ambassador-card {
  display: grid;
  gap: 16px;
  border-radius: 16px;
  padding: 22px;
  background:
    linear-gradient(135deg, rgba(255, 212, 0, .18), rgba(255, 255, 255, .94)),
    #fff;
  box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .055);
}

.donor-ambassador-card h2 {
  margin: 0;
  color: #111;
  font-size: 23px;
}

.donor-ambassador-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}

.donor-ambassador-compact {
  display: none;
}

.donor-avatar {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  flex: 0 0 auto;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 255, 255, .88) 0 16%, transparent 17%),
    linear-gradient(135deg, #ffd400, #ffe66a);
  color: #111;
  font-size: 28px;
  font-weight: 900;
}

.donor-ambassador-card span,
.donor-ambassador-card small {
  display: block;
  color: var(--muted);
}

.donor-ambassador-card strong {
  display: block;
  margin: 5px 0;
  font-size: 28px;
}

.donor-change-link {
  color: #ff1f1f;
  font-weight: 900;
  white-space: nowrap;
}
.ambassador-select-mobile {
  display: none;
}
.payment-success-hero {
  display: grid;
  justify-items: center;
  gap: 10px;
}

.payment-success-check {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: #fff;
  color: #16a34a;
  font-size: 62px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 18px 38px rgba(17, 17, 17, .12);
}

.payment-success-card {
  display: grid;
  gap: 14px;
  border-radius: 18px;
  padding: 22px;
  background: #fff;
  color: #111;
  box-shadow: 0 16px 36px rgba(17, 17, 17, .12);
}

.payment-success-card > span {
  color: #777;
  font-size: 18px;
  font-weight: 800;
}

.payment-success-card > strong {
  color: #ef1017;
  font-size: 46px;
  line-height: 1;
}

.payment-success-card dl {
  display: grid;
  margin: 0;
}

.payment-success-card dl div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 8px;
  border-top: 1px dashed rgba(17, 17, 17, .12);
  padding: 13px 0;
}

.payment-success-card dt,
.payment-success-card dd {
  margin: 0;
  color: #454545;
  font-size: 16px;
  font-weight: 750;
}

.payment-success-card dd {
  overflow-wrap: anywhere;
}

.payment-success-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.payment-success-tools a {
  display: grid;
  justify-items: center;
  gap: 10px;
  border: 1px solid rgba(17, 17, 17, .08);
  border-radius: 16px;
  padding: 20px 12px;
  background: #fff;
  color: #111;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(17, 17, 17, .08);
}

.payment-success-tools span {
  color: #ef1017;
  font-size: 34px;
  font-weight: 900;
}

.payment-success-tools strong {
  font-size: 17px;
}

.payment-success-primary {
  min-height: 58px;
  border-color: #ef1017;
  background: #ef1017;
  color: #fff;
}

.payment-security-foot {
  margin: 0;
  color: #8a8a8f;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.amount-input-wrap {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px !important;
  min-height: 72px;
  border: 1px solid rgba(17, 17, 17, .16);
  border-radius: 14px;
  padding: 0 16px;
  background: #fff;
}

.amount-input-wrap b {
  font-size: 34px;
  line-height: 1;
}

.amount-input-wrap em {
  color: #111;
  font-style: normal;
  font-weight: 900;
}

.amount-input-wrap input {
  border: 0 !important;
  box-shadow: none !important;
  font-size: 22px;
  font-weight: 900;
}

.payment-security-note {
  min-height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(22, 163, 74, .16);
  border-radius: 14px;
  background: rgba(22, 163, 74, .08);
  color: #16803a;
  font-weight: 900;
}

.payment-security-note::before {
  content: "✓";
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-right: 10px;
  border-radius: 50%;
  background: #22c55e;
  color: #fff;
}

.donation-note-field {
  position: relative;
}

.donation-note-box {
  position: relative;
  display: block;
}

.donation-note-box textarea {
  width: 100%;
  min-height: 138px;
  padding-bottom: 38px;
  resize: vertical;
}

.donation-note-box small {
  position: absolute;
  right: 16px;
  bottom: 14px;
  color: #8a8f98;
  font-size: 14px;
}

.donation-channel-chip {
  display: flex;
  align-items: center;
  min-height: 48px;
  border: 1px solid rgba(17, 17, 17, .12);
  border-radius: 12px;
  padding: 0 16px;
  background: #fff;
  color: #111;
  font-weight: 900;
}

.donation-sticky-submit {
  display: none;
}

.donation-submit-button {
  min-height: 62px;
  background: #ff1f1f;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(255, 31, 31, .22);
}

.donation-submit-button:hover {
  background: #e91515;
  color: #fff;
}

body.auth-h5,
body.public-h5.auth-h5 {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 16% 12%, rgba(255, 255, 255, .2), transparent 27%),
    radial-gradient(circle at 88% 84%, rgba(255, 255, 255, .14), transparent 30%),
    linear-gradient(135deg, #2f7df4 0%, #7441e8 100%);
  overflow-x: hidden;
}

.auth-h5 .topbar,
.auth-h5 .app-tabbar {
  display: none;
}

.auth-h5::before,
.auth-h5::after {
  content: "";
  position: fixed;
  z-index: 0;
  pointer-events: none;
}

.auth-h5::before {
  inset: auto -160px -120px auto;
  width: min(60vw, 760px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
}

.auth-h5::after {
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  background:
    repeating-linear-gradient(152deg, rgba(255, 255, 255, .1) 0 1px, transparent 1px 13px);
  opacity: .2;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.auth-h5-page {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  min-height: 100dvh;
  display: grid;
  align-content: center;
  gap: 22px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 42px) 20px;
}

.auth-logo-lockup {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #fff;
  font-size: 30px;
  font-weight: 900;
}

.auth-logo-lockup .brand-mark {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  font-size: 26px;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .12);
}

.auth-card {
  display: grid;
  justify-items: center;
  gap: 16px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 24px;
  padding: clamp(22px, 4vw, 36px);
  background: rgba(255, 255, 255, .96);
  color: #111827;
  box-shadow: 0 34px 90px rgba(15, 23, 42, .22);
}

.qr-auth-card {
  gap: 14px;
  padding: 32px 42px 24px;
}

.qr-logo-lockup {
  color: #111827;
}

.qr-auth-header {
  display: grid;
  grid-template-columns: minmax(0, 118px) auto minmax(0, 118px);
  align-items: center;
  gap: 16px;
  width: 100%;
}

.qr-auth-header span {
  height: 1px;
  background: rgba(15, 23, 42, .12);
}

.auth-card h1,
.auth-card p {
  margin: 0;
  text-align: center;
}

.auth-card h1 {
  font-size: clamp(28px, 5vw, 38px);
  line-height: 1.1;
}

.qr-auth-header h1 {
  white-space: nowrap;
}

.auth-card p {
  color: #667085;
  font-size: 17px;
}

.auth-qr-frame {
  display: grid;
  place-items: center;
  border: 1px solid rgba(47, 125, 244, .28);
  border-radius: 16px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(47, 125, 244, .12);
}

.auth-qr-code {
  position: relative;
  width: 214px;
  min-height: 214px;
  border: 0;
  margin: 0;
  color: transparent;
  background:
    linear-gradient(90deg, transparent 46%, #fff 46% 54%, transparent 54%),
    linear-gradient(0deg, transparent 46%, #fff 46% 54%, transparent 54%),
    conic-gradient(from 90deg, #111 0 25%, transparent 0 50%, #111 0 75%, transparent 0) 0 0 / 28px 28px,
    linear-gradient(#111 0 0) 18px 18px / 56px 56px no-repeat,
    linear-gradient(#111 0 0) calc(100% - 74px) 18px / 56px 56px no-repeat,
    linear-gradient(#111 0 0) 18px calc(100% - 74px) / 56px 56px no-repeat,
    #fff;
}

.auth-qr-code::before,
.auth-qr-code::after {
  content: "";
  position: absolute;
  width: 44px;
  height: 44px;
  border: 11px solid #111;
  border-radius: 2px;
  background: #fff;
  box-shadow:
    112px 0 0 -11px #fff,
    112px 0 0 0 #111,
    0 112px 0 -11px #fff,
    0 112px 0 0 #111;
  left: 18px;
  top: 18px;
}

.auth-qr-code::after {
  width: 98px;
  height: 98px;
  border: 0;
  background:
    linear-gradient(#111 0 0) 0 0 / 18px 18px no-repeat,
    linear-gradient(#111 0 0) 28px 0 / 28px 18px no-repeat,
    linear-gradient(#111 0 0) 74px 0 / 18px 18px no-repeat,
    linear-gradient(#111 0 0) 0 28px / 46px 18px no-repeat,
    linear-gradient(#111 0 0) 62px 28px / 36px 18px no-repeat,
    linear-gradient(#111 0 0) 18px 58px / 18px 18px no-repeat,
    linear-gradient(#111 0 0) 50px 58px / 48px 18px no-repeat,
    linear-gradient(#111 0 0) 0 82px / 28px 16px no-repeat,
    linear-gradient(#111 0 0) 64px 82px / 18px 16px no-repeat;
  box-shadow: none;
  left: 72px;
  top: 70px;
}

.auth-qr-code span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.auth-status-card,
.auth-step-list li,
.auth-user-strip,
.auth-confirm-copy,
.auth-result-meta {
  width: 100%;
  border: 1px solid rgba(47, 125, 244, .14);
  border-radius: 14px;
  background: rgba(47, 125, 244, .045);
}

.auth-status-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 66px;
  padding: 10px 16px;
}

.auth-status-card b {
  display: block;
  color: #2563eb;
  font-size: 17px;
}

.auth-status-card span,
.auth-card-footer span,
.auth-step-list strong,
.auth-result-meta span {
  color: #667085;
}

.auth-status-card div span {
  display: block;
  margin-top: 4px;
  text-align: center;
}

.auth-spinner {
  width: 30px;
  height: 30px;
  border: 3px solid rgba(37, 99, 235, .14);
  border-top-color: #2563eb;
  border-radius: 50%;
  animation: auth-spin .9s linear infinite;
}

@keyframes auth-spin {
  to { transform: rotate(360deg); }
}

.auth-step-list {
  display: grid;
  width: 100%;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.auth-step-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 12px;
  background: #fff;
}

.auth-step-list li .auth-step-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #eef4ff;
  color: #2563eb;
  font-size: 18px;
  font-weight: 900;
}

.auth-step-list li .phone {
  border: 2px solid #2563eb;
  background: transparent;
  color: transparent;
}

.auth-step-list li .phone::before {
  content: "";
  width: 10px;
  height: 18px;
  border: 2px solid #2563eb;
  border-radius: 3px;
}

.auth-card-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  border-top: 1px solid rgba(17, 24, 39, .09);
  padding-top: 10px;
  font-size: 14px;
}

.auth-card-footer i {
  width: 1px;
  height: 18px;
  background: rgba(17, 24, 39, .18);
}

.auth-home-link,
.auth-card-footer a,
.auth-scan-link {
  color: #2563eb;
  font-weight: 900;
}

.auth-scan-link {
  font-size: 13px;
}

.auth-icon-ring,
.auth-success-icon {
  display: grid;
  place-items: center;
  width: 168px;
  height: 168px;
  border-radius: 50%;
}

.auth-icon-ring {
  background:
    radial-gradient(circle, rgba(47, 125, 244, .14) 0 40%, transparent 41%),
    radial-gradient(circle, transparent 54%, rgba(47, 125, 244, .11) 55% 65%, transparent 66%),
    rgba(47, 125, 244, .05);
  color: #2563eb;
}

.auth-icon-ring svg,
.auth-success-icon svg,
.auth-user-avatar svg,
.auth-confirm-icon svg,
.auth-safe-note svg,
.auth-result-user svg {
  width: 58%;
  height: 58%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-success-icon {
  background:
    radial-gradient(circle, rgba(34, 197, 94, .12) 0 52%, transparent 53%),
    radial-gradient(circle, transparent 62%, rgba(34, 197, 94, .1) 63% 73%, transparent 74%),
    #22c55e;
  color: #fff;
}

.auth-success-icon svg {
  width: 58%;
  height: 58%;
  stroke-width: 2.4;
}

.authorize-card,
.auth-result-card {
  width: min(100%, 720px);
  gap: 20px;
  padding: clamp(28px, 5vw, 50px);
}

.scan-auth-h5 .auth-h5-page,
.scan-result-h5 .auth-h5-page {
  width: min(100%, 860px);
}

.authorize-heading,
.auth-result-heading {
  display: grid;
  gap: 8px;
}

.authorize-heading h1,
.auth-result-heading h1 {
  margin: 0;
  font-size: clamp(42px, 8vw, 62px);
  line-height: 1.05;
}

.auth-user-strip {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 126px;
  padding: 18px 24px;
  background: #fff;
}

.auth-user-avatar,
.auth-result-user,
.auth-confirm-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(47, 125, 244, .2), rgba(116, 65, 232, .11));
  color: #3867f4;
}

.auth-user-avatar {
  width: 104px;
  height: 104px;
}

.auth-user-strip strong,
.auth-user-strip small {
  display: block;
}

.auth-user-strip strong {
  font-size: 34px;
}

.auth-user-strip small {
  margin-top: 6px;
  color: #667085;
  font-size: 22px;
}

.auth-confirm-copy {
  display: flex;
  align-items: center;
  gap: 16px;
  border: 0;
  padding: 12px 0;
  background: transparent;
}

.auth-confirm-icon {
  width: 64px;
  height: 64px;
}

.auth-confirm-copy b {
  display: block;
  color: #111827;
  font-size: 24px;
}

.auth-confirm-copy span,
.auth-safe-note {
  color: #667085;
}

.auth-confirm-copy div span {
  display: block;
  margin-top: 8px;
  font-size: 18px;
}

.auth-action-form {
  width: 100%;
  display: grid;
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.auth-action-form .button.secondary {
  border-color: rgba(100, 116, 139, .32);
  background: #fff;
  color: #667085;
  box-shadow: none;
}

.auth-primary-action {
  width: 100%;
  min-height: 76px;
  background: linear-gradient(135deg, #2f7df4, #7441e8);
  color: #fff !important;
  box-shadow: 0 16px 30px rgba(47, 125, 244, .24);
  font-size: 28px;
}

.auth-safe-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  border-top: 1px solid rgba(17, 24, 39, .09);
  padding-top: 16px;
}

.auth-safe-note svg {
  width: 24px;
  height: 24px;
}

.auth-result-meta {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  border-width: 1px 0;
  border-radius: 0;
  padding: 22px 0;
  background: transparent;
}

.auth-result-user {
  width: 104px;
  height: 104px;
  background: rgba(34, 197, 94, .12);
  color: #16a34a;
}

.auth-result-meta dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.auth-result-meta dl > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
}

.auth-result-meta dt {
  min-width: 96px;
  color: #111827;
  font-weight: 900;
}

.auth-result-meta dd {
  margin: 0;
  color: #667085;
}

.auth-result-meta b {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid rgba(34, 197, 94, .18);
  border-radius: 8px;
  padding: 0 12px;
  background: rgba(34, 197, 94, .1);
  color: #16a34a;
}

.auth-result-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  width: 100%;
  border: 1px solid rgba(17, 24, 39, .09);
  border-radius: 14px;
  padding: 14px;
}

.auth-result-pills span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 10px;
  padding: 0 22px;
  font-weight: 900;
}

.auth-result-pills .confirmed {
  border: 1px solid rgba(34, 197, 94, .22);
  background: rgba(34, 197, 94, .1);
  color: #16a34a;
}

.auth-result-pills .cancelled {
  border: 1px solid rgba(245, 158, 11, .26);
  background: rgba(245, 158, 11, .1);
  color: #d97706;
}

.auth-result-pills .expired {
  border: 1px solid rgba(239, 68, 68, .22);
  background: rgba(239, 68, 68, .1);
  color: #ef4444;
}

.account-login-card .section-badge {
  justify-self: center;
}

body.account-login-h5 {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, .15), transparent 30%),
    radial-gradient(circle at 78% 86%, rgba(255, 255, 255, .1), transparent 34%),
    linear-gradient(135deg, #5169ff 0%, #5c5be9 44%, #7b38c9 100%);
  color: #111827;
}

body.account-login-h5::before,
body.account-login-h5::after {
  display: none;
}

.account-login-page {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 100dvh;
  place-items: center;
  padding: 64px 24px;
}

.account-login-card.auth-card {
  width: min(100%, 660px);
  justify-items: stretch;
  gap: 26px;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 18px;
  padding: 44px 42px 36px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 34px 86px rgba(15, 23, 42, .24);
}

.account-login-card h1 {
  margin: 0;
  color: #111827;
  font-size: 48px;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: 0;
  text-align: center;
}

.account-login-card > p {
  margin: -12px 0 6px;
  color: #5f6b7d;
  font-size: 22px;
  line-height: 1.45;
  text-align: center;
}

.account-login-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-height: 50px;
  overflow: hidden;
  border: 1px solid #dfe3ea;
  border-radius: 7px;
  background: #f7f8fb;
}

.account-login-tabs a {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #6e7889;
  font-size: 16px;
  font-weight: 760;
  text-decoration: none;
}

.account-login-tabs a.active {
  background: #fff;
  color: #4f62e8;
}

.account-login-tabs a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: #5869f2;
}

.account-login-tabs svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.account-login-card .alert {
  margin: -4px 0;
}

.auth-login-form {
  display: grid;
  width: 100%;
  gap: 23px;
}

.auth-login-form label {
  display: grid;
  gap: 10px;
  color: #344054;
  font-weight: 900;
}

.account-login-field {
  position: relative;
  display: grid;
  gap: 10px;
  font-size: 18px;
  line-height: 1.25;
}

.account-login-field span,
.account-login-field > label {
  color: #111827;
  font-weight: 850;
}

.account-login-field i,
.account-login-password-toggle {
  position: absolute;
  bottom: 18px;
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  color: #667085;
  font-style: normal;
}

.account-login-field i {
  left: 20px;
}

.account-login-password-toggle {
  right: 20px;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.account-login-field svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-login-form .account-login-field input {
  min-height: 62px;
  border: 1px solid #cbd2dd;
  border-radius: 7px;
  padding: 0 58px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-size: 20px;
  box-shadow: none;
}

.auth-login-form .account-login-field input::placeholder {
  color: #8b95a6;
}

.auth-login-form .account-login-field input:focus {
  outline: 0;
  border-color: #6b7cff;
  box-shadow: 0 0 0 4px rgba(81, 105, 255, .14);
}

.auth-login-form .account-login-field:first-of-type input {
  padding-right: 18px;
}

.account-login-remember {
  display: inline-flex !important;
  grid-template-columns: none;
  width: fit-content;
  align-items: center;
  gap: 12px !important;
  margin-top: -4px;
  color: #111827;
  font-size: 19px;
  font-weight: 800;
}

.account-login-remember input {
  width: 25px;
  height: 25px;
  min-height: 0;
  margin: 0;
  accent-color: #5b6bff;
}

.account-login-card .auth-primary-action {
  min-height: 60px;
  border-radius: 7px;
  background: linear-gradient(135deg, #4f73ff 0%, #8538d4 100%);
  font-size: 25px;
  font-weight: 950;
  box-shadow: 0 16px 28px rgba(79, 115, 255, .24);
}

.account-login-links {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  color: #4b5563;
  font-size: 18px;
  line-height: 1.3;
  white-space: nowrap;
}

.account-login-links a {
  color: #1d4cff;
  font-weight: 850;
  text-decoration: none;
}

.account-register-card.auth-card {
  margin-block: 24px;
}

.account-register-card .account-login-field input {
  padding-inline: 18px;
}

.account-register-card .account-login-field:has(.account-login-password-toggle) input {
  padding-right: 58px;
}

.account-register-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-size: 17px;
}

.account-register-links a {
  color: #1d4cff;
  font-weight: 850;
  text-decoration: none;
}

.account-recovery-card.auth-card {
  width: min(100%, 620px);
}

.account-recovery-steps {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 18px 14px;
  align-items: start;
}

.account-recovery-steps > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #596bff;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
}

.account-recovery-steps p {
  display: grid;
  gap: 4px;
  margin: 0;
  color: #5f6b7d;
  font-size: 16px;
  line-height: 1.55;
}

.account-recovery-steps strong {
  color: #111827;
  font-size: 18px;
}

.account-recovery-primary {
  display: grid;
  place-items: center;
  color: #fff;
  text-decoration: none;
}

.account-login-dev-note {
  display: grid;
  gap: 14px;
  border: 1px solid rgba(245, 158, 11, .52);
  border-radius: 7px;
  padding: 17px 18px;
  background: linear-gradient(135deg, rgba(255, 251, 235, .96), rgba(255, 255, 255, .9));
  color: #111827;
}

.account-login-dev-note h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #b7791f;
  font-size: 23px;
  line-height: 1.2;
  font-weight: 950;
}

.account-login-dev-note h2 svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #f59e0b;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-login-dev-note p,
.account-login-dev-note ul {
  margin: 0;
  color: #344054;
  font-size: 17px;
  line-height: 1.65;
}

.account-login-dev-note ul {
  display: grid;
  gap: 6px;
  padding-left: 22px;
}

@media (min-width: 821px) {
  body.public-h5.auth-h5.qr-login-v2-body {
    min-width: 821px;
    background:
      linear-gradient(#e6e8ec 1px, transparent 1px),
      linear-gradient(90deg, #e6e8ec 1px, transparent 1px),
      #f6f7f9;
    background-size: 104px 104px;
  }

  body.public-h5.auth-h5.qr-login-v2-body::before,
  body.public-h5.auth-h5.qr-login-v2-body::after {
    display: none;
  }

  .qr-login-v2 {
    display: grid;
    width: 100%;
    max-width: none;
    min-height: 100vh;
    align-content: start;
    overflow: visible;
    padding: 64px 32px 36px;
    background: transparent;
  }

  .qr-login-v2::before,
  .qr-login-v2::after {
    display: none;
  }

  .qr-login-v2-card {
    display: grid;
    grid-template-columns: minmax(330px, 1fr) 360px;
    grid-template-rows: auto auto auto auto 1fr auto auto;
    column-gap: 64px;
    width: min(100%, 960px);
    min-height: 620px;
    justify-items: start;
    align-items: start;
    margin: 0 auto;
    padding: 48px 54px 40px;
    border-color: #dfe2e7;
    box-shadow: 0 22px 54px rgba(31, 37, 48, .13);
  }

  .qr-login-v2-brand {
    grid-column: 1;
    grid-row: 1;
    font-size: 38px;
  }

  .qr-login-v2-card > h1 {
    grid-column: 1;
    grid-row: 2;
    margin-top: 22px;
    font-size: 34px;
  }

  .qr-login-v2-card > p:not(.qr-login-v2-scan-help) {
    grid-column: 1;
    grid-row: 3;
    margin-top: 12px;
    font-size: 15px;
    text-align: left;
  }

  .qr-login-v2-tabs {
    grid-column: 1;
    grid-row: 4;
    height: 48px;
    margin-top: 28px;
  }

  .qr-login-v2-tabs a {
    font-size: 14px;
  }

  .qr-login-v2-tips {
    grid-column: 1;
    grid-row: 5;
    align-self: start;
    margin-top: 26px;
  }

  .qr-login-v2-tips li {
    min-height: 42px;
    font-size: 13px;
  }

  .qr-login-v2-footer {
    grid-column: 1;
    grid-row: 6 / span 2;
    align-self: end;
    justify-items: start;
    margin-top: 24px;
  }

  .qr-login-v2-footer p {
    font-size: 11px;
  }

  .qr-login-v2-code {
    grid-column: 2;
    grid-row: 1 / 6;
    width: 320px;
    height: 320px;
    align-self: center;
    justify-self: center;
    margin: 0;
    padding: 10px;
  }

  .qr-login-v2-code > img {
    width: 298px;
    height: 298px;
  }

  .qr-login-v2-waiting {
    grid-column: 2;
    grid-row: 6;
    justify-self: center;
    margin-top: 10px;
    font-size: 14px;
  }

  .qr-login-v2-scan-help {
    grid-column: 2;
    grid-row: 7;
    justify-self: center;
    margin-top: 7px !important;
    font-size: 12px !important;
  }

  .qr-login-v2-home {
    margin-top: 18px;
    font-size: 14px;
  }
}

.screen-bind-public {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 80% 100%, rgba(139, 92, 246, .9), transparent 44%),
    radial-gradient(circle at 12% 2%, rgba(55, 125, 255, .9), transparent 46%),
    linear-gradient(145deg, #2563eb 0%, #5b5ce8 52%, #8b45d9 100%);
  color: #111827;
  font-family: var(--font-brand);
}

.screen-bind-shell {
  width: min(100% - 32px, 710px);
  margin: 0 auto;
  padding: 58px 0 36px;
}

.screen-bind-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  margin-bottom: 42px;
  color: #fff;
}

.screen-bind-logo {
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #ffd400;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .1);
}

.screen-bind-logo svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: #111827;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.screen-bind-brand strong {
  color: #fff;
  font-size: 32px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}

.screen-bind-card {
  overflow: hidden;
  border: 6px solid rgba(255, 255, 255, .92);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
}

.screen-bind-hero {
  display: grid;
  min-height: 136px;
  grid-template-columns: minmax(0, 1fr) 108px;
  align-items: center;
  gap: 18px;
  padding: 0 44px;
  background: linear-gradient(135deg, #2f6df6, #7842db);
  color: #fff;
}

.screen-bind-hero h1 {
  margin: 0;
  color: #fff;
  font-size: 38px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: 0;
}

.screen-bind-compat {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.screen-bind-hero > svg {
  width: 84px;
  height: 84px;
  justify-self: end;
  opacity: .28;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.screen-bind-user {
  display: grid;
  min-height: 126px;
  grid-template-columns: 72px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 44px;
}

.screen-bind-user > span {
  display: inline-flex;
  width: 56px;
  height: 56px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  background: #f8fafc;
  color: #9ca3af;
}

.screen-bind-user svg,
.screen-bind-activity-card svg,
.screen-bind-primary svg,
.screen-bind-success svg,
.screen-bind-empty svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.screen-bind-user strong,
.screen-bind-user small {
  display: block;
}

.screen-bind-user strong {
  color: #111827;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 950;
}

.screen-bind-user small {
  margin-top: 7px;
  color: #6b7280;
  font-size: 17px;
}

.screen-bind-user > svg {
  color: #374151;
}

.screen-bind-form {
  display: grid;
  gap: 28px;
  padding: 26px 28px 0;
}

.screen-bind-form > input[type="hidden"] {
  display: none;
}

.screen-bind-activity-section {
  display: grid;
  gap: 21px;
}

.screen-bind-activity-section h2 {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0;
  color: #111827;
  font-size: 26px;
  line-height: 1.25;
  font-weight: 950;
  letter-spacing: 0;
}

.screen-bind-activity-section h2 span {
  width: 6px;
  height: 28px;
  border-radius: 999px;
  background: #635bff;
}

.screen-bind-activity-card {
  position: relative;
  display: grid;
  min-height: 180px;
  grid-template-columns: 200px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 25px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 22px;
  background: #fff;
  color: #111827;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(17, 24, 39, .04);
}

.screen-bind-activity-card.selected {
  border-color: #6157ff;
  box-shadow: 0 0 0 1px #6157ff, 0 18px 36px rgba(79, 70, 229, .14);
}

.screen-bind-activity-card input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.screen-bind-activity-card img {
  width: 200px;
  height: 128px;
  border-radius: 10px;
  object-fit: cover;
}

.screen-bind-activity-copy {
  display: grid;
  min-width: 0;
  gap: 16px;
}

.screen-bind-activity-copy strong {
  overflow: hidden;
  color: #111827;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 950;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.screen-bind-activity-copy em {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #6b7280;
  font-size: 19px;
  line-height: 1.25;
  font-style: normal;
  white-space: nowrap;
}

.screen-bind-activity-copy em svg {
  width: 20px;
  height: 20px;
}

.screen-bind-stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.screen-bind-stats b {
  display: inline-flex;
  min-width: 124px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  padding: 0 14px;
  font-size: 18px;
  font-weight: 900;
}

.screen-bind-stats .registered {
  border: 1px solid rgba(37, 99, 235, .18);
  background: rgba(37, 99, 235, .08);
  color: #2563eb;
}

.screen-bind-stats .checkin {
  border: 1px solid rgba(22, 163, 74, .18);
  background: rgba(22, 163, 74, .08);
  color: #16a34a;
}

.screen-bind-stats svg {
  width: 21px;
  height: 21px;
}

.screen-bind-activity-card i {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  justify-self: end;
  border: 2px solid #dbe0ea;
  border-radius: 50%;
  color: #fff;
  font-size: 22px;
  font-style: normal;
  font-weight: 950;
}

.screen-bind-activity-card.selected i {
  border-color: #6258ff;
  background: #6258ff;
}

.screen-bind-confirming {
  display: grid;
  min-height: 104px;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  border: 1px solid rgba(37, 99, 235, .28);
  border-radius: 13px;
  padding: 0 46px;
  background: linear-gradient(90deg, rgba(37, 99, 235, .06), rgba(255, 255, 255, .8));
}

.screen-bind-confirming > span {
  width: 46px;
  height: 46px;
  border: 5px solid rgba(37, 99, 235, .2);
  border-top-color: #2563eb;
  border-radius: 50%;
  animation: auth-spin .9s linear infinite;
}

.screen-bind-confirming strong {
  display: block;
  color: #2563eb;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 950;
}

.screen-bind-confirming p {
  margin: 7px 0 0;
  color: #6b7280;
  font-size: 18px;
}

.screen-bind-primary {
  display: inline-flex;
  width: 100%;
  min-height: 80px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, #2f6df6, #7842db);
  color: #fff;
  font: inherit;
  font-size: 28px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 16px 32px rgba(79, 70, 229, .2);
  cursor: pointer;
}

.screen-bind-primary svg {
  width: 30px;
  height: 30px;
}

.screen-bind-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  padding: 24px 28px 0;
  color: #9ca3af;
  font-size: 18px;
}

.screen-bind-divider::before,
.screen-bind-divider::after {
  content: "";
  height: 1px;
  border-top: 1px dashed #d1d5db;
}

.screen-bind-empty {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin: 26px 28px 28px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 32px 18px 26px;
  background: #fff;
  text-align: center;
}

.screen-bind-activity-section .screen-bind-empty {
  margin: 0;
}

.screen-bind-empty > span {
  display: inline-flex;
  width: 62px;
  height: 62px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f3f4f6;
  color: #6b7280;
}

.screen-bind-empty strong {
  color: #111827;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 950;
}

.screen-bind-empty p {
  margin: 0;
  color: #6b7280;
  font-size: 17px;
}

.screen-bind-empty a {
  display: inline-flex;
  min-width: 232px;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border: 2px solid #f59e0b;
  border-radius: 8px;
  color: #f59e0b;
  font-size: 20px;
  font-weight: 900;
  text-decoration: none;
}

.screen-bind-success {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin: 32px 28px;
  border: 1px solid rgba(22, 163, 74, .22);
  border-radius: 16px;
  padding: 22px;
  background: rgba(22, 163, 74, .08);
}

.screen-bind-success > span {
  display: inline-flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #22c55e;
  color: #fff;
}

.screen-bind-success strong {
  color: #111827;
  font-size: 22px;
  font-weight: 950;
}

.screen-bind-success p {
  margin: 6px 0 0;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.5;
}

.screen-bind-success + .screen-bind-primary {
  width: calc(100% - 56px);
  margin: 0 28px 28px;
}

@media (max-width: 640px) {
  .screen-bind-shell {
    width: min(100% - 24px, 390px);
    padding: 28px 0 24px;
  }

  .screen-bind-brand {
    gap: 12px;
    margin-bottom: 24px;
  }

  .screen-bind-logo {
    width: 40px;
    height: 40px;
  }

  .screen-bind-logo svg {
    width: 32px;
    height: 32px;
  }

  .screen-bind-brand strong {
    font-size: 25px;
  }

  .screen-bind-card {
    border-width: 4px;
    border-radius: 24px;
  }

  .screen-bind-hero {
    min-height: 96px;
    grid-template-columns: minmax(0, 1fr) 64px;
    padding: 0 24px;
  }

  .screen-bind-hero h1 {
    font-size: 27px;
  }

  .screen-bind-hero > svg {
    width: 58px;
    height: 58px;
  }

  .screen-bind-user {
    min-height: 88px;
    grid-template-columns: 54px minmax(0, 1fr) 20px;
    gap: 12px;
    padding: 0 24px;
  }

  .screen-bind-user > span {
    width: 48px;
    height: 48px;
  }

  .screen-bind-user strong {
    font-size: 22px;
  }

  .screen-bind-user small {
    font-size: 14px;
  }

  .screen-bind-form {
    gap: 18px;
    padding: 20px 20px 0;
  }

  .screen-bind-activity-section {
    gap: 14px;
  }

  .screen-bind-activity-section h2 {
    font-size: 21px;
  }

  .screen-bind-activity-card {
    min-height: 124px;
    grid-template-columns: 112px minmax(0, 1fr) 28px;
    gap: 12px;
    border-radius: 14px;
    padding: 12px;
  }

  .screen-bind-activity-card img {
    width: 112px;
    height: 76px;
  }

  .screen-bind-activity-copy {
    gap: 9px;
  }

  .screen-bind-activity-copy strong {
    font-size: 17px;
  }

  .screen-bind-activity-copy em {
    font-size: 13px;
  }

  .screen-bind-stats {
    gap: 8px;
  }

  .screen-bind-stats b {
    min-width: 72px;
    min-height: 30px;
    gap: 4px;
    padding: 0 8px;
    font-size: 13px;
  }

  .screen-bind-stats svg,
  .screen-bind-activity-copy em svg {
    width: 15px;
    height: 15px;
  }

  .screen-bind-activity-card i {
    width: 26px;
    height: 26px;
    font-size: 16px;
  }

  .screen-bind-confirming {
    min-height: 76px;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    padding: 0 20px;
  }

  .screen-bind-confirming > span {
    width: 34px;
    height: 34px;
  }

  .screen-bind-confirming strong {
    font-size: 19px;
  }

  .screen-bind-confirming p {
    font-size: 14px;
  }

  .screen-bind-primary {
    min-height: 58px;
    gap: 9px;
    border-radius: 11px;
    font-size: 20px;
  }

  .screen-bind-primary svg {
    width: 23px;
    height: 23px;
  }

  .screen-bind-divider {
    gap: 14px;
    padding: 18px 20px 0;
    font-size: 14px;
  }

  .screen-bind-empty {
    gap: 8px;
    margin: 20px;
    border-radius: 14px;
    padding: 24px 14px 20px;
  }

  .screen-bind-empty > span {
    width: 50px;
    height: 50px;
  }

  .screen-bind-empty strong {
    font-size: 20px;
  }

  .screen-bind-empty p {
    font-size: 14px;
  }

  .screen-bind-empty a {
    min-width: 180px;
    min-height: 42px;
    font-size: 16px;
  }

  .screen-bind-success {
    grid-template-columns: 48px minmax(0, 1fr);
    margin: 24px 20px;
    padding: 16px;
  }

  .screen-bind-success > span {
    width: 44px;
    height: 44px;
  }

  .screen-bind-success strong {
    font-size: 18px;
  }

  .screen-bind-success + .screen-bind-primary {
    width: calc(100% - 40px);
    margin: 0 20px 24px;
  }
}

.auth-login-form input:focus {
  border-color: #2f7df4;
  outline: 3px solid rgba(47, 125, 244, .14);
}

.content-prose,
.content-prose .prose {
  color: #1f2937;
  overflow-wrap: anywhere;
}

.content-prose p,
.content-prose .prose p {
  margin: 0 0 1em;
}

.content-prose p:last-child,
.content-prose .prose p:last-child {
  margin-bottom: 0;
}

.content-prose img,
.content-prose .prose img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  margin: 18px auto;
  box-shadow: 0 14px 34px rgba(17, 17, 17, .1);
}

.content-prose blockquote,
.content-prose .prose blockquote {
  margin: 18px 0;
  border-left: 4px solid #ffd400;
  border-radius: 0 14px 14px 0;
  padding: 14px 16px;
  background: rgba(255, 212, 0, .1);
  color: #344054;
}

.content-prose table,
.content-prose .prose table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 12px;
}

.content-prose th,
.content-prose td,
.content-prose .prose th,
.content-prose .prose td {
  border: 1px solid rgba(17, 17, 17, .08);
  padding: 10px 12px;
}

.progress-entry-card .progress-body-snippet {
  max-height: 9.6em;
  overflow: hidden;
  color: #475467;
  line-height: 1.8;
}

.progress-mobile-page {
  --progress-red: #ff3b30;
}

.progress-mobile-heading {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  min-height: 56px;
  margin: -10px 0 18px;
}

.progress-mobile-heading h1 {
  margin: 0;
  color: #0b1220;
  font-size: 34px;
  line-height: 1.1;
  text-align: center;
  letter-spacing: 0;
}

.progress-back-link {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  color: #0b1220;
}

.progress-back-link svg,
.progress-story-meta svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.progress-card-list {
  display: grid;
  gap: 28px;
}

.progress-story-card {
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(15, 23, 42, .1);
}

.progress-story-card > a {
  display: block;
  color: inherit;
}

.progress-story-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.progress-story-body {
  display: grid;
  gap: 16px;
  padding: 24px 28px 28px;
}

.progress-story-body h2 {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: #0b1220;
  font-size: 30px;
  line-height: 1.18;
  letter-spacing: 0;
}

.progress-story-body h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  width: 5px;
  height: 1.05em;
  border-radius: 999px;
  background: var(--progress-red);
}

.progress-story-body p {
  margin: 0;
  color: #667085;
  font-size: 20px;
  line-height: 1.55;
}

.progress-story-snippet {
  max-height: 4.8em;
  overflow: hidden;
  color: #475467;
  font-size: 16px;
  line-height: 1.6;
  white-space: normal;
}

.progress-story-snippet p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.progress-story-snippet img,
.progress-story-snippet figure,
.progress-story-snippet table {
  display: none;
}

.progress-story-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  color: #667085;
  font-size: 16px;
  line-height: 1.2;
}

.progress-story-meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.progress-story-actions {
  display: none;
}

.progress-story-card.empty {
  padding: 28px;
}

.progress-detail-card {
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(15, 23, 42, .1);
}

.progress-detail-hero {
  display: grid;
  gap: 10px;
  padding: 12px 12px 0;
}

.progress-detail-hero img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  object-fit: cover;
}

.progress-detail-header,
.progress-detail-summary,
.progress-detail-prose,
.progress-detail-slogan {
  margin-right: 30px;
  margin-left: 30px;
}

.progress-detail-header {
  display: grid;
  gap: 18px;
  padding: 30px 0 24px;
  border-bottom: 1px solid rgba(15, 23, 42, .1);
}

.progress-detail-header h2 {
  margin: 0;
  color: #0b1220;
  font-size: 36px;
  line-height: 1.16;
  letter-spacing: 0;
}

.progress-detail-summary {
  margin-top: 26px;
  margin-bottom: 0;
  color: #475467;
  font-size: 20px;
  line-height: 1.8;
}

.progress-detail-prose {
  padding: 26px 0 30px;
  color: #1f2937;
  font-size: 21px;
  line-height: 1.92;
  white-space: normal;
}

.progress-detail-prose p {
  margin: 0 0 1.2em;
}

.progress-detail-prose p:last-child {
  margin-bottom: 0;
}

.progress-detail-slogan {
  border-top: 1px solid rgba(15, 23, 42, .1);
  padding: 22px 0 26px;
  color: #667085;
  font-size: 18px;
  text-align: center;
}

.cms-reader-page {
  max-width: 1440px;
}

.cms-reader-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
}

.cms-reader-article,
.cms-side-panel {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .07);
}

.cms-reader-article {
  padding: 26px;
}

.cms-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: #667085;
  font-size: 14px;
}

.cms-breadcrumb a {
  color: #344054;
}

.cms-breadcrumb strong {
  color: #111827;
}

.cms-reader-header {
  display: grid;
  gap: 14px;
  margin-bottom: 22px;
}

.cms-reader-header h1 {
  margin: 0;
  color: #111827;
  font-size: 34px;
  line-height: 1.18;
  letter-spacing: 0;
}

.cms-reader-header p {
  margin: 0;
  max-width: 62em;
  color: #667085;
  line-height: 1.7;
}

.cms-reader-header.simple {
  padding: 10px 0 18px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.cms-reader-meta,
.cms-reader-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
}

.cms-reader-meta {
  color: #667085;
  font-size: 14px;
}

.cms-reader-meta span + span {
  position: relative;
  padding-left: 16px;
}

.cms-reader-meta span + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 14px;
  background: rgba(15, 23, 42, .16);
  transform: translateY(-50%);
}

.cms-reader-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid rgba(255, 212, 0, .55);
  border-radius: 6px;
  padding: 0 10px;
  background: rgba(255, 212, 0, .12);
  color: #b88900;
  font-size: 13px;
  font-weight: 800;
}

.cms-reader-prose {
  color: #1f2937;
  font-size: 16px;
  line-height: 1.9;
  white-space: normal;
}

.cms-reader-prose h1,
.cms-reader-prose h2,
.cms-reader-prose h3 {
  margin: 1.25em 0 .55em;
  color: #111827;
  line-height: 1.25;
}

.cms-reader-prose p {
  margin: 0 0 1.05em;
}

.cms-reader-prose img {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  border-radius: 8px;
  margin: 20px 0;
  box-shadow: none;
}

.cms-reader-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(15, 23, 42, .08);
}

.cms-reader-aside {
  display: grid;
  gap: 14px;
}

.cms-side-panel {
  display: grid;
  gap: 14px;
  padding: 20px;
}

.cms-side-panel h2 {
  margin: 0;
  color: #111827;
  font-size: 18px;
  line-height: 1.25;
}

.cms-side-list {
  display: grid;
  gap: 12px;
}

.cms-side-list a {
  display: grid;
  gap: 6px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  padding-bottom: 12px;
  color: #111827;
}

.cms-side-list a:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.cms-side-list strong {
  font-size: 15px;
  line-height: 1.45;
}

.cms-side-list span {
  color: #667085;
  font-size: 13px;
}

@media (max-width: 980px) {
  .cms-reader-page {
    max-width: 760px;
  }

  .cms-reader-layout {
    grid-template-columns: 1fr;
  }

  .cms-reader-aside {
    grid-template-columns: 1fr 1fr;
  }
}

.agreement-prose {
  display: grid;
  gap: 6px;
}

.cms-h5 .content-card,
.user-image-card {
  overflow: hidden;
}

.cms-home-public {
  min-height: 100vh;
  margin: 0;
  background: #f7f8fb;
  color: #111827;
  font-family: var(--font-brand);
}

.cms-site-header {
  display: grid;
  height: 70px;
  grid-template-columns: minmax(250px, 1fr) auto minmax(170px, 1fr);
  align-items: center;
  border-bottom: 1px solid #e6e8ed;
  padding: 0 39px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 1px 10px rgba(17, 24, 39, .05);
}

.cms-site-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #0f172a;
  text-decoration: none;
}

.cms-site-brand strong {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0;
}

.cms-site-logo {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #ffd400;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .08);
}

.cms-site-logo svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: #111827;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-site-nav {
  display: inline-flex;
  height: 70px;
  align-items: center;
  justify-content: center;
  gap: 56px;
}

.cms-site-nav a {
  position: relative;
  display: inline-flex;
  height: 70px;
  align-items: center;
  color: #111827;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.cms-site-nav a.active {
  color: #f1b900;
}

.cms-site-nav a.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: #ffd400;
  transform: translateX(-50%);
}

.cms-screen-link {
  display: inline-flex;
  width: 132px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  justify-self: end;
  gap: 9px;
  border-radius: 6px;
  background: #ffd400;
  color: #111827;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 16px rgba(255, 212, 0, .22);
}

.cms-screen-link svg,
.cms-home-hero-actions svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-home-main {
  display: grid;
  gap: 18px;
  padding: 17px 39px 22px;
}

.cms-home-hero {
  position: relative;
  min-height: 413px;
  overflow: hidden;
  border-radius: 10px;
  background: #020617;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .11);
}

.cms-home-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cms-home-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 6, 23, .98) 0%, rgba(2, 6, 23, .84) 24%, rgba(2, 6, 23, .38) 52%, rgba(2, 6, 23, .08) 100%),
    linear-gradient(0deg, rgba(2, 6, 23, .28), transparent 45%);
}

.cms-home-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(520px, 50%);
  gap: 19px;
  padding: 48px 0 0 64px;
  color: #fff;
}

.cms-home-hero-copy p {
  margin: 0;
  color: #fff;
  font-size: 18px;
  line-height: 1.8;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .32);
}

.cms-home-hero-copy p:last-of-type {
  width: 430px;
  max-width: 100%;
  color: rgba(255, 255, 255, .88);
  font-size: 17px;
  line-height: 1.9;
}

.cms-home-hero-copy h1 {
  margin: 0;
  color: #fff;
  font-size: 58px;
  line-height: 1.25;
  font-weight: 950;
  letter-spacing: 0;
  text-shadow: 0 5px 20px rgba(0, 0, 0, .34);
}

.cms-home-hero-copy h1 span {
  color: #ffd400;
}

.cms-home-hero-actions {
  display: flex;
  gap: 18px;
  margin-top: 2px;
}

.cms-home-hero-actions a {
  display: inline-flex;
  min-width: 172px;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 7px;
  font-size: 18px;
  font-weight: 850;
  text-decoration: none;
}

.cms-home-hero-actions .primary {
  background: #ffd400;
  color: #111827;
}

.cms-home-hero-actions .ghost {
  border: 1px solid rgba(255, 255, 255, .86);
  color: #fff;
}

.cms-home-dots {
  position: absolute;
  left: 50%;
  bottom: 13px;
  z-index: 2;
  display: flex;
  gap: 12px;
  transform: translateX(-50%);
}

.cms-home-dots i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .45);
}

.cms-home-dots i:first-child {
  background: #ffd400;
}

.cms-home-metrics {
  display: grid;
  min-height: 94px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  overflow: hidden;
  border: 1px solid #e6e8ed;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .08);
}

.cms-home-metrics article {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 26px;
  border-right: 1px solid #e5e7eb;
}

.cms-home-metrics article:last-child {
  border-right: 0;
}

.cms-home-stat-icon,
.cms-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 950;
}

.cms-home-stat-icon {
  width: 62px;
  height: 62px;
  font-size: 25px;
}

.cms-home-stat-icon.yellow,
.cms-feature-icon.yellow { background: rgba(255, 212, 0, .16); color: #f4b400; }
.cms-home-stat-icon.green,
.cms-feature-icon.green { background: rgba(34, 197, 94, .13); color: #16a34a; }
.cms-home-stat-icon.blue,
.cms-feature-icon.blue { background: rgba(59, 130, 246, .12); color: #2563eb; }
.cms-home-stat-icon.purple,
.cms-feature-icon.purple { background: rgba(139, 92, 246, .12); color: #7c3aed; }

.cms-home-metrics strong {
  display: block;
  color: #111827;
  font-size: 27px;
  line-height: 1.15;
  font-weight: 900;
}

.cms-home-metrics p {
  margin: 5px 0 0;
  color: #111827;
  font-size: 15px;
  line-height: 1.35;
}

.cms-home-section {
  display: grid;
  gap: 13px;
}

.cms-home-section-head {
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cms-home-section-head h2 {
  position: relative;
  margin: 0;
  padding-left: 16px;
  color: #111827;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: 0;
}

.cms-home-section-head h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 4px;
  height: 25px;
  border-radius: 999px;
  background: #ffd400;
}

.cms-home-section-head > a {
  color: #f4b400;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

.cms-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.cms-feature-card {
  display: grid;
  min-height: 141px;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 20px 15px 18px;
  background: #fff;
  color: #111827;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
}

.cms-feature-icon {
  width: 68px;
  height: 68px;
  font-size: 28px;
}

.cms-feature-card h3 {
  margin: 2px 0 8px;
  color: #111827;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 900;
}

.cms-feature-card p {
  margin: 0;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.55;
}

.cms-feature-card b {
  display: inline-flex;
  margin-top: 13px;
  align-items: center;
  gap: 6px;
  color: #f4b400;
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
}

.cms-news-section {
  margin-top: 1px;
}

.cms-news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.cms-news-card {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
}

.cms-news-card a {
  display: grid;
  min-height: 143px;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  color: #111827;
  text-decoration: none;
}

.cms-news-card img {
  width: 150px;
  height: 108px;
  border-radius: 6px;
  object-fit: cover;
}

.cms-news-card h3 {
  margin: 1px 0 9px;
  color: #111827;
  font-size: 17px;
  line-height: 1.32;
  font-weight: 900;
}

.cms-news-card p {
  display: -webkit-box;
  min-height: 43px;
  overflow: hidden;
  margin: 0 0 12px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.55;
}

.cms-news-card span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #6b7280;
  font-size: 14px;
}

.cms-news-card span::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 1.8px solid currentColor;
  border-radius: 3px;
  box-sizing: border-box;
}

.cms-home-compat {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cms-category-public {
  min-height: 100vh;
  margin: 0;
  background: #f7f8fb;
  color: #111827;
  font-family: var(--font-brand);
}

.cms-category-site-header {
  height: 78px;
  border-bottom: 1px solid #eaedf2;
  background: #fff;
  box-shadow: 0 1px 10px rgba(17, 24, 39, .04);
}

.cms-category-site-inner {
  display: grid;
  width: min(1314px, calc(100% - 48px));
  height: 78px;
  grid-template-columns: 330px minmax(0, 1fr) 132px;
  align-items: center;
  gap: 24px;
  margin: 0 auto;
}

.cms-category-brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 14px;
  color: #111827;
  text-decoration: none;
}

.cms-category-logo {
  display: inline-flex;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #ffd400;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .08);
}

.cms-category-logo svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: #111827;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-category-brand-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.cms-category-brand-text strong {
  color: #111827;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: 0;
}

.cms-category-brand-text small {
  overflow: hidden;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cms-category-site-nav {
  display: inline-flex;
  height: 78px;
  align-items: center;
  justify-content: center;
  gap: 46px;
}

.cms-category-site-nav a {
  position: relative;
  display: inline-flex;
  height: 78px;
  align-items: center;
  color: #111827;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.cms-category-site-nav a.active {
  color: #f1b900;
}

.cms-category-site-nav a.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 13px;
  width: 34px;
  height: 3px;
  border-radius: 999px;
  background: #ffd400;
  transform: translateX(-50%);
}

.cms-category-screen-link {
  display: inline-flex;
  width: 132px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  justify-self: end;
  gap: 9px;
  border-radius: 6px;
  background: #ffd400;
  color: #111827;
  font-size: 16px;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 8px 16px rgba(255, 212, 0, .24);
}

.cms-category-screen-link svg,
.cms-category-meta svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-category-main {
  min-height: calc(100vh - 78px);
}

.cms-category-hero {
  min-height: 180px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255, 212, 0, .98) 0%, rgba(255, 212, 0, .92) 42%, rgba(255, 212, 0, .62) 100%),
    url("/static/img/cms-category-skyline.png") right center / auto 180px no-repeat;
}

.cms-category-hero-inner {
  display: grid;
  width: min(1314px, calc(100% - 48px));
  min-height: 180px;
  align-content: center;
  gap: 12px;
  margin: 0 auto;
  padding: 10px 0 0;
}

.cms-category-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(17, 24, 39, .72);
  font-size: 14px;
  line-height: 1.4;
}

.cms-category-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.cms-category-breadcrumb strong {
  color: #111827;
  font-weight: 800;
}

.cms-category-hero h1 {
  margin: 0;
  color: #111827;
  font-size: 42px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-category-hero p {
  margin: 0;
  color: rgba(17, 24, 39, .72);
  font-size: 18px;
  line-height: 1.45;
  font-weight: 600;
}

.cms-category-content {
  display: grid;
  width: min(1314px, calc(100% - 48px));
  gap: 16px;
  margin: 24px auto 44px;
}

.cms-category-tabs {
  position: relative;
  display: flex;
  min-height: 54px;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  border: 1px solid #edf0f4;
  border-radius: 8px;
  padding: 8px 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(17, 24, 39, .05);
  scroll-padding-inline: 20px;
  scrollbar-width: none;
  view-transition-name: cms-category-tabs;
}

.cms-category-tabs::-webkit-scrollbar { display: none; }

.cms-category-tabs a {
  position: relative;
  display: inline-flex;
  height: 38px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 6px;
  padding: 0 22px;
  color: #374151;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.cms-category-tabs a:hover { color: #111827; background: #fff4d7; }
.cms-category-tabs a:active { transform: translateY(1px); }
.cms-category-tabs a.active {
  color: #ea1034;
  background: rgba(255, 244, 215, .72);
  box-shadow: none;
}

.cms-category-tab-indicator {
  position: absolute;
  right: 15px;
  bottom: 3px;
  left: 15px;
  height: 3px;
  border-radius: 999px;
  background: #ea1034;
  box-shadow: 0 2px 8px rgba(234, 16, 52, .25);
  view-transition-name: cms-category-tab-indicator;
}

.cms-category-hero h1 { view-transition-name: cms-category-title; }
.cms-category-list { view-transition-name: cms-category-content; }

@view-transition { navigation: auto; }

::view-transition-old(root),
::view-transition-new(root) { animation: none; }

::view-transition-group(cms-category-tab-indicator) {
  animation-duration: .24s;
  animation-timing-function: cubic-bezier(.22, .8, .24, 1);
}

::view-transition-old(cms-category-title),
::view-transition-old(cms-category-content) {
  animation: cms-category-transition-out .13s ease both;
}

::view-transition-new(cms-category-title),
::view-transition-new(cms-category-content) {
  animation: cms-category-transition-in .22s .04s cubic-bezier(.22, .8, .24, 1) both;
}

@keyframes cms-category-transition-out {
  to { opacity: 0; transform: translateY(-5px); }
}

@keyframes cms-category-transition-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .cms-category-tabs a { transition: none !important; }
  ::view-transition-group(cms-category-tab-indicator),
  ::view-transition-old(cms-category-title),
  ::view-transition-old(cms-category-content),
  ::view-transition-new(cms-category-title),
  ::view-transition-new(cms-category-content) { animation-duration: .001ms !important; animation-delay: 0s !important; }
}

/* Foundation CMS hierarchy navigation */
.foundation-public-nav-item,
.foundation-nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

.foundation-public-nav-item {
  min-height: 82px;
}

.foundation-public-nav-item > a[aria-current="page"],
.foundation-public-nav-item.is-active > a {
  color: #ea1034;
}

.foundation-public-mega,
.foundation-nav-mega {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  z-index: 120;
  width: min(920px, calc(100vw - 32px));
  padding: 22px;
  transform: translate(-50%, 10px);
  border: 1px solid rgba(23, 23, 23, .1);
  border-radius: 18px;
  background: rgba(255, 255, 255, .99);
  box-shadow: 0 24px 58px rgba(23, 23, 23, .16);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

/* Center the wide public mega menu in the viewport so right-side navigation
   entries cannot push an invisible menu beyond the document edge. */
.foundation-public-mega {
  position: fixed;
  top: 81px;
  left: 50vw;
}

.foundation-nav-mega {
  background: rgba(255, 250, 240, .99);
}

.foundation-public-nav-item:hover > .foundation-public-mega,
.foundation-public-nav-item:focus-within > .foundation-public-mega,
.foundation-nav-item:hover > .foundation-nav-mega,
.foundation-nav-item:focus-within > .foundation-nav-mega {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
}

.foundation-public-mega ul,
.foundation-nav-mega ul,
.foundation-public-mobile-tree,
.foundation-mobile-tree {
  margin: 0;
  padding: 0;
  list-style: none;
}

.foundation-public-mega > ul,
.foundation-nav-mega > ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}

.foundation-public-mega li,
.foundation-nav-mega li {
  min-width: 0;
}

.foundation-public-mega li > a,
.foundation-nav-mega li > a {
  display: block;
  min-height: 0;
  border-radius: 9px;
  padding: 9px 10px;
  color: #171717;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 750;
  letter-spacing: 0;
  white-space: normal;
}

.foundation-public-mega > ul > li > a,
.foundation-nav-mega > ul > li > a {
  background: #fff4d7;
  font-weight: 850;
}

.foundation-public-mega li > a:hover,
.foundation-public-mega li.is-active > a,
.foundation-nav-mega li > a:hover,
.foundation-nav-mega li.is-active > a {
  background: #ea1034;
  color: #fff;
}

.foundation-public-mega li ul,
.foundation-nav-mega li ul {
  display: grid;
  gap: 2px;
  margin-top: 4px;
  padding-left: 10px;
  border-left: 1px solid rgba(23, 23, 23, .12);
}

.foundation-public-search {
  position: relative;
  flex: 0 0 42px;
}

.foundation-public-search > summary {
  position: relative;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(23, 23, 23, .14);
  border-radius: 50%;
  background: #fff;
  color: #171717;
  list-style: none;
  -webkit-appearance: none;
  appearance: none;
  isolation: isolate;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.foundation-public-search > summary::marker {
  content: "";
  display: none;
}

.foundation-public-search > summary::-webkit-details-marker {
  display: none;
}

.foundation-public-search > summary svg {
  position: relative;
  z-index: 1;
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  overflow: visible;
  fill: none !important;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.foundation-public-search > summary svg circle,
.foundation-public-search > summary svg path {
  fill: none !important;
  stroke: currentColor;
  vector-effect: non-scaling-stroke;
}

.foundation-public-search[open] > summary,
.foundation-public-search > summary:hover {
  border-color: #ea1034;
  background: #ea1034;
  color: #fff;
}

.foundation-public-search > summary:focus-visible {
  outline: 3px solid rgba(234, 16, 52, .22);
  outline-offset: 3px;
}

.foundation-public-search > form {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 140;
  display: grid;
  width: min(360px, calc(100vw - 32px));
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  border: 1px solid rgba(23, 23, 23, .1);
  border-radius: 16px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(23, 23, 23, .16);
}

.foundation-public-search > form input {
  width: 100%;
  height: 44px;
  border: 1px solid rgba(23, 23, 23, .16);
  border-radius: 10px;
  outline: 0;
  padding: 0 14px;
  background: #f8f8f6;
  color: #171717;
  font: inherit;
}

.foundation-public-search > form input:focus {
  border-color: #ea1034;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(234, 16, 52, .1);
}

.foundation-public-search > form button {
  min-width: 70px;
  height: 44px;
  border: 0;
  border-radius: 10px;
  padding: 0 16px;
  background: #ea1034;
  color: #fff;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

@media (max-width: 1180px) {
  .foundation-public-home-link,
  .foundation-public-search {
    display: none;
  }
}

@media (max-width: 820px) {
  .foundation-public-mobile-menu nav {
    gap: 0;
  }

  .foundation-public-mobile-tree,
  .foundation-mobile-tree {
    display: grid;
  }

  .foundation-public-mobile-tree li,
  .foundation-mobile-tree li {
    min-width: 0;
  }

  .foundation-public-mobile-tree a,
  .foundation-mobile-tree a {
    display: block;
    border-bottom: 1px solid rgba(23, 23, 23, .1);
    padding: 13px 4px;
    color: #171717;
    font-size: 15px;
    font-weight: 750;
    text-decoration: none;
  }

  .foundation-public-mobile-tree > li > a,
  .foundation-mobile-tree > li > a,
  .foundation-public-mobile-tree > li > details > summary,
  .foundation-mobile-tree > li > details > summary {
    color: #111;
    font-size: 16px;
    font-weight: 850;
  }

  .foundation-public-mobile-tree li.is-active > a,
  .foundation-mobile-tree li.is-active > a,
  .foundation-public-mobile-tree li.is-active > details > summary,
  .foundation-mobile-tree li.is-active > details > summary {
    color: #ea1034;
  }

  .foundation-public-mobile-tree details,
  .foundation-mobile-tree details {
    display: block;
  }

  .foundation-public-mobile-tree details > summary,
  .foundation-mobile-tree details > summary {
    display: flex;
    width: auto;
    height: auto;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 0;
    border-bottom: 1px solid rgba(23, 23, 23, .1);
    border-radius: 0;
    padding: 12px 4px;
    color: #171717;
    font-size: 15px;
    font-weight: 750;
    list-style: none;
    cursor: pointer;
  }

  .foundation-public-mobile-tree details > summary::-webkit-details-marker,
  .foundation-mobile-tree details > summary::-webkit-details-marker {
    display: none;
  }

  .foundation-public-mobile-tree details > summary span,
  .foundation-mobile-tree details > summary span {
    width: auto;
    height: auto;
    background: none;
  }

  .foundation-public-mobile-tree details > summary i,
  .foundation-mobile-tree details > summary i {
    position: relative;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border-radius: 50%;
    background: rgba(23, 23, 23, .06);
  }

  .foundation-public-mobile-tree details > summary i::before,
  .foundation-public-mobile-tree details > summary i::after,
  .foundation-mobile-tree details > summary i::before,
  .foundation-mobile-tree details > summary i::after {
    position: absolute;
    top: 10px;
    left: 6px;
    width: 10px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    content: "";
    transition: transform .18s ease;
  }

  .foundation-public-mobile-tree details > summary i::after,
  .foundation-mobile-tree details > summary i::after {
    transform: rotate(90deg);
  }

  .foundation-public-mobile-tree details[open] > summary i::after,
  .foundation-mobile-tree details[open] > summary i::after {
    transform: rotate(0);
  }

  .foundation-public-mobile-tree ul,
  .foundation-mobile-tree ul {
    margin: 0;
    padding: 0 0 0 18px;
    list-style: none;
    background: rgba(255, 244, 215, .4);
  }

  .foundation-public-mobile-tree ul ul,
  .foundation-mobile-tree ul ul {
    padding-left: 16px;
    background: transparent;
  }

  .foundation-public-mobile-tree .foundation-mobile-overview > a,
  .foundation-mobile-tree .foundation-mobile-overview > a {
    color: #6b6965;
    font-size: 13px;
    font-weight: 700;
  }

  .foundation-public-mobile-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-top: 18px;
  }

  .foundation-public-mobile-search input {
    width: 100%;
    min-height: 44px;
    border: 1px solid rgba(23, 23, 23, .16);
    border-radius: 999px;
    padding: 0 16px;
    background: #fff;
    font: inherit;
  }

  .foundation-public-mobile-search button {
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    padding: 0 18px;
    background: #ea1034;
    color: #fff;
    font-weight: 850;
  }
}

.cms-category-list {
  display: grid;
  gap: 16px;
}

.cms-category-card {
  min-height: 122px;
  overflow: hidden;
  border: 1px solid #edf0f4;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
}

.cms-category-card-link {
  display: grid;
  min-height: 122px;
  grid-template-columns: 240px minmax(0, 1fr);
  color: #111827;
  text-decoration: none;
}

.cms-category-thumb {
  position: relative;
  display: block;
  width: 240px;
  height: 122px;
  padding: 8px;
  background: #f3f4f6;
  box-sizing: border-box;
}

.cms-category-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 6px;
  object-fit: cover;
}

.cms-category-badge {
  position: absolute;
  left: 16px;
  top: 16px;
  display: inline-flex;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  padding: 0 9px;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}

.cms-category-badge.top {
  background: #ef4444;
}

.cms-category-badge.hot {
  background: #f59e0b;
}

.cms-category-badge.intro {
  color: #7a1730;
  background: rgba(255, 244, 215, 0.94);
}

.cms-category-badge.profile {
  color: #fff;
  background: rgba(234, 16, 52, 0.9);
}

.cms-category-badge.story {
  color: #24301f;
  background: rgba(170, 247, 169, 0.94);
}

.cms-category-badge.progress {
  color: #533f00;
  background: rgba(255, 206, 55, 0.94);
}

.cms-category-badge.result {
  color: #fff;
  background: rgba(32, 39, 51, 0.88);
}

.cms-category-info {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 10px;
  padding: 16px 24px 15px;
}

.cms-category-info strong {
  overflow: hidden;
  color: #111827;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 900;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cms-category-summary {
  display: -webkit-box;
  overflow: hidden;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.cms-category-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.25;
}

.cms-category-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.cms-category-meta svg {
  width: 16px;
  height: 16px;
}

.cms-category-pagination {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.cms-category-pagination a,
.cms-category-pagination span,
.cms-category-pagination em {
  display: inline-flex;
  min-width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e5eb;
  border-radius: 6px;
  background: #fff;
  color: #374151;
  padding: 0 12px;
  font-size: 14px;
  font-style: normal;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.cms-category-pagination a.active {
  border-color: #ffd400;
  background: #ffd400;
  color: #111827;
}

.cms-category-pagination span,
.cms-category-pagination em {
  background: transparent;
}

.cms-category-compat {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cms-article-public {
  min-height: 100vh;
  margin: 0;
  background: #f7f8fb;
  color: #111827;
  font-family: var(--font-brand);
}

.cms-article-site-header {
  height: 62px;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 1px 10px rgba(17, 24, 39, .04);
}

.cms-article-site-inner {
  display: grid;
  width: min(1396px, calc(100% - 48px));
  height: 62px;
  grid-template-columns: 240px minmax(0, 1fr) 158px;
  align-items: center;
  gap: 22px;
  margin: 0 auto;
}

.cms-article-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #111827;
  text-decoration: none;
}

.cms-article-logo {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  border-radius: 10px;
  background: #ffd400;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .08);
}

.cms-article-logo svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: #111827;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-article-brand strong {
  color: #111827;
  font-size: 26px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-article-site-nav {
  display: flex;
  height: 62px;
  align-items: center;
  justify-content: center;
  gap: 48px;
}

.cms-article-site-nav a {
  position: relative;
  display: inline-flex;
  height: 62px;
  align-items: center;
  color: #111827;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.cms-article-site-nav a.active {
  color: #f1b900;
}

.cms-article-site-nav a.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 65px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: #ffd400;
  transform: translateX(-50%);
}

.cms-article-site-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}

.cms-article-site-actions a {
  display: inline-flex;
  width: 112px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #ffd400;
  color: #111827;
  font-size: 16px;
  font-weight: 850;
  text-decoration: none;
}

.cms-article-site-actions button {
  display: inline-flex;
  width: 26px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #111827;
  cursor: pointer;
}

.cms-article-site-actions svg,
.cms-article-breadcrumb svg,
.cms-article-meta svg,
.cms-article-like svg,
.cms-article-attachment svg,
.cms-article-side-card.subscribe svg,
.cms-article-nav svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-article-main {
  width: min(1396px, calc(100% - 48px));
  margin: 20px auto 28px;
}

.cms-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 976px) 396px;
  gap: 20px;
  align-items: start;
}

.cms-article-primary {
  display: grid;
  gap: 14px;
}

.cms-article-card,
.cms-article-side-card,
.cms-article-nav {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .05);
}

.cms-article-card {
  padding: 17px 27px 14px;
}

.cms-article-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 14px;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.4;
}

.cms-article-breadcrumb svg {
  width: 16px;
  height: 16px;
}

.cms-article-breadcrumb a {
  color: #374151;
  text-decoration: none;
}

.cms-article-breadcrumb strong {
  max-width: min(390px, 38vw);
  overflow: hidden;
  color: #111827;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms-article-head {
  display: grid;
  gap: 11px;
  margin-bottom: 24px;
}

.cms-article-head h1 {
  margin: 0;
  color: #111827;
  font-size: 30px;
  line-height: 1.22;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-article-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.25;
}

.cms-article-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.cms-article-meta span + span {
  position: relative;
}

.cms-article-meta span + span::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  width: 1px;
  height: 14px;
  background: #d1d5db;
  transform: translateY(-50%);
}

.cms-article-meta svg {
  width: 16px;
  height: 16px;
}

.cms-article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-article-tags span {
  display: inline-flex;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 193, 7, .68);
  border-radius: 5px;
  padding: 0 10px;
  background: rgba(255, 212, 0, .12);
  color: #d69b00;
  font-size: 13px;
  font-weight: 800;
}

.cms-article-prose {
  color: #111827;
  font-size: 15px;
  line-height: 1.58;
}

.cms-article-prose p {
  margin: 0 0 8px;
}

.cms-article-prose h1,
.cms-article-prose h2,
.cms-article-prose h3,
.cms-article-prose h4 {
  margin: 11px 0 5px;
  color: #111827;
  font-size: 19px;
  line-height: 1.28;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-article-prose img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 14px 0;
  border-radius: 6px;
  object-fit: contain !important;
}

.cms-article-original-source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  border-top: 1px solid #ece7e1;
  padding: 22px 0 8px;
}

.cms-article-original-source > div {
  display: grid;
  gap: 3px;
}

.cms-article-original-source small {
  color: #9a8e83;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

.cms-article-original-source strong {
  color: #2e2925;
  font-size: 14px;
}

.cms-article-original-source > a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #ea1034;
  border-radius: 999px;
  padding: 0 19px;
  background: #ea1034;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(234, 16, 52, .16);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.cms-article-original-source > a:hover {
  background: #c90c2b;
  box-shadow: 0 11px 26px rgba(201, 12, 43, .22);
  transform: translateY(-1px);
}

.cms-article-original-source svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

/* Financial disclosure reports are often exported as consecutive image
   slices. Keep them edge-to-edge while retaining the normal article rhythm
   for stories, news, reports and other rich-text content. */
.cms-article-prose-seamless-media {
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}

.cms-article-prose-seamless-media p {
  margin: 0;
  line-height: 0;
}

.cms-article-prose-seamless-media p:empty,
.cms-article-prose-seamless-media a:empty,
.cms-article-prose-seamless-media br {
  display: none;
}

.cms-article-prose-seamless-media a,
.cms-article-prose-seamless-media span {
  line-height: 0;
}

.cms-article-prose-seamless-media img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin: 0;
  border-radius: 0;
  vertical-align: top;
}

.cms-article-attachments {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 146px;
  gap: 12px 22px;
  align-items: end;
  margin-top: 10px;
  border-top: 1px solid #e5e7eb;
  padding-top: 10px;
}

.cms-article-pdf-preview {
  margin-top: 28px;
  overflow: hidden;
  border: 1px solid #eadfd2;
  border-radius: 20px;
  background: #fffdf8;
  box-shadow: 0 18px 50px rgba(59, 39, 26, .08);
}

.cms-article-pdf-preview > header {
  display: flex;
  min-height: 112px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border-bottom: 1px solid #eadfd2;
  background: linear-gradient(120deg, #fff4d7, #fff 62%, rgba(170, 247, 169, .35));
}

.cms-article-pdf-preview small {
  color: #ea1034;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
}

.cms-article-pdf-preview h2 {
  margin: 6px 0 0;
  color: #27211d;
  font-size: 20px;
  line-height: 1.35;
}

.cms-article-pdf-preview header p,
.cms-article-pdf-fallback {
  margin: 5px 0 0;
  color: #7d7268;
  font-size: 13px;
  line-height: 1.6;
}

.cms-article-pdf-preview header nav {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.cms-article-pdf-preview header nav a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8cfc6;
  border-radius: 999px;
  padding: 0 17px;
  color: #27211d;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.cms-article-pdf-preview header nav a.preview {
  border-color: #ea1034;
  background: #ea1034;
  color: #fff;
}

.cms-article-pdf-frame {
  height: min(78vh, 900px);
  min-height: 680px;
  background: #ededed;
}

.cms-article-pdf-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #ededed;
}

.cms-article-pdf-fallback {
  padding: 10px 18px 12px;
  text-align: center;
}

.cms-article-pdf-fallback a {
  margin-left: 4px;
  color: #ea1034;
  font-weight: 800;
}

.cms-article-attachments h2 {
  grid-column: 1 / -1;
  margin: 0;
  color: #111827;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 900;
}

.cms-article-attachment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.cms-article-attachment {
  display: grid;
  min-height: 50px;
  grid-template-columns: 34px minmax(0, 1fr) 22px;
  gap: 10px;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 7px 10px;
  color: #111827;
  text-decoration: none;
}

.cms-article-attachment > span {
  display: inline-flex;
  width: 28px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  color: #fff;
  font-size: 10px;
  font-weight: 950;
}

.cms-article-attachment.pdf > span {
  background: #ef4444;
}

.cms-article-attachment.doc > span {
  background: #2563eb;
}

.cms-article-attachment strong {
  overflow: hidden;
  color: #111827;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 750;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cms-article-attachment em {
  grid-column: 2;
  color: #6b7280;
  font-size: 12px;
  font-style: normal;
}

.cms-article-attachment svg {
  grid-column: 3;
  grid-row: 1 / span 2;
  width: 18px;
  height: 18px;
}

.cms-article-like {
  display: inline-flex;
  width: 146px;
  height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 7px;
  background: #ffd400;
  color: #111827;
  font-size: 16px;
  font-weight: 900;
  text-decoration: none;
}

.cms-article-like svg {
  width: 19px;
  height: 19px;
}

.cms-article-sidebar {
  display: grid;
  gap: 14px;
}

.cms-article-side-card {
  padding: 19px 20px;
}

.cms-article-side-card h2 {
  margin: 0;
  color: #111827;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-article-related-list {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}

.cms-article-related-list a {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 14px;
  color: #111827;
  text-decoration: none;
}

.cms-article-related-list img {
  width: 120px;
  height: 78px;
  border-radius: 5px;
  object-fit: cover;
}

.cms-article-related-list span {
  display: grid;
  align-content: start;
  gap: 9px;
  min-width: 0;
}

.cms-article-related-list strong {
  display: -webkit-box;
  overflow: hidden;
  color: #111827;
  font-size: 15px;
  line-height: 1.48;
  font-weight: 750;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.cms-article-related-list em,
.cms-article-latest-list em {
  color: #6b7280;
  font-size: 14px;
  font-style: normal;
}

.cms-article-latest-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.cms-article-latest-list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px;
  gap: 12px;
  align-items: center;
  color: #111827;
  text-decoration: none;
}

.cms-article-latest-list strong {
  overflow: hidden;
  color: #374151;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 650;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cms-article-side-card.subscribe h2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cms-article-side-card.subscribe svg {
  width: 22px;
  height: 22px;
}

.cms-article-side-card.subscribe p {
  margin: 13px 0 18px;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.55;
}

.cms-article-side-card.subscribe form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 74px;
  gap: 10px;
}

.cms-article-side-card.subscribe input {
  width: 100%;
  min-width: 0;
  height: 40px;
  border: 1px solid #d9dde5;
  border-radius: 5px;
  padding: 0 12px;
  color: #111827;
  font: inherit;
  font-size: 14px;
  box-sizing: border-box;
}

.cms-article-side-card.subscribe button {
  height: 40px;
  border: 0;
  border-radius: 5px;
  background: #ffd400;
  color: #111827;
  font: inherit;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}

.cms-article-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 66px;
  overflow: hidden;
}

.cms-article-nav a {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  padding: 0 28px;
  color: #111827;
  text-decoration: none;
}

.cms-article-nav a + a {
  border-left: 1px solid #e5e7eb;
}

.cms-article-nav a.next {
  grid-column: 2;
  grid-template-columns: minmax(0, 1fr) 42px;
  border-left: 1px solid #e5e7eb;
  text-align: right;
}

.cms-article-nav svg {
  width: 26px;
  height: 26px;
}

.cms-article-nav span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.cms-article-nav em {
  color: #4b5563;
  font-size: 14px;
  font-style: normal;
}

.cms-article-nav strong {
  overflow: hidden;
  color: #111827;
  font-size: 15px;
  font-weight: 650;
  white-space: nowrap;
  text-overflow: ellipsis;
}

body.public-h5.cms-page-legacy-h5 {
  min-height: 100vh;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 212, 0, .1), transparent 22%),
    linear-gradient(180deg, #f9fafb 0%, #f3f5f8 100%);
  color: #111827;
}

.cms-page-site-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr) 170px;
  height: 65px;
  align-items: center;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 25px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 6px 22px rgba(15, 23, 42, .05);
  backdrop-filter: blur(16px);
}

.cms-page-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #0f172a;
  text-decoration: none;
}

.cms-page-brand-mark {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #0f172a;
  color: #ffd400;
  font-size: 22px;
  font-weight: 950;
  line-height: 1;
}

.cms-page-brand strong {
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-page-site-nav {
  display: flex;
  height: 65px;
  align-items: center;
  justify-content: center;
  gap: 39px;
  min-width: 0;
}

.cms-page-site-nav a {
  position: relative;
  display: inline-flex;
  height: 65px;
  align-items: center;
  gap: 6px;
  color: #0f172a;
  font-size: 16px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.cms-page-site-nav a.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 68px;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: #ffd400;
  transform: translateX(-50%);
}

.cms-page-site-nav svg,
.cms-page-admin svg,
.cms-page-breadcrumb svg,
.cms-page-meta svg,
.cms-page-tools svg,
.cms-page-contact svg,
.cms-page-downloads h2 svg,
.cms-page-download b svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-page-admin {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: #111827;
  font-size: 16px;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.cms-page-admin span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eef2f7;
  color: #475569;
}

.cms-page-main {
  padding: 14px 33px 23px;
}

.cms-page-shell {
  overflow: hidden;
  width: min(1468px, 100%);
  margin: 0 auto;
  border: 1px solid #e7ebf0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 16px 44px rgba(15, 23, 42, .08);
}

.cms-page-breadcrumb {
  display: flex;
  height: 54px;
  align-items: center;
  gap: 13px;
  padding: 0 22px;
  color: #64748b;
  font-size: 16px;
}

.cms-page-breadcrumb a {
  color: #475569;
  text-decoration: none;
}

.cms-page-breadcrumb strong {
  color: #475569;
  font-weight: 700;
}

.cms-page-hero {
  position: relative;
  display: grid;
  min-height: 158px;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  margin: 0;
  background:
    radial-gradient(circle at 95% 28%, rgba(255, 255, 255, .55) 0 5px, transparent 6px),
    repeating-radial-gradient(ellipse at 89% 105%, rgba(255, 255, 255, .34) 0 1px, transparent 1px 10px),
    repeating-radial-gradient(ellipse at 11% 112%, rgba(255, 255, 255, .23) 0 1px, transparent 1px 10px),
    linear-gradient(135deg, #ffda12 0%, #ffd400 52%, #ffc107 100%);
  text-align: center;
}

.cms-page-hero h1 {
  position: relative;
  z-index: 1;
  margin: 0 0 13px;
  color: #0b1220;
  font-size: 36px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-page-hero p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  font-weight: 600;
}

.cms-page-card {
  width: min(1184px, calc(100% - 270px));
  margin: 17px auto 22px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .09);
}

.cms-page-meta-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 68px;
  margin: 0 28px;
  border-bottom: 1px solid #e5e7eb;
}

.cms-page-meta,
.cms-page-tools,
.cms-page-contact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.cms-page-meta {
  gap: 26px;
  color: #475569;
  font-size: 16px;
}

.cms-page-meta span,
.cms-page-tools button,
.cms-page-contact span,
.cms-page-contact a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.cms-page-tools {
  position: relative;
  gap: 26px;
  border-left: 1px solid #e5e7eb;
  padding-left: 24px;
}

.cms-page-tools button {
  border: 0;
  padding: 0;
  background: transparent;
  color: #334155;
  font-family: inherit;
  font-size: 16px;
  font-weight: 650;
  cursor: pointer;
}

.cms-page-tools button:hover,
.cms-page-tools button:focus-visible {
  color: #a16207;
}

.cms-page-tools button:focus-visible {
  outline: 2px solid #f4bd00;
  outline-offset: 4px;
}

.cms-page-tools button:disabled {
  opacity: .55;
  cursor: wait;
}

.cms-page-share-status {
  position: absolute;
  right: 0;
  top: calc(100% + 9px);
  z-index: 2;
  border-radius: 5px;
  padding: 5px 8px;
  background: #111827;
  color: #fff;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

.cms-page-share-status:empty {
  display: none;
}

.cms-page-content {
  padding: 26px 28px 4px;
}

.cms-page-section {
  display: grid;
  gap: 10px;
  margin: 0 0 16px;
  color: #374151;
  font-size: 16px;
  line-height: 1.58;
}

.cms-page-section h2 {
  position: relative;
  margin: 0;
  padding-left: 16px;
  color: #111827;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-page-section h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 5px;
  height: 28px;
  border-radius: 999px;
  background: #ffd400;
}

.cms-page-section p,
.cms-page-prose p {
  margin: 0;
}

.cms-page-section ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 22px;
}

.cms-page-prose {
  display: grid;
  gap: 14px;
}

.cms-page-prose h3 {
  margin: 8px 0 0;
  color: #1f2937;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 850;
}

.cms-page-prose a {
  color: #c80d2e;
  font-weight: 700;
  text-underline-offset: 3px;
}

.cms-page-prose > ul {
  margin: 4px 0 18px;
  border: 1px solid #ece7dd;
  border-radius: 12px;
  padding: 16px 18px 16px 38px;
  background: #fff;
}

.cms-page-prose > ul li {
  padding: 3px 0;
  color: #374151;
  line-height: 1.7;
}

.cms-page-prose figure,
.cms-page-prose .cms-page-inline-media {
  width: 100%;
  max-width: 900px;
  margin: 10px auto 22px;
  overflow: hidden;
  border: 1px solid #ece7dd;
  border-radius: 14px;
  background: #fffaf0;
}

.cms-page-prose figure img,
.cms-page-prose .cms-page-inline-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

.cms-page-prose .cms-page-inline-media--portrait {
  max-width: 650px;
}

.cms-page-prose .cms-page-inline-media--diagram {
  background: #fff;
}

.cms-page-prose .cms-page-media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  margin: 10px 0 22px;
}

.cms-page-prose .cms-page-media-grid .cms-page-inline-media {
  height: 100%;
  margin: 0;
}

[data-cms-page-slug="about-milestones"] .cms-page-prose {
  position: relative;
  display: block;
  padding-left: 128px;
}

[data-cms-page-slug="about-milestones"] .cms-page-prose::before {
  content: "";
  position: absolute;
  left: 88px;
  top: 72px;
  bottom: 0;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(#ea1034, #ffce37 88%, transparent);
}

[data-cms-page-slug="about-milestones"] .cms-page-prose > h2 {
  position: relative;
  z-index: 1;
  width: max-content;
  margin: 42px 0 20px -128px;
  border-radius: 999px;
  padding: 9px 18px;
  background: #ea1034;
  color: #fff;
  font-size: 24px;
  line-height: 1.2;
}

[data-cms-page-slug="about-milestones"] .cms-page-prose > h2::before {
  display: none;
}

[data-cms-page-slug="about-milestones"] .cms-page-prose > h3 {
  position: relative;
  margin: 26px 0 8px;
  color: #a60c27;
  font-size: 18px;
}

[data-cms-page-slug="about-milestones"] .cms-page-prose > h3::before {
  content: "";
  position: absolute;
  left: -47px;
  top: 7px;
  width: 12px;
  height: 12px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #ea1034;
  box-shadow: 0 0 0 2px #ea1034;
}

[data-cms-page-slug="about-milestones"] .cms-page-prose > p {
  color: #374151;
  line-height: 1.85;
}

[data-cms-page-slug="about-milestones"] .cms-page-prose > figure {
  max-width: 780px;
  margin: 14px 0 30px;
  background: #fff;
}

@media (max-width: 700px) {
	[data-cms-page-slug="about-milestones"] .cms-page-prose {
	  padding-left: 30px;
	}

	[data-cms-page-slug="about-milestones"] .cms-page-prose::before {
	  left: 8px;
	  top: 64px;
	}

	[data-cms-page-slug="about-milestones"] .cms-page-prose > h2 {
	  margin: 34px 0 18px -30px;
	  padding: 7px 14px;
	  font-size: 21px;
	}

	[data-cms-page-slug="about-milestones"] .cms-page-prose > h3 {
	  font-size: 17px;
	}

	[data-cms-page-slug="about-milestones"] .cms-page-prose > h3::before {
	  left: -29px;
	}

	.cms-page-prose > ul {
	  padding: 13px 14px 13px 32px;
	}

  .cms-page-prose .cms-page-media-grid {
    grid-template-columns: 1fr;
  }

  .cms-page-prose figure,
  .cms-page-prose .cms-page-inline-media {
    margin-bottom: 14px;
    border-radius: 10px;
  }
}

.cms-page-contact {
  gap: 24px;
  color: #374151;
  font-size: 16px;
}

.cms-page-contact a {
  color: inherit;
  text-decoration: none;
}

.cms-page-contact a:hover,
.cms-page-contact a:focus-visible {
  color: #a16207;
  text-decoration: underline;
}

.cms-page-downloads {
  margin: 0 28px;
  border-top: 1px solid #e5e7eb;
  padding: 13px 0 18px;
}

.cms-page-downloads h2 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 9px;
  color: #111827;
  font-size: 19px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: 0;
}

.cms-page-download-list {
  display: grid;
  gap: 7px;
}

.cms-page-download {
  display: grid;
  min-height: 58px;
  grid-template-columns: 42px minmax(0, 1fr) 92px 92px;
  gap: 12px;
  align-items: center;
  border: 1px solid #e1e6ef;
  border-radius: 6px;
  padding: 0 10px 0 18px;
  color: #1f2937;
  text-decoration: none;
}

.cms-page-download > span {
  display: inline-flex;
  width: 25px;
  height: 31px;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background: #ef4444;
  color: #fff;
  font-size: 9px;
  font-weight: 950;
}

.cms-page-download.doc > span {
  background: #2563eb;
}

.cms-page-download strong {
  overflow: hidden;
  color: #1f2937;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cms-page-download em {
  color: #475569;
  font-size: 15px;
  font-style: normal;
  text-align: right;
}

.cms-page-download b {
  display: inline-flex;
  width: 88px;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #f4bd00;
  border-radius: 6px;
  color: #f4a900;
  font-size: 15px;
  font-weight: 850;
}

@media print {
  body.public-h5.cms-page-legacy-h5 {
    background: #fff;
  }

  .cms-page-site-header,
  .cms-page-breadcrumb,
  .cms-page-hero,
  .cms-page-tools {
    display: none !important;
  }

  .cms-page-main {
    padding: 0;
  }

  .cms-page-shell,
  .cms-page-card {
    width: 100%;
    margin: 0;
    border: 0;
    box-shadow: none;
  }
}

.cms-disclosure-main {
  width: min(1490px, calc(100% - 48px));
  margin: 0 auto;
  padding: 17px 0 20px;
}

.cms-disclosure-breadcrumb {
  display: flex;
  height: 28px;
  align-items: center;
  gap: 13px;
  color: #64748b;
  font-size: 16px;
}

.cms-disclosure-breadcrumb a {
  color: #475569;
  text-decoration: none;
}

.cms-disclosure-breadcrumb strong {
  color: #475569;
  font-weight: 700;
}

.cms-disclosure-breadcrumb svg,
.cms-disclosure-feature svg,
.cms-disclosure-side-card svg,
.cms-disclosure-notice svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-disclosure-hero {
  position: relative;
  display: grid;
  min-height: 123px;
  place-items: center;
  overflow: hidden;
  border-radius: 7px;
  margin: 19px 0 16px;
  background:
    radial-gradient(circle at 94% 26%, rgba(255, 255, 255, .55) 0 6px, transparent 7px),
    radial-gradient(circle at 2.5% 34%, rgba(255, 255, 255, .45) 0 6px, transparent 7px),
    repeating-radial-gradient(ellipse at 86% 102%, rgba(255, 255, 255, .36) 0 1px, transparent 1px 10px),
    repeating-radial-gradient(ellipse at 10% 111%, rgba(255, 255, 255, .28) 0 1px, transparent 1px 10px),
    linear-gradient(135deg, #ffd600 0%, #ffd400 55%, #ffc107 100%);
  text-align: center;
}

.cms-disclosure-hero h1 {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  color: #0b1220;
  font-size: 36px;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-disclosure-hero p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  font-weight: 650;
}

.cms-disclosure-layout {
  display: grid;
  grid-template-columns: 314px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.cms-disclosure-sidebar,
.cms-disclosure-content {
  display: grid;
  gap: 14px;
}

.cms-disclosure-side-card,
.cms-disclosure-feature,
.cms-disclosure-latest,
.cms-disclosure-notice {
  border: 1px solid #e1e6ef;
  border-radius: 8px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .07);
}

.cms-disclosure-side-card {
  padding: 17px 16px;
}

.cms-disclosure-side-card h2 {
  margin: 0 0 14px;
  color: #111827;
  font-size: 22px;
  line-height: 1.22;
  font-weight: 900;
  letter-spacing: 0;
}

.cms-disclosure-side-card.directory nav {
  display: grid;
  gap: 12px;
}

.cms-disclosure-side-card.directory a {
  display: grid;
  min-height: 50px;
  grid-template-columns: 28px minmax(0, 1fr) 18px;
  gap: 12px;
  align-items: center;
  border-radius: 6px;
  padding: 0 12px;
  color: #1f2937;
  font-size: 16px;
  text-decoration: none;
}

.cms-disclosure-side-card.directory a.active {
  background: linear-gradient(90deg, rgba(255, 212, 0, .44), rgba(255, 246, 199, .86));
}

.cms-disclosure-side-card.directory a > span {
  display: inline-flex;
  width: 22px;
  height: 22px;
  color: #1f2937;
}

.cms-disclosure-side-card.directory a > span::before {
  content: "";
  width: 22px;
  height: 22px;
  border-radius: 5px;
  background:
    linear-gradient(#ffc107 0 0) left top / 9px 9px no-repeat,
    linear-gradient(#ffc107 0 0) right top / 9px 9px no-repeat,
    linear-gradient(#ffc107 0 0) left bottom / 9px 9px no-repeat,
    linear-gradient(#ffc107 0 0) right bottom / 9px 9px no-repeat;
}

.cms-disclosure-side-card.directory a.finance > span::before {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1.8px solid currentColor;
  border-radius: 50%;
  background: none;
  color: #0f172a;
  content: "¥";
  font-size: 16px;
  font-weight: 850;
  line-height: 1;
}

.cms-disclosure-side-card.directory a.project > span::before,
.cms-disclosure-side-card.directory a.report > span::before {
  width: 22px;
  height: 22px;
  border: 1.8px solid currentColor;
  border-radius: 4px;
  background: linear-gradient(currentColor 0 0) 6px 7px / 10px 1.8px no-repeat,
    linear-gradient(currentColor 0 0) 6px 12px / 10px 1.8px no-repeat;
}

.cms-disclosure-side-card.directory a.project > span::before {
  border-radius: 50% 50% 4px 4px;
}

.cms-disclosure-side-card.search form {
  display: grid;
  gap: 13px;
}

.cms-disclosure-side-card.search input {
  width: 100%;
  height: 47px;
  border: 1px solid #d7dee9;
  border-radius: 6px;
  padding: 0 15px;
  color: #111827;
  font: inherit;
  font-size: 15px;
  box-sizing: border-box;
}

.cms-disclosure-side-card.search button {
  display: inline-flex;
  height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 6px;
  background: #ffd400;
  color: #111827;
  font: inherit;
  font-size: 16px;
  font-weight: 850;
}

.cms-disclosure-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.cms-disclosure-stat-grid article {
  display: grid;
  min-height: 142px;
  align-content: center;
  gap: 5px;
  border-radius: 8px;
  padding: 14px;
  background: linear-gradient(135deg, rgba(255, 212, 0, .22), rgba(255, 249, 218, .9));
}

.cms-disclosure-stat-grid article.blue {
  background: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(239, 246, 255, .96));
}

.cms-disclosure-stat-grid span {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  color: #d9a200;
}

.cms-disclosure-stat-grid .blue span {
  color: #2563eb;
}

.cms-disclosure-stat-grid svg {
  width: 36px;
  height: 36px;
}

.cms-disclosure-stat-grid strong {
  color: #0f172a;
  font-size: 40px;
  line-height: 1;
  font-weight: 950;
}

.cms-disclosure-stat-grid em {
  color: #475569;
  font-size: 17px;
  font-style: normal;
}

.cms-disclosure-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.cms-disclosure-feature {
  min-height: 232px;
  padding: 19px 20px 13px;
}

.cms-disclosure-feature header {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid #dce3ef;
  padding-bottom: 13px;
}

.cms-disclosure-feature header > span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #ffc107;
  color: #fff;
  font-size: 22px;
  font-weight: 900;
}

.cms-disclosure-feature.project header > span {
  background: #2563eb;
  font-size: 16px;
}

.cms-disclosure-feature h2 {
  margin: 0;
  color: #111827;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0;
}

.cms-disclosure-feature header a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0969ff;
  font-size: 16px;
  font-weight: 650;
  text-decoration: none;
}

.cms-disclosure-feature ul {
  display: grid;
  gap: 0;
  margin: 9px 0 0;
  padding: 0;
  list-style: none;
}

.cms-disclosure-feature li + li {
  border-top: 1px solid #edf1f7;
}

.cms-disclosure-feature li a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 14px;
  align-items: center;
  min-height: 40px;
  color: #1f2937;
  font-size: 16px;
  text-decoration: none;
}

.cms-disclosure-feature li span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cms-disclosure-feature li span::before {
  content: "·";
  margin-right: 9px;
  color: #64748b;
}

.cms-disclosure-feature time {
  color: #64748b;
  font-size: 15px;
  text-align: right;
}

.cms-disclosure-feature li.empty {
  display: flex;
  min-height: 40px;
  align-items: center;
  color: #94a3b8;
  font-size: 15px;
}

.cms-disclosure-latest {
  padding: 13px 15px 10px;
}

.cms-disclosure-latest h2 {
  margin: 0 0 12px;
  color: #111827;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0;
}

.cms-disclosure-table-wrap {
  overflow: hidden;
  border: 1px solid #dce3ef;
  border-radius: 6px;
}

.cms-disclosure-table {
  width: 100%;
  border-collapse: collapse;
  color: #1f2937;
  font-size: 16px;
}

.cms-disclosure-table th {
  height: 35px;
  background: #f4f7fb;
  color: #475569;
  font-size: 15px;
  font-weight: 650;
  text-align: left;
}

.cms-disclosure-table th,
.cms-disclosure-table td {
  border-bottom: 1px solid #e6ebf2;
  padding: 0 18px;
}

.cms-disclosure-table tbody tr:last-child td {
  border-bottom: 0;
}

.cms-disclosure-table td {
  height: 39px;
}

.cms-disclosure-table th:nth-child(2),
.cms-disclosure-table td:nth-child(2) {
  width: 155px;
}

.cms-disclosure-table th:nth-child(3),
.cms-disclosure-table td:nth-child(3) {
  width: 220px;
}

.cms-disclosure-table th:nth-child(4),
.cms-disclosure-table td:nth-child(4) {
  width: 142px;
  text-align: center;
}

.cms-disclosure-table .top {
  display: inline-flex;
  height: 22px;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  border: 1px solid #ef4444;
  border-radius: 4px;
  padding: 0 5px;
  color: #ef4444;
  font-size: 13px;
  font-weight: 800;
}

.cms-disclosure-table .category {
  display: inline-flex;
  min-width: 70px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  padding: 0 8px;
  background: rgba(255, 212, 0, .18);
  color: #f0a000;
  font-size: 14px;
  font-weight: 750;
}

.cms-disclosure-table .category.project {
  background: rgba(37, 99, 235, .12);
  color: #2563eb;
}

.cms-disclosure-table .category.report {
  background: rgba(16, 185, 129, .12);
  color: #047857;
}

.cms-disclosure-table td.empty {
  height: 72px;
  color: #94a3b8;
  text-align: center;
}

.cms-disclosure-table a {
  display: inline-flex;
  min-width: 86px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid #8bb7ff;
  border-radius: 6px;
  padding: 0 15px;
  color: #0969ff;
  font-size: 15px;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.cms-disclosure-pagination {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 8px;
  color: #64748b;
  font-size: 14px;
}

.cms-disclosure-pagination nav {
  display: flex;
  gap: 8px;
}

.cms-disclosure-pagination a,
.cms-disclosure-pagination nav span {
  display: inline-flex;
  min-width: 64px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  color: #2563eb;
  text-decoration: none;
}

.cms-disclosure-pagination nav span {
  color: #94a3b8;
  background: #f8fafc;
}

.cms-disclosure-notice {
  display: grid;
  min-height: 132px;
  align-content: start;
  padding: 16px 24px;
}

.cms-disclosure-notice h2 {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 10px;
  color: #111827;
  font-size: 22px;
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: 0;
}

.cms-disclosure-notice h2 svg {
  width: 24px;
  height: 24px;
  color: #2563eb;
}

.cms-disclosure-notice ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 42px;
  color: #374151;
  font-size: 15px;
  line-height: 1.5;
}

.cms-simple-main {
  width: min(1452px, calc(100% - 84px));
  margin: 0 auto;
  padding: 16px 0 34px;
}

.cms-simple-breadcrumb {
  display: flex;
  height: 30px;
  align-items: center;
  gap: 13px;
  color: #64748b;
  font-size: 16px;
}

.cms-simple-breadcrumb a {
  color: #475569;
  text-decoration: none;
}

.cms-simple-breadcrumb strong {
  color: #475569;
  font-weight: 700;
}

.cms-simple-breadcrumb svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-simple-hero {
  position: relative;
  display: grid;
  min-height: 136px;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  margin: 18px 0 8px;
  background:
    radial-gradient(circle at 94% 26%, rgba(255, 255, 255, .55) 0 6px, transparent 7px),
    radial-gradient(circle at 2.5% 34%, rgba(255, 255, 255, .45) 0 6px, transparent 7px),
    repeating-radial-gradient(ellipse at 86% 102%, rgba(255, 255, 255, .36) 0 1px, transparent 1px 10px),
    repeating-radial-gradient(ellipse at 10% 111%, rgba(255, 255, 255, .28) 0 1px, transparent 1px 10px),
    linear-gradient(135deg, #ffd600 0%, #ffd400 55%, #ffc107 100%);
  text-align: center;
}

.cms-simple-hero h1 {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  color: #0b1220;
  font-size: 36px;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-simple-hero p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  font-weight: 650;
}

.cms-simple-article {
  width: min(900px, 100%);
  margin: 0 auto;
  border-right: 1px solid #e2e8f0;
  border-left: 1px solid #e2e8f0;
  padding: 22px 27px 28px;
  box-sizing: border-box;
  color: #1f2937;
  background: rgba(255, 255, 255, .68);
}

.cms-simple-section {
  margin: 0 0 12px;
  color: #374151;
  font-size: 16px;
  line-height: 1.5;
}

.cms-simple-section h2 {
  position: relative;
  margin: 0 0 12px;
  padding-bottom: 9px;
  color: #111827;
  font-size: 25px;
  line-height: 1.22;
  font-weight: 950;
  letter-spacing: 0;
}

.cms-simple-section h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 31px;
  height: 4px;
  border-radius: 999px;
  background: #ffd400;
}

.cms-simple-section p,
.cms-simple-prose p {
  margin: 0 0 7px;
}

.cms-simple-section p:last-child,
.cms-simple-prose p:last-child {
  margin-bottom: 0;
}

.cms-simple-prose h3 {
  margin: 20px 0 8px;
  color: #ea1034;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .02em;
}

.cms-simple-prose ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 16px;
  padding: 0;
  list-style: none;
}

.cms-simple-prose li {
  border: 1px solid #ebe3d8;
  border-radius: 8px;
  padding: 11px 13px;
  color: #5f564e;
  background: #fffaf0;
  font-size: 14px;
  line-height: 1.6;
}

.cms-simple-contact-table {
  width: 100%;
  overflow: hidden;
  border: 1px solid #dbe1ea;
  border-radius: 6px;
  border-collapse: separate;
  border-spacing: 0;
  margin: 12px 0 14px;
  color: #1f2937;
  font-size: 16px;
}

.cms-simple-contact-table th,
.cms-simple-contact-table td {
  border-bottom: 1px solid #dbe1ea;
  padding: 10px 18px;
  text-align: left;
  vertical-align: middle;
}

.cms-simple-contact-table tr:last-child th,
.cms-simple-contact-table tr:last-child td {
  border-bottom: 0;
}

.cms-simple-contact-table th {
  width: 160px;
  background: #fafafa;
  color: #111827;
  font-weight: 850;
}

.cms-simple-contact-table td {
  background: rgba(255, 255, 255, .74);
  color: #374151;
}

.cms-simple-contact-table a,
.cms-simple-section a {
  color: inherit;
  text-decoration: none;
}

.cms-simple-contact-table a:hover,
.cms-simple-contact-table a:focus-visible,
.cms-simple-section a:hover,
.cms-simple-section a:focus-visible {
  color: #805f00;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cms-simple-quote {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 63px;
  border: 1px solid #f4bd00;
  border-left: 5px solid #ffc107;
  border-radius: 6px;
  margin: 4px 0 0;
  padding: 10px 22px;
  background: linear-gradient(90deg, rgba(255, 212, 0, .13), rgba(255, 250, 226, .72));
  box-sizing: border-box;
  color: #1f2937;
}

.cms-simple-quote span {
  color: #f4b400;
  font-size: 52px;
  line-height: .7;
  font-weight: 900;
}

.cms-simple-quote p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 750;
}

/* Page 55: user image host */
.user-images-h5 {
  min-height: 100vh;
  margin: 0;
  background: #f6f8fc;
  color: #111827;
  font-family: var(--font-brand);
}

.image-host-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 54px 1fr 54px;
  align-items: center;
  height: 97px;
  padding: max(14px, env(safe-area-inset-top)) 22px 12px;
  border-bottom: 1px solid #dfe3ea;
  background: rgba(255, 255, 255, .96);
  box-sizing: border-box;
}

.image-host-topbar a,
.image-host-topbar span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
}

.image-host-topbar svg {
  width: 40px;
  height: 40px;
  fill: none;
  stroke: #111;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.image-host-topbar h1 {
  margin: 0;
  text-align: center;
  color: #111;
  font-size: 34px;
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: 0;
}

.image-host-page {
  width: min(100%, 430px);
  margin: 0 auto;
  padding: 21px 15px calc(108px + env(safe-area-inset-bottom));
  box-sizing: border-box;
}

.image-host-alert {
  margin: 0 0 14px;
  border: 1px solid rgba(239, 68, 68, .22);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff1f2;
  color: #be123c;
  font-size: 14px;
  font-weight: 700;
}

.image-host-panel {
  overflow: hidden;
  border: 1px solid rgba(203, 213, 225, .86);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(30, 41, 59, .08);
}

.image-host-panel + .image-host-panel {
  margin-top: 27px;
}

.image-host-panel > header {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 80px;
  padding: 0 24px;
  background: linear-gradient(112deg, #4b78f6 0%, #7940d4 100%);
  color: #fff;
}

.image-host-panel > header svg {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.image-host-panel > header h2 {
  margin: 0;
  font-size: 29px;
  line-height: 1.15;
  font-weight: 850;
  letter-spacing: 0;
}

.image-host-upload-form {
  display: grid;
  gap: 14px;
  padding: 25px 24px 0;
}

.image-host-dropzone {
  position: relative;
  display: grid;
  min-height: 224px;
  place-items: center;
  align-content: center;
  gap: 11px;
  border: 2px dashed #b9c3d6;
  border-radius: 10px;
  background: linear-gradient(180deg, #f9fbff 0%, #fff 100%);
  text-align: center;
  cursor: pointer;
}

.image-host-dropzone.is-dragover {
  border-color: #4e79f7;
  background: #eef4ff;
  box-shadow: inset 0 0 0 3px rgba(78, 121, 247, .12);
}

.image-host-dropzone input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.image-host-dropzone svg {
  width: 70px;
  height: 70px;
  fill: none;
  stroke: #6d55d9;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.image-host-dropzone strong {
  max-width: 310px;
  color: #111827;
  font-size: 21px;
  line-height: 1.35;
  font-weight: 850;
}

.image-host-dropzone span {
  color: #64748b;
  font-size: 16px;
  line-height: 1.45;
}

.image-host-dropzone .image-host-selection {
  min-height: 22px;
  color: #285bea;
  font-size: 14px;
  font-weight: 750;
}

.image-host-dropzone .image-host-selection.is-error {
  color: #be123c;
}

.image-host-upload-button {
  justify-self: center;
  min-width: 136px;
  min-height: 40px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(110deg, #4e79f7, #7a40d7);
  color: #fff;
  font-size: 15px;
  font-weight: 850;
}

.image-host-upload-button:disabled {
  cursor: wait;
  opacity: .68;
}

.image-host-progress {
  display: grid;
  grid-template-columns: 1fr 51px;
  align-items: center;
  gap: 12px;
  padding: 22px 24px 16px;
}

.image-host-progress p {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  margin: 0;
  color: #667085;
  font-size: 17px;
}

.image-host-progress b {
  color: #172033;
  font-size: 19px;
}

.image-host-progress div {
  overflow: hidden;
  height: 8px;
  border-radius: 99px;
  background: #e8ebf1;
}

.image-host-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4678ff 0%, #7b48df 100%);
}

.image-host-progress em {
  color: #8090aa;
  font-size: 18px;
  line-height: 1;
  font-style: normal;
  text-align: right;
}

.image-host-live-status {
  min-height: 20px;
  margin: 0;
  padding: 0 24px 14px;
  color: #285bea;
  font-size: 14px;
  font-weight: 750;
  text-align: center;
}

.image-host-uploaded {
  padding: 0 24px 25px;
}

.image-host-uploaded p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 13px;
  color: #16a34a;
  font-size: 20px;
  font-weight: 850;
}

.image-host-uploaded p svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.image-host-url-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 72px 72px;
  align-items: center;
  gap: 7px;
  min-height: 78px;
  border: 1px solid #dfe5ee;
  border-radius: 10px;
  padding: 8px 8px 8px 14px;
  box-sizing: border-box;
}

.image-host-url-row > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 4px;
  background: linear-gradient(135deg, #5a82f6, #7d4bdc);
  color: #fff;
}

.image-host-url-row svg,
.image-host-card-actions svg,
.image-host-more svg,
.image-host-tabbar svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.image-host-url-row > span svg {
  width: 30px;
  height: 30px;
}

.image-host-url-row input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #273145;
  font-size: 15px;
}

.image-host-url-row button,
.image-host-url-row a {
  display: inline-flex;
  min-width: 0;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1.5px solid #6657e5;
  border-radius: 8px;
  background: #fff;
  color: #285bea;
  text-decoration: none;
  font: inherit;
  font-size: 15px;
  font-weight: 850;
}

.image-host-url-row button svg,
.image-host-url-row a svg {
  width: 20px;
  height: 20px;
}

.image-host-url-row button:disabled,
.image-host-card-actions button:disabled {
  opacity: .66;
}

.image-host-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  padding: 24px 23px 20px;
}

.image-host-card {
  min-width: 0;
  border: 1px solid #e1e6ef;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 3px 9px rgba(15, 23, 42, .04);
}

.image-host-thumb {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-radius: 7px;
  background: #eef2f7;
}

.image-host-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.image-host-card h3 {
  overflow: hidden;
  margin: 14px 0 8px;
  color: #111827;
  font-size: 21px;
  line-height: 1.18;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.image-host-card p {
  overflow: hidden;
  margin: 0 0 13px;
  color: #64748b;
  font-size: 15px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.image-host-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.image-host-card-actions button,
.image-host-card-actions a {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1.5px solid #6657e5;
  border-radius: 7px;
  background: #fff;
  color: #285bea;
  text-decoration: none;
  font: inherit;
  font-size: 16px;
  font-weight: 850;
}

.image-host-card-actions svg {
  width: 20px;
  height: 20px;
}

.image-host-card form {
  margin: 8px 0 0;
}

.image-host-card form button {
  width: 100%;
  min-height: 34px;
  border: 0;
  border-radius: 7px;
  background: #f8fafc;
  color: #94a3b8;
  font-size: 13px;
}

.image-host-more {
  display: inline-flex;
  width: calc(100% - 46px);
  min-height: 61px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 23px 23px;
  border: 1.5px solid #4c78f7;
  border-radius: 9px;
  background: #fff;
  color: #165dff;
  text-decoration: none;
  font-size: 20px;
  font-weight: 850;
}

.image-host-more svg {
  width: 25px;
  height: 25px;
}

.image-host-empty {
  margin: 24px;
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  padding: 28px 18px;
  text-align: center;
}

.image-host-empty strong {
  color: #111827;
  font-size: 20px;
}

.image-host-empty p {
  margin: 8px 0 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.55;
}

.image-host-tabbar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 25;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: calc(86px + env(safe-area-inset-bottom));
  padding: 9px 22px calc(9px + env(safe-area-inset-bottom));
  border-top: 1px solid #dfe3ea;
  background: rgba(255, 255, 255, .96);
  box-sizing: border-box;
}

.image-host-tabbar a {
  display: grid;
  justify-items: center;
  gap: 5px;
  color: #667085;
  text-decoration: none;
  font-size: 16px;
  font-weight: 550;
}

.image-host-tabbar a.is-active {
  color: #165dff;
  font-weight: 850;
}

.image-host-tabbar svg {
  width: 34px;
  height: 34px;
  stroke-width: 2;
}

.public-create-h5 .form,
.user-images-h5 .form {
  gap: 16px;
}

@media (max-width: 980px) {
  .cms-page-site-header {
    position: relative;
    grid-template-columns: 1fr;
    height: auto;
    gap: 12px;
    padding: 16px;
  }

  .cms-page-site-nav {
    width: 100%;
    height: auto;
    justify-content: flex-start;
    gap: 24px;
    overflow-x: auto;
  }

  .cms-page-site-nav a {
    height: 38px;
  }

  .cms-page-site-nav a.active::after {
    bottom: 0;
  }

  .cms-page-admin {
    justify-content: flex-start;
  }

  .cms-page-main {
    padding: 16px;
  }

  .cms-page-card {
    width: calc(100% - 32px);
  }

  .cms-page-contact {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .cms-disclosure-main {
    width: calc(100% - 32px);
  }

  .cms-disclosure-layout {
    grid-template-columns: 1fr;
  }

  .cms-disclosure-sidebar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cms-disclosure-cards {
    grid-template-columns: 1fr;
  }

  .cms-disclosure-table-wrap {
    overflow-x: auto;
  }

  .cms-disclosure-table {
    min-width: 860px;
  }

  .cms-simple-main {
    width: calc(100% - 32px);
  }

  .cms-site-header {
    height: auto;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }

  .cms-site-nav {
    width: 100%;
    height: auto;
    justify-content: flex-start;
    gap: 22px;
    overflow-x: auto;
  }

  .cms-site-nav a {
    height: 36px;
  }

  .cms-site-nav a.active::after {
    bottom: 0;
  }

  .cms-screen-link {
    justify-self: start;
  }

  .cms-home-main {
    padding: 14px 16px 24px;
  }

  .cms-home-hero {
    min-height: 520px;
  }

  .cms-home-hero-copy {
    width: auto;
    padding: 40px 28px 0;
  }

  .cms-home-hero-copy h1 {
    font-size: 42px;
  }

  .cms-home-hero-actions {
    flex-wrap: wrap;
  }

  .cms-home-metrics,
  .cms-feature-grid,
  .cms-news-grid {
    grid-template-columns: 1fr 1fr;
  }

  .cms-home-metrics article:nth-child(2) {
    border-right: 0;
  }

  .cms-home-metrics article {
    min-height: 92px;
  }

  .cms-category-site-header,
  .cms-category-site-inner {
    height: auto;
  }

  .cms-category-site-inner {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px 0;
  }

  .cms-category-site-nav {
    width: 100%;
    height: auto;
    justify-content: flex-start;
    gap: 22px;
    overflow-x: auto;
  }

  .cms-category-site-nav a {
    height: 38px;
  }

  .cms-category-site-nav a.active::after {
    bottom: 0;
  }

  .cms-category-screen-link {
    justify-self: start;
  }

  .cms-category-hero,
  .cms-category-hero-inner {
    min-height: 210px;
  }

  .cms-category-card-link {
    grid-template-columns: 210px minmax(0, 1fr);
  }

  .cms-category-thumb {
    width: 210px;
  }

  .cms-category-info strong {
    white-space: normal;
  }

  .cms-article-site-header,
  .cms-article-site-inner {
    height: auto;
  }

  .cms-article-site-inner {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px 0;
  }

  .cms-article-site-nav {
    width: 100%;
    height: auto;
    justify-content: flex-start;
    gap: 24px;
    overflow-x: auto;
  }

  .cms-article-site-nav a {
    height: 38px;
  }

  .cms-article-layout {
    grid-template-columns: 1fr;
  }

  .cms-article-sidebar {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  body.public-h5.cms-page-legacy-h5 {
    padding-bottom: 0;
  }

  .cms-page-site-header {
    display: flex;
    min-height: 78px;
    align-items: center;
    justify-content: space-between;
    padding: max(14px, env(safe-area-inset-top)) 16px 14px;
    background: #050505;
  }

  .cms-page-brand {
    color: #fff;
  }

  .cms-page-brand strong {
    display: none;
  }

  .cms-page-brand-mark {
    width: 39px;
    height: 39px;
    border-radius: 11px;
    background: #ffd84d;
    color: #111827;
    font-size: 0;
  }

  .cms-page-brand-mark::before {
    content: "蜂";
    font-size: 20px;
    font-weight: 950;
  }

  .cms-page-site-nav,
  .cms-page-admin {
    display: none;
  }

  .cms-page-site-header::after {
    content: "机构简介";
    position: absolute;
    left: 50%;
    color: #fff;
    font-size: 18px;
    font-weight: 850;
    transform: translateX(-50%);
  }

  .cms-page-main {
    padding: 18px 14px 28px;
  }

  .cms-page-shell {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .cms-page-breadcrumb {
    display: none;
  }

  .cms-page-hero {
    min-height: 150px;
    border: 1px solid rgba(245, 193, 7, .35);
    border-radius: 14px;
    padding: 22px 20px;
    place-items: start;
    text-align: left;
  }

  .cms-page-hero h1 {
    margin-top: 24px;
    font-size: 28px;
  }

  .cms-page-hero p {
    font-size: 17px;
  }

  .cms-page-card {
    width: 100%;
    margin: 26px 0 0;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
  }

  .cms-page-meta-row {
    display: none;
  }

  .cms-page-content {
    padding: 22px 20px 4px;
  }

  .cms-page-section {
    font-size: 17px;
    line-height: 1.8;
  }

  .cms-page-section h2 {
    font-size: 21px;
  }

  .cms-page-downloads {
    margin: 0 20px;
    padding-bottom: 22px;
  }

  .cms-page-download {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px 10px;
    min-height: 70px;
    padding: 10px 12px;
  }

  .cms-page-download em {
    grid-column: 2;
    text-align: left;
  }

  .cms-page-download b {
    grid-column: 1 / -1;
    width: 100%;
  }

  .cms-disclosure-h5 .cms-page-site-header::after {
    content: "信息公开";
  }

  .cms-disclosure-main {
    width: 100%;
    padding: 18px 14px 28px;
    box-sizing: border-box;
  }

  .cms-disclosure-breadcrumb {
    display: none;
  }

  .cms-disclosure-hero {
    min-height: 150px;
    margin: 0 0 18px;
    border-radius: 14px;
    padding: 22px 20px;
    place-items: start;
    text-align: left;
    box-sizing: border-box;
  }

  .cms-disclosure-hero h1 {
    margin-top: 24px;
    font-size: 28px;
  }

  .cms-disclosure-hero p {
    font-size: 17px;
  }

  .cms-disclosure-layout,
  .cms-disclosure-sidebar,
  .cms-disclosure-content,
  .cms-disclosure-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .cms-disclosure-side-card,
  .cms-disclosure-feature,
  .cms-disclosure-latest,
  .cms-disclosure-notice {
    border-radius: 14px;
  }

  .cms-disclosure-feature {
    min-height: auto;
  }

  .cms-disclosure-feature header {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .cms-disclosure-feature header a {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .cms-disclosure-feature li a {
    grid-template-columns: 1fr;
    gap: 2px;
    min-height: 52px;
  }

  .cms-disclosure-feature time {
    padding-left: 17px;
    text-align: left;
  }

  .cms-disclosure-table {
    min-width: 760px;
  }

  .cms-disclosure-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .cms-disclosure-notice ul {
    padding-left: 24px;
  }

  .cms-simple-h5 .cms-page-site-header::after {
    content: "联系我们";
  }

  .cms-simple-main {
    width: 100%;
    padding: 18px 14px 28px;
    box-sizing: border-box;
  }

  .cms-simple-breadcrumb {
    display: none;
  }

  .cms-simple-hero {
    min-height: 150px;
    margin: 0 0 18px;
    border-radius: 14px;
    padding: 22px 20px;
    place-items: start;
    text-align: left;
    box-sizing: border-box;
  }

  .cms-simple-hero h1 {
    margin-top: 24px;
    font-size: 28px;
  }

  .cms-simple-hero p {
    font-size: 17px;
  }

  .cms-simple-article {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 20px 18px 24px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
  }

  .cms-simple-section {
    font-size: 16px;
    line-height: 1.78;
  }

  .cms-simple-section h2 {
    font-size: 22px;
  }

  .cms-simple-prose ul {
    grid-template-columns: 1fr;
  }

  .cms-simple-contact-table {
    font-size: 15px;
  }

  .cms-simple-contact-table th {
    width: 78px;
  }

  .cms-simple-contact-table th,
  .cms-simple-contact-table td {
    padding: 11px 12px;
  }

  .cms-simple-quote {
    align-items: flex-start;
    gap: 12px;
    padding: 13px 14px;
  }

  .cms-simple-quote span {
    font-size: 42px;
  }

  .cms-simple-quote p {
    font-size: 16px;
  }

  .cms-site-brand strong {
    font-size: 20px;
  }

  .cms-home-hero {
    min-height: 560px;
  }

  .cms-home-hero-copy h1 {
    font-size: 36px;
  }

  .cms-home-hero-actions a {
    width: 100%;
  }

  .cms-home-metrics,
  .cms-feature-grid,
  .cms-news-grid {
    grid-template-columns: 1fr;
  }

  .cms-home-metrics article,
  .cms-home-metrics article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }

  .cms-home-metrics article:last-child {
    border-bottom: 0;
  }

  .cms-feature-card,
  .cms-news-card a {
    grid-template-columns: 1fr;
  }

  .cms-news-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .cms-category-site-inner,
  .cms-category-hero-inner,
  .cms-category-content {
    width: min(100% - 32px, 560px);
  }

  .cms-category-brand-text strong {
    font-size: 21px;
  }

  .cms-category-hero {
    background:
      linear-gradient(90deg, rgba(255, 212, 0, .98), rgba(255, 212, 0, .84)),
      url("/static/img/cms-category-skyline.png") right bottom / auto 150px no-repeat;
  }

  .cms-category-hero h1 {
    font-size: 34px;
  }

  .cms-category-hero p {
    font-size: 16px;
  }

  .cms-category-card-link {
    grid-template-columns: 1fr;
  }

  .cms-category-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 7;
  }

  .cms-category-info {
    padding: 14px 16px 16px;
  }

  .cms-category-info strong {
    font-size: 18px;
  }

  .cms-category-summary {
    -webkit-line-clamp: 2;
  }

  .cms-category-meta {
    gap: 12px;
  }

  .cms-article-site-inner,
  .cms-article-main {
    width: min(100% - 32px, 560px);
  }

  .cms-article-brand strong {
    font-size: 22px;
  }

  .cms-article-site-actions {
    justify-content: flex-start;
  }

  .cms-article-card,
  .cms-article-side-card {
    padding: 16px;
  }

  .cms-article-head h1 {
    font-size: 24px;
  }

  .cms-article-head {
    margin-bottom: 18px;
  }

  .cms-article-attachments,
  .cms-article-attachment-grid,
  .cms-article-sidebar,
  .cms-article-nav {
    grid-template-columns: 1fr;
  }

  .cms-article-like {
    width: 100%;
  }

  .cms-article-original-source {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .cms-article-original-source > a {
    width: 100%;
  }

  .cms-article-related-list a {
    grid-template-columns: 104px minmax(0, 1fr);
  }

  .cms-article-related-list img {
    width: 104px;
    height: 70px;
  }

  .cms-article-nav a,
  .cms-article-nav a.next {
    grid-template-columns: 32px minmax(0, 1fr);
    text-align: left;
  }

  .cms-article-nav a.next {
    grid-column: 1;
    border-left: 0;
  }

  .cms-article-nav a.next svg {
    grid-column: 1;
    grid-row: 1;
  }

  .cms-article-nav a.next span {
    grid-column: 2;
  }

  .cms-article-nav a + a {
    border-left: 0;
    border-top: 1px solid #e5e7eb;
  }
}

@media (max-width: 820px) {

  .cms-article-pdf-preview {
    margin-top: 20px;
    border-radius: 14px;
  }

  .cms-article-pdf-preview > header {
    display: grid;
    min-height: 0;
    gap: 16px;
    padding: 18px;
  }

  .cms-article-pdf-preview h2 {
    font-size: 17px;
  }

  .cms-article-pdf-preview header nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cms-article-pdf-preview header nav a {
    min-height: 40px;
    padding: 0 10px;
  }

  .cms-article-pdf-frame {
    height: 68vh;
    min-height: 500px;
  }

  body.public-h5 {
    background: #f6f6f6;
    overflow-x: hidden;
  }

  body.public-h5.auth-h5 {
    background:
      radial-gradient(circle at 18% 10%, rgba(255, 255, 255, .2), transparent 28%),
      linear-gradient(135deg, #2f7df4 0%, #7441e8 100%);
  }

  body.public-h5.auth-h5.account-login-h5 {
    background: linear-gradient(135deg, #5169ff 0%, #5c5be9 48%, #7b38c9 100%);
  }

  .account-login-page {
    min-height: 100dvh;
    padding: max(26px, env(safe-area-inset-top)) 16px max(26px, env(safe-area-inset-bottom));
  }

  .account-login-card.auth-card {
    gap: 19px;
    border-radius: 18px;
    padding: 30px 22px 24px;
  }

  .account-login-card h1 {
    font-size: 34px;
  }

  .account-login-card > p {
    margin-top: -8px;
    font-size: 16px;
  }

  .account-login-tabs {
    min-height: 44px;
  }

  .account-login-tabs a {
    gap: 7px;
    font-size: 14px;
  }

  .account-login-tabs svg {
    width: 19px;
    height: 19px;
  }

  .account-login-field {
    font-size: 15px;
  }

  .auth-login-form .account-login-field input {
    min-height: 54px;
    padding-left: 48px;
    padding-right: 48px;
    font-size: 16px;
  }

  .account-login-field i {
    left: 15px;
    bottom: 15px;
  }

  .account-login-password-toggle {
    right: 15px;
    bottom: 15px;
  }

  .account-login-remember {
    font-size: 16px;
  }

  .account-login-remember input {
    width: 22px;
    height: 22px;
  }

  .account-login-card .auth-primary-action {
    min-height: 54px;
    font-size: 20px;
  }

  .account-login-links {
    grid-template-columns: 1fr auto;
    gap: 11px 16px;
    font-size: 15px;
    white-space: normal;
  }

  .account-login-links a:last-child {
    justify-self: end;
  }

  .account-register-card.auth-card,
  .account-recovery-card.auth-card {
    margin-block: 0;
  }

  .account-register-links {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    font-size: 15px;
  }

  .account-recovery-steps {
    gap: 15px 12px;
  }

  .account-login-dev-note {
    gap: 9px;
    padding: 14px;
  }

  .account-login-dev-note h2 {
    font-size: 18px;
  }

  .account-login-dev-note p,
  .account-login-dev-note ul {
    font-size: 14px;
  }

  .auth-h5-page {
    width: 100%;
    align-content: start;
    gap: 16px;
    padding: max(26px, env(safe-area-inset-top)) 20px max(26px, env(safe-area-inset-bottom));
  }

  .auth-logo-lockup {
    gap: 10px;
    font-size: 24px;
  }

  .auth-logo-lockup .brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 20px;
  }

  .auth-card {
    border-radius: 22px;
    padding: 24px 22px;
  }

  .qr-auth-card {
    padding: 28px 22px 22px;
  }

  .qr-auth-header {
    grid-template-columns: minmax(0, 84px) auto minmax(0, 84px);
    gap: 10px;
  }

  .auth-card h1 {
    font-size: 27px;
  }

  .auth-qr-frame {
    padding: 10px;
  }

  .auth-qr-code {
    width: 214px;
    min-height: 214px;
  }

  .auth-qr-code::before {
    left: 18px;
    top: 18px;
    box-shadow:
      118px 0 0 -11px #fff,
      118px 0 0 0 #111,
      0 118px 0 -11px #fff,
      0 118px 0 0 #111;
  }

  .auth-qr-code::after {
    left: 72px;
    top: 70px;
  }

  .auth-status-card {
    min-height: 62px;
  }

  .auth-card-footer {
    gap: 10px;
  }

  .authorize-card,
  .auth-result-card {
    gap: 15px;
    padding: 28px 30px 26px;
  }

  .auth-icon-ring,
  .auth-success-icon {
    width: 110px;
    height: 110px;
  }

  .authorize-heading h1,
  .auth-result-heading h1 {
    font-size: 36px;
  }

  .authorize-heading p,
  .auth-result-heading p {
    font-size: 16px;
  }

  .auth-user-strip {
    min-height: 94px;
    gap: 12px;
    padding: 14px 16px;
  }

  .auth-user-avatar,
  .auth-result-user {
    width: 64px;
    height: 64px;
  }

  .auth-user-strip strong {
    font-size: 24px;
  }

  .auth-user-strip small {
    margin-top: 4px;
    font-size: 15px;
  }

  .auth-confirm-copy {
    gap: 12px;
    padding: 6px 0;
  }

  .auth-confirm-icon {
    width: 46px;
    height: 46px;
  }

  .auth-confirm-copy b {
    font-size: 20px;
  }

  .auth-confirm-copy div span {
    margin-top: 5px;
    font-size: 15px;
  }

  .auth-primary-action {
    min-height: 58px;
    font-size: 22px;
  }

  .auth-safe-note {
    padding-top: 14px;
    font-size: 14px;
  }

  .auth-result-meta {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
    padding: 16px 0;
  }

  .auth-result-meta dl {
    gap: 7px;
  }

  .auth-result-meta dt {
    min-width: 78px;
    font-size: 14px;
  }

  .auth-result-meta dd {
    font-size: 14px;
  }

  .auth-result-pills {
    gap: 10px;
    padding: 10px;
  }

  .auth-result-pills span {
    min-height: 34px;
    padding: 0 10px;
    font-size: 13px;
  }

  .public-h5 *,
  .public-h5 *::before,
  .public-h5 *::after {
    min-width: 0;
  }

  .public-h5 .topbar {
    position: sticky;
    top: 0;
    min-height: 78px;
    justify-content: space-between;
    padding: max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 14px max(16px, env(safe-area-inset-left));
    border-bottom: 0;
    background: #050505;
    color: #fff;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .18);
  }

  .public-h5 .brand {
    color: #fff;
  }

  .public-h5 .brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #ffd400;
    box-shadow: none;
  }

  .public-h5:not(.home-h5) .brand > span:last-child {
    display: none;
  }

  .public-h5 .mobile-nav-title {
    position: absolute;
    left: 86px;
    right: 86px;
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .home-h5 .mobile-nav-title {
    display: none;
  }

  .public-h5 .mobile-topbar-action {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    color: #fff;
  }

  .donate-h5 .topbar {
    border-bottom: 1px solid rgba(17, 17, 17, .08);
    background: rgba(255, 255, 255, .98);
    color: #111;
    box-shadow: none;
  }

  .donate-h5 .brand,
  .donate-h5 .mobile-nav-title,
  .donate-h5 .mobile-topbar-action {
    color: #111;
  }

  .public-h5 .page {
    width: 100%;
    max-width: 430px;
    padding: 18px 14px calc(var(--app-tabbar-height) + 42px + env(safe-area-inset-bottom));
    overflow-x: hidden;
  }

  .donate-h5 .page,
  .activity-detail-h5 .page {
    padding-top: 18px;
  }

  .public-h5 .card,
  .public-h5 .panel,
  .public-h5 .form,
  .public-h5 .page-hero,
  .public-h5 .feature-card {
    border-radius: 18px;
    padding: 18px;
  }

  .public-h5 .page-hero {
    gap: 12px;
    width: 100%;
  }

  .public-h5 .page-hero h1 {
    font-size: 28px;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .public-h5 .hero h1,
  .public-h5 h2,
  .public-h5 h3,
  .public-h5 p,
  .public-h5 dd,
  .public-h5 .button {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .home-h5 .dynamic-hero {
    min-height: 360px;
    padding: 28px 22px;
    border-radius: 20px;
  }

  .home-h5 .hero h1 {
    max-width: 100%;
    font-size: 28px;
    overflow-wrap: anywhere;
  }

  .home-h5 .hero p {
    font-size: 15px;
  }

  .home-h5 .hero-visual {
    display: none;
  }

  .home-h5 .hero-actions .button {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
  }

  .home-h5 .hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-radius: 16px;
    padding: 14px;
    background: rgba(255, 255, 255, .08);
  }

  .home-h5 .hero-stats div {
    border-right-color: rgba(255, 255, 255, .18);
    padding-right: 8px;
  }

  .home-h5 .hero-stats strong {
    font-size: 22px;
  }

  .home-h5 .home-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .home-h5 .home-quick-grid .feature-card {
    min-height: 132px;
    padding: 16px 10px;
  }

  .home-h5 .home-quick-grid .feature-card p {
    display: none;
  }

  .home-h5 .section-head h2 {
    font-size: 24px;
  }

  .activities-h5 .page-hero {
    display: none;
  }

  .activities-h5 .mobile-list-controls {
    gap: 15px;
    margin-top: 17px;
  }

  .activities-h5 .mobile-searchbar {
    min-height: 58px;
    border-radius: 15px;
    padding: 0 18px;
    border-color: rgba(17, 17, 17, .1);
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .015), 0 10px 24px rgba(17, 17, 17, .045);
  }

  .activities-h5 .mobile-searchbar svg {
    width: 23px;
    height: 23px;
    color: #3f3f46;
  }

  .activities-h5 .mobile-searchbar input {
    color: #111;
    font-size: 16px;
    font-weight: 800;
  }

  .activities-h5 .segmented-tabs {
    margin: 2px -14px 0;
    padding: 0 24px;
    background: #fff;
  }

  .activities-h5 .segmented-tabs a {
    min-height: 54px;
    font-size: 17px;
    color: #27272a;
  }

  .activities-h5 .segmented-tabs a::after {
    left: 18%;
    right: 18%;
    height: 4px;
  }

  .activities-h5 .segmented-tabs a.is-active {
    color: #f0b900;
  }

  .activities-h5 .activity-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 18px;
    padding-bottom: 26px;
  }

  .activities-h5 .activity-list .activity-card {
    position: relative;
    grid-template-columns: 112px minmax(0, 1fr) 18px;
    gap: 4px 12px;
    align-items: start;
    min-height: 138px;
    border-radius: 16px;
    padding: 12px 11px 12px 12px;
    border-color: rgba(17, 17, 17, .08);
    background: #fff;
    box-shadow: 0 9px 24px rgba(17, 17, 17, .06);
    transform: none;
  }

  .activities-h5 .activity-list .activity-card::after {
    display: none;
  }

  .activities-h5 .activity-card .media-cover,
  .activities-h5 .activity-card .activity-cover-placeholder {
    grid-row: 1 / 6;
    width: 112px;
    height: 112px;
    min-height: 112px;
    aspect-ratio: 1;
    margin: 0;
    border-radius: 9px;
    object-fit: cover;
    color: #f8fafc;
    font-size: 17px;
  }

  .activities-h5 .activity-card .activity-cover-placeholder {
    padding: 14px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 42%),
      radial-gradient(circle at 72% 78%, rgba(56, 189, 248, .56), transparent 28%),
      linear-gradient(145deg, #071a47, #020617 64%);
    box-shadow: inset 0 -18px 32px rgba(37, 99, 235, .42);
  }

  .activities-h5 .activity-card .activity-cover-placeholder span {
    max-width: 100%;
    color: inherit;
  }

  .activities-h5 .activity-card h2 {
    grid-column: 2;
    margin-top: 2px;
    color: #111;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.24;
    overflow-wrap: anywhere;
  }

  .activities-h5 .activity-card h2 a {
    display: -webkit-box;
    overflow: hidden;
    color: #111;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .activities-h5 .activity-card p,
  .activities-h5 .activity-card .actions,
  .activities-h5 .activity-card .mini-meta,
  .activities-h5 .activity-card-meta {
    display: none;
  }

  .activities-h5 .activity-status-badge {
    display: inline-flex;
    grid-column: 2;
    width: max-content;
    max-width: 100%;
    min-height: 22px;
    align-items: center;
    border-radius: 8px;
    padding: 0 8px;
    color: #3b3300;
    font-size: 12px;
    font-weight: 950;
    line-height: 1;
    background: #ffe35f;
  }

  .activities-h5 .activity-status-badge.is-running {
    color: #075b25;
    background: #8ee99c;
  }

  .activities-h5 .activity-status-badge.is-ended {
    color: #3f3f46;
    background: #e9eaec;
  }

  .activities-h5 .activity-mobile-facts {
    display: grid;
    grid-column: 2;
    gap: 3px;
    margin: 1px 0 0;
    color: #60646c;
    font-size: 12px;
    line-height: 1.35;
  }

  .activities-h5 .activity-mobile-facts div {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    min-height: 18px;
  }

  .activities-h5 .activity-mobile-facts dt,
  .activities-h5 .activity-mobile-facts dd {
    margin: 0;
  }

  .activities-h5 .activity-mobile-facts dt {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    color: #666b74;
  }

  .activities-h5 .activity-mobile-facts dt svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .activities-h5 .activity-mobile-facts dt span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .activities-h5 .activity-mobile-facts dd {
    overflow: hidden;
    color: #60646c;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .activities-h5 .activity-card-hitarea {
    display: grid;
    grid-column: 3;
    grid-row: 1 / 6;
    align-self: stretch;
    place-items: center;
    color: #8e8e93;
    font-size: 32px;
    font-weight: 300;
    line-height: 1;
    z-index: 1;
  }

  .activities-h5 .activity-card-hitarea span {
    transform: translateY(-2px);
  }

  .detail-cover-card img,
  .detail-cover-fallback {
    height: 280px;
    min-height: 280px;
    max-height: 280px;
  }

  .detail-cover-card img {
    object-fit: cover;
  }

  .activity-detail-h5 {
    background: #f4f4f4;
  }

  .activity-detail-h5 .topbar {
    display: none;
  }

  .activity-detail-h5 .page {
    max-width: 430px;
    padding: 0 10px calc(96px + env(safe-area-inset-bottom));
  }

  .detail-mobile-topbar {
    position: sticky;
    top: 0;
    z-index: 130;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    align-items: center;
    min-height: 72px;
    padding: env(safe-area-inset-top) 14px 0;
    background: #080808;
    color: #fff;
  }

  .detail-mobile-topbar a,
  .detail-mobile-topbar button,
  .detail-mobile-topbar span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 38px;
    line-height: 1;
  }

  .detail-mobile-topbar button,
  .detail-mobile-topbar a[aria-label="分享活动"] {
    justify-self: end;
    font-size: 28px;
  }

  .detail-mobile-topbar strong {
    overflow: hidden;
    font-size: 21px;
    line-height: 1.2;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .activity-detail-h5 .detail-cover-card {
    margin: 0 -10px;
    border-radius: 0 0 18px 18px;
    box-shadow: none;
  }

  .detail-cover-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .05) 24%, rgba(0, 0, 0, .58) 100%);
    pointer-events: none;
  }

  .detail-cover-overlay {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 42px;
    z-index: 2;
    display: grid;
    gap: 8px;
    color: #fff;
  }

  .detail-cover-overlay span {
    width: fit-content;
    border-radius: 999px;
    padding: 5px 10px;
    background: rgba(255, 212, 0, .94);
    color: #111;
    font-size: 13px;
    font-weight: 900;
  }

  .detail-cover-overlay h1 {
    margin: 0;
    color: #fff;
    font-size: 30px;
    line-height: 1.12;
    text-shadow: 0 8px 26px rgba(0, 0, 0, .4);
  }

  .detail-cover-overlay p {
    display: -webkit-box;
    max-width: 94%;
    margin: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, .92);
    font-size: 15px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .activity-detail-h5 .activity-detail-hero {
    position: relative;
    z-index: 2;
    gap: 13px;
    margin-top: -36px;
    padding: 16px 20px;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(17, 17, 17, .09);
  }

  .activity-detail-h5 .activity-detail-hero > div:nth-child(2) > .section-badge,
  .activity-detail-h5 .activity-detail-hero > div:nth-child(2) > p {
    display: none;
  }

  .activity-detail-h5 .activity-detail-hero h1 {
    margin-bottom: 8px;
    font-size: 28px;
    line-height: 1.15;
  }

  .activity-detail-h5 .activity-detail-hero .actions {
    display: none;
    gap: 8px;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .activity-detail-h5 .activity-detail-hero .actions .button {
    flex: 0 0 auto;
    min-height: 38px;
    border-radius: 10px;
    padding: 0 13px;
    background: #f8f8f8;
    color: #111;
    font-size: 13px;
    box-shadow: none;
  }

  .activity-detail-h5 .activity-card-meta {
    gap: 7px;
  }

  .activity-detail-h5 .activity-card-meta .pill {
    border-color: rgba(255, 212, 0, .5);
    background: #fff7bf;
    color: #5c4700;
  }

  .detail-organizer-strip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 64px;
    border: 1px solid rgba(17, 17, 17, .08);
    border-radius: 16px;
    padding: 10px 12px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(17, 17, 17, .06);
  }

  .detail-organizer-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #ffd400;
    color: #111;
    font-weight: 900;
  }

  .detail-organizer-strip strong,
  .detail-organizer-strip small {
    display: block;
  }

  .detail-organizer-strip small {
    margin-top: 3px;
    color: #667085;
    font-size: 13px;
  }

  .detail-info-list {
    display: grid;
    width: 100%;
    margin: 0;
    border: 1px solid rgba(17, 17, 17, .08);
    border-radius: 14px;
    background: #fff;
  }

  .detail-info-list div {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    min-height: 46px;
    padding: 10px 14px;
    border-top: 1px solid rgba(17, 17, 17, .07);
  }

  .detail-info-list div:first-child {
    border-top: 0;
  }

  .detail-info-list dt {
    color: #111;
    font-weight: 900;
  }

  .detail-info-list dd {
    margin: 0;
    color: #344054;
  }

  .detail-anchor-tabs {
    position: sticky;
    top: 72px;
    z-index: 90;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 10px -10px 0;
    border-bottom: 1px solid rgba(17, 17, 17, .08);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(12px);
  }

  .detail-anchor-tabs a {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 48px;
    color: #344054;
    font-size: 16px;
    font-weight: 900;
  }

  .detail-anchor-tabs a.is-active {
    color: #c49300;
  }

  .detail-anchor-tabs a.is-active::after {
    content: "";
    position: absolute;
    left: 24%;
    right: 24%;
    bottom: 0;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: #ffd400;
  }

  .detail-intro-card {
    display: grid;
    gap: 12px;
  }

  .detail-intro-card p {
    margin: 0;
    color: #475467;
    font-size: 16px;
    line-height: 1.8;
  }

  .detail-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .detail-stat-grid article {
    display: grid;
    place-items: center;
    min-height: 82px;
    border: 1px solid rgba(17, 17, 17, .08);
    border-radius: 12px;
    background: #fff;
    text-align: center;
  }

  .detail-stat-grid b {
    color: #111;
    font-size: 22px;
  }

  .detail-stat-grid span {
    color: #667085;
    font-size: 13px;
    font-weight: 800;
  }

  .activity-detail-h5 .panel h2,
  .activity-detail-h5 .form h2 {
    padding-left: 10px;
    border-left: 4px solid #ffd400;
  }

  .activity-detail-h5 .registration-modal {
    display: none;
  }

  .activity-detail-h5 .registration-modal:target {
    position: fixed;
    inset: 0;
    z-index: 190;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .activity-detail-h5 .registration-modal:target .registration-modal-backdrop {
    position: fixed;
    inset: 0;
    display: block;
    background: rgba(0, 0, 0, .62);
    backdrop-filter: blur(2px);
  }

  .activity-detail-h5 .registration-modal-card {
    display: grid;
    gap: 11px;
  }

  .activity-detail-h5 .registration-modal:target .registration-modal-card {
    position: fixed;
    left: 14px;
    right: 14px;
    top: 50%;
    z-index: 2;
    max-height: calc(100dvh - 92px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(17, 17, 17, .1);
    border-radius: 18px;
    padding: 24px 22px 22px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
    transform: translateY(-48%);
    scrollbar-width: none;
  }

  .activity-detail-h5 .registration-modal:target .registration-modal-card::-webkit-scrollbar {
    display: none;
  }

  .activity-detail-h5 .registration-modal-head {
    position: relative;
    justify-content: center;
    min-height: 40px;
    margin-bottom: 2px;
  }

  .activity-detail-h5 .registration-modal-head h2 {
    padding-left: 0;
    border-left: 0;
    color: #111;
    font-size: 23px;
    font-weight: 950;
    letter-spacing: 0;
    text-align: center;
  }

  .activity-detail-h5 .registration-modal-close {
    position: absolute;
    right: -4px;
    top: 0;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #f0f1f3;
    color: #3f3f46;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
  }

  .activity-detail-h5 .registration-field {
    position: relative;
    display: block;
    margin-top: 7px;
    font-weight: 900;
  }

  .activity-detail-h5 .registration-seat-field {
    display: none;
  }

  .activity-detail-h5 .registration-field > span {
    position: absolute;
    left: 16px;
    top: -10px;
    z-index: 1;
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    gap: 4px;
    border: 1px solid rgba(17, 17, 17, .12);
    border-radius: 7px;
    padding: 0 10px;
    background: #fff;
    color: #171717;
    font-size: 14px;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(17, 17, 17, .04);
  }

  .activity-detail-h5 .registration-field input,
  .activity-detail-h5 .registration-field textarea {
    width: 100%;
    min-height: 57px;
    border: 1px solid rgba(17, 17, 17, .16);
    border-radius: 10px;
    padding: 15px 16px 10px;
    background: #fff;
    color: #111;
    font-size: 16px;
    font-weight: 700;
    box-shadow: none;
  }

  .activity-detail-h5 .registration-field textarea {
    min-height: 74px;
    resize: vertical;
  }

  .activity-detail-h5 .registration-field input::placeholder,
  .activity-detail-h5 .registration-field textarea::placeholder {
    color: #9ca3af;
    font-weight: 650;
  }

  .activity-detail-h5 .registration-field input:focus,
  .activity-detail-h5 .registration-field textarea:focus {
    border-color: rgba(255, 212, 0, .95);
    outline: 0;
    box-shadow: 0 0 0 4px rgba(255, 212, 0, .18);
  }

  .activity-detail-h5 .registration-agreement {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
    color: #404040;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
  }

  .activity-detail-h5 .registration-agreement input {
    width: 22px;
    min-width: 22px;
    height: 22px;
    min-height: 22px;
    accent-color: #ffd400;
  }

  .activity-detail-h5 .registration-agreement span {
    color: #e6ae00;
  }

  .activity-detail-h5 .registration-submit {
    min-height: 58px;
    margin-top: 2px;
    border-radius: 11px;
    background: #ffd400;
    color: #111 !important;
    font-size: 23px;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(255, 212, 0, .3);
  }

  .detail-sticky-action {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 140;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    min-height: calc(78px + env(safe-area-inset-bottom));
    padding: 10px 18px calc(10px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(17, 17, 17, .08);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -12px 28px rgba(17, 17, 17, .12);
  }

  .detail-sticky-action .button {
    min-height: 58px;
    border-radius: 14px;
    background: #ffd400;
    color: #111 !important;
    font-size: 20px;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(255, 212, 0, .25);
  }

  .detail-sticky-action .button.secondary {
    background: #111;
    color: #fff !important;
    box-shadow: none;
  }

  .activity-detail-h5 .app-tabbar {
    display: none;
  }

  .activity-detail-type-conference,
  .activity-detail-type-training {
    background:
      linear-gradient(180deg, #f5f6f8 0%, #f1f3f6 100%);
  }

  .activity-detail-type-conference .page,
  .activity-detail-type-training .page {
    max-width: 430px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .activity-detail-type-conference .detail-mobile-topbar {
    display: none;
  }

  .activity-detail-type-training .detail-mobile-topbar {
    min-height: 51px;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    padding: env(safe-area-inset-top) 8px 0;
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .04);
  }

  .activity-detail-type-training .detail-mobile-topbar a {
    color: #1f2937;
    font-size: 34px;
  }

  .activity-detail-type-training .detail-mobile-topbar strong {
    font-size: 18px;
    font-weight: 950;
  }

  .activity-detail-type-conference .detail-cover-card,
  .activity-detail-type-training .detail-cover-card {
    margin: 0 -16px;
    border-radius: 0;
  }

  .activity-detail-type-conference .detail-cover-card::after,
  .activity-detail-type-training .detail-cover-card::after,
  .activity-detail-type-conference .detail-cover-overlay,
  .activity-detail-type-training .detail-cover-overlay {
    display: none;
  }

  .detail-type-cover {
    position: relative;
    height: 203px;
    min-height: 203px;
    max-height: 203px;
    overflow: hidden;
    align-content: center;
    padding: 26px;
    isolation: isolate;
  }

  .activity-detail-type-training .detail-type-cover {
    height: 184px;
    min-height: 184px;
    max-height: 184px;
  }

  .detail-type-cover::before,
  .detail-type-cover::after {
    content: "";
    position: absolute;
    pointer-events: none;
  }

  .detail-type-cover-conference {
    justify-content: start;
    color: #fff;
    background:
      radial-gradient(circle at 85% 28%, rgba(39, 124, 255, .58), transparent 31%),
      linear-gradient(112deg, rgba(4, 24, 61, .98) 0%, rgba(3, 36, 86, .98) 58%, rgba(1, 62, 135, .92) 100%);
  }

  .detail-type-cover-conference::before {
    left: -24px;
    right: -36px;
    bottom: -8px;
    height: 78px;
    background:
      repeating-radial-gradient(ellipse at 16% 86%, transparent 0 9px, rgba(35, 119, 255, .62) 10px 11px, transparent 12px 22px),
      linear-gradient(100deg, transparent 0 45%, rgba(255, 185, 0, .95) 47% 50%, rgba(255, 205, 34, .72) 52%, transparent 72%);
    transform: skewY(-7deg);
  }

  .detail-type-cover-conference::after {
    right: 26px;
    top: 26px;
    width: 94px;
    height: 112px;
    border-radius: 46px 46px 4px 4px;
    background:
      linear-gradient(90deg, transparent 0 42%, rgba(255, 255, 255, .42) 43% 45%, transparent 46%),
      linear-gradient(180deg, #09234f, #06152f);
    box-shadow:
      -52px 42px 0 -19px rgba(3, 20, 48, .82),
      -96px 62px 0 -27px rgba(3, 20, 48, .78);
    opacity: .9;
  }

  .detail-type-cover-conference strong {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 46px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0;
  }

  .detail-cover-fallback.detail-type-cover-conference strong span {
    color: #ffca15;
  }

  .detail-type-cover-conference em {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 19px;
    color: rgba(255, 255, 255, .92);
    font-size: 14px;
    font-style: normal;
    font-weight: 850;
    letter-spacing: 2px;
  }

  .detail-type-cover-training {
    color: #fff;
    background:
      linear-gradient(130deg, #08204c 0 62%, #ffc400 63% 100%);
  }

  .detail-type-cover-training::before {
    right: 27px;
    bottom: 27px;
    width: 126px;
    height: 74px;
    border-radius: 11px;
    background:
      linear-gradient(180deg, #d8e3f4 0 59%, #1f3765 60% 63%, #edf4ff 64%),
      linear-gradient(90deg, transparent 0 18%, rgba(18, 50, 103, .18) 19% 21%, transparent 22%);
    box-shadow:
      -66px 35px 0 -28px #fff,
      51px 45px 0 -42px #102b5d;
    transform: rotate(-8deg);
  }

  .detail-type-cover-training::after {
    right: 66px;
    top: 42px;
    width: 46px;
    height: 61px;
    border-radius: 10px;
    background:
      linear-gradient(90deg, transparent 20%, #3168c2 21% 34%, transparent 35% 48%, #3168c2 49% 66%, transparent 67%),
      #0f2b66;
  }

  .detail-type-cover-training strong {
    position: relative;
    z-index: 1;
    max-width: 250px;
    color: #fff;
    font-size: 32px;
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: 0;
  }

  .detail-cover-fallback.detail-type-cover-training strong span {
    color: #ffca15;
  }

  .detail-type-cover-training em {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, .92);
    font-size: 14px;
    font-style: normal;
    font-weight: 850;
  }

  .detail-type-cover-training small {
    position: relative;
    z-index: 1;
    width: fit-content;
    border-radius: 999px;
    padding: 7px 13px;
    background: #ffca15;
    color: #111827;
    font-size: 12px;
    font-weight: 950;
  }

  .detail-type-title-card,
  .detail-type-tabs,
  .detail-type-card {
    display: grid;
  }

  .detail-type-title-card {
    position: relative;
    z-index: 2;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: 94px;
    margin: -10px 0 12px;
    border-radius: 10px;
    padding: 19px 18px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .1);
  }

  .activity-detail-type-conference .detail-type-title-card {
    margin-top: -10px;
  }

  .activity-detail-type-training .detail-type-title-card {
    margin-top: -10px;
    min-height: 86px;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .activity-detail-type-training .detail-type-title-card h1 {
    margin-bottom: 8px;
    font-size: 23px;
  }

  .detail-type-title-card h1 {
    margin: 0 0 10px;
    color: #101828;
    font-size: 25px;
    line-height: 1.12;
    font-weight: 950;
    letter-spacing: 0;
  }

  .detail-type-title-card p {
    margin: 0;
    color: #4b5563;
    font-size: 14px;
    font-weight: 750;
  }

  .detail-type-title-card p strong {
    color: #0e459f;
    font-weight: 950;
  }

  .detail-type-logo {
    display: grid;
    justify-items: center;
    gap: 5px;
    color: #0f2147;
    font-size: 13px;
    font-weight: 950;
  }

  .detail-type-logo span {
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    border-radius: 50%;
    background: #102855;
    color: #ffca15;
    font-size: 24px;
    line-height: 1;
  }

  .detail-type-tabs {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-height: 49px;
    margin-bottom: 10px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(15, 23, 42, .08);
  }

  .detail-type-tabs a {
    position: relative;
    display: grid;
    place-items: center;
    color: #4b5563;
    font-size: 16px;
    font-weight: 850;
  }

  .detail-type-tabs a.is-active {
    color: #ffba00;
  }

  .detail-type-tabs a.is-active::after {
    content: "";
    position: absolute;
    left: 28%;
    right: 28%;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: #ffba00;
  }

  .detail-type-card {
    gap: 15px;
    margin-bottom: 12px;
    border-radius: 10px;
    padding: 21px 18px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(15, 23, 42, .08);
  }

  .detail-type-card h2 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #111827;
    font-size: 19px;
    line-height: 1.15;
    font-weight: 950;
  }

  .detail-type-card h2::before {
    content: "";
    width: 4px;
    height: 18px;
    border-radius: 999px;
    background: #ffbd00;
  }

  .detail-type-info-card dl {
    display: grid;
    gap: 0;
    margin: 0;
  }

  .detail-type-info-card dl div {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    min-height: 45px;
    border-bottom: 1px solid rgba(15, 23, 42, .1);
  }

  .activity-detail-type-conference .detail-type-info-card dl div {
    grid-template-columns: 130px minmax(0, 1fr);
    border-bottom: 0;
  }

  .detail-type-info-card dt,
  .detail-type-info-card dd {
    margin: 0;
    color: #1f2937;
    font-size: 15px;
    font-weight: 780;
  }

  .activity-detail-type-training .detail-type-info-card {
    gap: 8px;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .activity-detail-type-training .detail-type-info-card dl div {
    min-height: 31px;
  }

  .activity-detail-type-training .detail-type-info-card dt,
  .activity-detail-type-training .detail-type-info-card dd {
    font-size: 14px;
  }

  .detail-type-info-card dt {
    color: #4b5563;
  }

  .detail-type-info-card dd {
    text-align: right;
  }

  .detail-type-reminder {
    border-top: 1px solid rgba(15, 23, 42, .12);
    padding-top: 16px;
  }

  .detail-type-reminder strong,
  .detail-type-reminder-card h2 {
    color: #c98900;
  }

  .detail-type-reminder strong {
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 950;
  }

  .detail-type-reminder p,
  .detail-type-reminder-card p {
    margin: 0;
    color: #4b5563;
    font-size: 15px;
    line-height: 1.65;
  }

  .activity-detail-type-training .detail-type-reminder-card {
    gap: 9px;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .activity-detail-type-training .detail-type-reminder-card p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .detail-type-outline-action {
    display: grid;
    min-height: 45px;
    place-items: center;
    border: 1px solid #ffbd00;
    border-radius: 6px;
    color: #e2a300;
    background: #fff;
    font-size: 17px;
    font-weight: 950;
  }

  .detail-type-schedule-card ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .detail-type-schedule-card li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: 44px;
    border-bottom: 1px dashed rgba(15, 23, 42, .14);
    color: #1f2937;
    font-size: 16px;
    font-weight: 850;
  }

  .detail-type-schedule-card li:last-child {
    border-bottom: 0;
  }

  .detail-type-schedule-card time {
    color: #6b7280;
    font-size: 15px;
    font-weight: 780;
  }

  .detail-type-people-card p {
    margin: 0;
    color: #4b5563;
    font-size: 16px;
    font-weight: 780;
  }

  .detail-type-people-card p strong {
    color: #0e459f;
    font-size: 17px;
  }

  .detail-type-avatars {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .detail-type-avatars span,
  .detail-type-avatars em {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(180deg, #e8edf4, #cbd5e1);
  }

  .detail-type-avatars span:nth-child(2n) {
    background: linear-gradient(180deg, #eadcf8, #c7d2fe);
  }

  .detail-type-avatars span:nth-child(3n) {
    background: linear-gradient(180deg, #fce7c3, #bbf7d0);
  }

  .detail-type-avatars em {
    background: #f1f2f4;
    color: #667085;
    font-style: normal;
    font-weight: 900;
  }

  .activity-detail-type-conference .activity-detail-hero,
  .activity-detail-type-training .activity-detail-hero,
  .activity-detail-type-conference .detail-anchor-tabs,
  .activity-detail-type-training .detail-anchor-tabs {
    display: none;
  }

  .activity-detail-type-conference .detail-sticky-action {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
  }

  .activity-detail-type-conference .detail-save-button {
    min-height: 58px;
    border: 1px solid #ffbd00;
    border-radius: 12px;
    color: #c58600;
    background: #fff;
    font-size: 0;
  }

  .activity-detail-type-conference .detail-save-button span {
    display: none;
  }

  .activity-detail-type-conference .detail-save-button small {
    color: inherit;
    font-size: 20px;
    font-weight: 950;
  }

  .activity-detail-type-conference .detail-save-button small::before {
    content: "导航";
    color: #c58600;
  }

  .activity-detail-type-conference .detail-save-button small {
    color: transparent;
  }

  .activity-detail-type-conference .detail-sticky-action .button,
  .activity-detail-type-training .detail-sticky-action .button {
    border-radius: 10px;
    background: linear-gradient(180deg, #ffd01f, #f7b900);
    color: #111827 !important;
    box-shadow: none;
  }

  .activity-detail-type-conference .detail-sticky-action .button,
  .activity-detail-type-training .detail-sticky-action .button {
    font-size: 0;
  }

  .activity-detail-type-conference .detail-sticky-action .button::before,
  .activity-detail-type-training .detail-sticky-action .button::before {
    color: #111827;
    font-size: 20px;
    font-weight: 950;
  }

  .activity-detail-type-conference .detail-sticky-action .button::before {
    content: "报名";
  }

  .activity-detail-type-training .detail-sticky-action .button::before {
    content: "立即报名";
  }

  .activity-detail-type-training .detail-sticky-action {
    grid-template-columns: minmax(0, 1fr);
    padding-right: 20px;
    padding-left: 20px;
  }

  .activity-detail-type-training .detail-save-button {
    display: none;
  }

  .donate-h5 {
    --app-tabbar-height: 0px;
    --donation-sticky-height: 96px;
  }

  .donate-h5 .page-hero {
    display: none;
  }

  .donate-h5 .page {
    padding: 14px 14px calc(var(--donation-sticky-height) + 18px + env(safe-area-inset-bottom));
  }

  .donate-h5 .mobile-nav-title {
    font-size: 20px;
  }

  .donate-h5 .donation-pay-card {
    gap: 12px;
    margin-top: 14px;
    padding: 16px 18px;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(17, 17, 17, .08);
  }

  .donate-h5 .donation-pay-card > label,
  .donate-h5 .donation-amount-panel {
    gap: 8px;
    font-size: 16px;
    font-weight: 900;
  }

  .donate-h5 .donor-ambassador-card { order: 1; }
  .donate-h5 .donor-name-field { order: 2; }
  .donate-h5 .donation-amount-panel { order: 3; }
  .donate-h5 .donation-channel-field { order: 4; }
  .donate-h5 .payment-security-note { order: 5; }
  .donate-h5 .donation-agreement { order: 6; }
  .donate-h5 .donation-note-field { order: 7; }
  .donate-h5 .donation-notes { order: 8; }
  .donate-h5 .donation-pay-card > .donation-submit-button { order: 9; }

  .donate-h5 .donation-pay-card input,
  .donate-h5 .donation-pay-card select,
  .donate-h5 .donation-pay-card textarea {
    font-size: 16px;
  }

  .donate-h5 .donor-ambassador-card {
    position: relative;
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
  }

  .donate-h5 .donor-ambassador-card h2 {
    font-size: 20px;
  }

  .donate-h5 .donor-ambassador-body {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    padding-right: 78px;
  }

  .donate-h5 .donor-avatar {
    width: 66px;
    height: 66px;
    font-size: 22px;
  }

  .donate-h5 .donor-ambassador-card strong {
    margin: 2px 0;
    font-size: 22px;
  }

  .donate-h5 .donor-ambassador-card small {
    font-size: 13px;
  }

  .donate-h5 .donor-ambassador-card small + small {
    display: none;
  }

  .donate-h5 .donor-change-link {
    position: absolute;
    right: 14px;
    top: 78px;
    font-size: 14px;
  }

  .donate-h5 .amount-input-wrap {
    min-height: 64px;
    border-radius: 14px;
  }

  .donate-h5 .amount-input-wrap b {
    font-size: 30px;
  }

  .donate-h5 .amount-input-wrap input {
    font-size: 18px;
  }

  .donate-h5 .my-stats {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
  }

  .donate-h5 .my-stats article {
    padding: 12px 8px;
    text-align: center;
  }

  .donate-h5 .my-stats span {
    font-size: 18px;
  }

  .donate-h5 .donation-amount-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
  }

  .donate-h5 .donation-amount-grid button {
    min-height: 50px;
    border-color: rgba(17, 17, 17, .14);
    border-radius: 10px;
    background: #fff;
    color: #111;
    font-size: 15px;
    line-height: 1.15;
  }

  .donate-h5 .donation-amount-grid button:hover,
  .donate-h5 .donation-amount-grid button:focus-visible,
  .donate-h5 .donation-amount-grid button.is-selected {
    border-color: #ff1f1f;
    background: #fff;
    color: #ff1f1f;
    outline: 0;
  }

  .donate-h5 .donation-note-box textarea {
    min-height: 108px;
  }

  .donate-h5 .payment-security-note {
    min-height: 48px;
    border-radius: 12px;
    font-size: 15px;
  }

  .donate-h5 .donation-agreement {
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 16px;
  }

  .donate-h5 .donation-agreement input {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
  }

  .donate-h5 .donation-channel-chip {
    min-height: 44px;
    padding: 0 14px;
  }

  .donate-h5 .donation-pay-card > .donation-submit-button {
    display: none;
  }

  .donation-sticky-submit {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 150;
    display: grid;
    place-items: center;
    min-height: calc(var(--donation-sticky-height) + env(safe-area-inset-bottom));
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(17, 17, 17, .08);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -14px 32px rgba(17, 17, 17, .14);
  }

  .donation-sticky-submit .donation-submit-button {
    width: 100%;
    max-width: 360px;
    min-height: 60px;
    border-radius: 12px;
    font-size: 22px;
  }

  .donate-h5 .app-tabbar {
    display: none;
  }

  .progress-h5 .page-hero,
  .progress-detail-h5 .page-hero,
  .agreement-h5 .page-hero,
  .cms-h5 .page-hero,
  .cms-article-h5 .page-hero,
  .cms-page-h5 .page-hero,
  .user-images-h5 .page-hero,
  .certificate-designs-h5 .page-hero,
  .public-create-h5 .page-hero {
    border-radius: 18px;
    background:
      radial-gradient(circle at 82% 6%, rgba(255, 212, 0, .28), transparent 26%),
      linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 250, 219, .94));
  }

  body.progress-h5,
  body.progress-detail-h5 {
    padding-bottom: 0;
  }

  .progress-h5 .topbar,
  .progress-detail-h5 .topbar,
  .progress-h5 .app-tabbar,
  .progress-detail-h5 .app-tabbar {
    display: none;
  }

  .progress-h5 .page,
  .progress-detail-h5 .page {
    max-width: 430px;
    padding: max(18px, env(safe-area-inset-top)) 16px 28px;
  }

  .progress-mobile-heading {
    min-height: 54px;
    margin: 0 0 18px;
  }

  .progress-mobile-heading h1 {
    font-size: 24px;
  }

  .progress-back-link {
    width: 38px;
    height: 38px;
  }

  .progress-card-list {
    gap: 18px;
  }

  .progress-story-card,
  .progress-detail-card {
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .1);
  }

  .progress-story-card img,
  .progress-detail-hero img {
    border-radius: 12px;
  }

  .progress-story-body {
    gap: 12px;
    padding: 18px 22px 22px;
  }

  .progress-story-body h2 {
    font-size: 24px;
  }

  .progress-story-body p,
  .progress-detail-summary {
    font-size: 18px;
  }

  .progress-story-meta {
    gap: 10px 14px;
    font-size: 15px;
  }

  .progress-detail-header,
  .progress-detail-summary,
  .progress-detail-prose,
  .progress-detail-slogan {
    margin-right: 20px;
    margin-left: 20px;
  }

  .progress-detail-header {
    padding: 24px 0 20px;
  }

  .progress-detail-header h2 {
    font-size: 29px;
  }

  .progress-detail-prose {
    padding: 22px 0 26px;
    font-size: 20px;
    line-height: 1.9;
  }

  .cms-reader-page {
    max-width: 430px;
  }

  .cms-reader-layout,
  .cms-reader-aside {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .cms-reader-article,
  .cms-side-panel {
    border-radius: 16px;
  }

  .cms-reader-article {
    padding: 20px;
  }

  .cms-reader-header h1 {
    font-size: 26px;
  }

  .cms-reader-prose {
    font-size: 16px;
    line-height: 1.85;
  }

  .cms-reader-prose img {
    max-height: none;
    border-radius: 12px;
  }

  .progress-h5 .progress-timeline {
    display: grid;
    gap: 14px;
  }

  .progress-h5 .progress-timeline::before {
    left: 15px;
  }

  .progress-h5 .progress-card {
    margin-left: 28px;
    padding: 18px;
  }

  .progress-h5 .progress-card::before {
    left: -24px;
    top: 24px;
  }

  .progress-detail-h5 .content-prose,
  .agreement-h5 .content-prose,
  .cms-article-h5 .content-prose,
  .cms-page-h5 .content-prose {
    padding: 20px;
    font-size: 16px;
    line-height: 1.85;
  }

  .cms-h5 .grid,
  .user-images-h5 .grid {
    grid-template-columns: 1fr;
  }

  .cms-h5 .content-card {
    min-height: 140px;
  }

  .cms-h5 .content-card .media-cover {
    aspect-ratio: 16 / 9;
  }

  .user-images-h5 .user-image-card {
    gap: 14px;
    padding: 14px;
  }

  .user-images-h5 .user-image-card .media-cover {
    aspect-ratio: 16 / 10;
  }

  .certificate-designs-h5 .my-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .certificate-designs-h5 .data-table,
  .certificate-designs-h5 .data-table thead,
  .certificate-designs-h5 .data-table tbody,
  .certificate-designs-h5 .data-table tr,
  .certificate-designs-h5 .data-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .certificate-designs-h5 .data-table thead {
    display: none;
  }

  .certificate-designs-h5 .data-table tr {
    border: 1px solid rgba(17, 17, 17, .08);
    border-radius: 16px;
    padding: 14px;
    background: #fff;
  }

  .certificate-designs-h5 .data-table tr + tr {
    margin-top: 12px;
  }

  .certificate-designs-h5 .data-table td {
    border: 0;
    padding: 8px 0;
  }

  .public-create-h5 .form label,
  .public-create-h5 .form details,
  .user-images-h5 .form label {
    min-width: 0;
  }

  .public-create-h5 .form .grid {
    grid-template-columns: 1fr;
  }

  .public-create-h5 .upload-dropzone,
  .public-create-h5 .certificate-canvas {
    min-width: 0;
  }

  .checkin-h5 .my-stats,
  .auction-h5 .my-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .checkin-h5 .my-stats article,
  .auction-h5 .my-stats article {
    padding: 14px 10px;
    text-align: center;
  }

  .profile-h5 .topbar {
    min-height: 96px;
    background: #090909;
    box-shadow: none;
  }

  .profile-h5 .brand {
    visibility: hidden;
    width: 44px;
  }

  .profile-h5 .mobile-nav-title {
    font-size: 22px;
    letter-spacing: 0;
  }

  .profile-h5 .mobile-topbar-action {
    position: relative;
  }

  .profile-h5 .mobile-topbar-action svg {
    display: none;
  }

  .profile-h5 .mobile-topbar-action::before {
    content: "";
    width: 20px;
    height: 18px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 12px 12px 6px 6px;
  }

  .profile-h5 .mobile-topbar-action::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 7px;
    width: 8px;
    height: 4px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 999px 999px;
    transform: translateX(-50%);
  }

  .profile-h5 .page {
    padding-top: 0;
    background: #f7f7f8;
  }

  .profile-h5 .my-hero {
    display: grid;
    gap: 18px;
    align-items: stretch;
    margin: 0 0 0;
    border: 0;
    border-radius: 20px;
    padding: 22px 26px 20px;
    color: #fff;
    background:
      radial-gradient(circle at 78% 10%, rgba(255, 255, 255, .18), transparent 20%),
      radial-gradient(circle at 94% 82%, rgba(255, 255, 255, .14) 0 1px, transparent 1px),
      linear-gradient(135deg, #4f75ff 0%, #7d44da 100%);
    background-size: auto, 13px 13px, auto;
    box-shadow: 0 18px 38px rgba(75, 85, 255, .2);
  }

  .profile-h5 .my-user-card {
    position: relative;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 28px;
    gap: 18px;
    align-items: center;
    min-height: 110px;
  }

  .profile-h5 .my-user-card img,
  .profile-h5 .my-avatar {
    width: 92px;
    height: 92px;
    border: 4px solid rgba(255, 255, 255, .9);
    background: #f4f4f5;
    color: #a1a1aa;
    box-shadow: none;
  }

  .profile-h5 .my-avatar {
    font-size: 34px;
  }

  .profile-h5 .my-hero .section-badge {
    display: none;
  }

  .profile-h5 .my-hero p,
  .profile-h5 .my-hero h1 {
    color: #fff;
  }

  .profile-h5 .my-user-card h1 {
    margin: 0;
    overflow: hidden;
    font-size: 28px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .profile-h5 .profile-id-line {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    min-height: 32px;
    align-items: center;
    margin-top: 9px;
    border-radius: 10px;
    padding: 0 12px;
    background: rgba(255, 255, 255, .17);
    color: rgba(255, 255, 255, .95);
    overflow: hidden;
    font-size: 13px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .profile-h5 .profile-motto {
    display: block;
    margin-top: 12px;
    color: rgba(255, 255, 255, .94);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.45;
  }

  .profile-h5 .profile-edit-link {
    display: grid;
    place-items: center;
    align-self: start;
    width: 30px;
    height: 30px;
    color: #fff;
    font-size: 24px;
    line-height: 1;
  }

  .profile-h5 .profile-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .profile-h5 .profile-hero-stats article {
    display: grid;
    gap: 5px;
    min-width: 0;
    border-left: 1px solid rgba(255, 255, 255, .34);
    text-align: center;
  }

  .profile-h5 .profile-hero-stats article:first-child {
    border-left: 0;
  }

  .profile-h5 .profile-hero-stats strong {
    color: #fff;
    font-size: 30px;
    line-height: 1;
  }

  .profile-h5 .profile-hero-stats span {
    overflow: hidden;
    color: rgba(255, 255, 255, .92);
    font-size: 15px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .profile-h5 .my-hero-actions {
    display: none;
  }

  .profile-h5 .my-stats {
    display: none;
  }

  .profile-menu-shell {
    gap: 24px;
    margin-top: 22px;
  }

  .profile-menu-section {
    gap: 14px;
  }

  .profile-menu-section h2 {
    padding-left: 8px;
    color: #111;
    font-size: 24px;
    line-height: 1.15;
  }

  .profile-menu-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(17, 17, 17, .06);
  }

  .profile-menu-grid .feature-card {
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    min-height: 86px;
    padding: 16px 18px;
    background: #fff;
  }

  .profile-menu-grid .feature-card + .feature-card {
    border-top: 1px solid rgba(17, 17, 17, .07);
  }

  .profile-menu-grid .feature-card::before {
    content: "›";
    grid-column: 3;
    grid-row: 1 / span 2;
    color: #98a2b3;
    font-size: 34px;
    font-weight: 300;
  }

  .profile-menu-grid .feature-card span {
    grid-row: 1 / span 2;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: #fff;
    font-size: 16px;
    box-shadow: 0 8px 16px rgba(17, 17, 17, .1);
  }

  .profile-menu-grid .feature-card:nth-child(1) span {
    background: #ffc400;
  }

  .profile-menu-grid .feature-card:nth-child(2) span {
    background: #4f75ff;
  }

  .profile-menu-grid .feature-card:nth-child(3) span {
    background: #52c95b;
  }

  .profile-menu-grid .feature-card:nth-child(4) span {
    background: #7d55e7;
  }

  .profile-menu-grid .feature-card h3 {
    font-size: 20px;
    font-weight: 900;
  }

  .profile-menu-grid .feature-card p {
    display: none;
  }

  .profile-account-grid .feature-card:nth-child(1) span {
    background: #72767d;
  }

  .profile-account-grid .feature-card:nth-child(2) span {
    background: #f7b500;
  }

.profile-account-grid .feature-card:nth-child(3) span {
  background: #4f75ff;
}

.profile-account-grid .feature-card:nth-child(4) span {
  background: #59bf45;
}

.profile-account-grid .feature-card:nth-child(5) span {
  background: #f04444;
}

.profile-quick-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 9px 28px rgba(17, 17, 17, .06);
  }

  .profile-quick-grid a {
    min-height: 100px;
    border-left: 1px solid rgba(17, 17, 17, .08);
    padding: 13px 6px;
    color: #111;
    font-size: 14px;
  }

  .profile-quick-grid a:first-child {
    border-left: 0;
  }

  .profile-quick-grid span {
    width: 33px;
    height: 33px;
    border-radius: 999px;
    background: transparent;
    color: #f59f00;
    font-size: 19px;
  }

  .profile-quick-grid a:nth-child(2) span {
    color: #4f75ff;
  }

  .profile-quick-grid a:nth-child(3) span {
    color: #7d55e7;
  }

  .profile-quick-grid a:nth-child(4) span {
    color: #f97316;
  }

  .profile-h5 .my-dashboard-grid,
  .profile-h5 .admin-two-panel {
    grid-template-columns: 1fr;
  }

  .profile-h5 .profile-desktop-panels,
  .profile-h5 .profile-profile-panels > .panel:first-child {
    display: none;
  }

  .user-activities-h5 .topbar {
    min-height: 96px;
    background: #050505;
    box-shadow: none;
  }

  .user-activities-h5 .brand {
    visibility: hidden;
    width: 44px;
  }

  .user-activities-h5 .mobile-nav-title {
    font-size: 22px;
    letter-spacing: 0;
  }

  .user-activities-h5 .mobile-topbar-action {
    visibility: hidden;
  }

  .user-activities-h5 .page {
    padding-top: 0;
    background: #f6f6f6;
  }

  .user-activities-h5 .page-hero,
  .user-activities-h5 .my-stats,
  .user-activities-h5 .user-activities-desktop-panel {
    display: none;
  }

  .user-events-mobile {
    display: grid;
    gap: 0;
    margin: 0 -14px;
  }

  .user-events-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 72px;
    border-bottom: 1px solid rgba(17, 17, 17, .04);
    background: #fff;
    box-shadow: 0 8px 22px rgba(17, 17, 17, .04);
  }

  .user-events-tabs a {
    position: relative;
    display: grid;
    place-items: center;
    color: #6f6f72;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
  }

  .user-events-tabs a.is-active {
    color: #111;
    font-weight: 900;
  }

  .user-events-tabs a.is-active::after {
    content: "";
    position: absolute;
    right: 28px;
    bottom: 0;
    left: 28px;
    height: 4px;
    border-radius: 999px 999px 0 0;
    background: #ffd400;
  }

  .user-events-list {
    display: grid;
    gap: 14px;
    padding: 14px 14px 10px;
  }

  .user-event-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 0 14px;
    border: 1px solid rgba(17, 17, 17, .04);
    border-radius: 9px;
    padding: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(17, 17, 17, .08);
  }

  .user-event-cover {
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    overflow: hidden;
    border-radius: 7px;
    background:
      radial-gradient(circle at 78% 76%, rgba(255, 212, 0, .22), transparent 30%),
      linear-gradient(135deg, #080808 0%, #1d1d1d 54%, #b88718 100%);
    color: #ffe27a;
    text-align: center;
    text-decoration: none;
  }

  .user-event-card:nth-child(2n) .user-event-cover {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .54), rgba(255, 255, 255, .1)),
      linear-gradient(135deg, #dbeafe 0%, #f7fbff 48%, #7db4d6 100%);
    color: #0f4aa8;
  }

  .user-event-card:nth-child(3n) .user-event-cover {
    background:
      radial-gradient(circle at 50% 62%, rgba(55, 160, 255, .45), transparent 26%),
      linear-gradient(135deg, #071426 0%, #0f2d52 100%);
    color: #a8dcff;
  }

  .user-event-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .user-event-cover span {
    max-width: 76px;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.35;
  }

  .user-event-main {
    position: relative;
    min-height: 96px;
    padding-right: 28px;
  }

  .user-event-title {
    display: block;
    overflow: hidden;
    margin: 3px 0 15px;
    color: #111;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .user-event-meta {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 8px 0 0;
    color: #5f6368;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
  }

  .user-event-meta span {
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    border: 1px solid #777;
    border-radius: 5px;
    color: #555;
    font-size: 10px;
    font-weight: 900;
  }

  .user-event-meta + .user-event-meta span {
    border-radius: 999px;
  }

  .user-event-arrow {
    position: absolute;
    top: 44px;
    right: -2px;
    color: #5b5b5f;
    font-size: 44px;
    font-weight: 300;
    line-height: 1;
    text-decoration: none;
  }

  .user-event-bottom {
    grid-column: 1 / -1;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    margin-top: 12px;
    border-top: 1px dashed rgba(17, 17, 17, .14);
    padding-top: 10px;
    color: #36363a;
    font-size: 16px;
    font-weight: 650;
  }

  .user-event-bottom > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .user-event-status {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid #9ca3af;
    border-radius: 8px;
    padding: 0 13px;
    background: #fff;
    color: #575757;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
  }

  .user-event-status.is-live {
    border-color: #34a853;
    background: #effdf3;
    color: #16a34a;
  }

  .user-event-status.is-draft {
    border-color: #1d75d8;
    background: #eff6ff;
    color: #1266c3;
  }

  .user-event-status.is-ended,
  .user-event-status.is-neutral {
    border-color: #9ca3af;
    background: #f7f7f8;
    color: #626262;
  }

  .user-event-ops {
    display: none;
  }

  .user-event-ops a,
  .user-event-ops span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(17, 17, 17, .1);
    border-radius: 7px;
    padding: 0 10px;
    background: #fff;
    color: #555;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
  }

  .user-event-ops a:nth-child(2) {
    border-color: rgba(255, 212, 0, .8);
    background: #fff8cc;
    color: #111;
  }

  .user-events-empty {
    display: grid;
    gap: 10px;
    border-radius: 12px;
    padding: 22px 18px;
    background: #fff;
    text-align: center;
    box-shadow: 0 12px 28px rgba(17, 17, 17, .08);
  }

  .user-events-empty strong {
    color: #111;
    font-size: 20px;
  }

  .user-events-empty p {
    margin: 0;
    color: #6b7280;
  }

  .user-events-more {
    margin: 2px 0 20px;
    color: #8a8a8e;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
  }

  .user-donations-h5 .page-hero,
  .messages-h5 .page-hero,
  .user-activities-h5 .page-hero,
  .fundraising-channels-h5 .page-hero,
  .fundraising-payment-h5 .panel.result-card {
    border-radius: 20px;
    background:
      linear-gradient(135deg, rgba(255, 212, 0, .18), rgba(255, 255, 255, .96)),
      #fff;
  }

  .user-donations-h5 .donation-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .user-donations-h5 .user-donation-card {
    border-radius: 18px;
    padding: 16px;
  }

  .messages-h5 .grid {
    grid-template-columns: 1fr;
  }

  .messages-h5 .message-card {
    min-height: 0;
    border-left: 4px solid #ffd400;
  }

  .fundraising-channels-h5 .topbar,
  .fundraising-channels-h5 .app-tabbar {
    display: none;
  }

  .fundraising-channels-h5 .page {
    max-width: 430px;
    padding: 0 14px 28px;
    background: #fff;
  }

  .fundraising-channels-h5 .page-hero,
  .fundraising-channels-h5 .content-preview,
  .fundraising-channels-h5 .fundraising-channel-desktop-section {
    display: none;
  }

  .ambassador-select-mobile {
    display: grid;
    gap: 18px;
    margin: 0 -14px;
  }

  .ambassador-flow-topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 56px;
    align-items: center;
    min-height: 78px;
    border-bottom: 1px solid rgba(17, 17, 17, .08);
    padding-top: env(safe-area-inset-top);
    background: rgba(255, 255, 255, .98);
    backdrop-filter: blur(14px);
  }

  .ambassador-flow-topbar a {
    display: grid;
    place-items: center;
    color: #111;
    font-size: 46px;
    font-weight: 250;
    line-height: 1;
    text-decoration: none;
  }

  .ambassador-flow-topbar strong {
    overflow: hidden;
    color: #111;
    font-size: 24px;
    font-weight: 900;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ambassador-select-intro {
    display: grid;
    gap: 6px;
    padding: 4px 28px 0;
  }

  .ambassador-select-intro p {
    margin: 0;
    color: #3f3f46;
    font-size: 18px;
    font-weight: 650;
  }

  .ambassador-select-intro small {
    color: #85858b;
    font-size: 13px;
    font-weight: 650;
  }

  .ambassador-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
    padding: 0 28px;
  }

  .ambassador-choice-card {
    position: relative;
    display: grid;
    justify-items: center;
    min-height: 190px;
    overflow: hidden;
    border: 1px solid rgba(17, 17, 17, .12);
    border-radius: 8px;
    padding: 26px 10px 18px;
    background:
      radial-gradient(circle at 18% 14%, rgba(255, 59, 48, .07), transparent 28%),
      #fff;
    color: #111;
    text-align: center;
    text-decoration: none;
  }

  .ambassador-choice-card.is-selected {
    border-color: #ff2b28;
    background:
      linear-gradient(145deg, rgba(255, 43, 40, .06), rgba(255, 255, 255, .98) 52%),
      #fff;
  }

  .ambassador-choice-check {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #ff2b28;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
  }

  .ambassador-choice-avatar {
    display: grid;
    place-items: center;
    width: 86px;
    height: 86px;
    margin-bottom: 14px;
    border-radius: 999px;
    background:
      radial-gradient(circle at 50% 32%, rgba(255, 255, 255, .85) 0 15%, transparent 16%),
      linear-gradient(135deg, #dbeafe, #f8fafc 48%, #f59e0b);
    color: #111;
    font-size: 28px;
    font-weight: 900;
    box-shadow: inset 0 0 0 1px rgba(17, 17, 17, .05);
  }

  .ambassador-choice-card:nth-child(2n) .ambassador-choice-avatar {
    background:
      radial-gradient(circle at 50% 32%, rgba(255, 255, 255, .85) 0 15%, transparent 16%),
      linear-gradient(135deg, #eef2ff, #f8fafc 48%, #64748b);
  }

  .ambassador-choice-card:nth-child(3n) .ambassador-choice-avatar {
    background:
      radial-gradient(circle at 50% 32%, rgba(255, 255, 255, .85) 0 15%, transparent 16%),
      linear-gradient(135deg, #e0f2fe, #f8fafc 48%, #2563eb);
  }

  .ambassador-choice-card strong {
    display: block;
    overflow: hidden;
    max-width: 100%;
    color: #111;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ambassador-choice-card small {
    display: block;
    margin-top: 8px;
    color: #4d4d52;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.25;
  }

  .ambassador-choice-card em {
    margin-top: 12px;
    color: #ff2b28;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
  }

  .ambassador-direct-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 26px;
    gap: 12px;
    align-items: center;
    min-height: 88px;
    margin: 4px 28px 0;
    border: 1px solid rgba(17, 17, 17, .1);
    border-radius: 8px;
    padding: 14px 16px;
    color: #111;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(17, 17, 17, .04);
  }

  .ambassador-direct-card > span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #fff2f2;
    color: #ff2b28;
    font-size: 26px;
    font-weight: 900;
  }

  .ambassador-direct-card strong {
    display: block;
    color: #111;
    font-size: 18px;
    font-weight: 900;
  }

  .ambassador-direct-card small {
    display: block;
    margin-top: 5px;
    color: #68686f;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
  }

  .ambassador-direct-card b {
    color: #8a8a8f;
    font-size: 42px;
    font-weight: 260;
    line-height: 1;
  }

  .ambassador-empty-card {
    display: grid;
    gap: 8px;
    margin: 0 28px;
    border: 1px solid rgba(17, 17, 17, .08);
    border-radius: 10px;
    padding: 22px 18px;
    text-align: center;
  }

  .ambassador-empty-card strong {
    color: #111;
    font-size: 18px;
  }

  .ambassador-empty-card p {
    margin: 0;
    color: #6f6f76;
  }

  .fundraising-channels-h5 .card.stack {
    border-left: 4px solid #ffd400;
  }

  .fundraising-payment-h5 .topbar,
  .fundraising-payment-h5 .app-tabbar {
    display: none;
  }

  .fundraising-payment-h5 {
    background:
      linear-gradient(180deg, #ff2525 0%, #ef1017 42%, #fff 42%, #fff 100%);
  }

  .fundraising-payment-h5 .page {
    max-width: 430px;
    padding: 0 14px 28px;
    background: transparent;
  }

  .fundraising-payment-h5 .payment-success-shell {
    position: relative;
    display: grid;
    gap: 18px;
    margin: 0 -14px;
    border: 0;
    border-radius: 0;
    padding: max(84px, calc(64px + env(safe-area-inset-top))) 24px 30px;
    overflow: hidden;
    background: #fff;
    box-shadow: none;
    text-align: center;
  }

  .fundraising-payment-h5 .payment-success-shell::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 380px;
    background:
      radial-gradient(circle at 25% 38%, rgba(255, 255, 255, .34) 0 2px, transparent 3px),
      radial-gradient(circle at 79% 35%, rgba(255, 255, 255, .28) 0 2px, transparent 3px),
      radial-gradient(circle at 52% 22%, rgba(255, 255, 255, .2) 0 64px, transparent 65px),
      repeating-conic-gradient(from 0deg at 50% 18%, rgba(255, 255, 255, .08) 0deg 5deg, transparent 5deg 11deg),
      linear-gradient(160deg, #ff342d 0%, #ff1018 52%, #e60012 100%);
    pointer-events: none;
  }

  .fundraising-payment-h5 .payment-success-shell > * {
    position: relative;
    z-index: 1;
  }

  .fundraising-payment-h5 .payment-success-hero {
    min-height: 246px;
    align-content: start;
    color: #fff;
  }

  .fundraising-payment-h5 .payment-success-check {
    width: 112px;
    height: 112px;
    margin-bottom: 26px;
    font-size: 72px;
  }

  .fundraising-payment-h5 .payment-legacy-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .fundraising-payment-h5 .payment-success-hero h1 {
    margin: 0;
    color: #fff;
    font-size: 38px;
    line-height: 1.1;
  }

  .fundraising-payment-h5 .payment-success-hero p {
    margin: 2px 0 0;
    color: rgba(255, 255, 255, .96);
    font-size: 21px;
    font-weight: 900;
  }

  .fundraising-payment-h5 .payment-success-card {
    margin-top: -16px;
    border-radius: 18px;
    padding: 28px 22px 14px;
  }

  .fundraising-payment-h5 .payment-success-card > span {
    font-size: 21px;
  }

  .fundraising-payment-h5 .payment-success-card > strong {
    margin-bottom: 8px;
    font-size: 48px;
  }

  .fundraising-payment-h5 .payment-success-card dl div {
    grid-template-columns: 92px minmax(0, 1fr);
    text-align: left;
  }

  .fundraising-payment-h5 .payment-legacy-meta {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .fundraising-payment-h5 .payment-success-tools {
    margin-top: 10px;
  }

  .fundraising-payment-h5 .payment-success-tools a {
    min-height: 118px;
    border-radius: 14px;
  }

  .fundraising-payment-h5 .payment-success-primary {
    margin-top: 4px;
    border-radius: 12px;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
  }

  .fundraising-payment-h5 .payment-technical-actions {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .fundraising-payment-h5 .payment-technical-actions .button {
    min-height: 42px;
    border-radius: 10px;
    font-size: 13px;
  }

  .checkin-h5 .page-hero,
  .auction-h5 .page-hero {
    background:
      linear-gradient(135deg, #111827, #27272a);
    color: #fff;
  }

  .checkin-h5 .page-hero p,
  .auction-h5 .page-hero p {
    color: rgba(255, 255, 255, .75);
  }

  .checkin-h5 .data-table,
  .checkin-h5 .data-table thead,
  .checkin-h5 .data-table tbody,
  .checkin-h5 .data-table tr,
  .checkin-h5 .data-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .checkin-h5 .data-table thead {
    display: none;
  }

  .checkin-h5 .data-table tr {
    border: 1px solid rgba(17, 17, 17, .08);
    border-radius: 16px;
    padding: 14px;
    background: #fff;
  }

  .checkin-h5 .data-table tr + tr {
    margin-top: 12px;
  }

  .checkin-h5 .data-table td {
    border: 0;
    padding: 5px 0;
  }

  .auction-h5 {
    --primary: #ef000f;
    --primary-strong: #d7000f;
    --primary-deep: #b0000b;
  }

  .auction-h5 .section-badge,
  .auction-h5 .pill {
    border-color: rgba(239, 0, 15, .22);
    background: rgba(239, 0, 15, .08);
    color: #d7000f;
  }

  .auction-h5 .auction-grid {
    grid-template-columns: 1fr;
  }

  .auction-h5 .auction-card {
    border-radius: 20px;
    padding: 14px;
  }

  .auction-h5 .auction-card .media-cover,
  .auction-h5 .auction-cover-placeholder {
    width: 100%;
    min-height: 280px;
    margin: 0;
    border-radius: 18px;
  }

  .auction-h5 .auction-card h3 {
    font-size: 24px;
  }

  .auction-h5 .auction-price,
  .auction-h5 .mini-meta {
    border: 1px solid rgba(239, 0, 15, .12);
    border-radius: 14px;
    padding: 12px;
    background: rgba(239, 0, 15, .035);
  }

  .auction-h5 .auction-like-button {
    width: 100%;
    background: #ef000f;
    color: #fff;
  }

  .fundraising-payment-h5 .mini-meta {
    gap: 10px;
  }

  .fundraising-payment-h5 .mini-meta span {
    border-radius: 12px;
  }
}

.admin-body {
  color-scheme: dark;
  --admin-bg: #0f1117;
  --admin-panel: #161a23;
  --admin-panel-2: #1d2230;
  --admin-line: #2b3242;
  --admin-text: #edf2f7;
  --admin-muted: #98a2b3;
  --admin-accent: #4f9cf9;
  --admin-danger: #f87171;
  background: var(--admin-bg);
  color: var(--admin-text);
  overflow-x: hidden;
}
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0, 1fr); max-width: 100vw; }
.admin-sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; overflow-x: hidden; border-right: 1px solid var(--admin-line); background: #111520; padding: 22px 16px; }
.admin-brand { display: flex; align-items: center; gap: 12px; color: var(--admin-text); margin-bottom: 28px; }
.admin-brand:hover, .admin-nav a:hover { color: #fff; }
.admin-brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; background: linear-gradient(135deg, #2563eb, #14b8a6); color: #fff; font-weight: 900; }
.admin-brand small, .admin-panel p, .admin-page-head p, .admin-metrics small, .admin-metric p, .admin-table small { display: block; color: var(--admin-muted); }
.admin-nav { display: grid; gap: 18px; }
.admin-nav-group { display: grid; gap: 6px; }
.admin-nav-group p { margin: 0 0 4px; color: #667085; font-size: 12px; font-weight: 800; letter-spacing: 0; }
.admin-nav a { display: flex; min-height: 36px; align-items: center; border-radius: 7px; padding: 0 10px; color: #cbd5e1; }
.admin-nav a.active { background: rgba(79, 156, 249, .16); color: #fff; }
.admin-nav a.admin-nav-sub { min-height: 30px; padding-left: 22px; color: #98a2b3; font-size: 13px; }
.admin-sidebar-footer {
  display: grid;
  gap: 10px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--admin-line);
}
.admin-sidebar-card {
  display: grid;
  gap: 4px;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  padding: 12px;
  background: rgba(255, 255, 255, .02);
}
.admin-sidebar-card strong {
  color: var(--admin-text);
  font-size: 13px;
}
.admin-sidebar-card small {
  color: var(--admin-muted);
}
.admin-main { min-width: 0; max-width: 100%; padding: 28px; overflow-x: hidden; }
.admin-workspace-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(79, 156, 249, .08), rgba(79, 156, 249, .02));
}
.admin-workspace-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.admin-workspace-copy p {
  margin: 0;
  color: var(--admin-muted);
}
.admin-workspace-meta,
.admin-workspace-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-width: 0;
}
.admin-workspace-meta > *,
.admin-workspace-actions > * {
  max-width: 100%;
}
.admin-chip,
.admin-user-pill {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px solid var(--admin-line);
  border-radius: 999px;
  padding: 0 10px;
  color: #dbeafe;
  background: rgba(15, 23, 42, .55);
  font-size: 12px;
  font-weight: 800;
}
.admin-chip.accent {
  border-color: rgba(79, 156, 249, .34);
  color: #eff6ff;
  background: rgba(79, 156, 249, .18);
}
.admin-workspace-meta code {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px dashed rgba(148, 163, 184, .4);
  border-radius: 999px;
  padding: 0 10px;
  max-width: 100%;
  color: #bfdbfe;
  background: rgba(15, 23, 42, .5);
  white-space: normal;
  overflow-wrap: anywhere;
}
.admin-page-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 22px; }
.admin-page-head > div,
.admin-panel-head > div,
.admin-detail-hero > div,
.admin-section-head > div,
.admin-link-grid a,
.admin-sidebar-card {
  min-width: 0;
}
.admin-page-head h1, .admin-login h1 { margin: 0 0 8px; font-size: 30px; }
.admin-kicker { margin: 0 0 6px; color: var(--admin-accent); font-size: 12px; font-weight: 900; letter-spacing: 0; text-transform: uppercase; }
.admin-head-actions, .admin-actions, .admin-pagination { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 7px; padding: 0 14px; background: var(--admin-accent); color: #07111f; font-weight: 800; cursor: pointer; }
.admin-button.ghost { border-color: var(--admin-line); background: transparent; color: var(--admin-text); }
.admin-metrics, .admin-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.admin-metrics article, .admin-panel, .admin-link-grid a, .admin-login-card { border: 1px solid var(--admin-line); border-radius: 8px; background: var(--admin-panel); max-width: 100%; }
.admin-metrics article { padding: 18px; }
.admin-metrics span { color: var(--admin-muted); font-size: 13px; }
.admin-metrics strong,
.admin-metric span { display: block; margin: 10px 0 4px; color: var(--admin-text); font-size: 28px; font-weight: 900; }
.admin-metric p { margin: 0; }
.admin-panel { margin-top: 16px; padding: 18px; }
.admin-panel pre {
  max-width: 100%;
  margin: 0;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.admin-detail-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  background: var(--admin-panel);
  padding: 18px;
  margin-bottom: 16px;
}
.admin-detail-hero h2 {
  margin: 10px 0 6px;
  color: var(--admin-text);
  font-size: 22px;
}
.admin-detail-hero p {
  margin: 0;
  color: var(--admin-muted);
}
.admin-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-subnav a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  padding: 0 10px;
  color: #cbd5e1;
  background: var(--admin-panel-2);
  font-size: 13px;
  font-weight: 800;
}
.admin-subnav a.active {
  border-color: rgba(78, 161, 255, 0.7);
  color: #eff6ff;
  background: rgba(78, 161, 255, 0.18);
}
.admin-activity-workbench {
  margin-bottom: 18px;
}
.admin-activity-workbench .admin-link-grid a {
  min-height: 92px;
}
.admin-activity-workbench .admin-row-detail dl {
  grid-template-columns: 96px minmax(0, 1fr);
}
.admin-section-subnav {
  margin: -6px 0 16px;
}
.admin-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.admin-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.admin-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.admin-panel h2 { margin: 0 0 6px; font-size: 18px; }
.admin-link-grid a { padding: 16px; color: var(--admin-text); }
.admin-link-grid b { display: block; margin-bottom: 6px; }
.admin-link-grid span { color: var(--admin-muted); font-size: 13px; }
.admin-table-wrap { width: 100%; overflow-x: auto; }
.admin-table { min-width: 840px; width: 100%; table-layout: fixed; }
.admin-table th, .admin-table td { border-color: var(--admin-line); vertical-align: top; }
.admin-table th { color: var(--admin-muted); font-size: 12px; }
.admin-table code { color: #bfdbfe; }
.admin-table a { color: #93c5fd; }
.admin-actions a { color: #93c5fd; }
.admin-status { display: inline-flex; align-items: center; min-height: 24px; border-radius: 999px; padding: 0 9px; background: rgba(34, 197, 94, .16); color: #86efac; font-size: 12px; font-weight: 800; }
.admin-status.warning { background: rgba(245, 158, 11, .16); color: #fbbf24; }
.admin-status.danger { background: rgba(248, 113, 113, .16); color: var(--admin-danger); }
.admin-row-detail summary {
  cursor: pointer;
  color: #bfdbfe;
  font-weight: 800;
}
.admin-row-detail dl {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 8px 12px;
  min-width: 320px;
  margin: 10px 0 0;
}
.admin-row-detail dt {
  color: var(--admin-muted);
  font-weight: 800;
}
.admin-row-detail dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.admin-row-detail pre {
  max-width: 520px;
  max-height: 180px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  padding: 10px;
  color: #dbeafe;
  background: rgba(15, 23, 42, .75);
  white-space: pre-wrap;
}
.admin-badge { display: inline-flex; align-items: center; min-height: 24px; border-radius: 999px; padding: 0 9px; background: rgba(148, 163, 184, .14); color: #cbd5e1; font-size: 12px; font-weight: 800; }
.admin-badge.success { background: rgba(34, 197, 94, .16); color: #86efac; }
.admin-badge-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.admin-muted-text {
  color: var(--admin-muted);
}
.admin-filter, .admin-form { display: grid; gap: 12px; }
.admin-filter { grid-template-columns: repeat(4, minmax(140px, 1fr)) auto; align-items: end; }
.admin-filter label, .admin-form label, .admin-form-grid label { display: grid; gap: 6px; color: var(--admin-muted); font-size: 13px; font-weight: 800; }
.admin-filter input, .admin-filter select, .admin-form input, .admin-form textarea, .admin-form select,
.admin-form-grid input, .admin-form-grid textarea, .admin-form-grid select,
.admin-row-form input, .admin-row-form select,
.admin-inline-actions input, .admin-inline-actions select {
  min-height: 38px;
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  padding: 8px 10px;
  background: var(--admin-panel-2);
  color: var(--admin-text);
  font: inherit;
}
.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  align-items: end;
}
.admin-form-grid.two {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}
.admin-form-grid.three {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
}
.admin-form-grid.four {
  grid-template-columns: repeat(4, minmax(160px, 1fr));
}
.admin-span-2,
.admin-form-span,
.admin-form-actions {
  grid-column: 1 / -1;
}
.admin-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
.admin-form-actions > small {
  flex: 1 1 260px;
  margin: 0;
  color: var(--admin-muted);
  line-height: 1.6;
}
.admin-check,
.admin-check-grid label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 800;
}
.admin-check input,
.admin-check-grid input {
  width: auto;
  min-height: auto;
}
.admin-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}
.admin-row-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.admin-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.admin-inline-actions form,
.admin-inline-actions p {
  margin: 0;
}
.admin-link-button {
  min-height: 32px;
  border: 1px solid var(--admin-line);
  border-radius: 7px;
  padding: 0 10px;
  background: var(--admin-panel-2);
  color: var(--admin-text);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.admin-link-button.danger,
.admin-button.danger {
  border-color: rgba(248, 113, 113, .32);
  background: rgba(248, 113, 113, .14);
  color: #fecaca;
}
.admin-row-form.wide input {
  min-width: 160px;
}
.admin-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--admin-line);
  padding-top: 10px;
}
.admin-inline-danger {
  display: inline-flex;
  margin-top: 8px;
}
.admin-stack {
  display: grid;
  gap: 12px;
}
.admin-stack.compact {
  gap: 8px;
}
.admin-empty-card {
  border: 1px dashed var(--admin-line);
  border-radius: 8px;
  padding: 16px;
  color: var(--admin-muted);
  background: rgba(148, 163, 184, .06);
}
.admin-two-panel {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 16px;
}
.danger-zone {
  border-color: rgba(248, 113, 113, .28);
}
.admin-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  vertical-align: middle;
  margin-right: 8px;
}
.admin-success {
  border: 1px solid rgba(34, 197, 94, .35);
  border-radius: 8px;
  background: rgba(34, 197, 94, .12);
  color: #bbf7d0;
  padding: 12px;
  margin: 14px 0;
}
.admin-success small {
  display: block;
  margin-top: 4px;
  color: var(--admin-muted);
}
.admin-main .form,
.admin-main .table-wrap,
.admin-main .panel,
.admin-main .card {
  border-color: var(--admin-line);
  background: var(--admin-panel);
  color: var(--admin-text);
}
.admin-main .form input,
.admin-main .form textarea,
.admin-main .form select,
.admin-main .inline-form input,
.admin-main .inline-form textarea,
.admin-main .inline-form select {
  border-color: var(--admin-line);
  background: var(--admin-panel-2);
  color: var(--admin-text);
}
.admin-main .button.secondary {
  border: 1px solid var(--admin-line);
  background: transparent;
  color: var(--admin-text);
}
.admin-main .table-wrap {
  overflow-x: auto;
}
.admin-main .muted {
  color: var(--admin-muted);
}
.admin-main .upload-dropzone {
  border-color: var(--admin-line);
  background: rgba(79, 156, 249, .08);
  color: var(--admin-muted);
}
.admin-main .upload-dropzone strong {
  color: var(--admin-text);
}
.admin-main .upload-dropzone.dragover {
  border-color: var(--admin-accent);
  background: rgba(79, 156, 249, .16);
}
.admin-main .upload-preview img,
.admin-main .certificate-canvas {
  border-color: var(--admin-line);
  background: var(--admin-panel-2);
}
.admin-main .advanced-settings {
  border-color: var(--admin-line);
  background: rgba(255, 255, 255, .025);
}
.admin-main .upload-status.error {
  color: var(--admin-danger);
}
.admin-login { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.admin-login-shell { width: min(1120px, 100%); display: grid; grid-template-columns: minmax(360px, 440px) minmax(0, 1fr); gap: 18px; align-items: start; }
.admin-login-card { width: 100%; padding: 28px; }
.admin-login-side { display: grid; gap: 18px; }
.admin-login-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-top: 16px; }
.admin-login-link { display: inline-flex; color: #93c5fd; }
.admin-alert { border: 1px solid rgba(248, 113, 113, .35); border-radius: 8px; background: rgba(248, 113, 113, .12); color: #fecaca; padding: 12px; margin: 14px 0; }
.admin-alert.danger {
  box-shadow: inset 0 0 0 1px rgba(248, 113, 113, .18);
}
.admin-list { margin: 0; padding-left: 18px; color: var(--admin-muted); display: grid; gap: 10px; }
.admin-inline-help { margin: 0 0 16px; color: var(--admin-muted); }
.admin-pagination { margin-top: 14px; }
.admin-pagination a { color: #93c5fd; }
@media (max-width: 860px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; height: auto; border-right: 0; border-bottom: 1px solid var(--admin-line); }
  .admin-main { padding: 18px; }
  .admin-page-head, .admin-panel-head, .admin-detail-hero, .admin-workspace-bar { flex-direction: column; align-items: flex-start; }
  .admin-login-shell { grid-template-columns: 1fr; }
  .admin-login-actions { align-items: flex-start; }
  .admin-filter { grid-template-columns: 1fr; }
  .admin-form-grid.two, .admin-form-grid.three, .admin-form-grid.four, .admin-two-panel, .admin-split { grid-template-columns: 1fr; }
  .admin-form-actions {
    align-items: stretch;
    gap: 10px;
    margin-top: 14px;
  }
  .admin-form-actions > .admin-button {
    flex: 1 1 180px;
  }
  .admin-form-actions > small {
    flex-basis: 100%;
  }
  .admin-workspace-actions { width: 100%; }
  .admin-table-wrap { max-width: 100%; }
  .admin-table { min-width: 0; }
  .admin-table th, .admin-table td { white-space: normal; }
  .admin-row-detail dl { min-width: 0; grid-template-columns: 1fr; }
  .certificate-summary-card,
  .certificate-editor-head {
    flex-direction: column;
    align-items: stretch;
  }
  .certificate-summary-actions,
  .certificate-editor-toolbar {
    justify-content: flex-start;
  }
  .certificate-editor-workspace {
    min-height: 0;
    overflow: visible;
  }
  .certificate-editor-body {
    grid-template-columns: 1fr;
  }
  .certificate-editor-stage {
    overflow-x: auto;
    padding: 14px;
  }
  .certificate-editor-stage .certificate-canvas {
    width: min(760px, calc(100vw - 64px));
    min-width: 320px;
    min-height: 430px;
  }
  .certificate-editor-stage .certificate-canvas img {
    min-height: 430px;
  }
  .certificate-editor-sidebar {
    overflow: visible;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
  }
  .certificate-preset-grid,
  .certificate-field-list {
    grid-template-columns: 1fr;
  }
}

/* Admin light override for legacy PHP parity. Keep this block at EOF. */
body.admin-body {
  color-scheme: light;
  --admin-bg: #f5f6f8;
  --admin-panel: #ffffff;
  --admin-panel-2: #f9fafb;
  --admin-line: #e5e7eb;
  --admin-text: #111827;
  --admin-muted: #6b7280;
  --admin-accent: #ffd400;
  --admin-accent-strong: #f5c400;
  --admin-danger: #dc2626;
  background: var(--admin-bg);
  color: var(--admin-text);
}

body.admin-body .admin-topbar {
  top: 0;
  min-height: 64px;
  padding: 0 24px;
  background: linear-gradient(180deg, #141414, #050505);
  color: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .18);
}

body.admin-body .admin-topbar-brand,
body.admin-body .admin-topbar-actions {
  color: inherit;
}

body.admin-body .admin-topbar-brand strong {
  overflow: hidden;
  max-width: min(420px, 40vw);
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body .admin-topbar-actions {
  gap: 14px;
  color: rgba(255, 255, 255, .86);
  font-size: 14px;
  font-weight: 800;
}

body.admin-body .admin-topbar a:hover {
  color: #ffd400;
}

body.admin-body .admin-topbar .admin-brand-mark,
body.admin-body .admin-brand-mark {
  border-radius: 10px;
  background: #ffd400;
  color: #111;
  box-shadow: none;
}

body.admin-body .admin-shell {
  min-height: calc(100vh - 64px);
}

body.admin-body .admin-sidebar {
  top: 64px;
  height: calc(100vh - 64px);
  border-right: 1px solid #e5e7eb;
  background: #fff;
  padding: 20px 14px;
}

body.admin-body .admin-sidebar .admin-brand {
  display: none;
}

body.admin-body .admin-nav {
  gap: 22px;
}

body.admin-body .admin-nav-group p {
  color: #6b7280;
  font-size: 13px;
}

body.admin-body .admin-nav a {
  min-height: 44px;
  border-radius: 8px;
  padding: 0 14px;
  color: #111827;
  font-weight: 800;
}

body.admin-body .admin-nav a:hover {
  background: rgba(255, 212, 0, .12);
  color: #111827;
}

body.admin-body .admin-nav a.active,
body.admin-body .admin-nav a.admin-nav-sub.active,
body.admin-body .admin-subnav a.active {
  border-color: #ffd400;
  background: #ffd400;
  color: #111827;
  box-shadow: 0 10px 20px rgba(255, 212, 0, .22);
}

body.admin-body .admin-nav a.admin-nav-sub {
  min-height: 34px;
  padding-left: 28px;
  color: #4b5563;
  font-size: 13px;
}

body.admin-body .admin-main {
  padding: 26px 28px 36px;
  background: var(--admin-bg);
}

body.admin-body .admin-workspace-bar,
body.admin-body .admin-panel,
body.admin-body .admin-metrics article,
body.admin-body .admin-link-grid a,
body.admin-body .admin-login-card,
body.admin-body .admin-main .form,
body.admin-body .admin-main .table-wrap,
body.admin-body .admin-main .panel,
body.admin-body .admin-main .card,
body.admin-body .admin-detail-hero,
body.admin-body .admin-sidebar-card {
  border-color: #e5e7eb;
  background: #fff;
  color: var(--admin-text);
  box-shadow: 0 8px 24px rgba(17, 24, 39, .055);
}

body.admin-body .admin-workspace-bar {
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255, 212, 0, .12), rgba(255, 255, 255, .96) 42%), #fff;
}

body.admin-body .admin-chip,
body.admin-body .admin-user-pill,
body.admin-body .admin-workspace-meta code {
  border-color: #e5e7eb;
  background: #fff;
  color: #111827;
}

body.admin-body .admin-chip.accent,
body.admin-body .admin-kicker {
  color: #8a6a00;
}

body.admin-body .admin-chip.accent {
  border-color: rgba(255, 212, 0, .56);
  background: rgba(255, 212, 0, .16);
}

body.admin-body .admin-page-head h1,
body.admin-body .admin-login h1,
body.admin-body .admin-detail-hero h2,
body.admin-body .admin-metrics strong,
body.admin-body .admin-metric span,
body.admin-body .admin-sidebar-card strong {
  color: #111827;
}

body.admin-body .admin-brand small,
body.admin-body .admin-panel p,
body.admin-body .admin-page-head p,
body.admin-body .admin-metrics small,
body.admin-body .admin-metric p,
body.admin-body .admin-table small,
body.admin-body .admin-list,
body.admin-body .admin-inline-help,
body.admin-body .admin-muted-text,
body.admin-body .admin-sidebar-card small {
  color: var(--admin-muted);
}

body.admin-body .admin-button {
  min-height: 40px;
  border-radius: 8px;
  background: #ffd400;
  color: #111827;
  box-shadow: 0 8px 18px rgba(255, 212, 0, .2);
}

body.admin-body .admin-button:hover {
  background: #f5c400;
  color: #111827;
}

body.admin-body .admin-button.ghost,
body.admin-body .admin-link-button,
body.admin-body .admin-subnav a {
  border-color: #e5e7eb;
  background: #fff;
  color: #111827;
  box-shadow: none;
}

body.admin-body .admin-button.danger,
body.admin-body .admin-link-button.danger {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(220, 38, 38, .08);
  color: #b91c1c;
}

body.admin-body .admin-table {
  border-collapse: collapse;
  background: #fff;
}

body.admin-body .admin-table th,
body.admin-body .admin-table td {
  border-color: #e5e7eb;
}

body.admin-body .admin-table th {
  color: #4b5563;
  background: #f9fafb;
}

body.admin-body .admin-table code,
body.admin-body .admin-table a,
body.admin-body .admin-actions a,
body.admin-body .admin-row-detail summary,
body.admin-body .admin-login-link,
body.admin-body .admin-pagination a {
  color: #2563eb;
}

body.admin-body .admin-status {
  background: rgba(22, 163, 74, .12);
  color: #15803d;
}

body.admin-body .admin-status.warning {
  background: rgba(245, 158, 11, .13);
  color: #b45309;
}

body.admin-body .admin-status.danger,
body.admin-body .admin-main .upload-status.error {
  background: rgba(220, 38, 38, .1);
  color: #b91c1c;
}

body.admin-body .admin-badge {
  background: #f3f4f6;
  color: #374151;
}

body.admin-body .admin-badge.success,
body.admin-body .admin-success {
  background: rgba(22, 163, 74, .08);
  color: #166534;
}

body.admin-body .admin-filter label,
body.admin-body .admin-form label,
body.admin-body .admin-form-grid label,
body.admin-body .admin-check,
body.admin-body .admin-check-grid label,
body.admin-body .admin-row-detail dt {
  color: #4b5563;
}

body.admin-body .admin-filter input,
body.admin-body .admin-filter select,
body.admin-body .admin-form input,
body.admin-body .admin-form textarea,
body.admin-body .admin-form select,
body.admin-body .admin-form-grid input,
body.admin-body .admin-form-grid textarea,
body.admin-body .admin-form-grid select,
body.admin-body .admin-row-form input,
body.admin-body .admin-row-form select,
body.admin-body .admin-inline-actions input,
body.admin-body .admin-inline-actions select,
body.admin-body .admin-main .form input,
body.admin-body .admin-main .form textarea,
body.admin-body .admin-main .form select,
body.admin-body .admin-main .inline-form input,
body.admin-body .admin-main .inline-form textarea,
body.admin-body .admin-main .inline-form select {
  border-color: #d1d5db;
  background: #fff;
  color: #111827;
}

body.admin-body .admin-filter input:focus,
body.admin-body .admin-filter select:focus,
body.admin-body .admin-form input:focus,
body.admin-body .admin-form textarea:focus,
body.admin-body .admin-form select:focus,
body.admin-body .admin-form-grid input:focus,
body.admin-body .admin-form-grid textarea:focus,
body.admin-body .admin-form-grid select:focus {
  border-color: #ffd400;
  outline: 3px solid rgba(255, 212, 0, .22);
}

body.admin-body .admin-row-detail pre,
body.admin-body .admin-empty-card,
body.admin-body .admin-main .upload-dropzone,
body.admin-body .admin-main .advanced-settings {
  border-color: #e5e7eb;
  background: #fbfbfc;
  color: #6b7280;
}

body.admin-body .admin-main .upload-dropzone strong {
  color: #111827;
}

body.admin-body .admin-main .upload-dropzone.dragover {
  border-color: #ffd400;
  background: rgba(255, 212, 0, .14);
}

body.admin-body .admin-main .upload-preview img,
body.admin-body .admin-main .certificate-canvas {
  border-color: #e5e7eb;
  background: #fff;
}

body.admin-body .admin-alert {
  border-color: rgba(220, 38, 38, .24);
  background: rgba(220, 38, 38, .08);
  color: #991b1b;
}

body.admin-body.admin-login {
  background: radial-gradient(circle at 18% 12%, rgba(255, 212, 0, .18), transparent 28%), #f5f6f8;
}

@media (max-width: 860px) {
  body.admin-body .admin-topbar {
    padding: 0 14px;
  }

  body.admin-body .admin-topbar-brand strong {
    max-width: 48vw;
  }

  body.admin-body .admin-topbar-actions {
    gap: 8px;
    font-size: 12px;
  }

  body.admin-body .admin-topbar-role,
  body.admin-body .admin-topbar-actions a:nth-child(2) {
    display: none;
  }

  body.admin-body .admin-sidebar {
    position: static;
    height: auto;
    border-bottom-color: #e5e7eb;
  }

  body.admin-body .admin-main {
    padding: 18px;
  }

  body.admin-body .certificate-editor-sidebar {
    border-top-color: #e5e7eb;
  }
}

/* Compact activity detail workbench so list pages keep table-first density. */
body.admin-body .admin-activity-workbench {
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
  gap: 12px;
  margin-bottom: 12px;
}

body.admin-body .admin-activity-workbench .admin-panel {
  margin-top: 0;
  padding: 14px 16px;
}

body.admin-body .admin-activity-workbench .admin-panel-head {
  margin-bottom: 10px;
}

body.admin-body .admin-activity-workbench .admin-panel-head p,
body.admin-body .admin-activity-workbench .admin-link-grid span {
  display: none;
}

body.admin-body .admin-activity-workbench .admin-link-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

body.admin-body .admin-activity-workbench .admin-link-grid a {
  min-height: 52px;
  padding: 10px 12px;
}

body.admin-body .admin-activity-workbench .admin-link-grid b {
  margin-bottom: 0;
}

body.admin-body .admin-activity-workbench .admin-row-detail dl {
  min-width: 0;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 5px 10px;
  font-size: 13px;
}

body.admin-body .admin-detail-hero {
  align-items: center;
  padding: 14px 18px;
}

body.admin-body .admin-detail-hero h2 {
  margin: 6px 0 4px;
  font-size: 22px;
}

@media (max-width: 1180px) {
  body.admin-body .admin-activity-workbench {
    grid-template-columns: 1fr;
  }
}

body.admin-body .admin-auction-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 16px;
}

body.admin-body .admin-auction-card {
  display: grid;
  gap: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(17, 24, 39, .045);
}

body.admin-body .admin-auction-card-media {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 7px;
  background: #f3f4f6;
  color: #6b7280;
  font-weight: 900;
}

body.admin-body .admin-auction-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.admin-body .admin-auction-card-body {
  display: grid;
  gap: 6px;
}

body.admin-body .admin-auction-card h3,
body.admin-body .admin-auction-card p {
  margin: 0;
}

body.admin-body .admin-auction-card h3 {
  min-height: 42px;
  color: #111827;
  font-size: 16px;
  line-height: 1.35;
}

body.admin-body .admin-auction-card p,
body.admin-body .admin-auction-card small {
  color: #4b5563;
  font-size: 13px;
}

body.admin-body .admin-auction-card strong {
  color: #f97316;
}

body.admin-body .admin-auction-card-actions {
  display: flex;
  gap: 8px;
}

body.admin-body .admin-auction-card-actions .admin-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.legacy-auction-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: 22px;
}

body.admin-body .legacy-auction-metrics.admin-checkin-metrics {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
}

.legacy-auction-stat,
.legacy-auction-board,
.legacy-auction-advanced,
.legacy-auction-table-card {
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .055);
}

.legacy-auction-stat {
  display: flex;
  min-height: 148px;
  align-items: center;
  gap: 26px;
  padding: 24px 22px;
}

.legacy-auction-stat i {
  display: grid;
  width: 66px;
  height: 66px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  color: #fff;
}

.legacy-auction-stat svg {
  width: 35px;
  height: 35px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.legacy-auction-stat.purple i {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.legacy-auction-stat.green i {
  background: linear-gradient(135deg, #22c55e, #16a34a);
}

.legacy-auction-stat.blue i {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}

.legacy-auction-stat.orange i {
  background: linear-gradient(135deg, #f59e0b, #f97316);
}

.legacy-auction-stat p {
  margin: 0 0 9px;
  color: #111827;
  font-size: 16px;
  font-weight: 850;
}

.legacy-auction-stat strong {
  display: block;
  margin-bottom: 10px;
  color: #111827;
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
}

.legacy-auction-stat small {
  color: #6b7280;
  font-size: 14px;
}

.legacy-auction-board {
  overflow: hidden;
}

.legacy-auction-toolbar {
  display: grid;
  grid-template-columns: auto minmax(280px, 1fr) minmax(140px, .44fr) minmax(140px, .44fr) auto auto;
  gap: 16px;
  align-items: center;
  padding: 16px 20px 18px;
  border-bottom: 1px solid #e5e7eb;
}

.legacy-auction-add,
.legacy-auction-search-button,
.legacy-auction-export {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid var(--activity-line);
  border-radius: 6px;
  padding: 0 22px;
  color: #111827;
  font-size: 15px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.legacy-auction-add,
.legacy-auction-search-button {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
}

.legacy-auction-export {
  background: #fff;
}

.legacy-auction-add svg,
.legacy-auction-export svg,
.legacy-auction-search svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.legacy-auction-search {
  display: flex;
  min-height: 46px;
  align-items: center;
  gap: 10px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  padding: 0 14px;
  color: #9ca3af;
}

.legacy-auction-search input,
.legacy-auction-toolbar select {
  width: 100%;
  min-width: 0;
  height: 44px;
  border: 0;
  background: transparent;
  color: #111827;
  font: inherit;
  font-weight: 600;
}

.legacy-auction-toolbar select {
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  padding: 0 12px;
}

.legacy-auction-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  padding: 20px;
}

.legacy-auction-card {
  display: grid;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.legacy-auction-media {
  display: grid;
  aspect-ratio: 4 / 3;
  place-items: center;
  overflow: hidden;
  margin: 12px 12px 0;
  border-radius: 7px;
  background: linear-gradient(135deg, #e5e7eb, #f8fafc);
  color: #6b7280;
  text-decoration: none;
  font-weight: 900;
}

.legacy-auction-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.legacy-auction-card-body {
  display: grid;
  gap: 12px;
  padding: 14px 14px 10px;
}

.legacy-auction-card-body h2 {
  min-height: 42px;
  margin: 0;
  color: #111827;
  font-size: 16px;
  line-height: 1.35;
}

.legacy-auction-card-body dl,
.legacy-auction-card-body div,
.legacy-auction-card-body dt,
.legacy-auction-card-body dd {
  margin: 0;
}

.legacy-auction-card-body dl {
  display: grid;
  gap: 9px;
}

.legacy-auction-card-body dl div {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 6px;
  color: #4b5563;
  font-size: 14px;
}

.legacy-auction-card-body dt {
  color: #6b7280;
}

.legacy-auction-card-body dd {
  color: #374151;
}

.legacy-auction-card-body .price {
  color: #f97316;
  font-weight: 900;
}

.legacy-auction-card-body .status {
  font-weight: 850;
}

.legacy-auction-card-body .status.published {
  color: #16a34a;
}

.legacy-auction-card-body .status.sold {
  color: #2563eb;
}

.legacy-auction-card-body .status.draft {
  color: #f97316;
}

.legacy-auction-card-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 10px 12px 14px;
}

.legacy-auction-card-actions a,
.legacy-auction-card-actions summary,
.legacy-auction-card-actions button {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  padding: 0 8px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
}

.legacy-auction-card-actions details,
.legacy-auction-card-actions form {
  display: grid;
  min-width: 0;
}

.legacy-auction-card-actions details:not([open]) dl {
  display: none;
}

.legacy-auction-card-actions dl {
  max-width: 220px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.legacy-auction-pagination {
  border-top: 1px solid #e5e7eb;
}

.legacy-auction-advanced {
  padding: 16px 20px 20px;
}

.legacy-auction-advanced summary {
  color: #111827;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
}

.legacy-auction-advanced-grid {
  display: grid;
  grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
  gap: 18px;
  margin-top: 16px;
  min-width: 0;
}

.legacy-auction-advanced .admin-panel,
.legacy-auction-advanced .admin-form,
.legacy-auction-advanced .admin-form-grid,
.legacy-auction-advanced .admin-stack {
  min-width: 0;
}

.legacy-auction-table {
  min-width: 1180px;
}

.legacy-auction-compat-nav,
.legacy-permission-role-codes {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

body.admin-body.activity-management-body.auction-likes-body {
  background: #f8fafc;
}

body.admin-body.activity-management-body.auction-likes-body .admin-topbar,
body.admin-body.activity-management-body.auction-likes-body .admin-sidebar {
  display: none;
}

body.admin-body.activity-management-body.auction-likes-body .admin-shell {
  display: block;
  min-height: 100vh;
  background: #f8fafc;
}

body.admin-body.activity-management-body.auction-likes-body .admin-main {
  max-width: none;
  min-height: 100vh;
  padding: 24px 20px 26px;
  overflow: visible;
}

.legacy-auction-likes {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 316px;
  gap: 18px;
  align-items: start;
  color: #111827;
}

.legacy-auction-likes-header {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
}

.legacy-auction-likes-header h1 {
  margin: 0;
  color: #111827;
  font-size: 30px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: 0;
}

.legacy-auction-likes-header a,
.legacy-auction-likes-export {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 6px;
  padding: 0 16px;
  color: #111827;
  font-size: 16px;
  font-weight: 850;
  text-decoration: none;
}

.legacy-auction-likes-header > a:first-child {
  padding-left: 0;
}

.legacy-auction-likes-header svg,
.legacy-auction-like-filter svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.legacy-auction-likes-export {
  background: var(--activity-yellow);
  box-shadow: 0 10px 18px rgba(255, 212, 0, .22);
}

.legacy-auction-likes-hero,
.legacy-auction-like-main,
.legacy-auction-like-detail {
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .055);
}

.legacy-auction-likes-hero {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: minmax(520px, 548px) minmax(600px, 650px);
  gap: 24px;
  align-items: center;
  min-height: 220px;
  padding: 10px 18px;
}

.legacy-auction-lot-summary h2 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 17px;
  font-weight: 900;
}

.legacy-auction-lot-body {
  display: grid;
  grid-template-columns: 174px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.legacy-auction-lot-cover {
  display: grid;
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border-radius: 7px;
  background: #f3f4f6;
  color: #6b7280;
  font-weight: 900;
}

.legacy-auction-lot-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.legacy-auction-lot-copy {
  min-width: 0;
}

.legacy-auction-lot-copy h3 {
  margin: 0 0 10px;
  color: #111827;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.legacy-auction-lot-code {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px solid #fecdd3;
  border-radius: 5px;
  padding: 0 10px;
  background: #fff1f2;
  color: #e11d48;
  font-size: 14px;
  font-weight: 850;
}

.legacy-auction-lot-copy dl {
  display: grid;
  gap: 9px;
  margin: 14px 0 0;
}

.legacy-auction-lot-copy dl div {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  color: #4b5563;
  font-size: 15px;
}

.legacy-auction-lot-copy dt,
.legacy-auction-lot-copy dd {
  margin: 0;
}

.legacy-auction-lot-copy dd.price,
.legacy-auction-lot-copy dl div:nth-child(1) dd {
  color: #ef0015;
  font-weight: 900;
}

.legacy-auction-like-status {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border-radius: 5px;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 850;
  white-space: nowrap;
}

.legacy-auction-like-status.running,
.legacy-auction-like-status.contacted {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #16a34a;
}

.legacy-auction-like-status.follow-up {
  border: 1px solid #fed7aa;
  background: #fff7ed;
  color: #f97316;
}

.legacy-auction-like-status.no-intention {
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #2563eb;
}

.legacy-auction-like-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(118px, 1fr));
  gap: 18px;
}

.legacy-auction-like-metrics article {
  display: grid;
  min-height: 108px;
  align-content: center;
  justify-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 4px 16px;
  text-align: center;
}

.legacy-auction-like-metrics i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  font-size: 25px;
  font-style: normal;
  font-weight: 950;
}

.legacy-auction-like-metrics .heart i { background: linear-gradient(135deg, #fb7185, #ef4444); }
.legacy-auction-like-metrics .phone i { background: linear-gradient(135deg, #34d399, #16a34a); }
.legacy-auction-like-metrics .clock i { background: linear-gradient(135deg, #fb923c, #f97316); }
.legacy-auction-like-metrics .none i { background: linear-gradient(135deg, #60a5fa, #2563eb); }

.legacy-auction-like-metrics p {
  margin: 12px 0 8px;
  color: #4b5563;
  font-size: 15px;
  font-weight: 850;
}

.legacy-auction-like-metrics strong {
  color: #111827;
  font-size: 29px;
  line-height: 1;
  font-weight: 950;
}

.legacy-auction-like-metrics small {
  margin-top: 10px;
  color: #6b7280;
  font-size: 13px;
}

.legacy-auction-like-workspace {
  display: contents;
}

.legacy-auction-like-main {
  grid-column: 1;
  grid-row: 3;
  overflow: hidden;
}

.legacy-auction-like-filter {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(320px, auto);
  gap: 16px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid #e5e7eb;
}

.legacy-auction-like-filter > strong {
  color: #111827;
  font-size: 16px;
  font-weight: 950;
  white-space: nowrap;
}

.legacy-auction-like-filter nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.legacy-auction-like-filter nav a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e5e7eb;
  padding: 0 24px;
  background: #fff;
  color: #111827;
  font-size: 15px;
  font-weight: 850;
  text-decoration: none;
}

.legacy-auction-like-filter nav a:first-child {
  border-radius: 6px 0 0 6px;
}

.legacy-auction-like-filter nav a:last-child {
  border-radius: 0 6px 6px 0;
}

.legacy-auction-like-filter nav a.active {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
}

.legacy-auction-like-filter form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 44px auto;
  gap: 10px;
  align-items: center;
}

.legacy-auction-like-filter input {
  width: 100%;
  height: 42px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  padding: 0 14px;
  color: #111827;
  font: inherit;
}

.legacy-auction-like-filter button,
.legacy-auction-like-filter form > a {
  display: inline-grid;
  min-height: 42px;
  place-items: center;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.legacy-auction-like-filter form > a {
  padding: 0 16px;
}

.legacy-auction-like-table-wrap {
  overflow-x: auto;
  padding: 0 18px;
}

.legacy-auction-like-table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
}

.legacy-auction-like-table th,
.legacy-auction-like-table td {
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 12px;
  color: #374151;
  font-size: 15px;
  text-align: left;
  vertical-align: middle;
}

.legacy-auction-like-table th {
  background: #f9fafb;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.legacy-auction-like-table td:first-child {
  display: flex;
  gap: 12px;
  align-items: center;
}

.legacy-auction-like-table strong {
  color: #111827;
}

.legacy-auction-user-avatar {
  display: inline-grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #60a5fa, #2563eb);
  color: #fff;
  font-weight: 950;
}

.legacy-auction-user-avatar.large {
  width: 50px;
  height: 50px;
  font-size: 21px;
}

.legacy-auction-like-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.legacy-auction-like-actions a,
.legacy-auction-like-actions button {
  border: 0;
  background: transparent;
  color: #2563eb;
  font: inherit;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}

.legacy-auction-like-pagination {
  border-top: 0;
  padding: 16px 18px 18px;
}

.legacy-auction-like-pagination > form {
  margin: 0;
}

.legacy-auction-like-detail {
  position: absolute;
  top: 120px;
  right: 0;
  display: flex;
  width: 316px;
  flex-direction: column;
  min-height: calc(100vh - 140px);
  margin-top: 0;
  overflow: hidden;
}

.legacy-auction-like-detail > header {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 18px;
}

.legacy-auction-like-detail h2,
.legacy-auction-like-detail h3 {
  margin: 0;
  color: #111827;
  font-weight: 950;
}

.legacy-auction-like-detail h2 {
  font-size: 18px;
}

.legacy-auction-like-detail > header a {
  color: #6b7280;
  font-size: 24px;
  text-decoration: none;
}

.legacy-auction-like-person {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 18px;
}

.legacy-auction-like-person strong {
  color: #111827;
  font-size: 17px;
  font-weight: 950;
}

.legacy-auction-like-person p {
  grid-column: 1 / -1;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.5;
}

.legacy-auction-like-detail-block {
  border-top: 1px solid #eef0f4;
  padding: 18px;
}

.legacy-auction-like-detail-block h3 {
  margin-bottom: 14px;
  font-size: 16px;
}

.legacy-auction-like-detail-block dl {
  display: grid;
  gap: 12px;
  margin: 0;
}

.legacy-auction-like-detail-block dl div {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
}

.legacy-auction-like-detail-block dt,
.legacy-auction-like-detail-block dd {
  margin: 0;
}

.legacy-auction-like-detail-block dd {
  color: #111827;
  overflow-wrap: anywhere;
}

.legacy-auction-like-detail-block label,
.legacy-auction-like-detail-block p {
  display: block;
  margin: 0 0 14px;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.7;
}

.legacy-auction-like-detail-block select {
  width: 100%;
  min-height: 40px;
  margin-top: 8px;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  padding: 0 12px;
  background: #f0fdf4;
  color: #16a34a;
  font: inherit;
  font-weight: 850;
}

.legacy-auction-like-followup-form {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}

.legacy-auction-like-detail-block textarea {
  display: block;
  width: 100%;
  min-height: 112px;
  margin-top: 8px;
  resize: vertical;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 10px 12px;
  background: #fff;
  color: #111827;
  font: inherit;
  line-height: 1.6;
}

.legacy-auction-like-detail-block textarea:focus {
  border-color: #f59e0b;
  outline: 2px solid rgb(245 158 11 / 16%);
}

.legacy-auction-like-save {
  margin-top: auto;
  padding: 18px;
}

.legacy-auction-like-save button {
  display: grid;
  width: 100%;
  min-height: 46px;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: var(--activity-yellow);
  color: #111827;
  font: inherit;
  font-size: 17px;
  font-weight: 950;
  cursor: pointer;
}

@media (max-width: 1180px) {
  .legacy-auction-metrics,
  body.admin-body .legacy-auction-metrics.admin-checkin-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legacy-auction-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .legacy-auction-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .legacy-auction-advanced-grid {
    grid-template-columns: 1fr;
  }

  .legacy-auction-likes-hero,
  .legacy-auction-like-workspace {
    display: grid;
    grid-template-columns: 1fr;
  }

  .legacy-auction-likes {
    grid-template-columns: 1fr;
  }

  .legacy-auction-likes-header,
  .legacy-auction-likes-hero,
  .legacy-auction-like-main,
  .legacy-auction-like-detail {
    grid-column: 1;
    grid-row: auto;
  }

  .legacy-auction-like-filter {
    grid-template-columns: 1fr;
  }

  .legacy-auction-like-detail {
    position: static;
    width: auto;
    min-height: 0;
    margin-top: 0;
  }
}

@media (max-width: 720px) {
  body.admin-body.activity-management-body.auction-likes-body .admin-main {
    padding: 16px 12px 24px;
  }

  .legacy-auction-likes {
    gap: 14px;
  }

  .legacy-auction-likes-header {
    gap: 8px;
  }

  .legacy-auction-likes-header h1 {
    font-size: 24px;
  }

  .legacy-auction-likes-header a,
  .legacy-auction-likes-export {
    min-height: 40px;
    padding: 0 8px;
    font-size: 14px;
  }

  .legacy-auction-likes-hero {
    gap: 16px;
    min-height: 0;
    padding: 14px;
  }

  .legacy-auction-lot-body {
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 14px;
  }

  .legacy-auction-lot-copy h3 {
    font-size: 18px;
  }

  .legacy-auction-lot-copy dl div {
    align-items: flex-start;
    font-size: 14px;
  }

  .legacy-auction-like-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .legacy-auction-like-filter {
    gap: 12px;
    padding: 14px;
  }

  .legacy-auction-like-filter nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legacy-auction-like-filter nav a {
    min-width: 0;
    padding: 0 8px;
  }

  .legacy-auction-like-filter form {
    grid-template-columns: minmax(0, 1fr) 44px auto;
  }

  .legacy-auction-like-table-wrap {
    padding: 0 14px;
  }

  .legacy-auction-like-pagination {
    gap: 10px;
    padding: 14px;
  }
}

body.admin-body .admin-edit-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  gap: 20px;
  align-items: start;
}

body.admin-body .admin-edit-main {
  display: grid;
  gap: 16px;
  min-width: 0;
}

body.admin-body .admin-edit-basic {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 24px;
}

body.admin-body .admin-cover-editor {
  display: grid;
  align-content: start;
  gap: 12px;
}

body.admin-body .admin-cover-editor h2 {
  margin: 0;
  color: #111827;
  font-size: 17px;
}

body.admin-body .admin-cover-editor p {
  margin: 0;
  color: #6b7280;
  font-size: 13px;
}

body.admin-body .admin-cover-preview {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f3f4f6;
  color: #6b7280;
  font-weight: 900;
}

body.admin-body .admin-cover-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.admin-body .admin-edit-fields {
  display: grid;
  align-content: start;
  gap: 16px;
}

body.admin-body .admin-edit-aside {
  position: sticky;
  top: 84px;
  display: grid;
  gap: 14px;
}

body.admin-body .admin-edit-status {
  display: grid;
  gap: 14px;
}

body.admin-body .admin-edit-status h2 {
  margin: 0;
  color: #111827;
  font-size: 18px;
}

body.admin-body .admin-edit-status dl {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  margin: 0;
}

body.admin-body .admin-edit-status dt {
  color: #4b5563;
  font-weight: 800;
}

body.admin-body .admin-edit-status dd {
  min-width: 0;
  margin: 0;
  color: #111827;
  overflow-wrap: anywhere;
}

body.admin-body .admin-rich-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  border: 1px solid #d1d5db;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  padding: 8px 10px;
  background: #f9fafb;
  color: #374151;
  font-size: 13px;
}

body.admin-body .admin-rich-toolbar > * {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  padding: 0 8px;
  background: #fff;
}

body.admin-body .admin-rich-toolbar b {
  color: #111827;
}

body.admin-body .admin-rich-toolbar + label textarea {
  border-radius: 0 0 8px 8px;
}

body.admin-body .admin-badge.warning {
  background: rgba(245, 158, 11, .12);
  color: #b45309;
}

body.admin-body .admin-checkin-metrics {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.legacy-checkin-metrics {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
}

body.admin-body .legacy-checkin-metrics.admin-checkin-metrics {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
}

body.admin-body .legacy-checkin-metrics .admin-checkin-stat,
body.admin-body .legacy-checkin-actions .admin-checkin-card {
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .055);
}

body.admin-body .admin-checkin-stat {
  display: flex;
  min-height: 112px;
  align-items: center;
  gap: 20px;
  padding: 18px 20px;
}

body.admin-body .admin-checkin-stat i {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  font-style: normal;
  font-size: 24px;
  font-weight: 900;
}

body.admin-body .admin-checkin-stat i svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.admin-body .admin-checkin-stat.purple i {
  background: linear-gradient(135deg, #8b5cf6, #6d28d9);
}

body.admin-body .admin-checkin-stat.green i {
  background: linear-gradient(135deg, #22c55e, #16a34a);
}

body.admin-body .admin-checkin-stat.blue i {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}

body.admin-body .admin-checkin-stat.orange i {
  background: linear-gradient(135deg, #f59e0b, #f97316);
}

body.admin-body .admin-checkin-stat div {
  min-width: 0;
}

body.admin-body .admin-checkin-stat p {
  margin: 0 0 8px;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
}

body.admin-body .admin-checkin-stat span {
  display: block;
  margin-bottom: 6px;
  font-size: 28px;
  line-height: 1;
}

body.admin-body .admin-checkin-stat small {
  color: #16a34a;
}

body.admin-body .admin-checkin-stat.blue small,
body.admin-body .admin-checkin-stat.orange small {
  color: #f97316;
}

body.admin-body .admin-checkin-actions-grid {
  display: grid;
  grid-template-columns: minmax(360px, .7fr) minmax(420px, 1fr);
  gap: 18px;
  margin: 14px 0;
}

body.admin-body .legacy-checkin-actions {
  grid-template-columns: minmax(380px, .74fr) minmax(420px, 1fr);
  margin: 0 0 18px;
}

body.admin-body .admin-checkin-card {
  min-height: 146px;
  padding: 16px 18px;
}

body.admin-body .admin-checkin-card .admin-panel-head {
  margin-bottom: 10px;
}

body.admin-body .admin-checkin-scan-body {
  display: flex;
  align-items: center;
  gap: 22px;
}

body.admin-body .admin-checkin-qr {
  display: grid;
  width: 86px;
  height: 86px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background:
    linear-gradient(90deg, #111 8px, transparent 8px) 0 0 / 15px 15px,
    linear-gradient(#111 8px, transparent 8px) 0 0 / 15px 15px,
    #fff;
  box-shadow: inset 0 0 0 8px #fff;
}

body.admin-body .admin-checkin-qr span {
  display: block;
  width: 28px;
  height: 28px;
  border: 7px solid #111;
  background: #fff;
}

body.admin-body .admin-checkin-scan-copy {
  display: grid;
  gap: 14px;
}

body.admin-body .admin-checkin-scan-copy p {
  margin: 0;
  color: #4b5563;
}

.legacy-checkin-inline-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

body.admin-body .admin-checkin-manual-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

body.admin-body .admin-checkin-manual-form input {
  min-height: 46px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  padding: 0 14px;
  color: #111827;
  font: inherit;
}

body.admin-body .admin-checkin-filter {
  grid-template-columns: minmax(180px, 1fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(190px, 1fr) auto auto;
}

.legacy-checkin-filter form {
  grid-template-columns: minmax(160px, .9fr) minmax(150px, .82fr) minmax(150px, .82fr) minmax(170px, 1fr) minmax(170px, 1fr) auto;
}

body.admin-body .admin-checkin-table {
  min-width: 1040px;
}

.legacy-checkin-table {
  min-width: 1040px;
}

body.admin-body .admin-checkin-table th:nth-child(1),
body.admin-body .admin-checkin-table td:nth-child(1) {
  width: 72px;
}

body.admin-body .admin-checkin-table td small {
  display: block;
  margin-top: 4px;
}

body.admin-body .admin-permission-tabs {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
}

body.admin-body .admin-permission-tabs a {
  display: inline-flex;
  min-width: 112px;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #e5e7eb;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

body.admin-body .admin-permission-tabs a:last-child {
  border-right: 0;
}

body.admin-body .admin-permission-tabs a.active {
  background: #ffd400;
}

body.admin-body .admin-permission-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .045);
}

body.admin-body .admin-permission-context h2,
body.admin-body .admin-permission-context p {
  margin: 0;
}

body.admin-body .admin-permission-context h2 {
  margin: 4px 0;
  color: #111827;
  font-size: 20px;
}

body.admin-body .admin-permission-context p:not(.admin-kicker) {
  color: #6b7280;
}

body.admin-body .admin-permission-board {
  display: grid;
  grid-template-columns: minmax(210px, 250px) minmax(360px, 1fr) minmax(390px, 480px);
  gap: 12px;
  align-items: stretch;
}

body.admin-body .admin-permission-board > .admin-panel {
  margin-top: 0;
}

body.admin-body .admin-role-list {
  display: grid;
  gap: 0;
}

body.admin-body .admin-role-list article {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 12px;
  color: #111827;
}

body.admin-body .admin-role-list article.active {
  background: linear-gradient(90deg, rgba(255, 212, 0, .28), rgba(255, 212, 0, .06));
}

body.admin-body .admin-role-list strong {
  font-size: 14px;
}

body.admin-body .admin-role-list span {
  color: #4b5563;
  font-size: 13px;
}

body.admin-body .admin-permission-legend {
  display: flex;
  gap: 18px;
  margin-top: 18px;
  color: #6b7280;
  font-size: 13px;
}

body.admin-body .admin-permission-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body.admin-body .admin-permission-legend i {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #ffd400;
}

body.admin-body .admin-permission-legend i.muted {
  background: #d1d5db;
}

body.admin-body .admin-permission-table-wrap {
  overflow-x: auto;
}

body.admin-body .admin-permission-table {
  min-width: 520px;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

body.admin-body .admin-permission-table th,
body.admin-body .admin-permission-table td {
  height: 58px;
  border: 1px solid #e5e7eb;
  text-align: center;
}

body.admin-body .admin-permission-table th {
  color: #111827;
  background: #fafafa;
  font-size: 14px;
}

body.admin-body .admin-permission-table tbody th {
  text-align: left;
  padding-left: 12px;
}

body.admin-body .permission-switch {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 18px;
  border-radius: 999px;
  background: #d1d5db;
  vertical-align: middle;
}

body.admin-body .permission-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(17, 24, 39, .2);
}

body.admin-body .permission-switch.on {
  background: #ffd400;
}

body.admin-body .permission-switch.on::after {
  left: 16px;
}

body.admin-body .admin-permission-add-form,
body.admin-body .admin-permission-people-filter {
  display: grid;
  grid-template-columns: minmax(86px, .4fr) minmax(120px, .6fr);
  gap: 8px;
  margin-bottom: 12px;
}

body.admin-body .admin-permission-add-form textarea,
body.admin-body .admin-permission-add-form button {
  grid-column: 1 / -1;
}

body.admin-body .admin-permission-add-form input,
body.admin-body .admin-permission-add-form textarea,
body.admin-body .admin-permission-people-filter input,
body.admin-body .admin-permission-people-filter select {
  min-height: 38px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  padding: 8px 10px;
  background: #fff;
  color: #111827;
  font: inherit;
}

body.admin-body .admin-permission-people-filter input:disabled,
body.admin-body .admin-permission-people-filter select:disabled {
  background: #f9fafb;
  color: #6b7280;
}

body.admin-body .admin-permission-people-table {
  min-width: 520px;
}

body.admin-body .admin-permission-people-table th,
body.admin-body .admin-permission-people-table td {
  font-size: 13px;
}

body.admin-body .legacy-permission-admin {
  display: grid;
  gap: 16px;
}

body.admin-body .legacy-permission-tabs {
  width: fit-content;
  border-radius: 6px;
}

body.admin-body .legacy-permission-tabs a {
  min-width: 108px;
  min-height: 38px;
}

body.admin-body .legacy-permission-board {
  display: grid;
  grid-template-columns: 230px minmax(360px, 1fr) minmax(500px, 520px);
  gap: 12px;
  align-items: stretch;
}

body.admin-body .legacy-permission-card {
  display: grid;
  align-content: start;
  overflow: hidden;
  min-width: 0;
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .045);
}

body.admin-body .legacy-permission-card > * {
  min-width: 0;
}

body.admin-body .legacy-permission-card-head {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 14px 12px;
}

body.admin-body .legacy-permission-card-head h2 {
  margin: 0;
  color: #111827;
  font-size: 18px;
  font-weight: 900;
  white-space: nowrap;
}

body.admin-body .legacy-permission-card-head h2 span {
  color: #6b7280;
  font-size: 14px;
  font-weight: 700;
}

body.admin-body .legacy-permission-yellow-button {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--activity-yellow);
  border-radius: 6px;
  padding: 0 14px;
  background: var(--activity-yellow);
  color: #111827;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

body.admin-body .legacy-permission-yellow-button::before {
  content: "+";
  margin-right: 8px;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}

body.admin-body .legacy-permission-matrix .legacy-permission-yellow-button::before {
  content: "";
  margin: 0;
}

body.admin-body .legacy-permission-roles .legacy-permission-card-head {
  gap: 8px;
  padding-right: 12px;
}

body.admin-body .legacy-permission-roles .legacy-permission-yellow-button {
  padding: 0 10px;
  font-size: 13px;
}

body.admin-body .legacy-permission-role-list {
  margin: 0 16px;
}

body.admin-body .legacy-permission-role-list article {
  min-height: 47px;
  border-bottom: 1px solid #eef1f5;
  padding: 0 12px;
}

body.admin-body .legacy-permission-role-list article.active {
  background: linear-gradient(90deg, rgba(255, 212, 0, .28), rgba(255, 247, 191, .5));
}

body.admin-body .legacy-permission-role-list strong {
  font-size: 15px;
  font-weight: 800;
}

body.admin-body .legacy-permission-role-list span {
  font-size: 14px;
}

body.admin-body .legacy-permission-role-total {
  margin: 300px 16px 18px;
  border-top: 1px solid #e5e7eb;
  padding-top: 18px;
  color: #111827;
  font-size: 14px;
}

body.admin-body .legacy-permission-table-wrap {
  margin: 8px 14px 0;
  overflow-x: auto;
}

body.admin-body .legacy-permission-table {
  min-width: 0;
  border: 1px solid #e5e7eb;
  table-layout: fixed;
}

body.admin-body .legacy-permission-table th,
body.admin-body .legacy-permission-table td {
  height: 62px;
  border-color: #e8ebef;
}

body.admin-body .legacy-permission-table thead th {
  background: #fbfbfc;
}

body.admin-body .legacy-permission-table tbody th {
  padding: 0 10px;
  font-weight: 850;
}

body.admin-body .legacy-permission-table tbody th span {
  float: right;
  color: #6b7280;
  font-size: 22px;
  line-height: .7;
}

body.admin-body .legacy-permission-table .permission-switch {
  width: 31px;
  height: 18px;
}

body.admin-body .legacy-permission-legend {
  margin: 114px 18px 18px;
}

body.admin-body .legacy-permission-filter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 134px;
  gap: 8px;
  padding: 0 18px 14px;
}

body.admin-body .legacy-permission-filter label {
  display: flex;
  min-width: 0;
  min-height: 40px;
  align-items: center;
  gap: 10px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  padding: 0 12px;
  color: #6b7280;
}

body.admin-body .legacy-permission-filter input,
body.admin-body .legacy-permission-filter select {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 0;
  background: transparent;
  color: #111827;
  font: inherit;
  font-size: 14px;
}

body.admin-body .legacy-permission-filter select {
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  padding: 0 12px;
}

body.admin-body .legacy-permission-filter svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.admin-body .legacy-permission-people-wrap {
  width: calc(100% - 36px);
  max-width: calc(100% - 36px);
  min-width: 0;
  margin: 0 18px;
  overflow-x: auto;
}

body.admin-body .legacy-permission-people-table {
  min-width: 0;
  border: 1px solid #e5e7eb;
  table-layout: fixed;
}

body.admin-body .legacy-permission-people-table th,
body.admin-body .legacy-permission-people-table td {
  height: 48px;
  border-bottom: 1px solid #eef1f5;
  padding: 9px 7px;
  color: #111827;
  font-size: 13px;
}

body.admin-body .legacy-permission-people-table th:nth-child(1),
body.admin-body .legacy-permission-people-table td:nth-child(1) {
  width: 38px;
}

body.admin-body .legacy-permission-people-table th:nth-child(2),
body.admin-body .legacy-permission-people-table td:nth-child(2) {
  width: 54px;
}

body.admin-body .legacy-permission-people-table th:nth-child(3),
body.admin-body .legacy-permission-people-table td:nth-child(3) {
  width: 94px;
}

body.admin-body .legacy-permission-people-table th:nth-child(5),
body.admin-body .legacy-permission-people-table td:nth-child(5) {
  width: 56px;
}

body.admin-body .legacy-permission-people-table th:nth-child(6),
body.admin-body .legacy-permission-people-table td:nth-child(6) {
  width: 86px;
}

body.admin-body .legacy-permission-people-table th {
  background: #fbfbfc;
  font-weight: 850;
}

body.admin-body .legacy-permission-status {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  padding: 0 8px;
  border: 1px solid #bbf7d0;
  background: #ecfdf5;
  color: #16a34a;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

body.admin-body .legacy-permission-status.disabled {
  border-color: #fecaca;
  background: #fff1f2;
  color: #ef4444;
}

body.admin-body .legacy-permission-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

body.admin-body .legacy-permission-actions a,
body.admin-body .legacy-permission-actions summary,
body.admin-body .legacy-permission-actions button {
  border: 0;
  background: transparent;
  color: #2563eb;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  list-style: none;
  padding: 0;
}

body.admin-body .legacy-permission-actions summary::-webkit-details-marker {
  display: none;
}

body.admin-body .legacy-permission-actions details:not([open]) dl {
  display: none;
}

body.admin-body .legacy-permission-actions details:not([open]) form {
  display: none;
}

body.admin-body .legacy-permission-actions form {
  display: inline-flex;
}

body.admin-body .legacy-permission-actions button {
  color: #ef4444;
}

body.admin-body .legacy-permission-pagination {
  margin: 74px 18px 18px;
  border-top: 1px solid #e5e7eb;
  grid-template-columns: 66px minmax(0, 1fr) 92px;
  gap: 8px;
  padding: 16px 0 0;
}

body.admin-body .legacy-permission-pagination nav {
  gap: 6px;
  justify-content: center;
  min-width: 0;
}

body.admin-body .legacy-permission-pagination a,
body.admin-body .legacy-permission-pagination nav span {
  min-width: 30px;
  height: 34px;
}

body.admin-body .legacy-permission-pagination select {
  min-width: 92px;
  width: 92px;
}

body.admin-body .legacy-permission-advanced {
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  padding: 16px 18px;
  background: #fff;
}

body.admin-body .legacy-permission-advanced summary {
  color: #111827;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
}

body.admin-body .legacy-permission-add-form {
  margin: 16px 0 0;
}

body.admin-body .admin-cms-console {
  display: grid;
  grid-template-columns: minmax(340px, .72fr) minmax(0, 1fr);
  gap: 18px;
  margin: 18px 0;
}

body.admin-body .admin-cms-hero-panel {
  display: grid;
  align-content: start;
  gap: 16px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(255, 212, 0, .22), rgba(255, 255, 255, .94) 52%),
    radial-gradient(circle at 88% 18%, rgba(59, 130, 246, .14), transparent 32%),
    #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .055);
}

body.admin-body .admin-cms-hero-panel h2,
body.admin-body .admin-cms-hero-panel p {
  margin: 0;
}

body.admin-body .admin-cms-hero-panel h2 {
  color: #111827;
  font-size: 28px;
  line-height: 1.18;
}

body.admin-body .admin-cms-hero-panel > p:not(.admin-kicker) {
  color: #4b5563;
}

body.admin-body .admin-cms-hero-actions,
body.admin-body .admin-cms-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.admin-body .admin-cms-shortcuts a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  padding: 0 11px;
  background: #fff;
  color: #374151;
  font-size: 13px;
  font-weight: 900;
}

body.admin-body .admin-cms-overview {
  display: grid;
  gap: 14px;
}

body.admin-body .admin-cms-metrics {
  grid-template-columns: repeat(4, minmax(128px, 1fr));
  margin: 0;
}

body.admin-body .admin-cms-stat {
  display: grid;
  min-height: 122px;
  align-content: center;
  gap: 8px;
  padding: 18px;
}

body.admin-body .admin-cms-stat i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #111827;
  font-style: normal;
  font-weight: 900;
}

body.admin-body .admin-cms-stat.yellow i { background: rgba(255, 212, 0, .38); }
body.admin-body .admin-cms-stat.green i { background: rgba(34, 197, 94, .18); color: #15803d; }
body.admin-body .admin-cms-stat.blue i { background: rgba(59, 130, 246, .16); color: #2563eb; }
body.admin-body .admin-cms-stat.purple i { background: rgba(139, 92, 246, .16); color: #6d28d9; }

body.admin-body .admin-cms-stat span {
  color: #111827;
  font-size: 28px;
}

body.admin-body .admin-cms-stat p {
  margin: 0;
}

body.admin-body .admin-cms-filter-summary {
  margin-top: 0;
}

body.admin-body .admin-screen-console {
  display: grid;
  grid-template-columns: minmax(360px, .72fr) minmax(0, 1fr);
  gap: 18px;
  margin: 18px 0;
}

body.admin-body .admin-screen-console-hero {
  display: grid;
  align-content: start;
  gap: 16px;
  overflow: hidden;
  border-radius: 8px;
  padding: 26px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, .24), transparent 28%),
    linear-gradient(135deg, #2563eb 0%, #4f46e5 48%, #7c3aed 100%);
  color: #fff;
  box-shadow: 0 18px 34px rgba(79, 70, 229, .22);
}

body.admin-body .admin-screen-console-hero .admin-kicker,
body.admin-body .admin-screen-console-hero p,
body.admin-body .admin-screen-console-hero h2 {
  margin: 0;
  color: inherit;
}

body.admin-body .admin-screen-console-hero h2 {
  font-size: 30px;
  line-height: 1.15;
}

body.admin-body .admin-screen-console-hero > p:not(.admin-kicker) {
  color: rgba(255, 255, 255, .86);
}

body.admin-body .admin-screen-console-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.admin-body .admin-screen-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.admin-body .admin-screen-shortcuts a {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  padding: 0 11px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

body.admin-body .admin-screen-console-actions .admin-button.ghost {
  border-color: rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

body.admin-body .admin-screen-live-pill {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  padding: 0 13px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-weight: 900;
}

body.admin-body .admin-screen-live-pill span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 5px rgba(34, 197, 94, .18);
}

body.admin-body .admin-screen-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  gap: 12px;
}

body.admin-body .admin-screen-stat {
  min-height: 110px;
  margin: 0;
  padding: 16px;
}

body.admin-body .admin-screen-stat span {
  display: block;
  margin-bottom: 5px;
  color: #111827;
  font-size: 26px;
}

body.admin-body .admin-screen-stat p,
body.admin-body .admin-screen-stat small {
  margin: 0;
}

body.admin-body .admin-screen-stat.success small { color: #16a34a; }
body.admin-body .admin-screen-stat.warning small { color: #f97316; }
body.admin-body .admin-screen-stat.blue small { color: #2563eb; }
body.admin-body .admin-screen-stat.purple small { color: #7c3aed; }

body.admin-body .admin-screen-filter {
  grid-template-columns: minmax(150px, .7fr) minmax(150px, .7fr) minmax(220px, 1fr) auto auto;
}

body.admin-body .admin-screen-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
  gap: 18px;
}

body.admin-body .admin-screen-session-table {
  min-width: 960px;
}

body.admin-body .admin-screen-session-table small {
  display: block;
  margin-top: 4px;
  color: #6b7280;
}

body.admin-body .admin-screen-help {
  align-self: start;
}

body.admin-body .admin-screen-help ol {
  display: grid;
  gap: 12px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

body.admin-body .admin-screen-help li {
  display: grid;
  gap: 4px;
  border-left: 3px solid #ffd400;
  padding-left: 12px;
}

body.admin-body .admin-screen-help li strong {
  color: #111827;
}

body.admin-body .admin-screen-help li span {
  color: #6b7280;
  font-size: 13px;
}

body.admin-body .admin-screen-wall-panel {
  margin-top: 18px;
}

body.admin-body .admin-screen-activity-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

body.admin-body .admin-screen-activity-card {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

body.admin-body .admin-screen-activity-media {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 7px;
  background: linear-gradient(135deg, #1d4ed8, #7c3aed);
  color: #fff;
  font-weight: 900;
}

body.admin-body .admin-screen-activity-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.admin-body .admin-screen-activity-card h3,
body.admin-body .admin-screen-activity-card p {
  margin: 0;
}

body.admin-body .admin-screen-activity-card h3 {
  color: #111827;
  font-size: 16px;
  line-height: 1.35;
}

body.admin-body .admin-screen-activity-card p {
  color: #6b7280;
  font-size: 13px;
}

body.admin-body .admin-screen-activity-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}

body.admin-body .admin-screen-activity-stats span {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border-radius: 999px;
  padding: 0 9px;
  background: rgba(59, 130, 246, .1);
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}

/* Legacy mobile screen controller parity. */
body.admin-body.screen-control-body {
  min-height: 100vh;
  color-scheme: light;
  background: linear-gradient(139deg, #2378f2 0%, #5b32df 100%);
}

body.admin-body.screen-control-body .admin-topbar,
body.admin-body.screen-control-body .admin-sidebar {
  display: none;
}

body.admin-body.screen-control-body .admin-shell {
  display: block;
  min-height: 100vh;
}

body.admin-body.screen-control-body .admin-main {
  min-height: 100vh;
  padding: 0;
  background: transparent;
}

.legacy-screen-control {
  width: min(864px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 42px 44px 32px;
  color: #111827;
}

.legacy-screen-control svg {
  display: block;
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

.legacy-screen-control-brand {
  position: relative;
  display: flex;
  min-height: 98px;
  align-items: center;
  justify-content: center;
}

.legacy-screen-control-logo {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: #fff;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.legacy-screen-control-logo:hover {
  color: #fff;
}

.legacy-screen-control-logo span {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
}

.legacy-screen-control-logo svg {
  width: 62px;
  height: 62px;
}

.legacy-screen-control-logo svg path:first-child {
  fill: #ffd100;
  stroke: #ffd100;
}

.legacy-screen-control-logo svg path:last-child {
  stroke: #111827;
  stroke-width: 2.6;
}

.legacy-screen-control-user {
  position: absolute;
  right: -10px;
  top: 15px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 18px;
  width: 214px;
  min-height: 92px;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, .27);
  border-radius: 35px;
  padding: 12px 17px 12px 12px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

.legacy-screen-control-user > span {
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 34%, #bbb 0 13px, transparent 14px),
    radial-gradient(circle at 50% 76%, #c9c9c9 0 24px, transparent 25px),
    #f7f7f7;
}

.legacy-screen-control-user strong,
.legacy-screen-control-user small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.legacy-screen-control-user strong {
  font-size: 20px;
  font-weight: 900;
}

.legacy-screen-control-user small {
  margin-top: 6px;
  color: rgba(255, 255, 255, .88);
  font-size: 15px;
  font-weight: 800;
}

.legacy-screen-control-user i {
  display: block;
  width: 15px;
  height: 15px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(45deg) translateY(-3px);
}

.legacy-screen-control h1 {
  margin: 18px 0 34px;
  color: #fff;
  text-align: center;
  font-size: 48px;
  font-weight: 900;
  line-height: 1.15;
}

.legacy-screen-control-card {
  display: grid;
  gap: 20px;
  border-radius: 23px;
  padding: 33px 27px 28px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 24px 56px rgba(44, 37, 124, .26);
}

.legacy-screen-success-mark {
  display: grid;
  place-items: center;
}

.legacy-screen-success-mark > span {
  display: grid;
  width: 104px;
  height: 104px;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(18, 171, 72, .13) 56%, rgba(18, 171, 72, .13) 57%, rgba(18, 171, 72, .1) 58%);
}

.legacy-screen-success-mark svg {
  width: 72px;
  height: 72px;
  border: 8px solid rgba(26, 175, 79, .88);
  border-radius: 50%;
  padding: 15px;
  background: #0c9d3b;
  color: #fff;
  stroke-width: 4;
  box-shadow: 0 12px 24px rgba(22, 163, 74, .22);
}

.legacy-screen-control-card > h2,
.legacy-screen-control-card > p {
  margin: 0;
  text-align: center;
}

.legacy-screen-control-card > h2 {
  color: #11933c;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.25;
}

.legacy-screen-control-subtitle {
  color: #596174;
  font-size: 20px;
  line-height: 1.45;
}

.legacy-screen-activity-summary {
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  min-height: 174px;
  align-items: center;
  gap: 25px;
  border: 1px solid #d8d7ff;
  border-radius: 12px;
  padding: 22px;
  background: linear-gradient(180deg, #fbfbff, #f7f8ff);
}

.legacy-screen-activity-summary img {
  width: 236px;
  height: 126px;
  border-radius: 11px;
  object-fit: cover;
  box-shadow: 0 12px 24px rgba(17, 24, 39, .16);
}

.legacy-screen-activity-summary h3,
.legacy-screen-activity-summary p {
  margin: 0;
}

.legacy-screen-activity-summary h3 {
  color: #111827;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.25;
}

.legacy-screen-activity-summary p {
  margin-top: 18px;
  color: #5b6476;
  font-size: 20px;
  line-height: 1.35;
}

.legacy-screen-activity-summary p strong {
  color: #5b6476;
  font-weight: 800;
}

.legacy-screen-live-banner {
  display: flex;
  min-height: 57px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #bbe8ca;
  border-radius: 11px;
  background: linear-gradient(90deg, rgba(236, 253, 245, .94), rgba(240, 253, 244, .84));
  color: #15803d;
  font-size: 22px;
  font-weight: 900;
}

.legacy-screen-live-banner span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #16a34a;
}

.legacy-screen-status-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.legacy-screen-status-pair article {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  min-height: 97px;
  align-items: center;
  gap: 18px;
  border: 1px solid #dce0e8;
  border-radius: 11px;
  padding: 17px 23px;
  background: #fff;
}

.legacy-screen-status-pair article > span {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
}

.legacy-screen-status-pair .blue {
  background: linear-gradient(135deg, #2777ff, #5136f4);
}

.legacy-screen-status-pair .purple {
  background: #eee8ff;
  color: #6947e8;
}

.legacy-screen-status-pair svg {
  width: 34px;
  height: 34px;
  stroke-width: 1.9;
}

.legacy-screen-status-pair p,
.legacy-screen-status-pair strong {
  display: block;
  margin: 0;
}

.legacy-screen-status-pair p {
  color: #596174;
  font-size: 17px;
  line-height: 1.35;
}

.legacy-screen-status-pair strong {
  margin-top: 4px;
  color: #15923d;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.25;
}

.legacy-screen-status-pair article:nth-child(2) strong {
  color: #2b4ef4;
}

.legacy-screen-control-group,
.legacy-screen-toggle-card {
  border: 1px solid #dfe3ea;
  border-radius: 12px;
  padding: 22px;
  background: #fff;
}

.legacy-screen-control-group h3,
.legacy-screen-toggle-card h3 {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 21px;
  color: #111827;
  font-size: 23px;
  font-weight: 900;
  line-height: 1.25;
}

.legacy-screen-control-group h3 svg,
.legacy-screen-toggle-card h3 svg {
  width: 28px;
  height: 28px;
  color: #246cff;
  stroke-width: 2.4;
}

.legacy-screen-dual-actions,
.legacy-screen-grid-actions {
  display: grid;
  gap: 18px;
}

.legacy-screen-dual-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.legacy-screen-grid-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.legacy-screen-dual-actions a,
.legacy-screen-grid-actions a {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 1px solid #dce1eb;
  border-radius: 9px;
  background: #fff;
  color: #111827;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.legacy-screen-dual-actions a svg,
.legacy-screen-grid-actions a svg {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  color: #2563eb;
  stroke-width: 2.3;
}

.legacy-screen-dual-actions a.primary {
  border-color: transparent;
  background: linear-gradient(135deg, #315cf4, #6634ea);
  color: #fff;
  box-shadow: 0 12px 24px rgba(70, 79, 232, .18);
}

.legacy-screen-dual-actions a.primary svg {
  color: #fff;
}

.legacy-screen-dual-actions a.danger {
  border-color: #ff5a5f;
  color: #f01822;
  background: #fff;
}

.legacy-screen-dual-actions a.danger svg {
  color: #ef1017;
}

.legacy-screen-grid-actions a:nth-child(2) svg {
  color: #6d28d9;
}

.legacy-screen-grid-actions a:nth-child(3) svg {
  color: #f59e0b;
}

#screen-control-data + .legacy-screen-grid-actions a:nth-child(2) svg {
  color: #16a34a;
}

#screen-control-data + .legacy-screen-grid-actions a:nth-child(3) svg {
  color: #6d28d9;
}

.legacy-screen-dual-actions.compact a {
  min-height: 52px;
  font-size: 18px;
}

.legacy-screen-dual-actions.compact a:nth-child(1) svg {
  color: #111827;
}

.legacy-screen-dual-actions.compact a:nth-child(2) svg {
  color: #16a34a;
}

.legacy-screen-toggle-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70px;
  min-height: 102px;
  align-items: center;
  gap: 18px;
}

.legacy-screen-toggle-card h3 {
  margin-bottom: 10px;
}

.legacy-screen-toggle-card p {
  margin: 0;
  color: #667085;
  font-size: 18px;
  line-height: 1.35;
}

.legacy-screen-toggle-card > span {
  display: flex;
  width: 66px;
  height: 36px;
  align-items: center;
  justify-content: flex-end;
  border-radius: 999px;
  padding: 3px;
  background: linear-gradient(135deg, #6246ea, #7c3aed);
}

.legacy-screen-toggle-card > span i {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(17, 24, 39, .18);
}

.legacy-screen-back {
  display: inline-flex;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  gap: 15px;
  border-radius: 9px;
  background: linear-gradient(180deg, #ffd319, #ffc400);
  color: #111827;
  font-size: 23px;
  font-weight: 900;
  box-shadow: 0 14px 24px rgba(255, 196, 0, .22);
}

.legacy-screen-back:hover {
  color: #111827;
}

.legacy-screen-back svg {
  width: 29px;
  height: 29px;
  stroke-width: 2.6;
}

.legacy-screen-control-empty {
  display: grid;
  gap: 12px;
  border: 1px dashed #cfd5e2;
  border-radius: 12px;
  padding: 34px;
  text-align: center;
}

.legacy-screen-control-empty h3,
.legacy-screen-control-empty p {
  margin: 0;
}

.legacy-screen-control-empty h3 {
  font-size: 26px;
}

.legacy-screen-control-empty p {
  color: #667085;
  font-size: 18px;
}

.legacy-screen-control-empty a {
  display: inline-flex;
  justify-self: center;
  min-height: 44px;
  align-items: center;
  border-radius: 8px;
  padding: 0 18px;
  background: #ffd100;
  color: #111827;
  font-weight: 900;
}

.legacy-screen-control-anchors {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.legacy-screen-control-anchors a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  padding: 0 14px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.screen-control-admin-workspace {
  width: min(1180px, calc(100% - 32px));
  margin: 20px auto 48px;
  border-radius: 14px;
  padding: 18px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 60px rgba(44, 37, 124, .22);
}

@media (max-width: 720px) {
  .legacy-screen-control {
    padding: 24px 18px 28px;
  }

  .legacy-screen-control-brand {
    min-height: auto;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 4px;
  }

  .legacy-screen-control-logo {
    gap: 10px;
    font-size: 24px;
  }

  .legacy-screen-control-logo span,
  .legacy-screen-control-logo svg {
    width: 42px;
    height: 42px;
  }

  .legacy-screen-control-user {
    position: static;
    width: auto;
    min-height: 54px;
    grid-template-columns: 38px minmax(0, 1fr) 12px;
    gap: 8px;
    border-radius: 22px;
    padding: 8px 10px;
  }

  .legacy-screen-control-user > span {
    width: 38px;
    height: 38px;
    background:
      radial-gradient(circle at 50% 34%, #bbb 0 8px, transparent 9px),
      radial-gradient(circle at 50% 76%, #c9c9c9 0 15px, transparent 16px),
      #f7f7f7;
  }

  .legacy-screen-control-user strong {
    font-size: 14px;
  }

  .legacy-screen-control-user small {
    margin-top: 2px;
    font-size: 12px;
  }

  .legacy-screen-control-user i {
    width: 9px;
    height: 9px;
    border-width: 2px;
  }

  .legacy-screen-control h1 {
    margin: 24px 0;
    font-size: 36px;
  }

  .legacy-screen-control-card {
    gap: 16px;
    border-radius: 18px;
    padding: 24px 14px 18px;
  }

  .legacy-screen-success-mark > span {
    width: 82px;
    height: 82px;
  }

  .legacy-screen-success-mark svg {
    width: 58px;
    height: 58px;
    padding: 12px;
  }

  .legacy-screen-control-card > h2 {
    font-size: 25px;
  }

  .legacy-screen-control-subtitle {
    font-size: 16px;
  }

  .legacy-screen-activity-summary,
  .legacy-screen-status-pair,
  .legacy-screen-dual-actions,
  .legacy-screen-grid-actions,
  .legacy-screen-toggle-card {
    grid-template-columns: 1fr;
  }

  .legacy-screen-activity-summary {
    gap: 14px;
    min-height: auto;
    padding: 14px;
  }

  .legacy-screen-activity-summary img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .legacy-screen-activity-summary h3 {
    font-size: 22px;
  }

  .legacy-screen-activity-summary p,
  .legacy-screen-live-banner,
  .legacy-screen-dual-actions a,
  .legacy-screen-grid-actions a,
  .legacy-screen-toggle-card p {
    font-size: 16px;
  }

  .legacy-screen-control-group,
  .legacy-screen-toggle-card {
    padding: 16px;
  }

  .legacy-screen-control-group h3,
  .legacy-screen-toggle-card h3 {
    margin-bottom: 14px;
    font-size: 20px;
  }

  .legacy-screen-status-pair article {
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 82px;
    padding: 13px 16px;
  }

  .legacy-screen-status-pair article > span {
    width: 52px;
    height: 52px;
  }

  .legacy-screen-status-pair strong {
    font-size: 21px;
  }

  .legacy-screen-back {
    min-height: 56px;
    font-size: 19px;
  }

  .screen-control-admin-workspace {
    width: calc(100% - 24px);
    padding: 12px;
  }
}

@media (max-width: 1180px) {
  body.admin-body .admin-edit-layout,
  body.admin-body .admin-edit-basic {
    grid-template-columns: 1fr;
  }

  body.admin-body .admin-edit-aside {
    position: static;
  }

  body.admin-body .admin-checkin-metrics,
  body.admin-body .admin-checkin-actions-grid,
  body.admin-body .admin-checkin-filter,
  body.admin-body .admin-cms-console,
  body.admin-body .admin-cms-metrics,
  body.admin-body .admin-screen-console,
  body.admin-body .admin-screen-status-grid,
  body.admin-body .admin-screen-filter,
  body.admin-body .admin-screen-layout,
  body.admin-body .admin-permission-board,
  body.admin-body .admin-permission-context {
    grid-template-columns: 1fr;
  }

body.admin-body .admin-permission-context {
    display: grid;
  }
}

/* Fundraising dashboard legacy PHP parity. */
body.admin-body.fundraising-dashboard-body {
  --fundraising-red: #ef1017;
  --fundraising-red-2: #ff3b30;
  --fundraising-soft: #fff1f1;
  --fundraising-line: #e9edf2;
  color-scheme: light;
  background: #f5f6f8;
}

body.admin-body.fundraising-dashboard-body .admin-topbar {
  min-height: 60px;
  border-bottom: 1px solid #edf0f4;
  background: #fff;
  color: #111827;
  box-shadow: 0 3px 16px rgba(17, 24, 39, .06);
}

body.admin-body.fundraising-dashboard-body .admin-topbar-brand strong {
  display: none;
}

body.admin-body.fundraising-dashboard-body .admin-topbar .admin-brand-mark {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--fundraising-red);
  color: #fff;
}

body.admin-body.fundraising-dashboard-body .admin-topbar-actions {
  color: #111827;
}

body.admin-body.fundraising-dashboard-body .admin-topbar a:hover {
  color: var(--fundraising-red);
}

body.admin-body.fundraising-dashboard-body .admin-shell {
  min-height: calc(100vh - 60px);
  grid-template-columns: 228px minmax(0, 1fr);
}

body.admin-body.fundraising-dashboard-body .admin-sidebar {
  top: 60px;
  height: calc(100vh - 60px);
  background: #fff;
  padding: 18px 12px;
}

body.admin-body.fundraising-dashboard-body .admin-sidebar .admin-brand {
  display: flex;
  min-height: 46px;
  border-bottom: 1px solid #edf0f4;
  border-radius: 0;
  padding: 0 10px 16px;
  margin-bottom: 18px;
  color: #111827;
}

body.admin-body.fundraising-dashboard-body .admin-sidebar .admin-brand .admin-brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--fundraising-red);
  color: #fff;
  font-size: 0;
}

body.admin-body.fundraising-dashboard-body .admin-sidebar .admin-brand .admin-brand-mark::before {
  content: "♥";
  font-size: 22px;
  line-height: 1;
}

body.admin-body.fundraising-dashboard-body .admin-sidebar .admin-brand small,
body.admin-body.fundraising-dashboard-body .admin-sidebar-footer {
  display: none;
}

body.admin-body.fundraising-dashboard-body .admin-nav {
  gap: 24px;
}

body.admin-body.fundraising-dashboard-body .admin-nav a {
  min-height: 44px;
  border-radius: 8px;
  color: #1f2937;
}

body.admin-body.fundraising-dashboard-body .admin-nav a.active,
body.admin-body.fundraising-dashboard-body .admin-nav a.admin-nav-sub.active,
body.admin-body.fundraising-dashboard-body .admin-subnav a.active {
  border-color: var(--fundraising-red);
  background: var(--fundraising-red);
  color: #fff;
  box-shadow: 0 12px 26px rgba(239, 16, 23, .2);
}

body.admin-body.fundraising-dashboard-body .admin-main {
  padding: 24px 30px 42px;
  background: #f5f6f8;
}

.legacy-fundraising-dashboard,
.legacy-fundraising-records,
.fundraising-dashboard-ops {
  max-width: 1280px;
  margin: 0 auto;
}

.legacy-dashboard-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 50px;
  margin-bottom: 18px;
}

.legacy-dashboard-header h1 {
  margin: 0;
  color: #111827;
  font-size: 25px;
  line-height: 1.2;
}

.legacy-dashboard-header p {
  margin: 6px 0 0;
  color: #6b7280;
  font-size: 14px;
  font-weight: 700;
}

.legacy-dashboard-compat {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.legacy-dashboard-user {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #111827;
}

.legacy-notice-bell {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  color: transparent;
}

.legacy-notice-bell::before {
  content: "";
  position: absolute;
  inset: 7px 8px 8px;
  border: 2px solid #111827;
  border-bottom: 0;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.legacy-notice-bell::after {
  content: "12";
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--fundraising-red);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 18px;
  text-align: center;
}

.legacy-avatar {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(180deg, #e5e7eb, #c9ced6);
  box-shadow: inset 0 0 0 7px rgba(255, 255, 255, .72);
}

.legacy-dashboard-alert {
  margin-bottom: 14px;
}

.legacy-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 20px;
}

.legacy-dashboard-metrics article,
.legacy-chart-card,
.legacy-latest-card {
  border: 1px solid var(--fundraising-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
}

.legacy-dashboard-metrics article {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 18px;
  min-height: 156px;
  padding: 24px 22px;
}

.legacy-metric-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: #ffe7e8;
  color: var(--fundraising-red);
  font-size: 18px;
  font-weight: 950;
}

.legacy-dashboard-metrics p {
  margin: 0 0 10px;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
}

.legacy-dashboard-metrics strong {
  display: block;
  margin-bottom: 14px;
  color: var(--fundraising-red);
  font-size: 30px;
  line-height: 1;
}

.legacy-dashboard-metrics article:not(:first-child) strong {
  color: #111827;
}

.legacy-dashboard-metrics small {
  display: block;
  margin-top: 8px;
  color: #6b7280;
  font-size: 14px;
  font-weight: 700;
}

.legacy-dashboard-metrics b {
  color: #059669;
}

.legacy-dashboard-charts {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: 20px;
  margin-bottom: 20px;
}

.legacy-chart-card {
  min-height: 262px;
  padding: 16px 20px;
}

.legacy-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.legacy-card-head h2 {
  margin: 0;
  color: #111827;
  font-size: 19px;
}

.legacy-card-head nav {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #fff;
}

.legacy-card-head nav span,
.legacy-card-head nav b {
  min-width: 68px;
  padding: 8px 12px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

.legacy-card-head nav b {
  border-left: 1px solid #ffb3b3;
  border-right: 1px solid #ffb3b3;
  background: #fff7f7;
  color: var(--fundraising-red);
}

.legacy-trend-plot {
  height: 190px;
}

.legacy-trend-plot svg {
  display: block;
  width: 100%;
  height: 100%;
}

.legacy-grid-lines path {
  stroke: #e5e7eb;
  stroke-dasharray: 5 5;
}

.legacy-area {
  fill: url(#fundraisingTrendFill);
}

.legacy-line {
  fill: none;
  stroke: var(--fundraising-red);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.legacy-trend-axis {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  color: #6b7280;
  font-size: 13px;
  text-align: center;
}

.legacy-channel-layout {
  display: grid;
  grid-template-columns: 178px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 206px;
}

.legacy-donut {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  width: 164px;
  height: 164px;
  margin: 0 auto;
  border-radius: 999px;
  background: conic-gradient(#2563eb 0deg 210deg, #22c55e 210deg 298deg, #f59e0b 298deg 334deg, #ff4d4f 334deg 360deg);
  text-align: center;
}

.legacy-donut::before {
  content: "";
  position: absolute;
  inset: 36px;
  border-radius: inherit;
  background: #fff;
}

.legacy-donut strong,
.legacy-donut span {
  position: relative;
  z-index: 1;
}

.legacy-donut strong {
  color: #111827;
  font-size: 23px;
  line-height: 1.1;
}

.legacy-donut span {
  margin-top: 6px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 800;
}

.legacy-channel-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.legacy-channel-list li {
  display: grid;
  grid-template-columns: 12px minmax(66px, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
}

.legacy-channel-list i {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #d1d5db;
}

.legacy-channel-list b {
  color: #4b5563;
}

.legacy-channel-list em {
  color: #6b7280;
  font-style: normal;
  font-weight: 700;
}

.legacy-latest-card {
  padding: 16px 20px 14px;
}

.legacy-latest-card .legacy-card-head a {
  color: var(--fundraising-red);
  font-weight: 900;
  text-decoration: none;
}

.legacy-table-wrap {
  overflow-x: auto;
}

.legacy-donation-table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  color: #111827;
}

.legacy-donation-table th,
.legacy-donation-table td {
  border-top: 1px solid #edf0f4;
  padding: 13px 12px;
  font-size: 14px;
  text-align: left;
  white-space: nowrap;
}

.legacy-donation-table th {
  background: #fafafa;
  color: #111827;
  font-weight: 900;
}

.legacy-donation-table td strong,
.legacy-donation-table td a {
  color: var(--fundraising-red);
  text-decoration: none;
}

.legacy-pay-channel {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 6px;
  padding: 0 8px;
  background: #f0fdf4;
  color: #15803d;
  font-weight: 900;
}

.legacy-fundraising-records {
  color: #111827;
}

.legacy-records-header {
  min-height: 42px;
  margin-bottom: 0;
}

.legacy-records-header p {
  display: none;
}

.legacy-record-tabs {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 48px;
  margin-bottom: 16px;
  border-bottom: 1px solid #dfe3ea;
}

.legacy-record-tabs a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  color: #1f2937;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

.legacy-record-tabs a.active {
  color: var(--fundraising-red);
}

.legacy-record-tabs a.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 999px;
  background: var(--fundraising-red);
}

.legacy-record-filter,
.legacy-record-table-card {
  border: 1px solid #e2e7ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .06);
}

.legacy-record-filter {
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) repeat(3, minmax(150px, 1fr));
  gap: 24px 32px;
  align-items: end;
  padding: 18px 22px 14px;
  margin-bottom: 16px;
}

.legacy-record-filter label {
  display: grid;
  gap: 10px;
  color: #111827;
  font-size: 14px;
  font-weight: 800;
}

.legacy-record-filter input,
.legacy-record-filter select {
  width: 100%;
  height: 40px;
  border: 1px solid #d7dce5;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font: inherit;
  font-weight: 700;
}

.legacy-record-filter select {
  padding: 0 36px 0 14px;
}

.legacy-date-range {
  position: relative;
  display: grid;
  grid-template-columns: minmax(96px, 1fr) 22px minmax(96px, 1fr) 28px;
  align-items: center;
  height: 40px;
  border: 1px solid #d7dce5;
  border-radius: 6px;
  background: #fff;
}

.legacy-date-range input {
  height: 38px;
  border: 0;
  padding: 0 12px;
  text-align: center;
}

.legacy-date-range b {
  color: #111827;
  font-weight: 800;
  text-align: center;
}

.legacy-date-range i {
  position: relative;
  width: 16px;
  height: 16px;
  border: 2px solid #6b7280;
  border-radius: 3px;
}

.legacy-date-range i::before {
  content: "";
  position: absolute;
  top: 3px;
  right: -2px;
  left: -2px;
  height: 2px;
  background: #6b7280;
}

.legacy-record-filter-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 34px;
  padding-top: 4px;
}

.legacy-record-filter-actions button,
.legacy-record-filter-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  height: 40px;
  border: 1px solid #d7dce5;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font: inherit;
  font-weight: 850;
  text-decoration: none;
}

.legacy-record-filter-actions .legacy-query-button {
  border-color: #0969ff;
  background: #0969ff;
  color: #fff;
  box-shadow: 0 10px 18px rgba(9, 105, 255, .18);
}

.legacy-record-filter-actions .legacy-export-button {
  min-width: 132px;
  border-color: var(--fundraising-red);
  background: var(--fundraising-red);
  color: #fff;
  box-shadow: 0 10px 18px rgba(239, 16, 23, .18);
}

.legacy-record-table-card {
  overflow: hidden;
}

.legacy-record-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  color: #111827;
}

.legacy-record-table th,
.legacy-record-table td {
  border-bottom: 1px solid #edf0f4;
  padding: 10px 16px;
  font-size: 14px;
  text-align: left;
  white-space: nowrap;
}

.legacy-record-table th {
  background: #fafafa;
  color: #111827;
  font-weight: 900;
}

.legacy-record-table td:first-child,
.legacy-record-table th:first-child {
  width: 64px;
  text-align: center;
}

.legacy-record-table td strong {
  color: var(--fundraising-red);
  font-size: 15px;
}

.legacy-pay-method,
.legacy-invoice-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 25px;
  border-radius: 5px;
  padding: 0 9px;
  font-weight: 850;
}

.legacy-pay-method {
  background: #f8fafc;
  color: #1f2937;
}

.legacy-pay-method::before {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background: #22c55e;
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .24);
}

.legacy-pay-method.alipay::before {
  background: #1677ff;
}

.legacy-pay-method.bank::before {
  background: #0f4c9a;
}

.legacy-invoice-status.issued {
  background: #eafaf0;
  color: #15803d;
}

.legacy-invoice-status.pending {
  background: #fff2e6;
  color: #f97316;
}

.legacy-invoice-status.rejected {
  background: #fff1f2;
  color: #e11d48;
}

.legacy-invoice-status.muted {
  background: #f3f4f6;
  color: #6b7280;
}

.legacy-record-actions {
  white-space: nowrap;
}

.legacy-record-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  height: 30px;
  border: 1px solid #d7dce5;
  border-radius: 6px;
  color: #0969ff;
  font-weight: 900;
  text-decoration: none;
}

.legacy-record-actions a + a {
  margin-left: 18px;
}

.legacy-record-empty {
  height: 220px;
  color: #6b7280;
  text-align: center !important;
}

.legacy-record-pagination {
  display: grid;
  grid-template-columns: 1fr auto 130px;
  align-items: center;
  gap: 18px;
  padding: 14px 22px 18px;
  color: #111827;
}

.legacy-record-pagination p {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
}

.legacy-record-pagination nav {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.legacy-record-pagination a,
.legacy-record-pagination b,
.legacy-page-arrow {
  display: inline-grid;
  place-items: center;
  min-width: 38px;
  height: 38px;
  border: 1px solid #dfe3ea;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font-style: normal;
  font-weight: 800;
}

.legacy-record-pagination b {
  border-color: var(--fundraising-red);
  background: var(--fundraising-red);
  color: #fff;
}

.legacy-record-pagination em {
  color: #111827;
  font-style: normal;
  font-weight: 900;
}

.legacy-record-pagination select {
  height: 38px;
  border: 1px solid #d7dce5;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-weight: 800;
}

.fundraising-dashboard-ops {
  margin-top: 22px;
}

.fundraising-ops-head {
  align-items: center;
}

.fundraising-ops-head h2 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 26px;
}

.fundraising-ops-metrics {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

@media (max-width: 1120px) {
  body.admin-body.fundraising-dashboard-body .admin-shell {
    grid-template-columns: 1fr;
  }

  body.admin-body.fundraising-dashboard-body .admin-sidebar {
    position: static;
    height: auto;
  }

  .legacy-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legacy-record-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legacy-record-pagination {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .legacy-dashboard-charts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  body.admin-body.fundraising-dashboard-body .admin-main {
    padding: 16px;
  }

  .legacy-dashboard-header,
  .legacy-card-head,
  .fundraising-ops-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .legacy-dashboard-metrics,
  .legacy-record-filter,
  .legacy-channel-layout {
    grid-template-columns: 1fr;
  }

  .legacy-record-filter-actions {
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: wrap;
  }

  .legacy-date-range {
    grid-template-columns: minmax(80px, 1fr) 22px minmax(80px, 1fr) 28px;
  }

  .legacy-record-tabs {
    overflow-x: auto;
  }

  .legacy-dashboard-metrics article {
    min-height: 132px;
  }
}

/* Fundraising agreement legacy H5 parity. */
body.agreement-h5 {
  --agreement-red: #ff1017;
  --agreement-ink: #111111;
  --agreement-muted: #60646c;
  min-height: 100vh;
  padding: 0;
  background: #f5f5f5;
  color: var(--agreement-ink);
}

.agreement-h5 .topbar,
.agreement-h5 .app-tabbar {
  display: none;
}

.agreement-mobile-topbar {
  position: sticky;
  top: 0;
  z-index: 120;
  display: grid;
  grid-template-columns: 56px 1fr 56px;
  align-items: center;
  height: calc(72px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) 16px 0;
  border-bottom: 1px solid rgba(17, 17, 17, .06);
  background: rgba(255, 255, 255, .98);
}

.agreement-mobile-topbar h1 {
  margin: 0;
  color: #0f0f0f;
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
}

.agreement-back {
  position: relative;
  display: block;
  width: 44px;
  height: 44px;
  border-radius: 999px;
}

.agreement-back::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 17px;
  width: 17px;
  height: 17px;
  border-bottom: 4px solid #111;
  border-left: 4px solid #111;
  border-radius: 2px;
  transform: rotate(45deg);
}

.agreement-page {
  width: 100%;
  max-width: 430px;
  min-height: calc(100vh - 72px);
  margin: 0 auto;
  padding: 22px 12px calc(116px + env(safe-area-inset-bottom));
}

.agreement-card {
  border: 1px solid rgba(17, 17, 17, .06);
  border-radius: 18px;
  background: #fff;
  padding: 24px 18px 20px;
  box-shadow: 0 8px 24px rgba(17, 17, 17, .05);
}

.agreement-intro h2 {
  margin: 0 0 16px;
  color: #111;
  font-size: 22px;
  line-height: 1.2;
}

.agreement-intro p,
.agreement-section li,
.agreement-prose {
  color: #202124;
  font-size: 18px;
  line-height: 1.78;
}

.agreement-intro p {
  margin: 0;
}

.agreement-section {
  margin-top: 26px;
  border-top: 1px solid #ececec;
  padding-top: 24px;
}

.agreement-section h2 {
  position: relative;
  margin: 0 0 16px;
  padding-left: 22px;
  color: #111;
  font-size: 21px;
  font-weight: 950;
  line-height: 1.3;
}

.agreement-section h2::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;
  width: 4px;
  border-radius: 999px;
  background: var(--agreement-red);
}

.agreement-section ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 24px;
}

.agreement-section li {
  padding-left: 4px;
}

.agreement-custom-note {
  margin-top: 12px;
  color: #202124;
  font-size: 18px;
  line-height: 1.78;
}

.agreement-custom-note p {
  margin: 0;
}

.agreement-check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  color: #202124;
  font-size: 17px;
  line-height: 1.3;
}

.agreement-check input {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  appearance: none;
  border: 2px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
}

.agreement-check input:checked {
  border-color: var(--agreement-red);
  background: var(--agreement-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m5 12 4 4L19 7'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

.agreement-check b {
  color: var(--agreement-red);
  font-weight: 850;
}

.agreement-bottom-actions {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 140;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.14fr);
  gap: 14px;
  max-width: 430px;
  margin: 0 auto;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(17, 17, 17, .08);
  background: rgba(255, 255, 255, .98);
}

.agreement-bottom-actions form {
  display: contents;
}

.agreement-bottom-actions a,
.agreement-bottom-actions button {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 0 12px;
  border-radius: 12px;
  font: inherit;
  font-size: 21px;
  font-weight: 950;
  text-decoration: none;
  cursor: pointer;
}

.agreement-secondary-action {
  border: 1px solid #dfe3ea;
  background: #fff;
  color: #111;
}

.agreement-primary-action {
  border: 1px solid var(--agreement-red);
  background: var(--agreement-red);
  color: #fff;
  box-shadow: 0 10px 22px rgba(255, 16, 23, .2);
}

@media (min-width: 821px) {
  body.agreement-h5 {
    display: grid;
    place-items: start center;
  }

  .agreement-mobile-topbar,
  .agreement-bottom-actions {
    width: 430px;
    right: auto;
    left: auto;
  }
}

@media (max-width: 380px) {
  .agreement-intro p,
  .agreement-section li,
  .agreement-prose {
    font-size: 17px;
  }

  .agreement-bottom-actions a,
  .agreement-bottom-actions button {
    font-size: 19px;
  }
}

/* Admin activity management legacy PHP parity. */
body.admin-body.activity-management-body {
  --activity-yellow: #ffd200;
  --activity-yellow-2: #ffc400;
  --activity-ink: #111827;
  --activity-muted: #5f6673;
  --activity-line: #e5e9f0;
  color-scheme: light;
  background: #f5f6f8;
}

body.admin-body.activity-management-body .admin-topbar {
  min-height: 60px;
  border-bottom: 0;
  background: #0d1117;
  color: #fff;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .2);
}

body.admin-body.activity-management-body .admin-topbar-brand,
body.admin-body.activity-management-body .admin-topbar-actions,
body.admin-body.activity-management-body .admin-topbar a,
body.admin-body.activity-management-body .admin-topbar-role {
  color: #fff;
}

body.admin-body.activity-management-body .admin-topbar .admin-brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--activity-yellow);
  color: #111827;
  box-shadow: none;
}

body.admin-body.activity-management-body .admin-topbar-brand strong {
  display: inline;
  color: #fff;
  font-size: 18px;
}

body.admin-body.activity-management-body .admin-topbar-menu {
  display: inline-flex;
  color: #fff;
  font-size: 24px;
}

body.admin-body.activity-management-body .admin-shell {
  min-height: calc(100vh - 60px);
  grid-template-columns: 230px minmax(0, 1fr);
}

body.admin-body.activity-management-body .admin-sidebar {
  top: 60px;
  height: calc(100vh - 60px);
  border-right: 1px solid var(--activity-line);
  background: #fff;
  padding: 22px 12px;
}

body.admin-body.activity-management-body .admin-sidebar .admin-brand {
  display: none;
}

body.admin-body.activity-management-body .admin-sidebar-footer {
  display: none;
}

body.admin-body.activity-management-body .admin-nav {
  gap: 24px;
}

body.admin-body.activity-management-body .admin-nav p {
  color: #6b7280;
  font-size: 14px;
  font-weight: 700;
}

body.admin-body.activity-management-body .admin-nav a {
  min-height: 46px;
  border-radius: 8px;
  color: #1f2937;
  font-size: 16px;
  font-weight: 800;
}

body.admin-body.activity-management-body .admin-nav a.active,
body.admin-body.activity-management-body .admin-nav a.admin-nav-sub.active {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
  color: #111827;
  box-shadow: 0 12px 26px rgba(255, 210, 0, .25);
}

body.admin-body.activity-management-body .admin-main {
  padding: 24px 24px 40px;
  background: #f5f6f8;
}

.legacy-activity-admin {
  max-width: 1280px;
  margin: 0 auto;
  color: var(--activity-ink);
}

.legacy-activity-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

.legacy-activity-header h1 {
  margin: 0;
  color: #111827;
  font-size: 28px;
  line-height: 1.2;
}

.legacy-create-activity-top {
  display: none;
}

.legacy-activity-alert {
  margin-bottom: 14px;
}

.legacy-activity-compat-nav {
  display: none;
}

.legacy-activity-tabs {
  display: inline-flex;
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
}

.legacy-activity-tabs a {
  min-width: 104px;
  padding: 11px 24px;
  border-right: 1px solid #d8dde6;
  color: #1f2937;
  font-size: 15px;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
}

.legacy-activity-tabs a:last-child {
  border-right: 0;
}

.legacy-activity-tabs a.active {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
  color: #111827;
}

.legacy-activity-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.legacy-activity-stat {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: center;
  min-height: 136px;
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  padding: 24px 26px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .06);
}

.legacy-stat-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 10px;
  color: #fff;
  font-size: 30px;
  font-weight: 900;
}

.legacy-stat-icon.purple {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
}

.legacy-stat-icon.green {
  background: linear-gradient(135deg, #16a34a, #22c55e);
}

.legacy-stat-icon.blue {
  background: linear-gradient(135deg, #2563eb, #60a5fa);
}

.legacy-stat-icon.orange {
  background: linear-gradient(135deg, #f97316, #ff9f1a);
}

.legacy-activity-stat p {
  margin: 0 0 8px;
  color: #3f4652;
  font-size: 15px;
  font-weight: 800;
}

.legacy-activity-stat strong {
  display: block;
  color: #050505;
  font-size: 32px;
  line-height: 1.05;
}

.legacy-activity-stat small {
  display: block;
  margin-top: 8px;
  color: #6b7280;
  font-size: 14px;
}

.legacy-activity-filter-card,
.legacy-activity-table-card {
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .06);
}

.legacy-activity-filter-card {
  padding: 18px 18px;
  margin-bottom: 16px;
}

.legacy-activity-filter {
  display: grid;
  grid-template-columns: minmax(190px, 1.2fr) minmax(140px, .82fr) minmax(140px, .82fr) minmax(150px, .95fr) minmax(150px, .95fr) 92px 92px 128px;
  gap: 14px;
  align-items: end;
}

.legacy-activity-filter label {
  display: grid;
  gap: 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 850;
}

.legacy-activity-filter input,
.legacy-activity-filter select {
  width: 100%;
  height: 40px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font: inherit;
  font-weight: 700;
}

.legacy-activity-filter input {
  padding: 0 12px;
}

.legacy-activity-filter select {
  padding: 0 34px 0 12px;
}

.legacy-activity-search {
  position: relative;
}

.legacy-activity-search input {
  padding-right: 38px;
}

.legacy-activity-search i {
  position: absolute;
  right: 13px;
  bottom: 11px;
  width: 15px;
  height: 15px;
  border: 2px solid #6b7280;
  border-radius: 999px;
}

.legacy-activity-search i::after {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -4px;
  width: 7px;
  height: 2px;
  border-radius: 999px;
  background: #6b7280;
  transform: rotate(45deg);
}

.legacy-query-button,
.legacy-reset-button,
.legacy-create-activity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  color: #111827;
  font: inherit;
  font-weight: 900;
  text-decoration: none;
}

.legacy-query-button,
.legacy-create-activity {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
}

.legacy-reset-button {
  background: #fff;
}

.legacy-activity-table-card {
  overflow: hidden;
}

.legacy-activity-table-card > header {
  padding: 16px 18px 12px;
}

.legacy-activity-table-card h2 {
  margin: 0;
  color: #111827;
  font-size: 19px;
}

.legacy-activity-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  color: #111827;
}

.legacy-activity-table th,
.legacy-activity-table td {
  border-top: 1px solid var(--activity-line);
  padding: 11px 14px;
  font-size: 14px;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

.legacy-activity-table th {
  background: #fafafa;
  color: #1f2937;
  font-weight: 900;
}

.legacy-activity-title-wrap {
  display: grid;
  grid-template-columns: 82px minmax(160px, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 260px;
}

.legacy-activity-title-cell img,
.legacy-activity-cover-fallback {
  width: 82px;
  height: 46px;
  border-radius: 6px;
  object-fit: cover;
  background: linear-gradient(135deg, #1e293b, #0ea5e9);
}

.legacy-activity-cover-fallback {
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.legacy-activity-title-cell strong {
  overflow: hidden;
  color: #111827;
  font-size: 15px;
  text-overflow: ellipsis;
}

.legacy-activity-table small {
  display: block;
  margin-top: 4px;
  color: #4b5563;
  font-size: 13px;
}

.legacy-activity-status {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  border: 1px solid #b7ebc6;
  border-radius: 6px;
  padding: 0 10px;
  background: #ecfdf3;
  color: #039855;
  font-size: 13px;
  font-weight: 900;
}

.legacy-activity-status.draft {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #f97316;
}

.legacy-activity-status.reviewing {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #2563eb;
}

.legacy-activity-status.ended {
  border-color: #d1d5db;
  background: #f9fafb;
  color: #4b5563;
}

.legacy-activity-status.paused {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #d97706;
}

.legacy-activity-status.closed {
  border-color: #fecaca;
  background: #fff1f2;
  color: #dc2626;
}

.legacy-activity-actions {
  color: #0969ff;
}

.legacy-activity-actions > a,
.legacy-more-actions > summary {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-right: 14px;
  color: #0969ff;
  font-weight: 900;
  text-decoration: none;
}

.legacy-more-actions {
  display: inline-block;
  position: relative;
}

.legacy-more-actions > summary {
  cursor: pointer;
  list-style: none;
}

.legacy-more-actions > summary::-webkit-details-marker {
  display: none;
}

.legacy-more-actions > summary::after {
  content: "⌄";
  margin-left: 5px;
  color: #111827;
  font-weight: 900;
}

.legacy-more-actions dl {
  position: absolute;
  right: 0;
  z-index: 20;
  width: 250px;
  margin: 4px 0 0;
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(17, 24, 39, .16);
}

.legacy-more-actions dt,
.legacy-more-actions dd {
  margin: 0;
  white-space: normal;
}

.legacy-more-actions dt {
  color: #6b7280;
  font-size: 12px;
  font-weight: 800;
}

.legacy-more-actions dd {
  margin-bottom: 8px;
  color: #111827;
  font-size: 13px;
}

.legacy-more-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.legacy-more-links a {
  color: #0969ff;
  font-weight: 900;
  text-decoration: none;
}

.legacy-activity-pagination {
  display: grid;
  grid-template-columns: 1fr auto 130px;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  border-top: 1px solid var(--activity-line);
}

.legacy-activity-pagination p {
  margin: 0;
  color: #111827;
  font-size: 15px;
  font-weight: 800;
}

.legacy-activity-pagination nav {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.legacy-activity-pagination a,
.legacy-activity-pagination b,
.legacy-activity-pagination span {
  display: inline-grid;
  place-items: center;
  min-width: 38px;
  height: 38px;
  border: 1px solid #dfe3ea;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font-weight: 850;
}

.legacy-activity-pagination b {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
}

.legacy-activity-pagination em {
  color: #111827;
  font-style: normal;
  font-weight: 900;
}

.legacy-activity-pagination select {
  height: 38px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-weight: 800;
}

.legacy-create-admin {
  max-width: 1252px;
  margin: 0 auto;
  color: var(--activity-ink);
}

.legacy-create-header {
  margin-bottom: 16px;
}

.conference-create-back,
.conference-create-mobile,
.training-create-mobile,
.fundraising-create-header,
.fundraising-create-mobile,
.fundraising-create-v2 {
  display: none;
}

.legacy-create-header h1 {
  margin: 0;
  color: #111827;
  font-size: 26px;
  line-height: 1.2;
}

.legacy-create-form.admin-form {
  display: grid;
  gap: 8px;
}

.legacy-create-card {
  border: 1px solid var(--activity-line);
  border-radius: 10px;
  padding: 12px 20px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .045);
}

.legacy-create-card h2 {
  margin: 0 0 12px;
  color: #111827;
  font-size: 16px;
  line-height: 1.2;
}

.legacy-create-top-grid {
  display: grid;
  grid-template-columns: minmax(420px, .86fr) minmax(520px, 1fr);
  gap: 18px;
}

.legacy-cover-card {
  min-height: 228px;
}

.legacy-cover-upload {
  display: grid;
  place-items: center;
  min-height: 164px;
  border: 1.5px dashed #c5cbd6;
  border-radius: 8px;
  color: #111827;
  text-align: center;
  cursor: pointer;
}

.legacy-cover-upload input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.legacy-cover-plus {
  display: block;
  color: #5f636b;
  font-size: 40px;
  font-weight: 300;
  line-height: 1;
}

.legacy-cover-upload strong {
  display: block;
  margin-top: 6px;
  font-size: 16px;
  font-weight: 850;
}

.legacy-cover-upload small {
  display: block;
  margin-top: 8px;
  color: #6b7280;
  font-size: 14px;
  font-weight: 500;
}

.legacy-hidden-url {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.legacy-basic-card {
  display: grid;
  gap: 10px;
}

.legacy-create-form label {
  display: grid;
  gap: 6px;
  color: #111827;
  font-size: 14px;
  font-weight: 850;
}

.legacy-create-form label b {
  color: #e11d48;
  font-weight: 900;
}

.legacy-create-form input,
.legacy-create-form textarea,
.legacy-create-form select {
  width: 100%;
  border: 1px solid #d7dce5;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-weight: 500;
  box-shadow: none;
}

.legacy-create-form input,
.legacy-create-form select {
  height: 36px;
  padding: 0 14px;
}

.legacy-create-form textarea {
  min-height: 80px;
  padding: 13px 14px;
  resize: vertical;
}

.legacy-input-counter,
.legacy-textarea-counter {
  position: relative;
  display: block;
}

.legacy-input-counter em,
.legacy-textarea-counter em {
  position: absolute;
  right: 14px;
  bottom: 12px;
  color: #8b929e;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  pointer-events: none;
}

.legacy-input-counter input {
  padding-right: 70px;
}

.legacy-textarea-counter textarea {
  padding-right: 70px;
}

.legacy-create-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 34px;
}

.legacy-date-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(150px, .9fr);
  gap: 12px;
}

.legacy-radio-card {
  padding-top: 12px;
  padding-bottom: 12px;
}

.legacy-radio-card h2,
.legacy-registration-card h2 {
  margin-bottom: 12px;
}

.legacy-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  align-items: center;
  min-height: 26px;
}

.legacy-radio-group label,
.legacy-checkbox-line {
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  gap: 10px;
  color: #111827;
  font-size: 15px;
  font-weight: 700;
}

.legacy-radio-group input,
.legacy-checkbox-line input {
  width: 18px;
  height: 18px;
  accent-color: var(--activity-yellow);
}

.legacy-create-two.registration {
  grid-template-columns: minmax(180px, .45fr) minmax(410px, 1fr) minmax(260px, .72fr);
  gap: 10px 28px;
  align-items: end;
}

.legacy-create-two.registration label:nth-child(3) {
  max-width: none;
}

.legacy-create-advanced {
  margin-top: 112px;
  padding: 0;
  overflow: hidden;
}

.legacy-create-advanced summary {
  cursor: pointer;
  padding: 14px 20px;
  color: #111827;
  font-size: 15px;
  font-weight: 850;
  list-style-position: inside;
}

.legacy-advanced-grid,
.legacy-button-settings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0 20px 18px;
}

.legacy-advanced-grid label:nth-child(4),
.legacy-advanced-grid label:nth-child(5),
.legacy-advanced-grid label:nth-child(7),
.legacy-advanced-grid label:nth-child(8),
.legacy-advanced-grid label:nth-child(9) {
  grid-column: span 3;
}

.legacy-button-settings {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--activity-line);
  padding-top: 18px;
}

.legacy-button-settings .legacy-checkbox-line {
  align-self: end;
  min-height: 44px;
}

.legacy-create-actions {
  display: flex;
  justify-content: flex-end;
  gap: 32px;
  border: 1px solid var(--activity-line);
  border-radius: 10px;
  padding: 10px 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 24, 39, .045);
}

.legacy-create-actions a,
.legacy-create-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 188px;
  height: 36px;
  border: 0;
  border-radius: 6px;
  color: #111827;
  font: inherit;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.legacy-create-actions a {
  background: #e9e9e9;
}

.legacy-create-actions button {
  background: var(--activity-yellow);
  box-shadow: 0 8px 18px rgba(255, 210, 0, .18);
}

.legacy-edit-admin {
  max-width: 1226px;
  margin: 0 auto;
  color: var(--activity-ink);
}

.legacy-edit-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  color: #6b7280;
  font-size: 14px;
  font-weight: 600;
}

.legacy-edit-breadcrumb a {
  color: #6b7280;
  text-decoration: none;
}

.legacy-edit-header {
  margin-bottom: 18px;
}

.legacy-edit-header h1 {
  margin: 0;
  color: #111827;
  font-size: 28px;
  line-height: 1.2;
}

.legacy-edit-tabs {
  display: inline-flex;
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid #d8dde6;
  border-radius: 8px;
  background: #fff;
}

.legacy-edit-tabs a {
  min-width: 128px;
  padding: 14px 28px;
  border-right: 1px solid #d8dde6;
  color: #1f2937;
  font-size: 15px;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
}

.legacy-edit-tabs a:last-child {
  border-right: 0;
}

.legacy-edit-tabs a.active {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
  color: #111827;
}

body.admin-body .legacy-edit-layout.admin-edit-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 292px;
  gap: 20px;
  align-items: start;
}

.legacy-edit-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.legacy-edit-card,
.legacy-edit-status-card {
  border: 1px solid var(--activity-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .055);
}

.legacy-edit-basic {
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  gap: 34px;
  padding: 26px 24px;
}

.legacy-edit-cover {
  display: grid;
  align-content: start;
  gap: 14px;
}

.legacy-edit-cover h2,
.legacy-edit-content-card h2 {
  margin: 0;
  color: #111827;
  font-size: 16px;
  line-height: 1.2;
}

.legacy-edit-content-card h2 b,
.legacy-edit-fields b {
  color: #e11d48;
}

.legacy-edit-cover-preview {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 6px;
  background: linear-gradient(135deg, #111827, #2563eb);
  color: #fff;
  font-weight: 900;
}

.legacy-edit-cover-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.legacy-edit-cover-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 102px;
  height: 38px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
}

.legacy-edit-cover-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.legacy-edit-cover p {
  margin: 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.65;
}

.legacy-edit-fields {
  display: grid;
  gap: 18px;
}

.legacy-edit-fields label,
.legacy-edit-status-card label,
.legacy-edit-advanced label {
  display: grid;
  gap: 8px;
  color: #111827;
  font-size: 15px;
  font-weight: 850;
}

.legacy-edit-fields input,
.legacy-edit-fields textarea,
.legacy-edit-fields select,
.legacy-edit-status-card select,
.legacy-edit-advanced input,
.legacy-edit-advanced textarea,
.legacy-edit-advanced select {
  width: 100%;
  border: 1px solid #d7dce5;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-weight: 500;
  box-shadow: none;
}

.legacy-edit-fields input,
.legacy-edit-fields select,
.legacy-edit-status-card select,
.legacy-edit-advanced input,
.legacy-edit-advanced select {
  height: 48px;
  padding: 0 14px;
}

.legacy-edit-fields textarea,
.legacy-edit-advanced textarea {
  min-height: 96px;
  padding: 12px 14px;
  resize: vertical;
}

.legacy-edit-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
}

.legacy-edit-time-row {
  display: none;
}

.legacy-edit-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
}

.legacy-edit-checks label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 700;
}

.legacy-edit-checks input {
  width: 18px;
  height: 18px;
  accent-color: var(--activity-yellow);
}

.legacy-edit-content-card {
  padding: 24px;
}

.legacy-rich-toolbar {
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 45px;
  margin-top: 14px;
  border: 1px solid #d8dde6;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  padding: 0 14px;
  color: #111827;
  font-size: 14px;
  font-weight: 800;
  overflow-x: auto;
}

.legacy-rich-toolbar mark {
  border-radius: 3px;
  padding: 0 3px;
  background: var(--activity-yellow);
  color: #111827;
}

.legacy-edit-content-card textarea {
  width: 100%;
  min-height: 170px;
  border: 1px solid #d8dde6;
  border-radius: 0 0 6px 6px;
  padding: 18px;
  color: #111827;
  font: inherit;
  line-height: 1.75;
  resize: vertical;
}

.legacy-edit-content-card small {
  display: block;
  margin-top: 8px;
  color: #6b7280;
  font-size: 13px;
  text-align: right;
}

body.admin-body .legacy-edit-aside.admin-edit-aside {
  position: sticky;
  top: 84px;
  display: grid;
  gap: 16px;
}

.legacy-edit-status-card {
  padding: 26px 24px;
}

.legacy-edit-status-card h2 {
  margin: 0 0 24px;
  color: #111827;
  font-size: 18px;
}

.legacy-edit-status-card dl {
  display: grid;
  gap: 18px;
  margin: 0;
}

.legacy-edit-status-card dt {
  margin-bottom: 6px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
}

.legacy-edit-status-card dd {
  margin: 0;
  color: #111827;
  font-size: 14px;
  line-height: 1.65;
}

.legacy-edit-status-card code {
  border-radius: 4px;
  padding: 2px 5px;
  background: #f3f4f6;
  color: #111827;
}

.legacy-edit-primary,
.legacy-edit-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  border: 1px solid var(--activity-yellow);
  border-radius: 8px;
  background: var(--activity-yellow);
  color: #111827;
  font: inherit;
  font-size: 16px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(255, 210, 0, .2);
}

.legacy-edit-primary svg,
.legacy-edit-ghost svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}

.legacy-edit-ghost {
  border-color: #d8dde6;
  background: #fff;
  box-shadow: none;
}

.legacy-edit-advanced {
  padding: 0;
  overflow: hidden;
}

.legacy-edit-advanced summary {
  cursor: pointer;
  padding: 16px 20px;
  color: #111827;
  font-size: 15px;
  font-weight: 850;
  list-style-position: inside;
}

.legacy-edit-advanced .legacy-advanced-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.legacy-edit-advanced .legacy-advanced-grid label:nth-child(n + 5) {
  grid-column: span 2;
}

.legacy-edit-advanced .legacy-edit-checks {
  grid-column: span 2;
}

.legacy-edit-admin > .admin-detail-workbench,
.legacy-edit-admin > .danger-zone,
.legacy-edit-danger {
  margin-top: 20px;
}

.legacy-registration-admin {
  display: grid;
  gap: 16px;
  color: #111827;
}

.legacy-registration-header {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
}

.legacy-registration-header h1 {
  margin: 0;
  color: #111827;
  font-size: 30px;
  line-height: 1.2;
}

.legacy-registration-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(170px, 1fr)) minmax(360px, 2.08fr);
  gap: 16px;
}

body.admin-body .legacy-registration-overview.admin-checkin-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, .78fr)) minmax(410px, 1.55fr);
  gap: 16px;
}

.legacy-registration-stat,
.legacy-registration-activity,
.legacy-registration-filter,
.legacy-registration-table-card,
.legacy-registration-manual {
  border: 1px solid var(--activity-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .055);
}

.legacy-registration-stat {
  display: flex;
  min-height: 142px;
  align-items: center;
  gap: 24px;
  padding: 24px 22px;
}

.legacy-registration-stat i {
  display: grid;
  width: 56px;
  height: 56px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  color: #fff;
}

.legacy-registration-stat i svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.legacy-registration-stat.purple i {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.legacy-registration-stat.green i {
  background: linear-gradient(135deg, #22c55e, #16a34a);
}

.legacy-registration-stat.orange i {
  background: linear-gradient(135deg, #f59e0b, #f97316);
}

.legacy-registration-stat p {
  margin: 0 0 12px;
  color: #111827;
  font-size: 16px;
  font-weight: 850;
}

.legacy-registration-stat strong {
  display: block;
  margin-bottom: 9px;
  color: #111827;
  font-size: 32px;
  line-height: 1;
  font-weight: 900;
}

.legacy-registration-stat small {
  color: #6b7280;
  font-size: 14px;
}

.legacy-registration-activity {
  display: grid;
  align-content: start;
  min-height: 142px;
  padding: 20px 22px;
}

.legacy-registration-activity h2 {
  margin: 0 0 14px;
  color: #111827;
  font-size: 17px;
}

.legacy-registration-activity-body {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.legacy-registration-cover {
  display: grid;
  width: 132px;
  aspect-ratio: 16 / 9;
  place-items: center;
  overflow: hidden;
  border-radius: 6px;
  background: linear-gradient(135deg, #111827, #2563eb);
  color: #fff;
  font-weight: 900;
}

.legacy-registration-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.legacy-registration-activity h3 {
  margin: 0 0 10px;
  color: #111827;
  font-size: 19px;
}

.legacy-registration-activity p {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 6px 0 0;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.45;
}

.legacy-registration-activity p svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.legacy-registration-filter {
  padding: 20px 22px;
}

.legacy-registration-filter-head,
.legacy-registration-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.legacy-registration-filter h2,
.legacy-registration-table-head h2 {
  margin: 0;
  color: #111827;
  font-size: 18px;
}

.legacy-registration-filter-head a {
  color: #111827;
  font-size: 14px;
  text-decoration: none;
}

.legacy-registration-filter form {
  display: grid;
  grid-template-columns: minmax(130px, .95fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(132px, .82fr) minmax(260px, 1.9fr) minmax(150px, 1fr);
  gap: 18px 22px;
  margin-top: 18px;
  align-items: end;
}

.legacy-registration-filter label,
.legacy-registration-manual label {
  display: grid;
  gap: 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 700;
}

.legacy-registration-checkin-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.legacy-registration-filter input,
.legacy-registration-filter select,
.legacy-registration-manual input,
.legacy-registration-manual select {
  width: 100%;
  height: 46px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-weight: 500;
  padding: 0 12px;
}

.legacy-registration-date span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 9px;
}

.legacy-registration-date em {
  color: #6b7280;
  font-style: normal;
}

.legacy-registration-filter-actions {
  grid-column: 5 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 18px;
}

.legacy-registration-search,
.legacy-registration-reset,
.legacy-registration-export,
.legacy-registration-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 104px;
  height: 44px;
  border: 1px solid #2563eb;
  border-radius: 6px;
  background: #2563eb;
  color: #fff;
  font: inherit;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}

.legacy-registration-reset,
.legacy-registration-export {
  border-color: #d8dde6;
  background: #fff;
  color: #111827;
}

.legacy-registration-add {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
  color: #111827;
}

.legacy-registration-export svg,
.legacy-registration-add svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.legacy-registration-table-card {
  overflow: hidden;
}

.legacy-registration-table-head {
  padding: 18px 22px;
  border-bottom: 1px solid #e5e7eb;
}

.legacy-registration-table-head p {
  margin: 5px 0 0;
  color: #6b7280;
  font-size: 13px;
}

.legacy-registration-actions {
  display: flex;
  gap: 16px;
}

.legacy-registration-table-wrap {
  overflow-x: auto;
}

.legacy-registration-table {
  width: 100%;
  min-width: 1100px;
  border-collapse: collapse;
}

.legacy-registration-table th,
.legacy-registration-table td {
  border-bottom: 1px solid #e5e7eb;
  padding: 13px 18px;
  color: #1f2937;
  font-size: 14px;
  text-align: left;
  white-space: nowrap;
}

.legacy-registration-table th {
  background: #fbfbfc;
  color: #111827;
  font-weight: 850;
}

.legacy-registration-table td strong {
  color: #111827;
}

.legacy-registration-table td small {
  display: block;
  margin-top: 5px;
  color: #6b7280;
}

.legacy-registration-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid transparent;
  border-radius: 5px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 850;
}

.legacy-registration-status.approved {
  border-color: #86efac;
  background: #dcfce7;
  color: #16a34a;
}

.legacy-registration-status.pending {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #f97316;
}

.legacy-registration-status.cancelled {
  border-color: #d1d5db;
  background: #f3f4f6;
  color: #6b7280;
}

.legacy-registration-row-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.legacy-registration-row-actions a,
.legacy-registration-row-actions summary,
.legacy-registration-row-actions button {
  border: 0;
  background: transparent;
  color: #2563eb;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
}

.legacy-registration-row-actions form {
  display: inline-flex;
}

.legacy-registration-row-actions details:not([open]) dl {
  display: none;
}

.legacy-registration-row-actions dl {
  max-width: 220px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.legacy-registration-secondary-action {
  opacity: .72;
}

.legacy-registration-pagination {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
  gap: 18px;
  align-items: center;
  padding: 18px 22px;
  color: #374151;
  font-size: 14px;
}

.legacy-registration-pagination nav {
  display: flex;
  align-items: center;
  gap: 12px;
}

.legacy-registration-pagination a,
.legacy-registration-pagination nav span {
  display: inline-flex;
  min-width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  text-decoration: none;
}

.legacy-registration-pagination a.active {
  border-color: var(--activity-yellow);
  background: var(--activity-yellow);
}

.legacy-registration-pagination select {
  justify-self: end;
  min-width: 116px;
  height: 38px;
  border: 1px solid #d8dde6;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  padding: 0 10px;
}

.legacy-registration-manual {
  padding: 0;
  overflow: hidden;
}

.legacy-registration-manual summary {
  cursor: pointer;
  padding: 15px 20px;
  color: #111827;
  font-size: 15px;
  font-weight: 850;
}

.legacy-registration-manual form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 0 20px 20px;
}

.legacy-registration-manual button {
  align-self: end;
}

.legacy-registration-compat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 14px;
}

.legacy-registration-compat-nav a {
  color: #2563eb;
  text-decoration: none;
}

@media (max-width: 1180px) {
  body.admin-body.activity-management-body .admin-shell {
    grid-template-columns: 1fr;
  }

  body.admin-body.activity-management-body .admin-sidebar {
    position: static;
    height: auto;
  }

  .legacy-activity-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legacy-activity-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legacy-create-top-grid,
  .legacy-create-two,
  .legacy-create-two.registration,
  body.admin-body .legacy-edit-layout.admin-edit-layout,
  .legacy-edit-basic,
  .legacy-edit-two,
  .legacy-registration-overview,
  .legacy-registration-filter form,
  .legacy-registration-manual form,
  .legacy-advanced-grid,
  .legacy-button-settings {
    grid-template-columns: 1fr;
  }

  .legacy-advanced-grid label:nth-child(n),
  .legacy-button-settings label:nth-child(n),
  .legacy-edit-advanced .legacy-advanced-grid label:nth-child(n),
  .legacy-edit-advanced .legacy-edit-checks {
    grid-column: auto;
  }

  .legacy-registration-filter-actions {
    grid-column: auto;
    justify-content: flex-start;
  }

  body.admin-body .legacy-edit-aside.admin-edit-aside {
    position: static;
  }
}

@media (max-width: 720px) {
  body.admin-body.activity-management-body .admin-main {
    padding: 16px;
  }

  .legacy-activity-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .legacy-create-activity-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border-radius: 6px;
    padding: 0 18px;
    background: var(--activity-yellow);
    color: #111827;
    font-weight: 900;
    text-decoration: none;
  }

  .legacy-activity-tabs,
  .legacy-activity-table-card {
    width: 100%;
  }

  .legacy-activity-tabs {
    overflow-x: auto;
  }

  .legacy-activity-stats,
  .legacy-activity-filter,
  .legacy-activity-pagination {
    grid-template-columns: 1fr;
  }

  .legacy-activity-filter .legacy-create-activity {
    display: none;
  }

  .legacy-date-row,
  .legacy-create-actions,
  .legacy-edit-tabs {
    grid-template-columns: 1fr;
  }

  .legacy-radio-group,
  .legacy-create-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .legacy-create-actions a,
  .legacy-create-actions button {
    width: 100%;
  }

  body.admin-body.conference-create-body {
    background: #f7f8fb;
  }

  body.admin-body.conference-create-body .admin-topbar,
  body.admin-body.conference-create-body .admin-sidebar,
  body.admin-body.conference-create-body .legacy-activity-compat-nav,
  body.admin-body.conference-create-body .legacy-create-form,
  body.admin-body.conference-create-body .legacy-create-header h1::before {
    display: none;
  }

  body.admin-body.conference-create-body .admin-shell {
    display: block;
  }

  body.admin-body.conference-create-body .admin-main {
    min-height: 100dvh;
    padding: 0 0 calc(54px + env(safe-area-inset-bottom));
    background: #f7f8fb;
  }

  body.admin-body.conference-create-body .legacy-create-admin {
    max-width: 852px;
    margin: 0 auto;
    background: #f7f8fb;
    color: #101827;
  }

  body.admin-body.conference-create-body .legacy-create-header {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    margin: 0;
    border-bottom: 1px solid #dfe3ea;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
  }

  body.admin-body.conference-create-body .legacy-create-header h1 {
    display: block;
    margin: 0;
    color: #020617;
    font-size: 13px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0;
  }

  body.admin-body.conference-create-body .conference-create-back {
    position: absolute;
    left: 11px;
    top: 50%;
    display: inline-grid;
    width: 22px;
    height: 22px;
    place-items: center;
    transform: translateY(-50%);
    color: #020617;
  }

  .conference-create-back svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.admin-body.conference-create-body .legacy-activity-alert {
    margin: 8px 16px 0;
  }

  body.admin-body.conference-create-body .conference-create-mobile {
    display: grid;
    gap: 7px;
    padding: 11px 16px 0;
  }

  .conference-create-mobile svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .conference-create-cover {
    display: grid;
    justify-content: center;
    margin-bottom: 1px;
  }

  .conference-create-cover input,
  .conference-create-assets input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .conference-create-cover-box {
    position: relative;
    display: grid;
    width: 122px;
    height: 115px;
    place-items: center;
    align-content: center;
    gap: 10px;
    border: 1px solid #d8dde6;
    border-radius: 7px;
    background: #fff;
    color: #555c68;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .055);
  }

  .conference-create-cover-box::before {
    content: "";
    position: absolute;
    width: 108px;
    height: 101px;
    border: 1.5px dashed #b7beca;
    border-radius: 6px;
    pointer-events: none;
  }

  .conference-create-cover-box svg {
    width: 33px;
    height: 33px;
    color: #858b96;
    fill: #858b96;
    stroke: #858b96;
  }

  .conference-create-cover-box strong {
    color: #555c68;
    font-size: 12px;
    font-weight: 500;
  }

  .conference-create-cover-box > img {
    position: absolute;
    inset: 7px;
    z-index: 1;
    width: calc(100% - 14px);
    height: calc(100% - 14px);
    border-radius: 5px;
    object-fit: cover;
  }

  .conference-create-cover-box.has-preview::before,
  .conference-create-cover-box.has-preview > svg,
  .conference-create-cover-box.has-preview > strong {
    display: none;
  }

  .conference-create-field,
  .conference-create-link,
  .conference-create-assets label {
    position: relative;
    display: grid;
    gap: 5px;
    min-height: 48px;
    border: 1px solid #dde2ea;
    border-radius: 5px;
    padding: 9px 11px;
    background: #fff;
    box-shadow: 0 4px 11px rgba(15, 23, 42, .052);
  }

  .conference-create-field span,
  .conference-create-assets label > span {
    color: #5f6674;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 500;
  }

  .conference-create-field b {
    color: #ff2e2e;
    font-weight: 850;
  }

  .conference-create-field input,
  .conference-create-field textarea {
    width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    color: #111827;
    font: inherit;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 500;
    outline: none;
    box-shadow: none;
  }

  .conference-create-field textarea {
    min-height: 21px;
    resize: none;
  }

  .conference-create-field textarea::placeholder {
    color: #a4abb7;
  }

  .conference-create-field.icon {
    padding-right: 35px;
  }

  .conference-create-field.icon > svg {
    position: absolute;
    right: 12px;
    bottom: 13px;
    width: 14px;
    height: 14px;
    color: #737b8a;
  }

  .conference-create-field small {
    margin-top: -1px;
    color: #737b8a;
    font-size: 9px;
    line-height: 1.2;
    font-weight: 500;
  }

  .conference-create-link {
    display: flex;
    min-height: 39px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #dde2ea;
    color: #111827;
    font: inherit;
    cursor: pointer;
  }

  .conference-create-link span {
    font-size: 12px;
    font-weight: 600;
  }

  .conference-create-link small {
    margin-left: auto;
    color: #1677ff;
    font-size: 9px;
    font-weight: 700;
  }

  .conference-create-link svg {
    width: 14px;
    height: 14px;
    color: #8a92a0;
    stroke-width: 2.5;
  }

  .conference-create-section {
    display: grid;
    gap: 7px;
    margin-top: 4px;
  }

  .conference-create-section h2 {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding-left: 11px;
    color: #111827;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: 0;
  }

  .conference-create-section h2::before {
    content: "";
    position: absolute;
    left: 0;
    width: 3px;
    height: 13px;
    border-radius: 999px;
    background: #ffc400;
  }

  .conference-create-section h2 span {
    color: #5f6674;
    font-size: 10px;
    font-weight: 500;
  }

  .conference-create-section .conference-create-field {
    min-height: 74px;
  }

  .conference-create-section .conference-create-field textarea {
    min-height: 39px;
    font-size: 11px;
  }

  .conference-create-section .conference-create-field em {
    position: absolute;
    right: 11px;
    bottom: 10px;
    color: #737b8a;
    font-size: 9px;
    font-style: normal;
    font-weight: 500;
  }

  .conference-create-assets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .conference-create-assets label {
    min-height: 98px;
    align-content: start;
    padding: 11px;
  }

  .conference-create-assets i {
    display: grid;
    width: 52px;
    height: 53px;
    place-items: center;
    align-content: center;
    justify-self: center;
    gap: 4px;
    border: 1.5px dashed #b7beca;
    border-radius: 5px;
    color: #737b8a;
    font-style: normal;
  }

  .conference-create-assets i svg {
    width: 17px;
    height: 17px;
  }

  .conference-create-assets i b {
    color: #737b8a;
    font-size: 8px;
    font-weight: 500;
  }

  .conference-create-assets i img {
    width: 100%;
    height: 100%;
    border-radius: 4px;
    object-fit: cover;
  }

  .conference-create-assets i.has-preview {
    overflow: hidden;
    border-style: solid;
  }

  .conference-create-assets i.has-preview svg,
  .conference-create-assets i.has-preview b {
    display: none;
  }

  .conference-create-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .conference-create-section-head button {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid #e2e8f0;
    border-radius: 5px;
    padding: 0 10px;
    background: #fff;
    color: #086ef3;
    font: inherit;
    font-size: 9px;
    font-weight: 850;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .06);
  }

  .conference-create-section-head button svg {
    width: 12px;
    height: 12px;
    border: 2px solid currentColor;
    border-radius: 50%;
    padding: 1px;
  }

  .conference-create-schedule-list {
    display: grid;
    overflow: hidden;
    border: 1px solid #dde2ea;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 4px 11px rgba(15, 23, 42, .052);
  }

  .conference-create-schedule-table,
  .conference-create-schedule-row {
    display: grid;
    grid-template-columns: 1fr 1.15fr 1.2fr .8fr;
    min-height: 31px;
  }

  .conference-create-schedule-table {
    background: #fafbfc;
  }

  .conference-create-schedule-table span,
  .conference-create-schedule-row > span {
    display: grid;
    place-items: center;
    min-width: 0;
    padding: 6px 4px;
    color: #5f6674;
    font-size: 9px;
    font-weight: 600;
    overflow-wrap: anywhere;
    text-align: center;
  }

  .conference-create-schedule-row {
    border-top: 1px solid #edf0f4;
  }

  .conference-create-schedule-row > span {
    color: #202939;
    font-size: 8px;
    line-height: 1.35;
    font-weight: 500;
  }

  .conference-create-schedule-actions {
    display: flex !important;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    gap: 2px;
  }

  .conference-create-schedule-actions button {
    border: 0;
    padding: 1px 2px;
    background: transparent;
    color: #086ef3;
    font: inherit;
    font-size: 8px;
  }

  .conference-create-schedule-actions button:last-child {
    color: #e5484d;
  }

  .conference-create-dialog {
    width: min(360px, calc(100vw - 32px));
    max-height: calc(100dvh - 48px);
    overflow: auto;
    border: 0;
    border-radius: 7px;
    padding: 0;
    background: #fff;
    color: #111827;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .2);
  }

  .conference-create-dialog::backdrop {
    background: rgba(15, 23, 42, .38);
  }

  .conference-create-dialog header,
  .conference-create-dialog footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
  }

  .conference-create-dialog header {
    border-bottom: 1px solid #edf0f4;
  }

  .conference-create-dialog header strong {
    font-size: 14px;
    font-weight: 850;
  }

  .conference-create-dialog header button {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 0;
    padding: 0;
    background: transparent;
    color: #5f6674;
    font-size: 22px;
    line-height: 1;
  }

  .conference-create-dialog > label,
  .conference-create-dialog-fields {
    display: grid;
    gap: 10px;
    padding: 14px;
  }

  .conference-create-dialog label {
    display: grid;
    gap: 6px;
    color: #5f6674;
    font-size: 10px;
    font-weight: 650;
  }

  .conference-create-dialog label b {
    color: #e5484d;
  }

  .conference-create-dialog input,
  .conference-create-dialog textarea {
    width: 100%;
    border: 1px solid #d9dee7;
    border-radius: 5px;
    padding: 9px 10px;
    background: #fff;
    color: #111827;
    font: inherit;
    font-size: 12px;
    line-height: 1.4;
    outline: none;
  }

  .conference-create-dialog textarea {
    resize: vertical;
  }

  .conference-create-dialog footer {
    justify-content: flex-end;
    border-top: 1px solid #edf0f4;
  }

  .conference-create-dialog footer button {
    min-height: 34px;
    border: 0;
    border-radius: 4px;
    padding: 0 16px;
    background: #ffc400;
    color: #111827;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
  }

  .conference-create-publish {
    position: fixed;
    left: max(11px, env(safe-area-inset-left));
    right: max(11px, env(safe-area-inset-right));
    bottom: max(13px, env(safe-area-inset-bottom));
    z-index: 40;
    display: inline-grid;
    max-width: 404px;
    height: 39px;
    place-items: center;
    margin: 0 auto;
    border: 0;
    border-radius: 4px;
    background: #ffc400;
    color: #111827;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    box-shadow: 0 6px 12px rgba(255, 196, 0, .24);
  }

  body.admin-body.training-create-body {
    background: #f7f8fb;
  }

  body.admin-body.training-create-body .admin-topbar,
  body.admin-body.training-create-body .admin-sidebar,
  body.admin-body.training-create-body .legacy-activity-compat-nav,
  body.admin-body.training-create-body .legacy-create-form {
    display: none;
  }

  body.admin-body.training-create-body .admin-shell {
    display: block;
  }

  body.admin-body.training-create-body .admin-main {
    min-height: 100dvh;
    padding: 0 0 calc(64px + env(safe-area-inset-bottom));
    background: #f7f8fb;
  }

  body.admin-body.training-create-body .legacy-create-admin {
    max-width: 852px;
    margin: 0 auto;
    background: #f7f8fb;
    color: #111827;
  }

  body.admin-body.training-create-body .legacy-create-header {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    margin: 0;
    border-bottom: 1px solid #dfe3ea;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
  }

  body.admin-body.training-create-body .legacy-create-header h1 {
    margin: 0;
    color: #020617;
    font-size: 14px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0;
  }

  body.admin-body.training-create-body .conference-create-back {
    position: absolute;
    left: 14px;
    top: 50%;
    display: inline-grid;
    width: 22px;
    height: 22px;
    place-items: center;
    transform: translateY(-50%);
    color: #020617;
  }

  body.admin-body.training-create-body .legacy-activity-alert {
    margin: 8px 20px 0;
  }

  body.admin-body.training-create-body .training-create-mobile {
    display: grid;
    gap: 11px;
    padding: 16px 19px 0;
  }

  .training-create-mobile svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .training-create-hero {
    display: grid;
    gap: 9px;
  }

  .training-create-hero p {
    margin: 0;
    color: #667085;
    font-size: 11px;
    line-height: 1.8;
    font-weight: 650;
  }

  .training-create-hero p:first-child {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .training-create-hero p:first-child b {
    display: inline-flex;
    min-height: 21px;
    align-items: center;
    border: 1px solid #f4b000;
    border-radius: 5px;
    padding: 0 8px;
    background: #fffaf0;
    color: #d97706;
    font-size: 10px;
    font-weight: 850;
  }

  .training-create-hero h2 {
    margin: 0;
    color: #111827;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 950;
    letter-spacing: 0;
  }

  .training-create-card {
    display: grid;
    gap: 11px;
    border: 1px solid #e0e5ee;
    border-radius: 8px;
    padding: 13px 11px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(15, 23, 42, .07);
  }

  .training-create-card h3 {
    position: relative;
    margin: 0;
    padding-left: 12px;
    color: #111827;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: 0;
  }

  .training-create-card:not(.cover) h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 3px;
    height: 14px;
    border-radius: 999px;
    background: #ffc400;
  }

  .training-create-card.cover h3 {
    padding-left: 0;
  }

  .training-create-card.cover label {
    display: grid;
    min-height: 82px;
    place-items: center;
    border: 1.5px dashed #d2d8e3;
    border-radius: 7px;
    background: #fbfcff;
  }

  .training-create-card.cover input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
  }

	.training-create-card.cover label span {
    display: grid;
    justify-items: center;
    gap: 11px;
    color: #4b5563;
    font-size: 11px;
    font-weight: 700;
	}

	.training-create-card.cover label.has-preview {
	  position: relative;
	  overflow: hidden;
	  border-style: solid;
	  background: #111827;
	}

	.training-create-card.cover label.has-preview span {
	  position: relative;
	  z-index: 2;
	  border-radius: 5px;
	  padding: 8px 10px;
	  background: rgba(17, 24, 39, .72);
	  color: #fff;
	}

	.training-create-card.cover label img {
	  position: absolute;
	  inset: 0;
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	}

  .training-create-card.cover label svg {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    padding: 7px;
    background: #eef1f6;
    color: #536072;
  }

  .training-create-card.cover small {
    color: #98a2b3;
    font-size: 10px;
    line-height: 1;
    font-weight: 500;
  }

  .training-create-field,
  .training-create-editor {
    position: relative;
    display: grid;
    gap: 7px;
    color: #4b5563;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 650;
  }

  .training-create-field b {
    color: #ef4444;
  }

  .training-create-field input,
  .training-create-editor textarea {
    width: 100%;
    min-height: 29px;
    border: 1px solid #d8dee9;
    border-radius: 5px;
    background: #fff;
    color: #111827;
    font: inherit;
    font-size: 11px;
    font-weight: 650;
    outline: none;
    box-shadow: none;
  }

  .training-create-field input {
    padding: 0 12px;
  }

  .training-create-field input::placeholder,
  .training-create-editor textarea::placeholder {
    color: #a3abb8;
  }

  .training-create-field.counter input {
    padding-right: 46px;
  }

  .training-create-field.counter em,
  .training-create-editor em {
    position: absolute;
    right: 11px;
    bottom: 8px;
    color: #667085;
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
  }

  .training-create-editor i {
    display: flex;
    min-height: 29px;
    align-items: center;
    gap: 3px;
    overflow-x: auto;
    border: 1px solid #d8dee9;
    border-bottom: 0;
    border-radius: 5px 5px 0 0;
    padding: 0 8px;
    color: #536072;
    font-style: normal;
  }

  .training-create-editor i b {
    display: inline-grid;
    min-width: 22px;
    height: 20px;
    place-items: center;
    color: #536072;
    font-size: 10px;
    line-height: 1;
    font-weight: 750;
  }

  .training-create-editor textarea {
    min-height: 60px;
    border-radius: 0 0 5px 5px;
    padding: 11px 12px 22px;
    resize: none;
  }

  .training-create-card.time-location {
    gap: 9px;
  }

  .training-create-field.icon input {
    padding-right: 40px;
  }

  .training-create-field.icon svg {
    position: absolute;
    right: 11px;
    bottom: 7px;
    width: 16px;
    height: 16px;
    color: #667085;
  }

  .training-create-submit {
    position: fixed;
    left: max(15px, env(safe-area-inset-left));
    right: max(15px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    z-index: 40;
    display: inline-grid;
    max-width: 396px;
    height: 40px;
    place-items: center;
    margin: 0 auto;
    border: 0;
    border-radius: 6px;
    background: #ffc400;
    color: #111827;
    font: inherit;
    font-size: 14px;
    font-weight: 950;
    box-shadow: 0 8px 16px rgba(255, 196, 0, .28);
  }

  body.admin-body.fundraising-create-body {
    background: #f7f8fb;
  }

  body.admin-body.fundraising-create-body .admin-topbar,
  body.admin-body.fundraising-create-body .admin-sidebar,
  body.admin-body.fundraising-create-body .admin-workspace-bar,
  body.admin-body.fundraising-create-body .admin-page-head,
  body.admin-body.fundraising-create-body .admin-section-subnav,
  body.admin-body.fundraising-create-body .admin-metrics,
  body.admin-body.fundraising-create-body .admin-two-panel,
  body.admin-body.fundraising-create-body .admin-panel#fundraising-base {
    display: none;
  }

  body.admin-body.fundraising-create-body .admin-shell {
    display: block;
  }

  body.admin-body.fundraising-create-body .admin-main {
    min-height: 100dvh;
    padding: 0 0 calc(74px + env(safe-area-inset-bottom));
    background: #f7f8fb;
    color: #111827;
  }

  body.admin-body.fundraising-create-body .admin-alert {
    margin: 10px 17px 0;
  }

  body.admin-body.fundraising-create-body .fundraising-create-header {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #dfe3ea;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
  }

  body.admin-body.fundraising-create-body .fundraising-create-header h1 {
    margin: 0;
    color: #020617;
    font-size: 14px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0;
  }

  body.admin-body.fundraising-create-body .conference-create-back {
    position: absolute;
    left: 14px;
    top: 50%;
    display: inline-grid;
    width: 22px;
    height: 22px;
    place-items: center;
    transform: translateY(-50%);
    color: #020617;
  }

  body.admin-body.fundraising-create-body .fundraising-create-mobile {
    display: grid;
    gap: 8px;
    max-width: 852px;
    margin: 0 auto;
    padding: 14px 17px 0;
  }

  .fundraising-create-mobile svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .fundraising-create-hero {
    display: grid;
    gap: 7px;
    padding: 0 2px 5px;
  }

  .fundraising-create-hero p {
    margin: 0;
    color: #667085;
    font-size: 11px;
    line-height: 1.58;
    font-weight: 650;
  }

  .fundraising-create-hero p:first-child {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .fundraising-create-hero p:first-child b {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    border: 1px solid #ff9f9f;
    border-radius: 5px;
    padding: 0 8px;
    background: #fff6f6;
    color: #ef4444;
    font-size: 13px;
    font-weight: 850;
  }

  .fundraising-create-hero h2 {
    margin: 0;
    color: #111827;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 950;
    letter-spacing: 0;
  }

  .fundraising-create-card {
    display: grid;
    gap: 9px;
    border: 1px solid #e0e5ee;
    border-radius: 8px;
    padding: 12px 11px 9px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .075);
  }

  .fundraising-create-card h3 {
    position: relative;
    margin: 0;
    padding-left: 12px;
    color: #111827;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: 0;
  }

  .fundraising-create-card h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 3px;
    height: 14px;
    border-radius: 999px;
    background: #ffc400;
  }

  .fundraising-create-field {
    position: relative;
    display: grid;
    gap: 5px;
    color: #4b5563;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 650;
  }

  .fundraising-create-field b {
    color: #ef4444;
  }

  .fundraising-create-field > span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .fundraising-create-field input,
  .fundraising-create-field textarea {
    width: 100%;
    min-height: 28px;
    border: 1px solid #d8dee9;
    border-radius: 5px;
    background: #fff;
    color: #111827;
    font: inherit;
    font-size: 11px;
    font-weight: 650;
    outline: none;
    box-shadow: none;
  }

  .fundraising-create-field input {
    padding: 0 12px;
  }

  .fundraising-create-field textarea {
    min-height: 37px;
    padding: 9px 12px 19px;
    resize: none;
  }

  .fundraising-create-field input::placeholder,
  .fundraising-create-field textarea::placeholder {
    color: #a3abb8;
  }

  .fundraising-create-field.counter input,
  .fundraising-create-field.counter textarea {
    padding-right: 48px;
  }

  .fundraising-create-field.counter em {
    position: absolute;
    right: 11px;
    bottom: 8px;
    color: #667085;
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
  }

  .fundraising-create-image-pipeline {
    display: grid;
    gap: 6px;
    border: 1px solid #e0e5ee;
    border-radius: 6px;
    padding: 9px 8px 7px;
    background: #fff;
  }

  .fundraising-create-image-pipeline h4 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #111827;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 950;
  }

  .fundraising-create-image-pipeline h4 span {
    display: inline-grid;
    width: 13px;
    height: 13px;
    place-items: center;
    border: 1px solid #a8b0bd;
    border-radius: 50%;
    color: #8b95a5;
    font-size: 10px;
    line-height: 1;
  }

  .fundraising-create-image-pipeline p,
  .fundraising-create-image-pipeline > em {
    margin: 0;
    color: #667085;
    font-size: 11px;
    line-height: 1.45;
    font-style: normal;
    font-weight: 500;
  }

  .fundraising-create-image-pipeline label {
    position: relative;
    display: grid;
    min-height: 67px;
    place-items: center;
    align-content: center;
    gap: 3px;
    overflow: hidden;
    border: 1.5px dashed #d2d8e3;
    border-radius: 7px;
    background: #fbfcff;
    color: #4b5563;
    text-align: center;
  }

  .fundraising-create-image-pipeline textarea,
  .fundraising-create-image-pipeline input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .fundraising-create-image-pipeline i {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    color: #536072;
    font-style: normal;
  }

  .fundraising-create-image-pipeline i svg {
    width: 24px;
    height: 24px;
  }

  .fundraising-create-image-pipeline strong {
    color: #111827;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 850;
  }

  .fundraising-create-image-pipeline small {
    color: #667085;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 500;
  }

  .fundraising-create-card.config {
    gap: 8px;
  }

  .fundraising-create-toggle-row,
  .fundraising-create-setting-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
  }

  .fundraising-create-toggle-row span,
  .fundraising-create-setting-line span {
    display: grid;
    gap: 4px;
  }

  .fundraising-create-toggle-row b,
  .fundraising-create-setting-line b {
    color: #111827;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 850;
  }

  .fundraising-create-toggle-row small,
  .fundraising-create-setting-line small {
    color: #667085;
    font-size: 10px;
    line-height: 1.25;
    font-weight: 500;
  }

  .fundraising-create-toggle-row i,
  .fundraising-create-setting-line em {
    position: relative;
    display: block;
    width: 37px;
    height: 21px;
    border-radius: 999px;
    background: #ffc400;
    box-shadow: inset 0 0 0 1px rgba(255, 196, 0, .3);
  }

  .fundraising-create-toggle-row i::after,
  .fundraising-create-setting-line em::after {
    content: "";
    position: absolute;
    top: 2px;
    right: 2px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 4px rgba(15, 23, 42, .18);
  }

  .fundraising-create-date-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .fundraising-create-field.icon input {
    padding-right: 36px;
  }

  .fundraising-create-field.icon svg {
    position: absolute;
    right: 11px;
    bottom: 7px;
    width: 15px;
    height: 15px;
    color: #1f2937;
  }

  .fundraising-create-setting-line {
    grid-template-columns: 35px minmax(0, 1fr) auto;
    min-height: 43px;
    border: 1px solid #e0e5ee;
    border-radius: 7px;
    padding: 6px 9px;
    background: #fff;
  }

  .fundraising-create-setting-line > i {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 50%;
    background: #fff4cc;
    color: #d97706;
    font-style: normal;
  }

  .fundraising-create-setting-line > i svg {
    width: 15px;
    height: 15px;
  }

  .fundraising-create-submit {
    position: fixed;
    left: max(15px, env(safe-area-inset-left));
    right: max(15px, env(safe-area-inset-right));
    bottom: max(15px, env(safe-area-inset-bottom));
    z-index: 40;
    display: inline-grid;
    max-width: 396px;
    height: 40px;
    place-items: center;
    margin: 0 auto;
    border: 0;
    border-radius: 6px;
    background: #ffc400;
    color: #111827;
    font: inherit;
    font-size: 15px;
    font-weight: 950;
    box-shadow: 0 9px 18px rgba(255, 196, 0, .3);
  }

  .legacy-edit-tabs {
    display: flex;
    width: 100%;
    overflow-x: auto;
  }

  .legacy-edit-tabs a {
    min-width: 112px;
    padding: 12px 18px;
  }

  .legacy-edit-basic,
  .legacy-edit-content-card,
  .legacy-edit-status-card {
    padding: 18px;
  }

  .legacy-registration-filter,
  .legacy-registration-table-head,
  .legacy-registration-pagination,
  .legacy-registration-manual form {
    padding-left: 16px;
    padding-right: 16px;
  }

  .legacy-registration-activity-body {
    grid-template-columns: 1fr;
  }

  .legacy-registration-cover {
    width: 100%;
  }

  .legacy-registration-table-head,
  .legacy-registration-filter-head,
  .legacy-registration-actions,
  .legacy-registration-filter-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .legacy-registration-search,
  .legacy-registration-reset,
  .legacy-registration-export,
  .legacy-registration-add {
    width: 100%;
  }

  .legacy-registration-pagination {
    grid-template-columns: 1fr;
  }

  .legacy-registration-pagination nav {
    overflow-x: auto;
  }

  .legacy-registration-pagination select {
    justify-self: stretch;
    width: 100%;
  }

  .legacy-rich-toolbar {
    gap: 10px;
  }
}

body.public-h5.checkin-entry-h5 {
  background:
    radial-gradient(circle at 18% 8%, rgba(255, 112, 122, .68), transparent 24%),
    radial-gradient(circle at 82% 9%, rgba(255, 112, 122, .58), transparent 22%),
    radial-gradient(circle at 50% 44%, rgba(255, 42, 60, .72), transparent 38%),
    linear-gradient(180deg, #f01932 0%, #d50924 46%, #970014 100%);
}

body.public-h5.checkin-success-h5 {
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 192, 176, .2), transparent 18%),
    radial-gradient(circle at 91% 8%, rgba(255, 192, 176, .2), transparent 18%),
    radial-gradient(circle at 50% 42%, rgba(170, 0, 18, .44), transparent 44%),
    linear-gradient(180deg, #500006 0%, #8b0912 46%, #3a0004 100%);
}

@media (max-width: 820px) {
  body.public-h5.checkin-entry-h5 {
    background:
      radial-gradient(circle at 18% 8%, rgba(255, 112, 122, .68), transparent 24%),
      radial-gradient(circle at 82% 9%, rgba(255, 112, 122, .58), transparent 22%),
      radial-gradient(circle at 50% 44%, rgba(255, 42, 60, .72), transparent 38%),
      linear-gradient(180deg, #f01932 0%, #d50924 46%, #970014 100%);
  }

  body.public-h5.checkin-success-h5 {
    background:
      radial-gradient(circle at 12% 8%, rgba(255, 192, 176, .2), transparent 18%),
      radial-gradient(circle at 91% 8%, rgba(255, 192, 176, .2), transparent 18%),
      radial-gradient(circle at 50% 42%, rgba(170, 0, 18, .44), transparent 44%),
      linear-gradient(180deg, #500006 0%, #8b0912 46%, #3a0004 100%);
  }
}

/* Page 35: activity mobile access QR guide */
body.activity-qr-guide-body {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 50% -180px, rgba(250, 215, 9, .18), transparent 460px),
    linear-gradient(180deg, #ffffff 0, #f7f8fb 55%, #f3f5f8 100%);
  background-size: auto;
  color: #111827;
}

.activity-qr-guide-body svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.activity-qr-site-header {
  min-height: 86px;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  gap: 24px;
  padding: 0 36px;
  border-bottom: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 1px 0 rgba(17, 24, 39, .03);
}

.activity-qr-brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: #111827;
  min-width: 0;
}

.activity-qr-brand-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 12px;
  background: #ffd400;
  color: #111827;
  font-size: 22px;
  font-weight: 950;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .1), 0 10px 22px rgba(250, 215, 9, .28);
}

.activity-qr-brand strong {
  display: block;
  color: #111827;
  font-size: 21px;
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: 0;
}

.activity-qr-brand small {
  display: block;
  margin-top: 3px;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.35;
}

.activity-qr-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 44px;
  white-space: nowrap;
}

.activity-qr-nav a {
  color: #111827;
  font-size: 16px;
  font-weight: 700;
}

.activity-qr-nav a:hover {
  color: #b89906;
}

.activity-qr-screen-link {
  justify-self: end;
  min-width: 148px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 7px;
  background: #ffd400;
  color: #111827;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(250, 215, 9, .28);
}

.activity-qr-page {
  width: min(1292px, calc(100vw - 72px));
  margin: 0 auto;
  padding: 22px 0 45px;
}

.activity-qr-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6b7280;
  font-size: 15px;
  min-height: 36px;
}

.activity-qr-breadcrumb a,
.activity-qr-breadcrumb strong {
  color: #6b7280;
  font-weight: 600;
}

.activity-qr-title-block {
  margin: 18px auto 22px;
  text-align: center;
}

.activity-qr-title-block h1 {
  margin: 0;
  color: #050505;
  font-size: 40px;
  line-height: 1.16;
  font-weight: 950;
  letter-spacing: 0;
}

.activity-qr-title-block h1::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin: 12px auto 0;
  border-radius: 999px;
  background: #ffd400;
}

.activity-qr-title-block p {
  margin: 10px 0 0;
  color: #6b7280;
  font-size: 18px;
  line-height: 1.45;
}

.activity-qr-workbench {
  display: grid;
  grid-template-columns: minmax(440px, 1fr) minmax(480px, 1.07fr);
  gap: 20px;
  align-items: stretch;
}

.activity-qr-info-card,
.activity-qr-scan-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
}

.activity-qr-info-card {
  padding: 20px 20px 26px;
}

.activity-qr-info-card > header,
.activity-qr-scan-card > header {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 42px;
  margin-bottom: 18px;
}

.activity-qr-section-icon {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border-radius: 7px;
  color: #f0ad00;
  background: linear-gradient(135deg, #fff6c7, #ffdf56);
}

.activity-qr-info-card h2,
.activity-qr-scan-card h2 {
  margin: 0;
  color: #111827;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0;
}

.activity-qr-cover {
  width: 100%;
  aspect-ratio: 16 / 5.7;
  overflow: hidden;
  border-radius: 7px;
  background: #111827;
}

.activity-qr-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.activity-qr-info-card h3 {
  margin: 18px 0 8px;
  color: #080808;
  font-size: 26px;
  line-height: 1.24;
  font-weight: 950;
  letter-spacing: 0;
}

.activity-qr-info-card > p {
  margin: 0 0 22px;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.75;
}

.activity-qr-detail-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.activity-qr-detail-list div {
  display: grid;
  grid-template-columns: 178px 1fr;
  gap: 16px;
  align-items: center;
  min-height: 54px;
  border-top: 1px solid #e5e7eb;
}

.activity-qr-detail-list dt,
.activity-qr-detail-list dd {
  margin: 0;
  min-width: 0;
}

.activity-qr-detail-list dt {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: #111827;
  font-size: 15px;
  font-weight: 850;
}

.activity-qr-detail-list dt svg {
  color: #f5b700;
  width: 23px;
  height: 23px;
}

.activity-qr-detail-list dd {
  color: #6b7280;
  font-size: 15px;
  line-height: 1.45;
}

.activity-qr-scan-card {
  padding: 20px 22px 16px;
}

.activity-qr-frame {
  width: 282px;
  height: 252px;
  display: grid;
  place-items: center;
  margin: -4px auto 14px;
  background:
    linear-gradient(#ffd400, #ffd400) left top / 24px 2px no-repeat,
    linear-gradient(#ffd400, #ffd400) left top / 2px 24px no-repeat,
    linear-gradient(#ffd400, #ffd400) right top / 24px 2px no-repeat,
    linear-gradient(#ffd400, #ffd400) right top / 2px 24px no-repeat,
    linear-gradient(#ffd400, #ffd400) left bottom / 24px 2px no-repeat,
    linear-gradient(#ffd400, #ffd400) left bottom / 2px 24px no-repeat,
    linear-gradient(#ffd400, #ffd400) right bottom / 24px 2px no-repeat,
    linear-gradient(#ffd400, #ffd400) right bottom / 2px 24px no-repeat;
}

.activity-qr-image {
  display: block;
  width: 226px;
  height: 226px;
  padding: 6px;
  background: #fff;
  object-fit: contain;
  box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .08);
}

.activity-qr-pattern {
  position: relative;
  width: 226px;
  height: 226px;
  overflow: hidden;
  background-color: #fff;
  background-image:
    linear-gradient(90deg, #111 10px, transparent 10px),
    linear-gradient(#111 10px, transparent 10px),
    linear-gradient(90deg, transparent 20px, #111 20px 30px, transparent 30px 50px, #111 50px 60px, transparent 60px 90px, #111 90px 100px, transparent 100px),
    linear-gradient(transparent 18px, #111 18px 28px, transparent 28px 48px, #111 48px 58px, transparent 58px 78px, #111 78px 88px, transparent 88px);
  background-size: 32px 32px, 28px 28px, 118px 96px, 106px 112px;
  background-position: 0 0, 7px 4px, 73px 84px, 92px 72px;
  box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .08);
}

.activity-qr-pattern::before {
  content: "";
  position: absolute;
  inset: 73px 57px 57px 73px;
  border-radius: 999px;
  background: conic-gradient(#ffd400 0 55deg, #e5e7eb 55deg 108deg, #ffd400 108deg 170deg, #e5e7eb 170deg 236deg, #ffd400 236deg 310deg, #e5e7eb 310deg);
  -webkit-mask: radial-gradient(circle, transparent 0 16px, #000 17px);
  mask: radial-gradient(circle, transparent 0 16px, #000 17px);
  z-index: 4;
}

.activity-qr-pattern span {
  position: absolute;
  inset: 86px 50px auto;
  z-index: 5;
  min-height: 42px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .9);
  color: #4b5563;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
}

.activity-qr-eye {
  position: absolute;
  width: 56px;
  height: 56px;
  border: 8px solid #111;
  background: #fff;
  z-index: 3;
}

.activity-qr-eye::after {
  content: "";
  position: absolute;
  inset: 11px;
  background: #111;
}

.activity-qr-eye.eye-a { left: 13px; top: 13px; }
.activity-qr-eye.eye-b { right: 13px; top: 13px; }
.activity-qr-eye.eye-c { left: 13px; bottom: 13px; }

.activity-qr-notice {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 14px;
  align-items: center;
  min-height: 74px;
  padding: 12px 18px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  background: #eff6ff;
}

.activity-qr-notice svg {
  width: 34px;
  height: 34px;
  color: #0b63ce;
}

.activity-qr-notice strong {
  display: block;
  color: #0b63ce;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 900;
}

.activity-qr-notice span {
  display: block;
  margin-top: 3px;
  color: #6b7280;
  font-size: 14px;
}

.activity-qr-steps {
  margin-top: 18px;
}

.activity-qr-steps h3 {
  position: relative;
  margin: 0 0 12px;
  color: #111827;
  font-size: 16px;
  font-weight: 900;
}

.activity-qr-steps h3::after {
  content: "";
  display: inline-block;
  width: 120px;
  height: 1px;
  margin-left: 12px;
  vertical-align: middle;
  background: linear-gradient(90deg, #bfdbfe, transparent);
}

.activity-qr-steps ol {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.activity-qr-steps li {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 8px;
  min-height: 84px;
}

.activity-qr-steps li + li {
  border-left: 1px solid #e5e7eb;
}

.activity-qr-steps b {
  position: absolute;
  left: 22px;
  top: 5px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #0b63ce;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}

.activity-qr-step-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  margin-top: 2px;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
}

.activity-qr-step-icon.wechat {
  color: #12b04b;
  background: #dcfce7;
}

.activity-qr-step-icon.phone {
  position: relative;
  background: #dbeafe;
}

.activity-qr-step-icon.phone::before {
  content: "";
  width: 22px;
  height: 34px;
  border: 4px solid #2f80ed;
  border-radius: 5px;
  background: #fff;
}

.activity-qr-step-icon.share {
  color: #6d28d9;
  background: #ede9fe;
}

.activity-qr-steps em {
  color: #111827;
  font-size: 14px;
  line-height: 1.25;
  font-style: normal;
  text-align: center;
}

.activity-qr-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e5e7eb;
}

.activity-qr-actions button,
.activity-qr-actions a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  background: #fff;
  color: #111827;
  font-size: 15px;
  font-weight: 850;
  cursor: pointer;
}

.activity-qr-actions .primary {
  border-color: #ffd400;
  background: #ffd400;
  color: #111827;
  box-shadow: 0 10px 20px rgba(250, 215, 9, .24);
}

.activity-qr-action-status {
  min-height: 20px;
  margin: 8px 0 0;
  color: #52606d;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
}

.activity-qr-back {
  width: 278px;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 20px auto 0;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-size: 17px;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}

@media (max-width: 1080px) {
  .activity-qr-site-header {
    grid-template-columns: 1fr auto;
  }

  .activity-qr-nav {
    display: none;
  }

  .activity-qr-workbench {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .activity-qr-site-header {
    min-height: 70px;
    padding: 0 16px;
    gap: 12px;
  }

  .activity-qr-brand small,
  .activity-qr-screen-link span {
    display: none;
  }

  .activity-qr-brand-mark {
    width: 38px;
    height: 38px;
  }

  .activity-qr-brand strong {
    font-size: 17px;
  }

  .activity-qr-screen-link {
    min-width: 44px;
    width: 44px;
    min-height: 42px;
  }

  .activity-qr-page {
    width: min(100% - 24px, 520px);
    padding-top: 14px;
  }

  .activity-qr-breadcrumb {
    font-size: 13px;
    overflow-x: auto;
  }

  .activity-qr-title-block h1 {
    font-size: 30px;
  }

  .activity-qr-title-block p {
    font-size: 15px;
  }

  .activity-qr-info-card,
  .activity-qr-scan-card {
    padding: 16px;
  }

  .activity-qr-info-card h2,
  .activity-qr-scan-card h2 {
    font-size: 21px;
  }

  .activity-qr-cover {
    aspect-ratio: 16 / 8.5;
  }

  .activity-qr-info-card h3 {
    font-size: 22px;
  }

  .activity-qr-detail-list div {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 12px 0;
  }

  .activity-qr-frame {
    width: min(100%, 280px);
  }

  .activity-qr-steps ol,
  .activity-qr-actions {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .activity-qr-steps li + li {
    border-left: 0;
    border-top: 1px solid #e5e7eb;
    padding-top: 10px;
  }

  .activity-qr-steps b {
    left: calc(50% - 75px);
  }

  .activity-qr-actions {
    padding-top: 12px;
  }

  .activity-qr-back {
    width: 100%;
  }
}

/* Page 36: mobile profile edit */
body.profile-edit-h5 {
  min-height: 100dvh;
  background: #f1f3f6;
  color: #111827;
  padding: 0;
}

.profile-edit-h5 svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-edit-topbar,
.profile-edit-page,
.profile-edit-tabbar {
  width: min(100%, 430px);
  margin-left: auto;
  margin-right: auto;
}

.profile-edit-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 56px;
  align-items: center;
  min-height: calc(64px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) 8px 0;
  border-bottom: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, .98);
  color: #111827;
}

.profile-edit-topbar a,
.profile-edit-topbar span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #111827;
}

.profile-edit-topbar svg {
  width: 34px;
  height: 34px;
  stroke-width: 1.8;
}

.profile-edit-topbar h1 {
  margin: 0;
  overflow: hidden;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-edit-page {
  min-height: calc(100dvh - 64px);
  padding: 18px 10px calc(110px + env(safe-area-inset-bottom));
  background: #fff;
}

.profile-edit-alert,
.profile-edit-success {
  margin: 0 0 12px;
  border-radius: 8px;
  padding: 11px 13px;
  font-size: 14px;
  font-weight: 800;
}

.profile-edit-alert {
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #b42318;
}

.profile-edit-success {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #027a48;
}

.profile-edit-hero {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 136px;
  margin: 0 0 14px;
  border-radius: 4px;
  padding: 18px 22px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 14%, rgba(255, 255, 255, .14), transparent 24%),
    linear-gradient(135deg, #2e73ff 0%, #8440db 100%);
  box-shadow: 0 16px 34px rgba(81, 92, 255, .2);
}

.profile-edit-hero-avatar {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .2);
}

.profile-edit-hero-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-edit-hero-avatar svg {
  width: 34px;
  height: 34px;
  color: #fff;
  fill: rgba(255, 255, 255, .2);
  stroke-width: 2.2;
}

.profile-edit-hero h2 {
  margin: 0;
  color: #fff;
  font-size: 26px;
  line-height: 1.18;
  font-weight: 950;
  letter-spacing: 0;
}

.profile-edit-hero p {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, .92);
  font-size: 16px;
  line-height: 1.35;
}

.profile-edit-card {
  display: grid;
  gap: 0;
  border-radius: 8px;
  padding: 0 14px 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}

.profile-edit-upload,
.profile-edit-fields {
  padding: 24px 0 0;
}

.profile-edit-upload {
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 26px;
}

.profile-edit-upload h2,
.profile-edit-fields h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: #111827;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: 0;
}

.profile-edit-upload h2 span,
.profile-edit-fields h2 span {
  width: 6px;
  height: 30px;
  display: inline-block;
  border-radius: 999px;
  background: linear-gradient(180deg, #2e73ff, #7c45e8);
}

.profile-edit-avatar-stage {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 0 0 6px;
}

.profile-edit-avatar-ring {
  position: relative;
  width: 136px;
  height: 136px;
  display: grid;
  place-items: center;
  border: 2px dashed #3b6cff;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 42%, #cfd2d8 0 18px, transparent 19px),
    radial-gradient(ellipse at 50% 70%, #b8bbc1 0 30px, transparent 31px),
    linear-gradient(135deg, #f7f7f8, #e4e6ea);
  color: #a1a1aa;
}

.profile-edit-avatar-ring > img {
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  border-radius: 999px;
  object-fit: cover;
}

.profile-edit-avatar-ring > svg {
  width: 72px;
  height: 72px;
  color: #a4a7ae;
  fill: rgba(164, 167, 174, .25);
  stroke-width: 1.5;
}

.profile-edit-avatar-ring em {
  position: absolute;
  right: 8px;
  bottom: 11px;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #3b71ff, #6e4de7);
  color: #fff;
  box-shadow: 0 12px 24px rgba(59, 113, 255, .28);
}

.profile-edit-avatar-ring em svg {
  width: 25px;
  height: 25px;
}

.profile-edit-avatar-stage p {
  margin: 0;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.35;
}

.profile-edit-upload-button {
  width: min(100%, 270px);
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1.5px solid #2e73ff;
  border-radius: 6px;
  background: #fff;
  color: #2e73ff;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
}

.profile-edit-upload-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.profile-edit-upload-button svg {
  width: 22px;
  height: 22px;
}

.profile-edit-fields {
  display: grid;
  gap: 18px;
}

.profile-edit-fields label {
  position: relative;
  display: grid;
  gap: 9px;
  color: #111827;
  font-size: 17px;
  font-weight: 900;
}

.profile-edit-fields label > span b {
  color: #ef4444;
}

.profile-edit-fields input,
.profile-edit-fields textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.profile-edit-fields input {
  min-height: 58px;
  padding: 0 16px;
}

.profile-edit-fields textarea {
  min-height: 126px;
  resize: vertical;
  padding: 14px 16px 30px;
}

.profile-edit-fields input:focus,
.profile-edit-fields textarea:focus {
  border-color: #3b71ff;
  box-shadow: 0 0 0 3px rgba(59, 113, 255, .12);
}

.profile-edit-fields input[readonly] {
  color: #111827;
  background: #fbfbfc;
}

.profile-edit-fields label > em {
  position: absolute;
  right: 14px;
  bottom: 11px;
  color: #8b91a0;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
}

.profile-edit-submit,
.profile-edit-saving {
  min-height: 62px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border: 0;
  border-radius: 7px;
  font-size: 21px;
  font-weight: 950;
  cursor: pointer;
}

.profile-edit-submit {
  margin-top: 22px;
  background: linear-gradient(135deg, #2f73ff, #823fe0);
  color: #fff;
  box-shadow: 0 14px 26px rgba(75, 93, 255, .24);
}

.profile-edit-submit svg,
.profile-edit-saving svg {
  width: 25px;
  height: 25px;
}

.profile-edit-saving {
  min-height: 44px;
  margin-top: 9px;
  background: transparent;
  color: #98a2b3;
  font-size: 17px;
  cursor: not-allowed;
}

.profile-edit-tabbar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: calc(88px + env(safe-area-inset-bottom));
  padding: 8px 0 calc(22px + env(safe-area-inset-bottom));
  border-top: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -8px 24px rgba(15, 23, 42, .06);
  transform: translateX(-50%);
}

.profile-edit-tabbar::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: max(7px, env(safe-area-inset-bottom));
  width: 136px;
  height: 5px;
  border-radius: 999px;
  background: #080808;
  transform: translateX(-50%);
}

.profile-edit-tabbar a {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 3px;
  padding-top: 5px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 800;
}

.profile-edit-tabbar a.is-active {
  color: #2e73ff;
}

.profile-edit-tabbar svg {
  width: 29px;
  height: 29px;
}

@media (min-width: 431px) {
  .profile-edit-topbar {
    margin-top: 16px;
    border-radius: 14px 14px 0 0;
  }

  .profile-edit-page {
    box-shadow: 0 20px 60px rgba(15, 23, 42, .12);
  }
}

@media (max-width: 380px) {
  .profile-edit-topbar h1 {
    font-size: 22px;
  }

  .profile-edit-page {
    padding-left: 8px;
    padding-right: 8px;
  }

  .profile-edit-hero {
    grid-template-columns: 60px minmax(0, 1fr);
    padding: 16px;
  }

  .profile-edit-hero h2 {
    font-size: 23px;
  }

  .profile-edit-fields input,
  .profile-edit-fields textarea {
    font-size: 16px;
  }
}

/* Page 37: mobile account settings */
body.account-settings-h5 {
  min-height: 100dvh;
  background: #f4f6fa;
  color: #111827;
  padding: 0;
}

.account-settings-h5 svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-settings-topbar,
.account-settings-page,
.account-settings-tabbar {
  width: min(100%, 430px);
  margin-left: auto;
  margin-right: auto;
}

.account-settings-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 56px;
  align-items: center;
  min-height: calc(64px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) 8px 0;
  border-bottom: 1px solid #dfe3ea;
  background: rgba(255, 255, 255, .98);
  color: #070a12;
}

.account-settings-topbar a,
.account-settings-topbar span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #070a12;
}

.account-settings-topbar svg {
  width: 34px;
  height: 34px;
  stroke-width: 2.1;
}

.account-settings-topbar h1 {
  margin: 0;
  overflow: hidden;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-settings-page {
  min-height: 100dvh;
  padding: 24px 14px 152px;
}

.account-settings-alert,
.account-settings-success {
  margin: 0 0 14px;
  border-radius: 14px;
  padding: 13px 15px;
  font-weight: 850;
}

.account-settings-alert {
  background: #fff1f2;
  color: #b42318;
}

.account-settings-success {
  background: #ecfdf3;
  color: #087443;
}

.account-settings-user-card,
.account-settings-card {
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 16px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .07);
}

.account-settings-user-card {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 6px;
  min-height: 164px;
  margin-bottom: 24px;
  padding: 24px 18px;
  color: #111827;
}

.account-settings-avatar {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 62% 26%, #7665ff 0 17%, transparent 18%),
    linear-gradient(145deg, #eeeaff, #d9d5ff);
  color: #6758ff;
}

.account-settings-avatar img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.account-settings-avatar svg {
  width: 54px;
  height: 54px;
  stroke-width: 1.6;
}

.account-settings-user-card h2 {
  margin: 0 0 8px;
  overflow-wrap: anywhere;
  font-size: 25px;
  line-height: 1.1;
  font-weight: 950;
}

.account-settings-user-card b {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  max-width: 100%;
  border-radius: 8px;
  padding: 0 10px;
  background: #f0edff;
  color: #5f45ff;
  font-size: 17px;
  font-weight: 850;
}

.account-settings-user-card p {
  margin: 8px 0 0;
  color: #697386;
  font-size: 17px;
  font-weight: 750;
}

.account-settings-chevron {
  width: 28px;
  height: 28px;
  color: #667085;
  stroke-width: 2.3;
}

.account-settings-form {
  display: grid;
  gap: 24px;
}

.account-settings-card {
  overflow: hidden;
  padding: 22px 14px 0;
}

.account-settings-card > h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: #0f172a;
  font-size: 23px;
  line-height: 1.2;
  font-weight: 950;
}

.account-settings-card > h2 svg {
  flex: 0 0 auto;
  color: #4f6dff;
}

.account-settings-row {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 116px;
  border-top: 1px solid #e5e7eb;
  color: #111827;
}

.account-settings-card > .account-settings-row:first-of-type {
  border-top: 0;
}

.account-settings-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.account-settings-icon svg {
  width: 29px;
  height: 29px;
}

.account-settings-icon.is-purple {
  background: #eeeaff;
  color: #684cff;
}

.account-settings-icon.is-blue {
  background: #e8f3ff;
  color: #2f7fff;
}

.account-settings-icon.is-gold {
  background: #fff7df;
  color: #f2ad00;
}

.account-settings-row strong {
  display: block;
  margin: 0 0 7px;
  overflow-wrap: anywhere;
  color: #111827;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 920;
}

.account-settings-row p {
  margin: 0;
  overflow-wrap: anywhere;
  color: #707887;
  font-size: 16px;
  line-height: 1.38;
  font-weight: 760;
}

.account-settings-row p.is-unset {
  color: #f04438;
  font-size: 20px;
  font-weight: 920;
}

.account-settings-email-row {
  min-height: 124px;
}

.account-settings-bind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 106px;
  min-height: 52px;
  border-radius: 8px;
  padding: 0 13px;
  background: linear-gradient(135deg, #ffd800, #ffc000);
  color: #0b0b0b;
  font-size: 17px;
  font-weight: 920;
  white-space: nowrap;
  box-shadow: 0 10px 18px rgba(234, 179, 8, .22);
}

.account-settings-bind svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.1;
}

.account-settings-note {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  align-items: center;
  min-height: 104px;
  border-top: 1px solid #e5e7eb;
}

.account-settings-note p {
  margin: 0;
  color: #697386;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 760;
}

.account-settings-switch {
  position: relative;
  width: 72px;
  height: 42px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  appearance: none;
  background: #cfd4dc;
  cursor: pointer;
  transition: background .18s ease;
}

.account-settings-switch::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 3px 10px rgba(15, 23, 42, .22);
  transition: transform .18s ease;
}

.account-settings-switch:checked {
  background: linear-gradient(135deg, #ffd800, #f4b400);
}

.account-settings-switch:checked::after {
  transform: translateX(30px);
}

.account-settings-link-row {
  text-decoration: none;
}

.account-settings-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 72px;
  border: 0;
  border-radius: 10px;
  padding: 0 20px;
  background: linear-gradient(135deg, #ffd800, #ffc000);
  color: #050505;
  font-size: 23px;
  font-weight: 950;
  box-shadow: 0 13px 24px rgba(234, 179, 8, .23);
}

.account-settings-submit svg {
  width: 28px;
  height: 28px;
  stroke-width: 2.1;
}

.account-settings-safe {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: -2px 0 0;
  color: #858c99;
  font-size: 17px;
  font-weight: 850;
}

.account-settings-safe svg {
  color: #2f7fff;
}

.account-settings-tabbar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: calc(112px + env(safe-area-inset-bottom));
  padding: 10px 0 calc(26px + env(safe-area-inset-bottom));
  border-top: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -8px 24px rgba(15, 23, 42, .06);
  transform: translateX(-50%);
}

.account-settings-tabbar::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: max(7px, env(safe-area-inset-bottom));
  width: 136px;
  height: 5px;
  border-radius: 999px;
  background: #080808;
  transform: translateX(-50%);
}

.account-settings-tabbar a {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 4px;
  padding-top: 7px;
  color: #606979;
  font-size: 15px;
  font-weight: 820;
  text-align: center;
}

.account-settings-tabbar a.is-active {
  color: #6047ff;
}

.account-settings-tabbar svg {
  width: 32px;
  height: 32px;
  stroke-width: 1.9;
}

.account-settings-tabbar .account-settings-publish {
  position: relative;
  margin-top: -24px;
  color: #4b3b00;
}

.account-settings-tabbar .account-settings-publish svg {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  padding: 17px;
  background: linear-gradient(135deg, #ffd800, #ffc000);
  color: #050505;
  stroke-width: 2.4;
  box-shadow: 0 10px 18px rgba(234, 179, 8, .32);
}

@media (min-width: 431px) {
  .account-settings-topbar {
    margin-top: 16px;
    border-radius: 14px 14px 0 0;
  }

  .account-settings-page {
    padding-bottom: 150px;
  }
}

@media (max-width: 430px) {
  .account-settings-topbar h1 {
    font-size: 22px;
  }

  .account-settings-page {
    padding-inline: 10px;
  }

  .account-settings-user-card {
    grid-template-columns: 90px minmax(0, 1fr) 28px;
    padding: 18px 14px;
  }

  .account-settings-row {
    grid-template-columns: 60px minmax(0, 1fr) auto;
  }

  .account-settings-bind {
    min-width: 98px;
    font-size: 15px;
  }

  .account-settings-switch {
    width: 66px;
  }

  .account-settings-switch:checked::after {
    transform: translateX(24px);
  }

  .account-settings-tabbar a {
    font-size: 13px;
  }
}

/* Page 53: mobile security center */
body.user-security-h5 {
  min-height: 100dvh;
  background: #f4f6fa;
  color: #111827;
  padding: 0;
}

.user-security-h5 svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.user-security-topbar,
.user-security-page,
.user-security-tabbar {
  width: min(100%, 430px);
  margin-left: auto;
  margin-right: auto;
}

.user-security-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 56px;
  align-items: center;
  min-height: calc(58px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) 8px 0;
  border-bottom: 1px solid #dfe3ea;
  background: rgba(255, 255, 255, .98);
  color: #070a12;
}

.user-security-topbar a,
.user-security-topbar span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #070a12;
}

.user-security-topbar svg {
  width: 34px;
  height: 34px;
  stroke-width: 2.3;
}

.user-security-topbar h1 {
  margin: 0;
  overflow: hidden;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-security-page {
  min-height: calc(100dvh - 58px);
  padding: 25px 19px 148px;
  box-sizing: border-box;
}

.user-security-card {
  overflow: hidden;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 12px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .1);
}

.user-security-card-head {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 14px;
  padding: 0 20px;
  background: linear-gradient(135deg, #4a80ff 0%, #8847d3 100%);
  color: #fff;
  font-size: 26px;
  font-weight: 950;
}

.user-security-card-head svg {
  width: 27px;
  height: 27px;
  stroke-width: 2.3;
}

.user-security-card-body {
  display: grid;
  gap: 14px;
  padding: 18px 18px 18px;
}

.user-security-error,
.user-security-success,
.user-security-warning {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 42px;
  border: 1px solid #ffc341;
  border-radius: 8px;
  padding: 8px 12px;
  background: linear-gradient(90deg, rgba(255, 193, 7, .12), rgba(255, 252, 241, .72));
  color: #2b2f39;
  font-size: 16px;
  line-height: 1.38;
  font-weight: 760;
}

.user-security-error {
  border-color: #fecdd3;
  background: #fff1f2;
  color: #b42318;
}

.user-security-success,
.user-security-warning.is-ok {
  border-color: #bbf7d0;
  background: #ecfdf3;
  color: #087443;
}

.user-security-warning svg {
  width: 24px;
  height: 24px;
  color: #f2a600;
  stroke-width: 2.1;
}

.user-security-warning.is-ok svg,
.user-security-success svg {
  color: #12b76a;
}

.user-security-field {
  display: grid;
  gap: 6px;
  color: #111827;
}

.user-security-field > span {
  font-size: 17px;
  line-height: 1.22;
  font-weight: 900;
}

.user-security-field > span b {
  color: #f04438;
}

.user-security-field > div {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 40px;
  border: 1px solid #cfd5e0;
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
}

.user-security-field > div > svg {
  color: #7a8494;
  width: 22px;
  height: 22px;
  stroke-width: 2;
}

.user-security-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #111827;
  font: inherit;
  font-size: 16px;
  font-weight: 650;
}

.user-security-field input::placeholder {
  color: #9aa3b2;
}

.user-security-eye {
  justify-self: end;
}

.user-security-field em {
  color: #667085;
  font-size: 14px;
  line-height: 1.35;
  font-style: normal;
  font-weight: 680;
}

.user-security-username {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px 14px;
  border: 1px solid #cfd5e0;
  border-radius: 8px;
  padding: 11px 13px;
  background: #f8fafc;
}

.user-security-username span {
  color: #667085;
  font-size: 14px;
  font-weight: 760;
}

.user-security-username strong {
  color: #111827;
  font-size: 16px;
  font-weight: 900;
}

.user-security-username em {
  grid-column: 1 / -1;
  color: #667085;
  font-size: 13px;
  font-style: normal;
}

button.user-security-eye {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: #7a8494;
  cursor: pointer;
}

button.user-security-eye svg {
  width: 22px;
  height: 22px;
}

button.user-security-eye:focus-visible {
  outline: 2px solid #4f75ff;
  outline-offset: 1px;
}

.user-security-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 45px;
  border: 0;
  border-radius: 8px;
  margin-top: 2px;
  padding: 0 16px;
  background: linear-gradient(135deg, #4a80ff 0%, #8847d3 100%);
  color: #fff;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 950;
  box-shadow: 0 12px 22px rgba(93, 88, 231, .28);
}

.user-security-submit svg {
  width: 24px;
  height: 24px;
  stroke-width: 2.2;
}

.user-security-tabbar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: calc(83px + env(safe-area-inset-bottom));
  padding: 8px 0 calc(15px + env(safe-area-inset-bottom));
  border-top: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -8px 24px rgba(15, 23, 42, .06);
  transform: translateX(-50%);
}

.user-security-tabbar a {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 4px;
  color: #7b8493;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 820;
  text-align: center;
}

.user-security-tabbar a.is-active {
  color: #4f75ff;
}

.user-security-tabbar svg {
  width: 34px;
  height: 34px;
  stroke-width: 1.9;
}

.user-security-tabbar a.is-active svg {
  fill: rgba(79, 117, 255, .14);
}

@media (min-width: 431px) {
  .user-security-topbar {
    margin-top: 16px;
    border-radius: 14px 14px 0 0;
  }
}

@media (max-width: 430px) {
  .user-security-topbar h1 {
    font-size: 22px;
  }

  .user-security-page {
    padding-inline: 19px;
  }

  .user-security-card-body {
    gap: 14px;
  }

  .user-security-card-head {
    font-size: 24px;
  }
}

/* Page 54: authorization management */
body.authorization-admin-h5 {
  min-height: 100vh;
  margin: 0;
  background: #f5f7fb;
  color: #0f172a;
}

.authorization-admin-h5 svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.authorization-admin-topbar {
  position: sticky;
  z-index: 40;
  top: 0;
  display: grid;
  grid-template-columns: 46px 230px minmax(0, 1fr) 250px;
  height: 66px;
  align-items: center;
  border-bottom: 1px solid #e5e9f1;
  padding: 0 24px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 6px 22px rgba(15, 23, 42, .05);
}

.authorization-admin-topbar button {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 0;
  background: transparent;
  color: #0f172a;
}

.authorization-admin-topbar button svg {
  width: 25px;
  height: 25px;
}

.authorization-admin-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #0f172a;
  text-decoration: none;
}

.authorization-admin-brand span {
  display: grid;
  width: 41px;
  height: 41px;
  place-items: center;
  border-radius: 50%;
  background: #0f172a;
  color: #ffd400;
  font-size: 23px;
  font-weight: 950;
}

.authorization-admin-brand strong {
  font-size: 24px;
  font-weight: 950;
  letter-spacing: 0;
}

.authorization-admin-topbar h1 {
  margin: 0;
  color: #0f172a;
  font-size: 23px;
  line-height: 1;
  font-weight: 950;
  text-align: center;
}

.authorization-admin-user {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-width: 0;
}

.authorization-admin-bell {
  position: relative;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #0f172a;
}

.authorization-admin-bell b {
  position: absolute;
  top: -4px;
  right: -4px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  background: #ef4444;
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

.authorization-admin-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: linear-gradient(135deg, #e5e7eb, #f8fafc);
  color: #1d4ed8;
  font-size: 18px;
  font-weight: 950;
}

.authorization-admin-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.authorization-admin-user strong,
.authorization-admin-user em {
  display: block;
  font-style: normal;
}

.authorization-admin-user strong {
  font-size: 15px;
  font-weight: 850;
}

.authorization-admin-user em {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
}

.authorization-admin-main {
  position: relative;
  width: min(1474px, calc(100% - 62px));
  margin: 0 auto;
  padding: 18px 0 20px;
}

.authorization-admin-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 26px;
  color: #64748b;
  font-size: 15px;
}

.authorization-admin-breadcrumb a {
  color: #475569;
  text-decoration: none;
}

.authorization-admin-breadcrumb strong {
  color: #475569;
  font-weight: 750;
}

.authorization-admin-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 16px 0;
}

.authorization-admin-metrics article {
  display: grid;
  min-height: 106px;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  border: 1px solid #e0e6ef;
  border-radius: 10px;
  padding: 0 22px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.authorization-admin-metrics article > span {
  display: grid;
  width: 66px;
  height: 66px;
  place-items: center;
  border-radius: 10px;
  color: #fff;
}

.authorization-admin-metrics .blue {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}

.authorization-admin-metrics .purple {
  background: linear-gradient(135deg, #704dff, #5630cc);
}

.authorization-admin-metrics .green {
  background: linear-gradient(135deg, #25c17a, #16a35c);
}

.authorization-admin-metrics svg {
  width: 35px;
  height: 35px;
}

.authorization-admin-metrics p {
  margin: 0 0 8px;
  color: #334155;
  font-size: 16px;
  font-weight: 650;
}

.authorization-admin-metrics strong {
  display: block;
  color: #0f172a;
  font-size: 32px;
  line-height: 1;
  font-weight: 950;
}

.authorization-admin-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid #e1e7f0;
  border-radius: 10px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.authorization-admin-panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 24px 24px 16px;
}

.authorization-admin-panel-head h2 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 950;
}

.authorization-admin-panel-head p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
}

.authorization-admin-tools {
  display: flex;
  gap: 26px;
  align-items: center;
}

.authorization-admin-tools a,
.authorization-admin-tools button {
  display: inline-flex;
  min-width: 98px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #dbe3ee;
  border-radius: 7px;
  padding: 0 18px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

.authorization-admin-tools button {
  border: 0;
  background: linear-gradient(135deg, #356bff, #7547e8);
  color: #fff;
}

.authorization-admin-summary {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 64px;
  margin: 8px 23px 16px;
  border-radius: 8px;
  padding: 0 18px;
  background: #f3f7fd;
  color: #334155;
  font-size: 16px;
}

.authorization-admin-summary b {
  color: #165dff;
}

.authorization-admin-feedback {
  margin: 0 23px 16px;
  border: 1px solid #bbf7d0;
  border-radius: 7px;
  padding: 10px 14px;
  background: #ecfdf3;
  color: #15803d;
  font-size: 14px;
  font-weight: 750;
}

.authorization-admin-feedback.error {
  border-color: #fecaca;
  background: #fff1f2;
  color: #dc2626;
}

.authorization-admin-filter {
  display: grid;
  grid-template-columns: minmax(220px, 1.18fr) minmax(190px, .88fr) minmax(200px, .95fr) minmax(200px, .95fr) 128px 128px;
  gap: 20px;
  align-items: end;
  margin: 0 23px 16px;
  border: 1px solid #e1e7ef;
  border-radius: 8px;
  padding: 16px 18px;
}

.authorization-admin-filter label {
  display: grid;
  gap: 9px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 800;
}

.authorization-admin-filter label > span {
  display: grid;
  grid-template-columns: 29px minmax(0, 1fr) auto;
  align-items: center;
  height: 45px;
  border: 1px solid #d7dfeb;
  border-radius: 6px;
  padding: 0 12px;
  background: #fff;
  color: #64748b;
}

.authorization-admin-filter input,
.authorization-admin-filter select {
  width: 100%;
  min-width: 0;
  height: 45px;
  border: 1px solid #d7dfeb;
  border-radius: 6px;
  padding: 0 14px;
  background: #fff;
  color: #334155;
  font: inherit;
  font-size: 15px;
  box-sizing: border-box;
}

.authorization-admin-filter label > span input {
  height: auto;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.authorization-admin-filter button,
.authorization-admin-filter > a {
  display: inline-flex;
  height: 45px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 7px;
  background: linear-gradient(135deg, #356bff, #7547e8);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 850;
  text-decoration: none;
}

.authorization-admin-filter > a {
  border: 1px solid #dbe3ee;
  background: #fff;
  color: #0f172a;
}

.authorization-admin-table-wrap {
  overflow: hidden;
  margin: 0 23px 0;
  border: 1px solid #e1e7ef;
  border-radius: 8px;
}

.authorization-admin-table {
  width: 100%;
  border-collapse: collapse;
  color: #334155;
  font-size: 15px;
}

.authorization-admin-table th {
  height: 40px;
  background: #f7faff;
  color: #0f172a;
  font-size: 15px;
  font-weight: 850;
  text-align: left;
}

.authorization-admin-table th,
.authorization-admin-table td {
  border-bottom: 1px solid #e8edf5;
  padding: 0 18px;
}

.authorization-admin-table tbody tr:last-child td {
  border-bottom: 0;
}

.authorization-admin-table td {
  height: 68px;
}

.authorization-admin-table td:first-child {
  display: flex;
  align-items: center;
  gap: 13px;
}

.authorization-admin-table strong,
.authorization-admin-table em {
  display: block;
  font-style: normal;
}

.authorization-admin-table strong {
  color: #0f172a;
  font-size: 16px;
  font-weight: 900;
}

.authorization-admin-table em {
  margin-top: 5px;
  color: #64748b;
  font-size: 13px;
}

.authorization-admin-photo {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: linear-gradient(135deg, #3b82f6, #5b6df8);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
}

.authorization-admin-photo.large {
  width: 58px;
  height: 58px;
}

.authorization-admin-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.authorization-admin-tag {
  display: inline-flex;
  min-width: 64px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid #bfdbfe;
  border-radius: 6px;
  padding: 0 8px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 14px;
  font-weight: 850;
}

.authorization-admin-tag.admin {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #ea580c;
}

.authorization-admin-tag.active {
  border-color: #bbf7d0;
  background: #ecfdf3;
  color: #16a34a;
}

.authorization-admin-tag.danger {
  border-color: #fecaca;
  background: #fff1f2;
  color: #ef4444;
}

.authorization-admin-set {
  display: inline-flex;
  min-width: 112px;
  height: 34px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #a5b4fc;
  border-radius: 6px;
  color: #3156ff;
  font-weight: 850;
  text-decoration: none;
}

.authorization-admin-set svg {
  width: 18px;
  height: 18px;
}

.authorization-admin-empty {
  height: 120px;
  color: #94a3b8;
  text-align: center;
}

.authorization-admin-pagination {
  display: grid;
  grid-template-columns: 90px 120px minmax(0, 1fr) 130px;
  gap: 20px;
  align-items: center;
  min-height: 80px;
  padding: 0 23px;
  color: #334155;
  font-size: 15px;
}

.authorization-admin-pagination select,
.authorization-admin-pagination input {
  height: 38px;
  border: 1px solid #d7dfeb;
  border-radius: 6px;
  padding: 0 12px;
  background: #fff;
  color: #334155;
  font: inherit;
}

.authorization-admin-pagination nav {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.authorization-admin-pagination nav a,
.authorization-admin-pagination nav span {
  display: grid;
  min-width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #d7dfeb;
  border-radius: 6px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
}

.authorization-admin-pagination nav a.active {
  border-color: #4f6dff;
  background: linear-gradient(135deg, #356bff, #7547e8);
  color: #fff;
}

.authorization-admin-pagination label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.authorization-admin-jump {
  display: block;
}

.authorization-admin-pagination input {
  width: 46px;
  text-align: center;
}

.authorization-admin-drawer {
  position: absolute;
  right: -9px;
  bottom: 40px;
  z-index: 20;
  width: 421px;
  overflow: hidden;
  border: 1px solid #e1e7ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(15, 23, 42, .18);
}

.authorization-admin-drawer > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  align-items: center;
  min-height: 58px;
  border-bottom: 1px solid #e8edf5;
  padding: 0 24px;
}

.authorization-admin-drawer h2 {
  margin: 0;
  color: #0f172a;
  font-size: 19px;
  font-weight: 950;
}

.authorization-admin-drawer header a {
  color: #64748b;
  font-size: 28px;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

.authorization-admin-drawer-user {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 18px 24px 8px;
}

.authorization-admin-drawer-user strong,
.authorization-admin-drawer-user em {
  display: block;
  font-style: normal;
}

.authorization-admin-drawer-user strong {
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
}

.authorization-admin-drawer-user em {
  margin-top: 7px;
  color: #64748b;
  font-size: 14px;
}

.authorization-admin-drawer form {
  display: grid;
  gap: 16px;
  padding: 12px 24px 18px;
}

.authorization-admin-drawer label {
  display: grid;
  gap: 8px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 850;
}

.authorization-admin-drawer label b {
  color: #ef4444;
}

.authorization-admin-drawer label span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22px;
  align-items: center;
  height: 45px;
  border: 1px solid #d7dfeb;
  border-radius: 6px;
  padding: 0 12px;
  color: #475569;
}

.authorization-admin-drawer input {
  min-width: 0;
  border: 0;
  outline: 0;
  color: #0f172a;
  font: inherit;
  font-size: 16px;
}

.authorization-admin-drawer p {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 52px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  padding: 0 14px;
  background: #eff6ff;
  color: #475569;
  font-size: 14px;
}

.authorization-admin-drawer p svg {
  color: #3156ff;
}

.authorization-admin-drawer form > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.authorization-admin-drawer form > div a,
.authorization-admin-drawer form > div button {
  display: inline-flex;
  height: 54px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e1e7ef;
  border-radius: 7px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: 16px;
  font-weight: 850;
  text-decoration: none;
}

.authorization-admin-drawer form > div button {
  border: 0;
  background: linear-gradient(135deg, #356bff, #7547e8);
  color: #fff;
}

@media (max-width: 980px) {
  .authorization-admin-topbar {
    grid-template-columns: 42px 180px minmax(0, 1fr);
  }

  .authorization-admin-user {
    display: none;
  }

  .authorization-admin-main {
    width: calc(100% - 28px);
  }

  .authorization-admin-metrics,
  .authorization-admin-panel-head,
  .authorization-admin-filter,
  .authorization-admin-pagination {
    grid-template-columns: 1fr;
  }

  .authorization-admin-table-wrap {
    overflow-x: auto;
  }

  .authorization-admin-table {
    min-width: 980px;
  }

  .authorization-admin-drawer {
    position: static;
    width: auto;
    margin: 18px 23px 24px;
  }
}

/* Page 57: platform verification txt upload */
body.verification-upload-h5 {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at 20% 0%, rgba(37, 99, 235, .08), transparent 28%), linear-gradient(180deg, #f8fafc 0%, #ffffff 72%);
  color: #111827;
  font-family: var(--font-brand);
}

.verification-upload-h5 svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.verification-upload-topbar,
.verification-upload-page {
  width: min(100%, 430px);
  margin: 0 auto;
  box-sizing: border-box;
}

.verification-upload-topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  height: 51px;
  border-bottom: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(12px);
}

.verification-upload-topbar a {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: #111827;
  text-decoration: none;
}

.verification-upload-topbar svg {
  width: 30px;
  height: 30px;
  stroke-width: 2.6;
}

.verification-upload-topbar h1 {
  margin: 0;
  color: #111827;
  font-size: 23px;
  line-height: 1;
  font-weight: 900;
  text-align: center;
}

.verification-upload-page {
  position: relative;
  min-height: calc(100vh - 51px);
  padding: 16px 16px 96px;
}

.verification-upload-warning {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 88px;
  border: 1px solid #fbbf24;
  border-radius: 9px;
  padding: 18px 14px;
  background: #fffbeb;
  color: #374151;
  box-sizing: border-box;
}

.verification-upload-warning svg {
  width: 28px;
  height: 28px;
  color: #f59e0b;
  stroke-width: 2.2;
}

.verification-upload-warning p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}

.verification-upload-card {
  margin-top: 16px;
  border-radius: 9px;
  padding: 22px 16px 24px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .12);
}

.verification-upload-card h2 {
  margin: 0 0 22px;
  color: #111827;
  font-size: 25px;
  line-height: 1.12;
  font-weight: 950;
}

.verification-upload-error {
  margin: -6px 0 16px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff1f2;
  color: #dc2626;
  font-size: 14px;
  line-height: 1.45;
}

.verification-upload-error[hidden] {
  display: none;
}

.verification-upload-label {
  display: block;
  margin-bottom: 10px;
  color: #111827;
  font-size: 16px;
  font-weight: 800;
}

.verification-upload-label b {
  color: #ef4444;
}

.verification-upload-picker {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 86px;
  gap: 8px;
  align-items: center;
  min-height: 41px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  padding: 8px 7px 8px 12px;
  color: #6b7280;
}

.verification-upload-picker > svg {
  width: 24px;
  height: 24px;
}

.verification-upload-picker strong {
  min-width: 0;
  overflow: hidden;
  color: #111827;
  font-size: 15px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.verification-upload-picker span {
  position: relative;
  display: grid;
  min-height: 32px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  background: #fff;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
}

.verification-upload-picker input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.verification-upload-help,
.verification-upload-note {
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
}

.verification-upload-help {
  margin: 12px 0 18px;
}

.verification-upload-submit,
.verification-upload-back {
  display: inline-flex;
  width: 100%;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 7px;
  box-sizing: border-box;
  font: inherit;
  font-size: 17px;
  font-weight: 850;
  text-decoration: none;
}

.verification-upload-submit {
  border: 0;
  background: #1d6dff;
  color: #fff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .24);
}

.verification-upload-submit:disabled {
  cursor: not-allowed;
  opacity: .55;
  box-shadow: none;
}

.verification-upload-submit svg {
  width: 22px;
  height: 22px;
}

.verification-upload-back {
  margin-top: 12px;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #1d6dff;
}

.verification-upload-back svg {
  width: 20px;
  height: 20px;
}

.verification-upload-divider {
  height: 1px;
  margin: 18px 0 16px;
  background: #d1d5db;
}

.verification-upload-note {
  margin: 0;
}

.verification-upload-toast {
  position: fixed;
  left: 50%;
  bottom: 42px;
  z-index: 20;
  display: grid;
  width: min(330px, calc(100% - 32px));
  grid-template-columns: 24px minmax(0, 1fr) 18px;
  gap: 8px;
  align-items: center;
  border: 1px solid #86efac;
  border-radius: 8px;
  padding: 11px 12px;
  background: #f0fdf4;
  color: #16a34a;
  box-shadow: 0 12px 28px rgba(22, 163, 74, .16);
  transform: translateX(-50%);
}

.verification-upload-toast svg {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  padding: 5px;
  background: #22c55e;
  color: #fff;
  box-sizing: border-box;
  stroke-width: 3;
}

.verification-upload-toast span {
  overflow: hidden;
  font-size: 13px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.verification-upload-toast a {
  color: #16a34a;
  font-size: 22px;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

@media (min-width: 640px) {
  .verification-upload-page {
    padding-top: 22px;
  }
}

/* Page 38: managed events settings */
.managed-events-mobile-topbar {
  display: none;
}

@media (max-width: 760px) {
  body.user-activities-h5 {
    min-height: 100dvh;
    background: #f4f5f7;
    padding: 0;
  }

  .user-activities-h5 > .topbar,
  .user-activities-h5 > .app-tabbar {
    display: none;
  }

  .managed-events-mobile-topbar {
    position: sticky;
    top: 0;
    z-index: 42;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    width: min(100%, 430px);
    min-height: calc(70px + env(safe-area-inset-top));
    margin: 0 auto;
    padding: env(safe-area-inset-top) 14px 0 8px;
    border-bottom: 1px solid #e5e7eb;
    background: rgba(255, 255, 255, .98);
    color: #070a12;
  }

  .managed-events-mobile-topbar svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .managed-events-mobile-topbar > a:first-child {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #070a12;
  }

  .managed-events-mobile-topbar h1 {
    margin: 0;
    overflow: hidden;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: 0;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .managed-events-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    border-radius: 999px;
    padding: 0 4px 0 8px;
    color: #f0b400;
    font-size: 18px;
    font-weight: 850;
    white-space: nowrap;
  }

  .managed-events-add svg {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    padding: 7px;
    background: linear-gradient(135deg, #ffd800, #ffc000);
    color: #fff;
    stroke-width: 2.6;
  }

  .user-activities-h5 .page {
    width: min(100%, 430px);
    min-height: 100dvh;
    margin: 0 auto;
    padding: 18px 14px 420px;
    background: #f4f5f7;
  }

  .user-activities-h5 .page-hero,
  .user-activities-h5 .my-stats,
  .user-activities-h5 .user-activities-desktop-panel {
    display: none;
  }

  .managed-events-mobile {
    display: block;
    margin: 0;
  }

  .managed-events-mobile.ui-reveal,
  .managed-events-mobile.ui-reveal.is-visible {
    transform: none !important;
  }

  .managed-events-list {
    display: grid;
    gap: 18px;
  }

  .managed-event-card {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .09);
  }

  .managed-event-cover {
    position: relative;
    display: block;
    min-height: 136px;
    overflow: hidden;
    border-radius: 14px 14px 4px 4px;
    background: linear-gradient(135deg, #051033, #173d92);
    color: #fff;
  }

  .managed-event-cover img {
    width: 100%;
    height: 136px;
    object-fit: cover;
  }

  .managed-event-cover > span {
    display: grid;
    place-items: center;
    min-height: 136px;
    font-size: 24px;
    font-weight: 950;
  }

  .managed-event-status {
    position: absolute;
    top: 16px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: 9px;
    padding: 0 15px;
    background: #16b957;
    color: #fff;
    font-size: 20px;
    font-weight: 950;
  }

  .managed-event-status.is-draft {
    background: #2f7fff;
  }

  .managed-event-status.is-ended,
  .managed-event-status.is-neutral {
    background: #6b7280;
  }

  .managed-event-body {
    padding: 16px 14px 15px;
  }

  .managed-event-title {
    display: block;
    margin: 0 0 12px;
    overflow-wrap: anywhere;
    color: #050505;
    font-size: 24px;
    line-height: 1.18;
    font-weight: 950;
    text-decoration: none;
  }

  .managed-event-meta {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 9px 0 0;
    color: #667085;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 760;
  }

  .managed-event-meta svg {
    width: 23px;
    height: 23px;
    flex: 0 0 auto;
    color: #5b6472;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .managed-event-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 17px;
  }

  .managed-event-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 54px;
    border: 1px solid #d9dee8;
    border-radius: 8px;
    background: #fff;
    color: #18181b;
    font-size: 16px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
  }

  .managed-event-actions svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: #f3b500;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .managed-settings-sheet {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 70;
    width: min(100%, 430px);
    margin: 0 auto;
    border-radius: 18px 18px 0 0;
    padding: 0 14px max(18px, env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .99);
    box-shadow: 0 -18px 42px rgba(15, 23, 42, .18);
  }

  .managed-settings-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    align-items: center;
    min-height: 70px;
  }

  .managed-settings-head h2 {
    margin: 0;
    color: #070a12;
    font-size: 24px;
    font-weight: 950;
    text-align: center;
  }

  .managed-settings-head a {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: #111827;
  }

  .managed-settings-head svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .managed-settings-card {
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
  }

  .managed-settings-banner {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    align-items: center;
    min-height: 74px;
    gap: 10px;
    padding: 0 14px;
    background: linear-gradient(135deg, #3776ff, #8652ff);
    color: #fff;
  }

  .managed-settings-banner svg {
    width: 40px;
    height: 40px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .managed-settings-banner strong {
    overflow: hidden;
    font-size: 20px;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .managed-settings-banner em {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    border-radius: 7px;
    padding: 0 10px;
    background: rgba(255, 255, 255, .86);
    color: #169b4b;
    font-style: normal;
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
  }

  .managed-settings-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    min-height: 68px;
    gap: 10px;
    border-top: 1px solid #e5e7eb;
    padding: 0 14px;
    color: #111827;
  }

  .managed-settings-row svg {
    width: 30px;
    height: 30px;
    color: #f4b400;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .managed-settings-row span {
    overflow: hidden;
    font-size: 18px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .managed-settings-switch {
    position: relative;
    width: 62px;
    height: 36px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    appearance: none;
    background: #cfd4dc;
  }

  .managed-settings-switch::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 9px rgba(15, 23, 42, .2);
    transition: transform .18s ease;
  }

  .managed-settings-switch:checked {
    background: linear-gradient(135deg, #ffd800, #ffc000);
  }

  .managed-settings-switch:checked::after {
    transform: translateX(26px);
  }

  .managed-settings-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: calc(100% - 20px);
    min-height: 64px;
    margin: 18px 10px 10px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(135deg, #ffd800, #ffc000);
    color: #070707;
    font-size: 23px;
    font-weight: 950;
  }

  .managed-settings-submit svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
}

/* Page 39: activity status unavailable */
.activity-status-h5 {
  min-height: 100dvh;
  margin: 0;
  background:
    radial-gradient(circle at 50% 36%, rgba(229, 235, 244, .46), transparent 31%),
    linear-gradient(180deg, #f8fafc 0%, #f4f7fb 54%, #f9fafb 100%);
  color: #1f2933;
}

.activity-status-page {
  display: grid;
  min-height: 100dvh;
  place-items: center;
  padding: 0 24px;
}

.activity-status-shell {
  display: grid;
  width: min(100%, 430px);
  justify-items: center;
  transform: translateY(-14px);
}

.activity-status-shell h1 {
  margin: 0 0 52px;
  color: #1f2933;
  font-size: 36px;
  line-height: 1.16;
  font-weight: 900;
  letter-spacing: 0;
}

.activity-status-symbol {
  position: relative;
  display: grid;
  width: 194px;
  height: 194px;
  margin: 0 0 82px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 18px 34px rgba(15, 23, 42, .1);
}

.activity-status-symbol::before,
.activity-status-symbol::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.activity-status-symbol::before {
  inset: -30px;
  border: 25px solid rgba(224, 44, 52, .045);
}

.activity-status-symbol::after {
  inset: -58px;
  border: 25px solid rgba(224, 44, 52, .03);
}

.activity-status-symbol span {
  display: grid;
  width: 104px;
  height: 104px;
  place-items: center;
  border: 6px solid #e62f35;
  border-radius: 50%;
  color: #e62f35;
  font-family: Arial, sans-serif;
  font-size: 72px;
  line-height: 1;
  font-weight: 700;
}

.activity-status-message {
  width: min(100%, 322px);
  min-height: 96px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  padding: 20px 24px;
  background: #fff;
  color: #2f3843;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .08);
  font-size: 21px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}

.activity-status-closed .activity-status-page {
  place-items: center;
  padding: 0 24px;
}

.activity-status-closed-card {
  position: relative;
  display: grid;
  width: min(100%, 636px);
  min-height: 636px;
  justify-items: center;
  align-content: center;
  border-radius: 18px;
  padding: 72px 64px 68px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 20px 46px rgba(15, 23, 42, .1);
  text-align: center;
}

.activity-status-closed-symbol {
  width: 178px;
  height: 178px;
  margin: 0 0 52px;
  box-shadow: 0 18px 32px rgba(15, 23, 42, .08);
}

.activity-status-closed-symbol::before {
  inset: -22px;
  border-width: 19px;
}

.activity-status-closed-symbol::after {
  inset: -43px;
  border-width: 19px;
}

.activity-status-closed-symbol span {
  position: relative;
  width: 98px;
  height: 98px;
  border: 6px solid #e0363a;
}

.activity-status-closed-symbol span::after {
  content: "";
  position: absolute;
  top: 44px;
  left: 13px;
  width: 70px;
  height: 8px;
  border-radius: 999px;
  background: #e0363a;
  transform: rotate(45deg);
}

.activity-status-closed-card::before,
.activity-status-closed-card::after,
.activity-status-closed-symbol + .activity-status-closed-accent::before,
.activity-status-closed-symbol + .activity-status-closed-accent::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.activity-status-closed-card::before {
  top: 130px;
  left: 186px;
  width: 10px;
  height: 10px;
  border: 3px solid rgba(224, 54, 58, .25);
}

.activity-status-closed-card::after {
  top: 163px;
  left: 164px;
  width: 18px;
  height: 3px;
  background: rgba(224, 54, 58, .26);
  transform: rotate(45deg);
  box-shadow: 0 0 0 0 rgba(224, 54, 58, .26);
}

.activity-status-closed-symbol + .activity-status-closed-accent::before {
  top: 180px;
  right: 150px;
  width: 8px;
  height: 8px;
  border: 3px solid rgba(224, 54, 58, .24);
}

.activity-status-closed-symbol + .activity-status-closed-accent::after {
  top: 252px;
  right: 176px;
  width: 20px;
  height: 3px;
  background: rgba(224, 54, 58, .26);
  transform: rotate(45deg);
}

.activity-status-closed-accent {
  width: 58px;
  height: 8px;
  border-radius: 999px;
  margin: 0 0 32px;
  background: linear-gradient(90deg, #ffb919, #ffc93f);
}

.activity-status-closed-card h1 {
  margin: 0 0 22px;
  color: #1f2933;
  font-size: 46px;
  line-height: 1.14;
  font-weight: 950;
  letter-spacing: 0;
}

.activity-status-closed-card p {
  margin: 0 0 72px;
  color: #727b88;
  font-size: 29px;
  line-height: 1.45;
  font-weight: 500;
}

.activity-status-action {
  display: inline-grid;
  width: min(100%, 430px);
  min-height: 102px;
  place-items: center;
  border: 2px solid #e22f35;
  border-radius: 14px;
  color: #e22f35;
  background: #fff;
  font-size: 31px;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 760px) {
  .activity-status-page {
    align-items: start;
    padding: 260px 52px 80px;
  }

  .activity-status-shell {
    width: 100%;
    transform: none;
  }

  .activity-status-shell h1 {
    margin-bottom: 54px;
    font-size: 35px;
  }

  .activity-status-symbol {
    width: 190px;
    height: 190px;
    margin-bottom: 80px;
  }

  .activity-status-message {
    width: 100%;
    min-height: 96px;
    font-size: 28px;
    line-height: 1.48;
  }

  .activity-status-closed .activity-status-page {
    align-items: start;
    justify-items: center;
    padding: 232px 31px 44px;
  }

  .activity-status-closed-card {
    width: 100%;
    max-width: 318px;
    min-height: 318px;
    border-radius: 9px;
    padding: 47px 32px 34px;
  }

  .activity-status-closed-symbol {
    width: 88px;
    height: 88px;
    margin-bottom: 26px;
  }

  .activity-status-closed-symbol::before {
    inset: -11px;
    border-width: 9px;
  }

  .activity-status-closed-symbol::after {
    inset: -21px;
    border-width: 9px;
  }

  .activity-status-closed-symbol span {
    width: 49px;
    height: 49px;
    border-width: 3px;
  }

  .activity-status-closed-symbol span::after {
    top: 22px;
    left: 6px;
    width: 35px;
    height: 4px;
  }

  .activity-status-closed-card::before {
    top: 65px;
    left: 93px;
    width: 5px;
    height: 5px;
    border-width: 2px;
  }

  .activity-status-closed-card::after {
    top: 82px;
    left: 82px;
    width: 9px;
    height: 2px;
  }

  .activity-status-closed-symbol + .activity-status-closed-accent::before {
    top: 90px;
    right: 75px;
    width: 4px;
    height: 4px;
    border-width: 2px;
  }

  .activity-status-closed-symbol + .activity-status-closed-accent::after {
    top: 126px;
    right: 88px;
    width: 10px;
    height: 2px;
  }

  .activity-status-closed-accent {
    width: 29px;
    height: 4px;
    margin-bottom: 16px;
  }

  .activity-status-closed-card h1 {
    margin-bottom: 12px;
    font-size: 24px;
  }

  .activity-status-closed-card p {
    margin-bottom: 37px;
    font-size: 15px;
  }

  .activity-status-action {
    width: min(100%, 215px);
    min-height: 51px;
    border-radius: 7px;
    font-size: 16px;
  }
}

/* Page 41: activity not found */
.public-error-h5 {
  min-height: 100dvh;
  margin: 0;
  background:
    radial-gradient(circle at 50% 50%, rgba(228, 234, 244, .52), transparent 32%),
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .96), transparent 46%),
    linear-gradient(180deg, #f7f9fc 0%, #f2f5fa 55%, #f8fafc 100%);
  color: #111b29;
}

.public-error-page {
  min-height: 100dvh;
  display: grid;
  justify-items: center;
  align-items: start;
  padding: 465px 130px 80px;
}

.public-error-card {
  position: relative;
  display: grid;
  width: 592px;
  min-height: 836px;
  justify-items: center;
  align-content: start;
  border-radius: 28px;
  padding: 106px 92px 78px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 28px 60px rgba(31, 41, 55, .12);
  text-align: center;
  overflow: hidden;
}

.public-error-card::before,
.public-error-card::after,
.public-error-broken-file::before,
.public-error-broken-file::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.public-error-card::before {
  top: 136px;
  left: 165px;
  width: 9px;
  height: 9px;
  border: 4px solid rgba(174, 185, 201, .55);
  border-radius: 999px;
}

.public-error-card::after {
  top: 233px;
  right: 154px;
  width: 18px;
  height: 18px;
  background:
    linear-gradient(45deg, transparent 43%, rgba(174, 185, 201, .58) 43%, rgba(174, 185, 201, .58) 57%, transparent 57%),
    linear-gradient(-45deg, transparent 43%, rgba(174, 185, 201, .58) 43%, rgba(174, 185, 201, .58) 57%, transparent 57%);
}

.public-error-broken-file {
  position: relative;
  width: 170px;
  height: 178px;
  margin: 0 0 38px;
  border: 7px solid #bdc6d3;
  border-radius: 18px 4px 18px 18px;
  background:
    radial-gradient(circle at 50% 58%, rgba(224, 229, 236, .78), transparent 47%),
    rgba(255, 255, 255, .72);
  box-shadow: 0 18px 42px rgba(148, 163, 184, .18);
}

.public-error-broken-file::before {
  inset: -42px;
  z-index: -1;
  border-radius: 50%;
  background: rgba(230, 235, 243, .6);
}

.public-error-broken-file::after {
  top: 10px;
  left: -70px;
  width: 15px;
  height: 15px;
  background:
    linear-gradient(45deg, transparent 43%, rgba(174, 185, 201, .5) 43%, rgba(174, 185, 201, .5) 57%, transparent 57%),
    linear-gradient(-45deg, transparent 43%, rgba(174, 185, 201, .5) 43%, rgba(174, 185, 201, .5) 57%, transparent 57%);
}

.public-error-file-corner {
  position: absolute;
  top: -7px;
  right: -7px;
  width: 58px;
  height: 62px;
  border-left: 7px solid #bdc6d3;
  border-bottom: 7px solid #bdc6d3;
  border-radius: 0 4px 0 14px;
  background: linear-gradient(225deg, #fff 0 50%, transparent 51%);
}

.public-error-file-corner::before {
  content: "";
  position: absolute;
  top: 22px;
  right: -71px;
  width: 9px;
  height: 9px;
  border: 4px solid rgba(174, 185, 201, .5);
  border-radius: 999px;
}

.public-error-broken-link {
  position: absolute;
  top: 81px;
  left: 37px;
  width: 93px;
  height: 58px;
}

.public-error-broken-link::before,
.public-error-broken-link::after {
  content: "";
  position: absolute;
  width: 44px;
  height: 26px;
  border: 9px solid #aab4c2;
  border-radius: 999px;
  transform: rotate(-45deg);
}

.public-error-broken-link::before {
  left: 0;
  top: 17px;
  border-right-color: transparent;
}

.public-error-broken-link::after {
  right: 0;
  top: 0;
  border-left-color: transparent;
}

.public-error-card b {
  display: block;
  margin: 0 0 36px;
  color: #111b29;
  font-size: 132px;
  line-height: .92;
  font-weight: 950;
  letter-spacing: 0;
}

.public-error-card > i {
  width: 58px;
  height: 9px;
  margin: 0 0 34px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffbd1a, #ffc936);
}

.public-error-card p {
  margin: 0 0 42px;
  color: #69727f;
  font-size: 39px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0;
}

.public-error-home {
  display: inline-flex;
  width: 330px;
  min-height: 96px;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: 2px solid #bec7d4;
  border-radius: 12px;
  color: #687282;
  background: #fff;
  font-size: 35px;
  line-height: 1;
  font-weight: 850;
  text-decoration: none;
}

.public-error-home svg {
  width: 43px;
  height: 43px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 760px) {
  .public-error-page {
    padding: 232px 31px 44px;
  }

  .public-error-card {
    width: 100%;
    max-width: 318px;
    min-height: 418px;
    border-radius: 15px;
    padding: 53px 46px 39px;
  }

  .public-error-card::before {
    top: 68px;
    left: 82px;
    width: 5px;
    height: 5px;
    border-width: 2px;
  }

  .public-error-card::after {
    top: 116px;
    right: 77px;
    width: 9px;
    height: 9px;
  }

  .public-error-broken-file {
    width: 85px;
    height: 89px;
    margin-bottom: 19px;
    border-width: 4px;
    border-radius: 9px 2px 9px 9px;
  }

  .public-error-broken-file::before {
    inset: -21px;
  }

  .public-error-broken-file::after {
    top: 5px;
    left: -35px;
    width: 8px;
    height: 8px;
  }

  .public-error-file-corner {
    top: -4px;
    right: -4px;
    width: 29px;
    height: 31px;
    border-left-width: 4px;
    border-bottom-width: 4px;
    border-radius: 0 2px 0 7px;
  }

  .public-error-file-corner::before {
    top: 11px;
    right: -36px;
    width: 5px;
    height: 5px;
    border-width: 2px;
  }

  .public-error-broken-link {
    top: 40px;
    left: 19px;
    width: 47px;
    height: 29px;
  }

  .public-error-broken-link::before,
  .public-error-broken-link::after {
    width: 22px;
    height: 13px;
    border-width: 4px;
  }

  .public-error-broken-link::before {
    top: 9px;
  }

  .public-error-card b {
    margin-bottom: 18px;
    font-size: 66px;
  }

  .public-error-card > i {
    width: 29px;
    height: 5px;
    margin-bottom: 17px;
  }

  .public-error-card p {
    margin-bottom: 21px;
    font-size: 20px;
  }

  .public-error-home {
    width: min(100%, 165px);
    min-height: 48px;
    gap: 10px;
    border-radius: 6px;
    font-size: 18px;
  }

  .public-error-home svg {
    width: 22px;
    height: 22px;
  }
}

body.activity-detail-type-fundraising {
  background:
    linear-gradient(180deg, #fef3f2 0, #f7f8fb 18%, #f7f8fb 100%);
}

body.activity-detail-type-fundraising .detail-page {
  width: 100%;
  max-width: 430px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 13px 84px;
  overflow-x: hidden;
}

body.activity-detail-type-fundraising .detail-sticky-action {
  display: grid;
  grid-template-columns: 92px 118px minmax(0, 1fr);
  gap: 10px;
  max-width: 430px;
  min-height: calc(84px + env(safe-area-inset-bottom));
  padding: 13px 14px calc(13px + env(safe-area-inset-bottom));
}

body.activity-detail-type-fundraising .detail-sticky-action .button.secondary {
  border-color: #fecdd3;
  background: #fff8f8;
  color: #ef233c !important;
}

body.activity-detail-type-fundraising .detail-sticky-action a.button.secondary[href$="/progress"] {
  color: #ef233c !important;
  -webkit-text-fill-color: #ef233c;
}

body.admin-body.progress-editor-body {
  min-width: 0;
  padding: 0 !important;
  background: #eef2f7;
}

body.admin-body.progress-editor-body .admin-topbar,
body.admin-body.progress-editor-body .admin-sidebar {
  display: none !important;
}

body.admin-body.progress-editor-body .admin-shell {
  display: block;
  min-height: 100vh;
}

body.admin-body.progress-editor-body .admin-main {
  width: min(100%, 426px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 !important;
  background: #f7f9fc;
}

/* Page 68: V2 fundraising editor */
body.admin-body.fundraising-edit-body {
  min-width: 0;
  background: #eef3f8;
  color: #111827;
  scrollbar-width: none;
}

body.admin-body.fundraising-edit-body::-webkit-scrollbar {
  display: none;
}

body.admin-body.fundraising-edit-body .admin-topbar,
body.admin-body.fundraising-edit-body .admin-sidebar {
  display: none;
}

body.admin-body.fundraising-edit-body .admin-shell {
  display: block;
  min-height: 100vh;
}

body.admin-body.fundraising-edit-body .admin-main {
  width: min(100%, 426px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0;
  background: #f5f8fc;
  box-shadow: 0 0 30px rgba(51, 65, 85, 0.08);
}

.fundraising-edit-v2 {
  --fundraising-edit-red: #ff2d2d;
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  font-family: var(--font-brand);
}

.fundraising-edit-v2 *,
.fundraising-edit-v2 *::before,
.fundraising-edit-v2 *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.fundraising-edit-compat {
  display: none !important;
}

.fundraising-edit-v2 svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.fundraising-edit-header {
  position: sticky;
  z-index: 10;
  top: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 108px;
  align-items: center;
  min-height: 53px;
  padding: 0 12px;
  border-bottom: 1px solid #e5e9ef;
  background: rgba(255, 255, 255, 0.97);
}

.fundraising-edit-header > a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #111827;
}

.fundraising-edit-header > a svg {
  width: 27px;
  height: 27px;
  stroke-width: 2.4;
}

.fundraising-edit-header h1 {
  margin: 0;
  overflow: hidden;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fundraising-edit-header > button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 13px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #ff4d3d, #ff202b);
  box-shadow: 0 4px 12px rgba(255, 45, 45, 0.2);
  color: #fff;
  font: inherit;
  font-size: 14px;
  white-space: nowrap;
}

.fundraising-edit-header > button svg {
  width: 18px;
  height: 18px;
}

.fundraising-edit-alert {
  margin: 10px 10px 0;
  padding: 10px 12px;
  border: 1px solid #fecaca;
  border-radius: 6px;
  background: #fff1f2;
  color: #b91c1c;
  font-size: 13px;
}

.fundraising-edit-primary-tabs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  align-items: center;
  min-height: 42px;
  border-bottom: 1px solid #e8edf3;
  background: #f9fbfe;
}

.fundraising-edit-primary-tabs > span {
  width: 1px;
  height: 15px;
  background: #dfe5ec;
}

.fundraising-edit-primary-tabs button {
  position: relative;
  display: inline-flex;
  height: 41px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 10px;
  border: 0;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 15px;
}

.fundraising-edit-primary-tabs button::after {
  position: absolute;
  right: 16%;
  bottom: 0;
  left: 16%;
  height: 2px;
  background: transparent;
  content: "";
}

.fundraising-edit-primary-tabs button svg {
  width: 21px;
  height: 21px;
}

.fundraising-edit-primary-tabs button.active {
  color: var(--fundraising-edit-red);
  font-weight: 650;
}

.fundraising-edit-primary-tabs button.active::after {
  background: var(--fundraising-edit-red);
}

.fundraising-edit-section-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: 55px;
  margin: 0 9px;
  border: 1px solid #e1e7ee;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.fundraising-edit-section-tabs button {
  position: relative;
  display: flex;
  min-width: 0;
  height: 54px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px 2px 3px;
  border: 0;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: 11px;
  line-height: 1.15;
  white-space: nowrap;
}

.fundraising-edit-section-tabs button::after {
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 2px;
  background: transparent;
  content: "";
}

.fundraising-edit-section-tabs button svg {
  width: 21px;
  height: 21px;
}

.fundraising-edit-section-tabs button.active {
  color: var(--fundraising-edit-red);
}

.fundraising-edit-section-tabs button.active::after {
  background: var(--fundraising-edit-red);
}

.fundraising-edit-section-tabs.is-more button {
  color: #94a3b8;
}

.fundraising-edit-pane {
  padding: 8px 9px 12px;
}

.fundraising-edit-pane[hidden] {
  display: none;
}

.fundraising-edit-card {
  margin: 0 0 8px;
  border: 1px solid #e1e7ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(71, 85, 105, 0.035);
}

.fundraising-edit-basics {
  padding: 0 14px;
}

.fundraising-edit-cover-row {
  display: grid;
  grid-template-columns: 76px 108px minmax(0, 1fr);
  min-height: 130px;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #e5e9ef;
}

.fundraising-edit-cover-row > strong {
  align-self: start;
  margin-top: 18px;
  font-size: 14px;
  font-weight: 650;
}

.fundraising-edit-cover-row > small {
  color: #64748b;
  font-size: 12px;
  white-space: nowrap;
}

.fundraising-edit-cover-upload {
  position: relative;
  display: block;
  width: 108px;
  height: 108px;
  overflow: hidden;
  border-radius: 7px;
  background: #f1f5f9;
  cursor: pointer;
}

.fundraising-edit-cover-upload > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fundraising-edit-cover-upload > span {
  position: absolute;
  right: 7px;
  bottom: 7px;
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 8px;
  background: rgba(17, 24, 39, 0.78);
  color: #fff;
}

.fundraising-edit-cover-upload > span svg {
  width: 18px;
  height: 18px;
}

.fundraising-edit-cover-upload > input,
.fundraising-edit-gallery-add > input,
.fundraising-edit-raw-images {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.fundraising-edit-field {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  min-height: 58px;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #e5e9ef;
  font-size: 14px;
}

.fundraising-edit-field:last-child {
  border-bottom: 0;
}

.fundraising-edit-field > span:first-child {
  align-self: start;
  padding-top: 19px;
  font-weight: 650;
}

.fundraising-edit-control {
  position: relative;
  display: block;
}

.fundraising-edit-control input,
.fundraising-edit-control textarea,
.fundraising-edit-settings-card input,
.fundraising-edit-settings-card textarea,
.fundraising-edit-settings-card select {
  width: 100%;
  border: 1px solid #ced7e3;
  border-radius: 6px;
  outline: 0;
  background: #fff;
  color: #1f2937;
  font: inherit;
  font-size: 14px;
}

.fundraising-edit-control input {
  height: 38px;
  padding: 0 12px 14px;
}

.fundraising-edit-control textarea {
  height: 114px;
  min-height: 114px;
  padding: 10px 12px 24px;
  resize: vertical;
  line-height: 1.7;
}

.fundraising-edit-control input:focus,
.fundraising-edit-control textarea:focus,
.fundraising-edit-settings-card input:focus,
.fundraising-edit-settings-card textarea:focus,
.fundraising-edit-settings-card select:focus {
  border-color: #ff8f8f;
  box-shadow: 0 0 0 3px rgba(255, 45, 45, 0.08);
}

.fundraising-edit-control em {
  position: absolute;
  right: 9px;
  bottom: 5px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
}

.fundraising-edit-description {
  min-height: 138px;
  align-items: start;
  padding-top: 12px;
}

.fundraising-edit-description > span:first-child {
  padding-top: 5px;
}

.fundraising-edit-gallery {
  min-height: 150px;
  padding: 10px 12px;
}

.fundraising-edit-gallery h2,
.fundraising-edit-share-preview h2,
.fundraising-edit-settings-card h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: #111827;
  font-size: 15px;
  font-weight: 700;
}

.fundraising-edit-gallery h2 i {
  width: 3px;
  height: 17px;
  border-radius: 2px;
  background: var(--fundraising-edit-red);
}

.fundraising-edit-gallery-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1.08fr) minmax(90px, .84fr);
  gap: 8px;
  align-items: center;
}

.fundraising-edit-gallery figure {
  position: relative;
  width: 100%;
  height: 97px;
  margin: 0;
  overflow: hidden;
  border-radius: 7px;
  background: #e2e8f0;
}

.fundraising-edit-gallery figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fundraising-edit-gallery figure > button {
  position: absolute;
  top: 5px;
  right: 5px;
  display: grid;
  width: 23px;
  height: 23px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.72);
  color: #fff;
  font-size: 19px;
  line-height: 1;
}

.fundraising-edit-gallery figure > button svg {
  width: 16px;
  height: 16px;
}

.fundraising-edit-gallery-add {
  display: none;
  height: 97px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px dashed #fca5a5;
  border-radius: 7px;
  color: #ef4444;
  cursor: pointer;
  font-size: 11px;
}

.fundraising-edit-gallery-add svg {
  width: 22px;
  height: 22px;
}

.fundraising-edit-v2.is-gallery-expanded .fundraising-edit-gallery-add {
  display: flex;
}

.fundraising-edit-v2.is-gallery-expanded .fundraising-edit-gallery-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fundraising-edit-v2.is-gallery-expanded .fundraising-edit-gallery-meta {
  grid-column: 1 / -1;
  flex-direction: row;
  justify-content: space-between;
}

.fundraising-edit-gallery-meta {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 13px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.4;
}

.fundraising-edit-gallery-meta b {
  color: #475569;
}

.fundraising-edit-gallery-meta button {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 8px;
  border: 1px solid #ff8b8b;
  border-radius: 6px;
  background: #fff;
  color: var(--fundraising-edit-red);
  font: inherit;
  font-size: 12px;
  white-space: nowrap;
}

.fundraising-edit-gallery-meta button svg {
  width: 15px;
  height: 15px;
}

.fundraising-edit-share-preview {
  min-height: 108px;
  padding: 7px 12px;
}

.fundraising-edit-share-preview h2 {
  margin-bottom: 5px;
}

.fundraising-share-mark {
  position: relative;
  display: inline-grid;
  width: 20px;
  height: 20px;
  place-items: center;
  flex: 0 0 auto;
}

.fundraising-share-mark.moments {
  border-radius: 50%;
  background: conic-gradient(#ff3b30 0 12%, #ffcc00 12% 25%, #34c759 25% 38%, #00b7ff 38% 52%, #5856d6 52% 67%, #af52de 67% 82%, #ff2d55 82%);
}

.fundraising-share-mark.moments::after {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.fundraising-share-mark.wechat {
  border-radius: 50%;
  background: #22c55e;
  color: #fff;
  font-size: 7px;
  letter-spacing: -2px;
}

.fundraising-edit-share-preview article {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  min-height: 61px;
  align-items: center;
  gap: 12px;
  padding: 3px;
  border: 1px solid #e1e7ee;
  border-radius: 7px;
}

.fundraising-edit-share-preview article > img {
  width: 84px;
  height: 56px;
  border-radius: 6px;
  object-fit: cover;
}

.fundraising-edit-share-preview article strong,
.fundraising-edit-share-preview article p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

.fundraising-edit-share-preview article strong {
  margin-bottom: 4px;
  font-size: 14px;
  line-height: 1.35;
  -webkit-line-clamp: 1;
}

.fundraising-edit-share-preview article p {
  margin: 0;
  color: #64748b;
  font-size: 11px;
  line-height: 1.55;
  -webkit-line-clamp: 2;
}

.fundraising-edit-loaded {
  display: flex;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #fee2e2;
  border-radius: 8px;
  background: #fff3f3;
  color: #c2413a;
  font-size: 12px;
}

.fundraising-edit-loaded span {
  display: grid;
  width: 14px;
  height: 14px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 700;
}

.fundraising-edit-settings-card {
  min-height: 520px;
  padding: 18px 14px;
}

.fundraising-edit-settings-card h2 {
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e9ef;
  font-size: 18px;
}

.fundraising-edit-settings-card > label,
.fundraising-edit-settings-grid label {
  display: grid;
  gap: 7px;
  margin-bottom: 15px;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
}

.fundraising-edit-settings-card input,
.fundraising-edit-settings-card select {
  min-height: 42px;
  padding: 0 11px;
}

.fundraising-edit-settings-card textarea {
  min-height: 120px;
  padding: 10px 11px;
  line-height: 1.65;
  resize: vertical;
}

.fundraising-edit-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.fundraising-edit-switches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.fundraising-edit-switches label {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #e1e7ee;
  border-radius: 6px;
  color: #475569;
  font-size: 12px;
}

.fundraising-edit-switches input {
  width: 17px;
  min-height: 17px;
  margin: 0;
  accent-color: var(--fundraising-edit-red);
}

.fundraising-edit-preview-link {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid #ff8b8b;
  border-radius: 6px;
  color: var(--fundraising-edit-red);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

@media (max-width: 380px) {
  .fundraising-edit-header {
    grid-template-columns: 38px minmax(0, 1fr) 98px;
    padding: 0 8px;
  }

  .fundraising-edit-header h1 {
    font-size: 16px;
  }

  .fundraising-edit-header > button {
    padding: 0 10px;
    font-size: 13px;
  }

  .fundraising-edit-section-tabs button {
    font-size: 10px;
  }

  .fundraising-edit-cover-row {
    grid-template-columns: 67px 98px minmax(0, 1fr);
  }

  .fundraising-edit-cover-upload {
    width: 98px;
    height: 98px;
  }

  .fundraising-edit-field {
    grid-template-columns: 67px minmax(0, 1fr);
  }

  .fundraising-edit-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fundraising-edit-gallery-meta {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: space-between;
  }
}

/* Page 72: V2 fundraising invoice management */
body.admin-body.fundraising-invoices-body {
  min-width: 0;
  padding: 0 !important;
  background: #edf1f6;
  color: #111827;
  scrollbar-width: none;
}

body.admin-body.fundraising-invoices-body::-webkit-scrollbar {
  display: none;
}

body.admin-body.fundraising-invoices-body .admin-topbar,
body.admin-body.fundraising-invoices-body .admin-sidebar {
  display: none !important;
}

body.admin-body.fundraising-invoices-body .admin-shell {
  display: block;
  min-height: 100vh;
}

body.admin-body.fundraising-invoices-body .admin-main {
  width: min(100%, 426px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 !important;
  background: #f7f9fc;
  box-shadow: 0 0 30px rgba(30, 41, 59, 0.08);
}

.fundraising-invoices-v2 {
  --invoice-red: #ff2428;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background: #f7f9fc;
  font-family: var(--font-brand);
}

.fundraising-invoices-v2 *,
.fundraising-invoices-v2 *::before,
.fundraising-invoices-v2 *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.fundraising-invoices-v2 svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fundraising-invoices-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  height: 50px;
  padding: 0 8px;
  border-bottom: 1px solid #e5e9ef;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(12px);
}

.fundraising-invoices-header a,
.fundraising-invoices-header > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: #101827;
}

.fundraising-invoices-header svg {
  width: 25px;
  height: 25px;
  stroke-width: 2.3;
}

.fundraising-invoices-header h1 {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.fundraising-invoices-main {
  padding: 12px 13px 24px;
}

.fundraising-invoices-hero {
  position: relative;
  height: 103px;
  overflow: hidden;
  border-radius: 15px;
  background: #fff3f3;
  box-shadow: 0 5px 16px rgba(197, 71, 71, 0.12);
}

.fundraising-invoices-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fundraising-invoices-hero div {
  position: relative;
  z-index: 1;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  padding: 0 21px;
}

.fundraising-invoices-hero h2 {
  max-width: 54%;
  margin: 0 0 7px;
  color: #101827;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.1;
}

.fundraising-invoices-hero p {
  max-width: 57%;
  margin: 0;
  color: #58677d;
  font-size: 15px;
  line-height: 1.35;
  white-space: nowrap;
}

.fundraising-invoices-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}

.fundraising-invoices-metrics article {
  display: grid;
  min-width: 0;
  height: 76px;
  grid-template-columns: 21px minmax(0, 1fr);
  grid-template-rows: 28px 1fr;
  align-items: center;
  padding: 9px 8px 6px;
  border: 1px solid #e7ebf0;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(27, 45, 74, 0.06);
}

.fundraising-invoices-metrics .metric-icon {
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.fundraising-invoices-metrics .metric-icon svg {
  width: 14px;
  height: 14px;
  stroke-width: 2;
}

.fundraising-invoices-metrics .metric-icon.total,
.fundraising-invoices-metrics .metric-icon.amount {
  background: #ff444b;
}

.fundraising-invoices-metrics .metric-icon.pending {
  background: #ff8400;
}

.fundraising-invoices-metrics .metric-icon.issued {
  background: #25b86b;
}

.fundraising-invoices-metrics p {
  min-width: 0;
  margin: 0;
  color: #5f6d82;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

.fundraising-invoices-metrics strong {
  grid-column: 1 / -1;
  align-self: end;
  margin: 0;
  color: #ff2027;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.fundraising-invoices-metrics article:nth-child(2) strong {
  color: #ff7800;
}

.fundraising-invoices-metrics article:nth-child(3) strong {
  color: #20ad63;
}

.fundraising-invoices-metrics article:last-child strong {
  font-size: 15px;
}

.fundraising-invoices-alert {
  margin-top: 12px;
  padding: 9px 12px;
  border-radius: 7px;
  font-size: 13px;
}

.fundraising-invoices-alert.success {
  border: 1px solid #a7e2c1;
  background: #edfbf3;
  color: #15834c;
}

.fundraising-invoices-alert.error {
  border: 1px solid #ffc0c0;
  background: #fff1f1;
  color: #d51d27;
}

.fundraising-invoices-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.fundraising-invoice-card {
  overflow: hidden;
  padding: 12px;
  border: 1px solid #edf0f4;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 15px rgba(27, 45, 74, 0.07);
}

.fundraising-invoice-card > header {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 43px;
}

.fundraising-invoice-avatar {
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  border: 2px solid #f1f4f7;
  border-radius: 50%;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(145deg, #8aa6c7, #3a5f88);
}

.fundraising-invoice-avatar.tone-2 {
  background: linear-gradient(145deg, #dc9f8c, #a85451);
}

.fundraising-invoice-avatar.tone-3 {
  background: linear-gradient(145deg, #69b9aa, #27776f);
}

.fundraising-invoice-avatar.tone-4 {
  background: linear-gradient(145deg, #c99db4, #87566e);
}

.fundraising-invoice-card > header div {
  min-width: 0;
}

.fundraising-invoice-card h3 {
  margin: 0 0 5px;
  overflow: hidden;
  color: #111827;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fundraising-invoice-card > header p {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 4px;
  margin: 0;
  overflow: hidden;
  color: #66758b;
  font-size: 12px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fundraising-invoice-card > header p svg {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
}

.fundraising-invoice-status {
  display: inline-flex;
  min-width: 54px;
  height: 23px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid #ffd293;
  border-radius: 999px;
  background: #fffaf0;
  color: #f47b00;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.fundraising-invoice-status.issued {
  border-color: #a8e4be;
  background: #effbf3;
  color: #19a357;
}

.fundraising-invoice-status.rejected {
  border-color: #d9dee6;
  background: #f7f8fa;
  color: #7a8799;
}

.fundraising-invoice-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 9px 0 0;
  overflow: hidden;
  border: 1px solid #e1e6ed;
  border-radius: 8px;
}

.fundraising-invoice-card dl div {
  min-width: 0;
  padding: 7px 13px 6px;
}

.fundraising-invoice-card dl div:nth-child(2n) {
  border-left: 1px solid #e4e8ee;
}

.fundraising-invoice-card dl div:nth-child(n + 3) {
  border-top: 1px solid #e4e8ee;
}

.fundraising-invoice-card dt {
  margin: 0 0 5px;
  color: #68778d;
  font-size: 12px;
  line-height: 1.2;
}

.fundraising-invoice-card dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #172033;
  font-size: 14px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fundraising-invoice-card dd.amount {
  color: #ff2027;
  font-size: 16px;
  font-weight: 700;
}

.fundraising-invoice-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 9px;
}

.fundraising-invoice-actions form,
.fundraising-invoice-actions button {
  width: 100%;
}

.fundraising-invoice-actions button[hidden] {
  display: none !important;
}

.fundraising-invoice-actions button,
.fundraising-invoice-view {
  display: flex;
  height: 33px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 7px;
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}

.fundraising-invoice-actions button.primary {
  border: 0;
  background: linear-gradient(90deg, #ff4939, #ff1f21);
  color: #fff;
  box-shadow: 0 5px 12px rgba(255, 37, 40, 0.18);
}

.fundraising-invoice-actions button.secondary {
  border: 1px solid #d2d9e3;
  background: #fff;
  color: #58677c;
}

.fundraising-invoice-actions button:disabled {
  opacity: 0.7;
}

.fundraising-invoice-actions svg,
.fundraising-invoice-view svg {
  width: 18px;
  height: 18px;
}

.fundraising-invoice-view {
  margin-top: 9px;
  border: 1px solid var(--invoice-red);
  color: var(--invoice-red);
}

.fundraising-invoice-view.unavailable {
  border-color: #d5dbe4;
  color: #8793a3;
}

.fundraising-invoices-empty {
  padding: 38px 20px;
  border: 1px dashed #dce2ea;
  border-radius: 12px;
  background: #fff;
  text-align: center;
}

.fundraising-invoices-empty > span {
  display: grid;
  width: 48px;
  height: 48px;
  margin: 0 auto 10px;
  place-items: center;
  border-radius: 50%;
  background: #fff0f0;
  color: #ff3438;
  font-size: 18px;
  font-weight: 700;
}

.fundraising-invoices-empty h3 {
  margin: 0 0 6px;
  font-size: 16px;
}

.fundraising-invoices-empty p {
  margin: 0;
  color: #778397;
  font-size: 13px;
}

@media (max-width: 360px) {
  .fundraising-invoices-main {
    padding-inline: 10px;
  }

  .fundraising-invoices-metrics {
    gap: 4px;
  }

  .fundraising-invoices-metrics article {
    padding-inline: 5px;
  }

  .fundraising-invoices-metrics p {
    font-size: 10px;
  }

  .fundraising-invoice-card > header {
    grid-template-columns: 40px minmax(0, 1fr) auto;
  }

  .fundraising-invoice-avatar {
    width: 39px;
    height: 39px;
  }
}

/* Page 56: site administrator settings */
body.admin-body.site-admin-settings-body {
  min-width: 0;
  padding: 0 !important;
  background: #f6f7fb;
  color: #131827;
}

body.admin-body.site-admin-settings-body .admin-topbar,
body.admin-body.site-admin-settings-body .admin-sidebar {
  display: none !important;
}

body.admin-body.site-admin-settings-body .admin-shell {
  display: block;
  min-height: 100vh;
}

body.admin-body.site-admin-settings-body .admin-main {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0 !important;
  background: #f6f7fb;
}

.site-admin-settings-v2 {
  --site-admin-blue: #4d54ef;
  width: 100%;
  min-height: 100vh;
  background: #f6f7fb;
  font-family: var(--font-brand);
}

.site-admin-settings-v2 *,
.site-admin-settings-v2 *::before,
.site-admin-settings-v2 *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.site-admin-settings-v2 svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-admin-settings-header {
  display: grid;
  grid-template-columns: 180px 1fr 180px;
  align-items: center;
  height: 64px;
  padding: 0 28px;
  border-bottom: 1px solid #e6e8ee;
  background: #fff;
}

.site-admin-settings-header > a {
  display: inline-flex;
  width: max-content;
  height: 40px;
  align-items: center;
  gap: 8px;
  color: #151a28;
  font-size: 16px;
  text-decoration: none;
}

.site-admin-settings-header > a svg {
  width: 20px;
  height: 20px;
  stroke-width: 2.2;
}

.site-admin-settings-header h1 {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.site-admin-settings-main {
  width: min(calc(100% - 48px), 1064px);
  margin: 20px auto 36px;
}

.site-admin-settings-notice,
.site-admin-settings-alert {
  display: flex;
  min-height: 54px;
  align-items: center;
  gap: 13px;
  padding: 0 18px;
  border: 1px solid #b7c8ff;
  border-radius: 9px;
  background: #f2f5ff;
  color: #3152b5;
}

.site-admin-settings-notice svg {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  color: #4d54ef;
}

.site-admin-settings-notice p,
.site-admin-settings-alert {
  margin: 0;
  font-size: 15px;
}

.site-admin-settings-alert {
  min-height: 44px;
  margin-top: 12px;
}

.site-admin-settings-alert.success {
  border-color: #a6dfbd;
  background: #effbf4;
  color: #16854d;
}

.site-admin-settings-alert.error {
  border-color: #ffc2c2;
  background: #fff2f2;
  color: #d72632;
}

.site-admin-settings-card {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid #e3e6ec;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(33, 42, 67, 0.08);
}

.site-admin-settings-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 64px;
  border-bottom: 1px solid #e3e6ec;
}

.site-admin-settings-tabs a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  color: #465168;
  font-size: 17px;
  text-decoration: none;
}

.site-admin-settings-tabs a svg {
  width: 23px;
  height: 23px;
}

.site-admin-settings-tabs a.active {
  color: var(--site-admin-blue);
}

.site-admin-settings-tabs a.active::after {
  position: absolute;
  right: 22px;
  bottom: -1px;
  left: 22px;
  height: 3px;
  background: var(--site-admin-blue);
  content: "";
}

.site-admin-settings-content {
  padding: 22px 30px 20px;
}

.site-admin-settings-content h2 {
  margin: 0 0 11px;
  color: #171c2b;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
}

.site-admin-global {
  border-bottom: 1px solid #e3e6ec;
}

.site-admin-feature-row {
  display: grid;
  min-height: 70px;
  grid-template-columns: 50px minmax(0, 1fr) 56px;
  align-items: center;
  gap: 13px;
  border-top: 1px solid #edf0f4;
  cursor: pointer;
}

.site-admin-feature-row:first-of-type {
  border-top: 0;
}

.site-admin-feature-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: #f4f5ff;
  color: var(--site-admin-blue);
}

.site-admin-feature-icon.green {
  background: #effbf5;
  color: #10aa59;
}

.site-admin-feature-icon svg {
  width: 28px;
  height: 28px;
}

.site-admin-feature-row > span:nth-child(2) {
  display: grid;
  gap: 4px;
}

.site-admin-feature-row strong {
  color: #1c2230;
  font-size: 15px;
  font-weight: 600;
}

.site-admin-feature-row small {
  color: #6c778c;
  font-size: 13px;
}

.site-admin-switch {
  position: relative;
  width: 50px;
  height: 28px;
}

.site-admin-switch input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.site-admin-switch i {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #cbd2df;
  transition: background 0.2s ease;
}

.site-admin-switch i::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 5px rgba(21, 28, 45, 0.22);
  content: "";
  transition: transform 0.2s ease;
}

.site-admin-switch input:checked + i {
  background: linear-gradient(90deg, #545aed, #3f56e9);
}

.site-admin-switch input:checked + i::after {
  transform: translateX(22px);
}

.site-admin-switch input:focus-visible + i {
  outline: 3px solid rgba(77, 84, 239, 0.2);
}

.site-admin-grant,
.site-admin-current {
  padding-top: 20px;
}

.site-admin-search {
  display: grid;
  width: 555px;
  height: 48px;
  grid-template-columns: 1fr 48px;
  overflow: hidden;
  border: 2px solid var(--site-admin-blue);
  border-radius: 8px;
  background: #fff;
}

.site-admin-search input {
  min-width: 0;
  padding: 0 15px;
  border: 0;
  outline: 0;
  color: #202739;
  font: inherit;
  font-size: 14px;
}

.site-admin-search input::placeholder {
  color: #8b95a8;
}

.site-admin-search button {
  display: grid;
  border: 0;
  background: #fff;
  color: #59657a;
  place-items: center;
}

.site-admin-search button svg {
  width: 19px;
  height: 19px;
}

.site-admin-candidates {
  display: grid;
  width: 555px;
  gap: 7px;
  margin-top: 2px;
}

.site-admin-candidates article {
  display: grid;
  min-height: 66px;
  grid-template-columns: 45px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 8px 13px;
  border: 1px solid #e2e6ed;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 3px 9px rgba(38, 48, 73, 0.05);
}

.site-admin-avatar {
  display: grid;
  width: 38px;
  height: 38px;
  overflow: hidden;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #6c73f0, #4148d8);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.site-admin-avatar.candidate {
  background: linear-gradient(145deg, #c99a89, #815e55);
}

.site-admin-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-admin-candidates article > span:nth-child(2) {
  display: grid;
  gap: 3px;
}

.site-admin-candidates strong {
  font-size: 14px;
}

.site-admin-candidates small {
  color: #67748a;
  font-size: 12px;
}

.site-admin-candidates button {
  height: 38px;
  padding: 0 19px;
  border: 1px solid var(--site-admin-blue);
  border-radius: 7px;
  background: #fff;
  color: var(--site-admin-blue);
  font: inherit;
  font-size: 14px;
}

.site-admin-candidate-empty {
  padding: 16px;
  border: 1px dashed #d8dde7;
  border-radius: 7px;
  color: #7a8598;
  font-size: 13px;
  text-align: center;
}

.site-admin-current {
  margin-top: 8px;
  border-top: 1px solid #e3e6ec;
}

.site-admin-current-list article {
  display: grid;
  min-height: 57px;
  grid-template-columns: 42px 170px 180px 180px 1fr auto;
  align-items: center;
  gap: 10px;
  border-top: 1px solid #edf0f4;
  color: #667187;
  font-size: 13px;
}

.site-admin-current-list article:first-child {
  border-top: 0;
}

.site-admin-current-list article > strong {
  overflow: hidden;
  color: #202638;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-admin-current-list button {
  display: inline-flex;
  height: 36px;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid #ff3743;
  border-radius: 7px;
  background: #fff;
  color: #ec2532;
  font: inherit;
  font-size: 13px;
}

.site-admin-current-list button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.site-admin-current-list button svg {
  width: 17px;
  height: 17px;
}

.site-admin-settings-save {
  display: flex;
  width: 323px;
  height: 50px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 18px auto 0;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(90deg, #5359ee, #3e52e9);
  color: #fff;
  box-shadow: 0 7px 15px rgba(69, 80, 232, 0.2);
  font: inherit;
  font-size: 17px;
  font-weight: 500;
}

.site-admin-settings-save svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 760px) {
  .site-admin-settings-header {
    grid-template-columns: 74px 1fr 74px;
    height: 56px;
    padding: 0 10px;
  }

  .site-admin-settings-header > a span {
    display: none;
  }

  .site-admin-settings-header h1 {
    font-size: 18px;
  }

  .site-admin-settings-main {
    width: calc(100% - 24px);
    margin-top: 12px;
  }

  .site-admin-settings-notice {
    padding: 10px 13px;
  }

  .site-admin-settings-card {
    margin-top: 12px;
  }

  .site-admin-settings-content {
    padding: 18px 15px;
  }

  .site-admin-settings-tabs a {
    font-size: 14px;
  }

  .site-admin-search,
  .site-admin-candidates {
    width: 100%;
  }

  .site-admin-current-list article {
    grid-template-columns: 42px 1fr auto;
    padding: 10px 0;
  }

  .site-admin-current-list article > span:nth-of-type(n + 2) {
    grid-column: 2;
  }

  .site-admin-current-list article form {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  .site-admin-settings-save {
    width: 100%;
  }
}

/* Pages 65 and 71: V2 public project progress */
body.progress-h5,
body.progress-detail-h5 {
  min-width: 0;
  padding: 0 !important;
  background: #f5f7fa;
  color: #111827;
  scrollbar-width: none;
}

body.progress-h5::-webkit-scrollbar,
body.progress-detail-h5::-webkit-scrollbar {
  display: none;
}

body.progress-h5 .topbar,
body.progress-detail-h5 .topbar,
body.progress-h5 .app-tabbar,
body.progress-detail-h5 .app-tabbar {
  display: none !important;
}

body.progress-h5 .progress-mobile-page,
body.progress-detail-h5 .progress-mobile-page {
  width: min(100%, 426px);
  max-width: 426px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 0 24px;
  background: #f5f7fa;
  box-shadow: 0 0 28px rgba(30, 41, 59, 0.07);
  font-family: var(--font-brand);
}

body.progress-h5 .progress-mobile-page {
  width: min(100%, 430px);
  max-width: 430px;
  box-shadow: none;
}

body.progress-h5 .progress-mobile-page *,
body.progress-detail-h5 .progress-mobile-page *,
body.progress-h5 .progress-mobile-page *::before,
body.progress-detail-h5 .progress-mobile-page *::before,
body.progress-h5 .progress-mobile-page *::after,
body.progress-detail-h5 .progress-mobile-page *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

body.progress-h5 .progress-mobile-heading,
body.progress-detail-h5 .progress-mobile-heading {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  width: 100%;
  min-height: 60px;
  grid-template-columns: 52px 1fr 52px;
  align-items: center;
  margin: 0;
  padding: 0 8px;
  border-bottom: 1px solid #e4e8ee;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
}

body.progress-h5 .progress-mobile-heading h1,
body.progress-detail-h5 .progress-mobile-heading h1 {
  margin: 0;
  color: #111827;
  font-size: 21px;
  font-weight: 750;
  line-height: 1;
  text-align: center;
}

body.progress-h5 .progress-back-link,
body.progress-detail-h5 .progress-back-link {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: #111827;
}

body.progress-h5 .progress-back-link svg,
body.progress-detail-h5 .progress-back-link svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.progress-h5 .progress-card-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 16px 18px 0;
}

body.progress-h5 .progress-story-card {
  overflow: hidden;
  border: 1px solid #e8ebf0;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 15px rgba(28, 42, 65, 0.08);
}

body.progress-h5 .progress-story-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

body.progress-h5 .progress-story-media {
  display: block;
  padding: 5px 5px 0;
}

body.progress-h5 .progress-story-media img {
  display: block;
  width: 100%;
  aspect-ratio: 2.28 / 1;
  border-radius: 9px;
  object-fit: cover;
}

body.progress-h5 .progress-story-body {
  display: grid;
  gap: 7px;
  padding: 13px 12px 12px;
}

body.progress-h5 .progress-story-body h2 {
  position: relative;
  margin: 0;
  padding-left: 13px;
  color: #111827;
  font-size: 18px;
  font-weight: 720;
  line-height: 1.35;
}

body.progress-h5 .progress-story-body h2::before {
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 0;
  width: 4px;
  border-radius: 999px;
  background: #ff443c;
  content: "";
}

body.progress-h5 .progress-story-summary {
  display: -webkit-box;
  overflow: hidden;
  color: #5e6c82;
  font-size: 12px;
  line-height: 1.2;
  margin-left: 13px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.progress-h5 .progress-story-meta {
  margin-left: 13px;
}

body.progress-h5 .progress-story-meta,
body.progress-detail-h5 .progress-story-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #67758a;
  font-size: 13px;
  line-height: 1.2;
}

body.progress-h5 .progress-story-meta > span,
body.progress-detail-h5 .progress-story-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body.progress-h5 .progress-story-meta i,
body.progress-detail-h5 .progress-story-meta i {
  color: #9aa4b3;
  font-style: normal;
}

body.progress-h5 .progress-story-meta svg,
body.progress-detail-h5 .progress-story-meta svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.progress-h5 .progress-story-card.empty {
  padding: 44px 20px;
  text-align: center;
}

body.progress-detail-h5 .progress-detail-card {
  overflow: hidden;
  margin: 14px 14px 0;
  padding: 0;
  border: 1px solid #e7eaf0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(28, 42, 65, 0.08);
}

body.progress-detail-h5 .progress-detail-hero {
  display: block;
  padding: 5px 5px 0;
}

body.progress-detail-h5 .progress-detail-hero img {
  display: block;
  width: 100%;
  margin: 0;
  aspect-ratio: 2.08 / 1;
  border-radius: 10px;
  object-fit: cover;
}

body.progress-detail-h5 .progress-detail-header,
body.progress-detail-h5 .progress-detail-prose,
body.progress-detail-h5 .progress-detail-slogan {
  margin-right: 20px;
  margin-left: 20px;
}

body.progress-detail-h5 .progress-detail-header {
  display: grid;
  gap: 10px;
  padding: 16px 0 14px;
  border-bottom: 1px solid #e3e7ed;
}

body.progress-detail-h5 .progress-detail-header h2 {
  margin: 0;
  color: #111827;
  font-size: 24px;
  font-weight: 750;
  line-height: 1.32;
}

body.progress-detail-h5 .progress-detail-prose {
  padding: 14px 0 11px;
  color: #20293a;
  font-size: 14px;
  line-height: 1.72;
  white-space: normal;
}

body.progress-detail-h5 .progress-detail-prose p,
body.progress-detail-h5 .progress-detail-prose ul,
body.progress-detail-h5 .progress-detail-prose ol {
  margin: 0 0 0.72em;
}

body.progress-detail-h5 .progress-detail-prose p:last-child {
  font-size: 13.5px;
}

body.progress-detail-h5 .progress-detail-prose strong {
  color: #ff312f;
  font-weight: 700;
}

body.progress-detail-h5 .progress-detail-prose img {
  display: block;
  width: 100%;
  aspect-ratio: 2.15 / 1;
  margin: 12px 0 13px;
  border-radius: 10px;
  object-fit: cover;
}

body.progress-detail-h5 .progress-detail-prose a {
  color: #e83434;
}

body.progress-detail-h5 .progress-detail-slogan {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 11px 0 13px;
  border-top: 1px solid #e3e7ed;
  color: #718095;
  font-size: 13.5px;
  line-height: 1.2;
  text-align: center;
}

body.progress-detail-h5 .progress-detail-slogan svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: #ff3d3b;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 360px) {
  body.progress-h5 .progress-card-list {
    padding-right: 12px;
    padding-left: 12px;
  }

  body.progress-detail-h5 .progress-detail-card {
    margin-right: 12px;
    margin-left: 12px;
  }

  body.progress-detail-h5 .progress-detail-header h2 {
    font-size: 23px;
  }
}

@media (max-width: 760px) {
  body.progress-manage-admin-v2 .admin-topbar,
  body.progress-manage-admin-v2 .admin-sidebar,
  body.progress-manage-admin-v2 .admin-workspace-bar,
  body.progress-manage-admin-v2 > .admin-success,
  body.progress-manage-admin-v2 .progress-manage-desktop {
    display: none !important;
  }

  body.progress-manage-admin-v2 .admin-shell,
  body.progress-manage-admin-v2 .admin-main {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* V2 mobile certificate configuration */
.certificate-config-v2 {
  display: none;
}

@media (max-width: 760px) {
  body.certificate-config-admin-v2 {
    min-width: 0;
    background: #f5f7fb;
    color: #111827;
  }

  body.certificate-config-admin-v2 .admin-topbar,
  body.certificate-config-admin-v2 .admin-sidebar,
  body.certificate-config-admin-v2 .admin-workspace-bar,
  body.certificate-config-admin-v2 > .admin-success,
  body.certificate-config-admin-v2 .certificate-config-desktop {
    display: none !important;
  }

  body.certificate-config-admin-v2 .admin-shell,
  body.certificate-config-admin-v2 .admin-main {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f5f7fb !important;
  }

  body.certificate-config-admin-v2 .certificate-config-v2 {
    display: block;
    overflow: clip;
    min-height: 100vh;
    background: #f5f7fb !important;
    background-image: none !important;
  }

  .certificate-config-v2-header {
    position: sticky;
    z-index: 30;
    top: 0;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
    height: 48px;
    padding: 0 14px;
    border-bottom: 1px solid #e3e7ed;
    background: rgba(255, 255, 255, 0.98);
  }

  .certificate-config-v2-header > a {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #111827;
  }

  .certificate-config-v2-header svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.4;
  }

  .certificate-config-v2-header h1 {
    margin: 0;
    color: #101827;
    font-size: 22px;
    font-weight: 760;
    line-height: 1;
    text-align: center;
  }

  .certificate-config-v2-notice {
    margin: 10px 12px 0;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 13px;
  }

  .certificate-config-v2-notice.success {
    background: #eaf8ee;
    color: #218a45;
  }

  .certificate-config-v2-notice.error {
    background: #fff0ef;
    color: #d9322f;
  }

  .certificate-config-v2-main {
    display: grid;
    gap: 5px;
    padding: 10px 12px 8px;
  }

  .certificate-config-v2-card {
    overflow: hidden;
    border: 1px solid #e3e7ed;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(44, 58, 78, 0.06);
  }

  .certificate-config-v2-section-title {
    display: flex;
    min-height: 33px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 10px 4px 20px;
  }

  .certificate-config-v2-section-title h2 {
    position: relative;
    margin: 0;
    color: #151d2b;
    font-size: 17px;
    font-weight: 730;
    line-height: 1.2;
  }

  .certificate-config-v2-section-title h2::before {
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: -11px;
    width: 3px;
    border-radius: 999px;
    background: #ff3734;
    content: "";
  }

  .certificate-config-v2-section-title > a {
    color: #e63835;
    font-size: 12.5px;
    text-decoration: none;
  }

  .certificate-config-v2-switch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #657286;
    font-size: 12px;
    font-weight: 500;
  }

  .certificate-config-v2-switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
  }

  .certificate-config-v2-switch > span {
    position: relative;
    width: 35px;
    height: 20px;
    border-radius: 999px;
    background: #d9dee7;
    transition: background 0.18s ease;
  }

  .certificate-config-v2-switch > span::after {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(21, 29, 43, 0.25);
    content: "";
    transition: transform 0.18s ease;
  }

  .certificate-config-v2-switch input:checked + span {
    background: #ff3935;
  }

  .certificate-config-v2-switch input:checked + span::after {
    transform: translateX(15px);
  }

  .certificate-config-v2-switch.icon-only {
    min-width: 42px;
    justify-content: flex-end;
  }

  .certificate-config-v2-upload-card .image-upload-field {
    padding: 4px 10px 10px;
  }

  .certificate-config-v2-upload-card .upload-preview,
  .certificate-config-v2-upload-card .upload-status {
    display: none;
  }

  .certificate-config-v2-dropzone {
    position: relative;
    display: grid;
    min-height: 111px;
    place-items: center;
    align-content: center;
    gap: 4px;
    border: 1px dashed #ff4a46;
    border-radius: 8px;
    background: #fffefe;
    color: #1c2636;
    text-align: center;
    cursor: pointer;
  }

  .certificate-config-v2-dropzone input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
  }

  .certificate-config-v2-dropzone svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #f04440;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .certificate-config-v2-dropzone strong {
    font-size: 14px;
  }

  .certificate-config-v2-dropzone span {
    color: #7a8698;
    font-size: 11.5px;
  }

  .certificate-config-v2-canvas-card {
    padding-bottom: 19px;
  }

  .certificate-config-v2 .certificate-workbench-stage {
    overflow: hidden;
    height: auto;
    min-height: 0;
    margin: 0 10px;
    padding: 8px 15px;
    border-radius: 8px;
    background: #d5d6d8;
  }

  .certificate-config-v2 .certificate-canvas {
    min-height: 0 !important;
    margin: 0 auto;
    border: 0;
    border-radius: 2px;
    background: #fffaf0;
    box-shadow: 0 2px 8px rgba(33, 40, 52, 0.2);
  }

  .certificate-config-v2 .certificate-canvas > img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    object-fit: contain;
  }

  .certificate-config-v2 .certificate-field-marker {
    min-width: 40px;
    min-height: 20px;
    padding: 2px 5px;
    border-color: transparent;
    border-radius: 4px;
    background: transparent;
    box-shadow: none;
  }

  .certificate-config-v2 .certificate-field-marker.is-selected {
    border-style: dashed;
    border-color: #ff7200;
    background: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 0 2px rgba(255, 114, 0, 0.14);
  }

  .certificate-config-v2 .certificate-resize-handle {
    display: none !important;
  }

  .certificate-config-v2 .certificate-canvas.show-ruler::before,
  .certificate-config-v2 .certificate-canvas.show-ruler::after {
    position: absolute;
    z-index: 5;
    background-image: repeating-linear-gradient(90deg, rgba(255, 57, 53, 0.55) 0 1px, transparent 1px 10px);
    content: "";
    pointer-events: none;
  }

  .certificate-config-v2 .certificate-canvas.show-ruler::before {
    top: 0;
    right: 0;
    left: 0;
    height: 6px;
  }

  .certificate-config-v2 .certificate-canvas.show-ruler::after {
    top: 0;
    bottom: 0;
    left: 0;
    width: 6px;
    background-image: repeating-linear-gradient(180deg, rgba(255, 57, 53, 0.55) 0 1px, transparent 1px 10px);
  }

  .certificate-config-v2-text-card {
    padding-bottom: 4px;
  }

  .certificate-config-v2-control-row {
    display: grid;
    min-height: 28px;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin: 0 10px;
    border-top: 1px solid #edf0f4;
    color: #263143;
    font-size: 14px;
  }

  .certificate-config-v2-control-row:first-of-type {
    border-top: 0;
  }

  .certificate-config-v2-color-control {
    display: inline-grid;
    grid-template-columns: 30px auto;
    align-items: center;
    justify-content: end;
    gap: 8px;
    grid-column: 2 / 4;
    min-height: 34px;
    padding: 4px 10px;
    border: 1px solid #dfe4eb;
    border-radius: 7px;
  }

  .certificate-config-v2-color-control input {
    width: 27px;
    height: 27px;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .certificate-config-v2-color-control output {
    min-width: 64px;
    color: #253044;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
  }

  .certificate-config-v2-control-row.font-size input[type="range"] {
    width: 100%;
    accent-color: #ff3935;
  }

  .certificate-config-v2-control-row output {
    min-width: 40px;
    text-align: right;
  }

  .certificate-config-v2-control-row.align {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .certificate-config-v2-segment {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    height: 32px;
    border: 1px solid #dfe4eb;
    border-radius: 7px;
    background: #f7f8fa;
  }

  .certificate-config-v2-segment button {
    border: 0;
    background: transparent;
    color: #586579;
    font: inherit;
  }

  .certificate-config-v2-segment button.active {
    border-radius: 6px;
    background: #ff3935;
    color: #fff;
  }

  .certificate-config-v2-hidden-select {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }

  .certificate-config-v2-control-row.ruler {
    grid-template-columns: 72px 1fr;
  }

  .certificate-config-v2-json-card textarea {
    display: block;
    width: calc(100% - 20px);
    height: 84px;
    margin: 0 10px 10px;
    padding: 11px 12px;
    resize: none;
    border: 0;
    border-radius: 8px;
    background: #1d2025;
    color: #8ee6a3;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 11px;
    line-height: 1.45;
  }

  .certificate-config-v2-footer {
    padding: 0 12px calc(8px + env(safe-area-inset-bottom));
  }

  .certificate-config-v2-footer button {
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    background: #ff3935;
    box-shadow: 0 6px 14px rgba(255, 57, 53, 0.2);
    color: #fff;
    font-size: 17px;
    font-weight: 720;
  }
}

/* Page 67 density and visual parity refinements. */
@media (max-width: 760px) {
  .fundraising-create-v2-header button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
  }

  .fundraising-create-v2-header button svg {
    width: 16px;
    height: 16px;
  }

  .fundraising-create-v2-primary {
    position: relative;
    height: 45px;
  }

  .fundraising-create-v2-primary::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 13px;
    width: 1px;
    height: 20px;
    background: #e7e8eb;
  }

  .fundraising-create-v2-primary button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
  }

  .fundraising-create-v2-primary button svg {
    width: 21px;
    height: 21px;
  }

  .fundraising-create-v2-primary button.active,
  .fundraising-create-v2-primary button.active svg {
    color: #ff2f2a;
  }

  .fundraising-create-v2-tabs {
    height: 58px;
    margin: 0 10px;
    border: 1px solid #e7e8eb;
    border-radius: 7px;
    box-shadow: 0 3px 10px rgba(29, 30, 34, .04);
  }

  .fundraising-create-v2-tabs button {
    display: grid;
    min-width: 80px;
    place-items: center;
    align-content: center;
    gap: 3px;
    padding: 0 6px;
  }

  .fundraising-create-v2-tabs button svg {
    width: 19px;
    height: 19px;
  }

  .fundraising-create-v2-tabs button.active::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 2px;
    background: #ff332e;
  }

  .fundraising-create-v2-content {
    padding-top: 9px;
  }

  .fundraising-create-v2-pane.active {
    gap: 9px;
  }

  .fundraising-create-v2-card.project-card {
    gap: 0;
    padding: 0 12px;
  }

  .fundraising-create-v2-cover {
    grid-template-columns: 76px 86px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 111px;
  }

  .fundraising-create-v2-cover > label {
    padding: 0;
    color: #27282d;
    font-size: 13px;
    font-weight: 700;
  }

  .fundraising-create-v2-cover-drop {
    width: 86px;
  }

  .fundraising-create-v2-cover-drop > svg {
    width: 25px;
    height: 25px;
    color: #f04c47;
  }

  .fundraising-create-v2-cover-size {
    color: #8f929a;
    font-size: 11px;
  }

  .fundraising-create-v2-field.horizontal {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 58px;
    border-top: 1px solid #ececef;
  }

  .fundraising-create-v2-field.horizontal > span {
    color: #27282d;
    font-size: 13px;
    font-weight: 700;
  }

  .fundraising-create-v2-field.horizontal input {
    min-height: 38px;
  }

  .fundraising-create-v2-field.horizontal textarea {
    min-height: 70px;
    margin: 8px 0;
  }

  .fundraising-create-v2-field.horizontal.counter em {
    right: 10px;
    bottom: 14px;
  }

  .fundraising-create-v2-card.detail-card {
    gap: 10px;
    padding: 13px 12px 11px;
  }

  .fundraising-create-v2-card.detail-card h2 {
    position: relative;
    padding-left: 10px;
    font-size: 13px;
  }

  .fundraising-create-v2-card.detail-card h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 3px;
    height: 14px;
    border-radius: 2px;
    background: #ff302b;
  }

  .fundraising-create-v2-detail-drop {
    min-height: 101px;
    border-color: #ffaaa7;
    background: #fffafa;
    color: #ff302b;
  }

  .fundraising-create-v2-detail-drop svg {
    width: 33px;
    height: 33px;
  }

  .fundraising-create-v2-detail-drop > b {
    color: #28292e;
    font-size: 13px;
  }

  .fundraising-create-v2-detail-drop > small {
    color: #777a83;
    font-size: 10px;
  }

  .fundraising-create-v2-detail-preview summary {
    min-height: 38px;
  }

  .fundraising-create-v2-card.fundraising-create-v2-detail-preview {
    min-height: 40px;
    gap: 0;
  }

  .fundraising-create-v2-detail-preview summary > span,
  .fundraising-create-v2-detail-preview summary > b {
    display: inline-flex;
    align-items: center;
    gap: 7px;
  }

  .fundraising-create-v2-detail-preview summary > span {
    color: #26272c;
    font-weight: 700;
  }

  .fundraising-create-v2-detail-preview summary > span svg {
    width: 18px;
    height: 18px;
    color: #ff332e;
  }

  .fundraising-create-v2-detail-preview summary > b {
    border-radius: 5px;
    padding: 6px 8px;
    background: #fff4f3;
    color: #ff332e;
    font-size: 10px;
    font-weight: 600;
  }

  .fundraising-create-v2-detail-preview summary > b svg {
    width: 13px;
    height: 13px;
  }

  .fundraising-create-v2-detail-preview[open] summary > b svg {
    transform: rotate(180deg);
  }

  .social-preview-card {
    gap: 7px;
    margin: 0;
    padding: 10px;
  }

  .social-preview-card:last-child {
    margin-bottom: 10px;
  }

  .social-preview-card h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
  }

  .social-preview-card h2 i {
    display: block;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: conic-gradient(#ff4d48, #ffb329, #34c759, #2f80ed, #9b51e0, #ff4d48);
  }

  .wechat-card h2 i {
    position: relative;
    width: 19px;
    height: 15px;
    border-radius: 50%;
    background: #22bd3c;
  }

  .wechat-card h2 i::after {
    content: "";
    position: absolute;
    right: -3px;
    bottom: -2px;
    width: 10px;
    height: 8px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #22bd3c;
  }

  .fundraising-create-v2-social-row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 10px;
    min-height: 70px;
    align-items: center;
    border: 1px solid #e5e6e9;
    border-radius: 6px;
    padding: 7px;
    background: #fff;
  }

  .fundraising-create-v2-social-row figure {
    width: 88px;
    height: 62px;
    margin: 0;
    border-radius: 5px;
    background: linear-gradient(135deg, #fff5f4, #f9dddc);
    background-position: center;
    background-size: cover;
  }

  .fundraising-create-v2-social-row b {
    display: -webkit-box;
    overflow: hidden;
    color: #25262b;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .fundraising-create-v2-social-row p {
    display: -webkit-box;
    overflow: hidden;
    margin: 5px 0 0;
    color: #71747c;
    font-size: 10px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
}

@media (max-width: 360px) {
  .fundraising-create-v2-cover,
  .fundraising-create-v2-field.horizontal {
    grid-template-columns: 68px minmax(0, 1fr);
  }

  .fundraising-create-v2-cover-size {
    grid-column: 2;
  }

  .fundraising-create-v2-social-row {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .fundraising-create-v2-social-row figure {
    width: 82px;
  }
}

@media (max-width: 760px) {
  body.admin-body.fundraising-create-v2-body {
    padding-bottom: 0;
  }

  body.admin-body.fundraising-create-v2-body .admin-main {
    padding: 0;
  }

  body.admin-body.fundraising-create-v2-body .fundraising-create-v2 {
    width: 100%;
  }
}

/* Page 78: standard activity detail. */
body.activity-standard-detail-h5 {
  min-width: 320px;
  margin: 0;
  padding-bottom: 0;
  overflow-x: hidden;
  background: #e9edf1;
  color: #172033;
  font-family: var(--font-brand);
}

/* Page 48: real fundraising controls and ordered image previews. */
.fundraising-create-toggle-row > input,
.fundraising-create-setting-line > input {
	display: none;
}

.fundraising-create-toggle-row:has(input:not(:checked)) i,
.fundraising-create-setting-line:has(input:not(:checked)) em {
	background: #d8dee8;
	box-shadow: inset 0 0 0 1px #c8cfda;
}

.fundraising-create-toggle-row:has(input:not(:checked)) i::after,
.fundraising-create-setting-line:has(input:not(:checked)) em::after {
	right: 18px;
}

.fundraising-create-image-preview,
.fundraising-create-v2-upload-preview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
}

.fundraising-create-image-preview figure,
.fundraising-create-v2-upload-preview figure {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid #e0e5ee;
	border-radius: 6px;
	background: #f8fafc;
}

.fundraising-create-image-preview figure img,
.fundraising-create-v2-upload-preview figure img {
	display: block;
	width: 100%;
	aspect-ratio: 1.35;
	object-fit: cover;
}

.fundraising-create-image-preview figure div,
.fundraising-create-v2-upload-preview figure div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid #e0e5ee;
}

.fundraising-create-image-preview figure button,
.fundraising-create-v2-upload-preview figure button {
	min-width: 0;
	height: 27px;
	border: 0;
	border-right: 1px solid #e0e5ee;
	background: #fff;
	color: #344054;
	font: inherit;
	font-size: 13px;
}

.fundraising-create-image-preview figure button:last-child,
.fundraising-create-v2-upload-preview figure button:last-child {
	border-right: 0;
	color: #dc2626;
}

.fundraising-create-image-preview figure button:disabled,
.fundraising-create-v2-upload-preview figure button:disabled {
	opacity: .35;
}

.fundraising-create-image-preview .upload-preview-count,
.fundraising-create-v2-upload-preview .upload-preview-count {
	grid-column: 1 / -1;
	color: #667085;
	font-size: 10px;
}

.fundraising-edit-image-order {
	position: absolute;
	left: 5px;
	bottom: 5px;
	display: flex;
	gap: 3px;
}

.fundraising-edit-image-order button {
	display: grid;
	width: 25px;
	height: 25px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	background: rgba(17, 24, 39, .72);
	color: #fff;
	font: inherit;
	font-size: 13px;
}

.button.is-disabled {
	cursor: not-allowed;
	opacity: .62;
}

.activity-standard-detail-page {
  width: min(100%, 852px);
  min-height: 100vh;
  margin: 0 auto;
  padding-bottom: 98px;
  overflow: hidden;
  background: #f8fafb;
  box-shadow: 0 0 34px rgba(15, 23, 42, .12);
}

.standard-detail-hero {
  position: relative;
  aspect-ratio: 852 / 342;
  overflow: hidden;
  background: #d8e9da;
}

.standard-detail-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.standard-detail-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(2, 44, 23, .08));
  pointer-events: none;
}

.standard-detail-hero-copy {
  position: absolute;
  top: 28px;
  left: 24px;
  right: 24px;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 2px;
  color: #075929;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .7);
}

.standard-detail-hero-copy strong {
  font-size: clamp(24px, 5.2vw, 46px);
  font-weight: 950;
}

.standard-detail-hero-copy span {
  font-size: clamp(13px, 2.3vw, 22px);
  font-weight: 850;
}

.standard-detail-organizer {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 80px;
  margin: -10px 20px 0;
  border: 1px solid #e7eaee;
  border-radius: 8px;
  padding: 10px 16px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(15, 23, 42, .1);
}

.standard-detail-organizer-mark {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border: 2px solid #14944a;
  border-radius: 50%;
  color: #14944a;
  font-size: 20px;
  font-weight: 950;
}

.standard-detail-organizer-mark svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.standard-detail-organizer > div {
  min-width: 0;
}

.standard-detail-organizer strong,
.standard-detail-organizer small {
  display: block;
}

.standard-detail-organizer strong {
  overflow: hidden;
  font-size: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.standard-detail-organizer small {
  margin-top: 3px;
  color: #687386;
  font-size: 14px;
}

.standard-detail-organizer > span:last-child {
  color: #7b8494;
  font-size: 32px;
}

.standard-detail-body {
  padding: 26px 30px 42px;
}

.standard-detail-body > h1 {
  margin: 0 0 22px;
  color: #131a2a;
  font-size: clamp(30px, 4.4vw, 42px);
  line-height: 1.16;
}

.standard-detail-facts {
  margin: 0 0 26px;
  border: 1px solid #e2e6ea;
  border-radius: 8px;
  padding: 5px 16px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(15, 23, 42, .07);
}

.standard-detail-facts div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
  min-height: 54px;
  align-items: center;
  border-top: 1px solid #e5e7eb;
}

.standard-detail-facts div:first-child {
  border-top: 0;
}

.standard-detail-facts dt {
  display: flex;
  align-items: center;
  color: #202737;
  font-weight: 850;
}

.standard-detail-facts dt span {
  display: inline-grid;
  flex: 0 0 auto;
  width: 32px;
  place-items: center start;
  color: #f4bd00;
}

.standard-detail-facts dt svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.standard-detail-facts dd {
  min-width: 0;
  margin: 0;
  color: #30394a;
  overflow-wrap: anywhere;
}

.standard-detail-section {
  margin-top: 27px;
}

.standard-detail-section h2 {
  margin: 0 0 12px;
  padding-left: 13px;
  border-left: 4px solid #ffc800;
  color: #182131;
  font-size: 24px;
  line-height: 1.2;
}

.standard-detail-copy,
.standard-detail-copy p {
  color: #30394a;
  font-size: 18px;
  line-height: 1.85;
}

.standard-detail-copy p {
  margin: 0 0 14px;
}

.standard-detail-copy img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.standard-detail-copy table {
  width: 100%;
  border-collapse: collapse;
}

.standard-detail-copy th,
.standard-detail-copy td {
  border: 1px solid #dfe3e8;
  padding: 8px;
}

.standard-detail-story-image {
  display: block;
  width: 100%;
  aspect-ratio: 3.05;
  margin-top: 14px;
  border-radius: 8px;
  object-fit: cover;
}

.standard-detail-section blockquote {
  position: relative;
  margin: 16px 0 0;
  border: 1px solid #f1d683;
  border-radius: 8px;
  padding: 18px 24px 18px 70px;
  background: #fff9df;
  color: #30394a;
  font-size: 17px;
  line-height: 1.65;
}

.standard-detail-section blockquote::before {
  content: "“";
  position: absolute;
  left: 22px;
  top: 8px;
  color: #ffc400;
  font-size: 50px;
  font-weight: 950;
}

.standard-detail-table-wrap {
  overflow-x: auto;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  background: #fff;
}

.standard-detail-table-wrap table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  color: #30394a;
}

.standard-detail-table-wrap th,
.standard-detail-table-wrap td {
  border-right: 1px solid #e0e3e7;
  border-top: 1px solid #e0e3e7;
  padding: 10px 16px;
  text-align: left;
}

.standard-detail-table-wrap th {
  border-top: 0;
  background: #ffc900;
  color: #161616;
  font-weight: 900;
  text-align: center;
}

.standard-detail-table-wrap th:first-child,
.standard-detail-table-wrap td:first-child {
  width: 170px;
  text-align: center;
}

.standard-detail-table-wrap th:last-child,
.standard-detail-table-wrap td:last-child {
  border-right: 0;
}

.standard-detail-notes ul {
  margin: 0;
  padding-left: 24px;
  color: #30394a;
  font-size: 17px;
  line-height: 1.9;
}

.standard-detail-materials a {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #e6e8eb;
  color: #202737;
}

.standard-detail-materials small {
  color: #a07800;
}

.standard-detail-sticky {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 160;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, .85fr);
  gap: 12px;
  width: min(100%, 852px);
  min-height: calc(78px + env(safe-area-inset-bottom));
  padding: 11px 30px calc(11px + env(safe-area-inset-bottom));
  border-top: 1px solid #e1e4e8;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -7px 20px rgba(15, 23, 42, .08);
  transform: translateX(-50%);
}

.standard-detail-sticky.is-single {
  grid-template-columns: 1fr;
}

.standard-detail-sticky a,
.standard-detail-sticky > span {
  display: flex;
  min-width: 0;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 8px;
  font-size: 20px;
  font-weight: 900;
}

.standard-detail-sticky svg {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.standard-detail-register {
  background: #ffd000;
  color: #111;
}

.standard-detail-register.is-disabled {
  background: #e5e7eb;
  color: #7b8494;
}

.standard-detail-share {
  border: 1px solid #b8bec8;
  background: #fff;
  color: #192131;
}

.standard-registration-modal {
  display: none;
}

.standard-registration-modal:target {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: grid;
  place-items: center;
  padding: 18px;
}

.standard-registration-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .62);
  backdrop-filter: blur(2px);
}

.standard-registration-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 15px;
  width: min(100%, 470px);
  max-height: calc(100dvh - 36px);
  overflow-y: auto;
  border-radius: 8px;
  padding: 24px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .3);
}

.standard-registration-card > div {
  display: flex;
  min-height: 36px;
  align-items: center;
  justify-content: space-between;
}

.standard-registration-card h2 {
  margin: 0;
  color: #111827;
  font-size: 24px;
}

.standard-registration-card > div a {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: #f1f3f5;
  color: #4b5563;
  font-size: 27px;
}

.standard-registration-card label:not(.standard-registration-agree) {
  display: grid;
  gap: 6px;
  color: #30394a;
  font-weight: 800;
}

.standard-registration-card input,
.standard-registration-card textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid #cfd5dc;
  border-radius: 8px;
  padding: 10px 13px;
  background: #fff;
  color: #111827;
  font: inherit;
}

.standard-registration-card textarea {
  min-height: 76px;
}

.standard-registration-agree {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 750;
}

.standard-registration-agree input {
  width: 20px;
  min-height: 20px;
  accent-color: #ffc800;
}

.standard-registration-card > button {
  min-height: 54px;
  border: 0;
  border-radius: 8px;
  background: #ffd000;
  color: #111;
  font: inherit;
  font-size: 19px;
  font-weight: 900;
}

/* Page 83: legacy show_mode=0 activity detail. */
body.activity-mode0-detail-h5 {
  min-width: 320px;
  margin: 0;
  padding-bottom: 0;
  overflow-x: hidden;
  background: #e9edf1;
  color: #111827;
  font-family: var(--font-brand);
}

.mode0-detail-topbar {
  position: sticky;
  top: 0;
  z-index: 120;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 58px;
  width: min(100%, 864px);
  min-height: calc(76px + env(safe-area-inset-top));
  margin: 0 auto;
  padding-top: env(safe-area-inset-top);
  align-items: center;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .08);
}

.mode0-detail-topbar a,
.mode0-detail-topbar span {
  display: grid;
  min-height: 52px;
  place-items: center;
  color: #121826;
  font-size: 36px;
}

.mode0-detail-topbar a svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.mode0-detail-topbar span {
  color: #566176;
  font-size: 18px;
  letter-spacing: 2px;
}

.mode0-detail-topbar strong {
  overflow: hidden;
  font-size: clamp(20px, 4.4vw, 36px);
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mode0-detail-page {
  width: min(100%, 864px);
  min-height: 100vh;
  margin: 0 auto;
  padding-bottom: 102px;
  background: #f5f6f8;
  box-shadow: 0 0 34px rgba(15, 23, 42, .12);
}

.mode0-detail-hero {
  position: relative;
  aspect-ratio: 864 / 390;
  overflow: hidden;
  background: #1c140f;
}

.mode0-detail-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mode0-detail-hero > div {
  position: absolute;
  left: 23%;
  right: 23%;
  top: 28%;
  display: grid;
  gap: 7px;
  justify-items: center;
  color: #9f3b0a;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .7);
}

.mode0-detail-hero strong {
  font-size: clamp(18px, 4vw, 34px);
}

.mode0-detail-hero span {
  color: #7f2f09;
  font-size: clamp(11px, 2vw, 18px);
  font-weight: 850;
}

.mode0-detail-heading {
  padding: 38px 48px 24px;
  background: #fff;
}

.mode0-detail-heading h1 {
  margin: 0;
  color: #101623;
  font-size: clamp(32px, 5.4vw, 50px);
  line-height: 1.18;
}

.mode0-detail-heading p {
  margin: 24px 0 0;
  color: #758095;
  font-size: clamp(18px, 3.1vw, 28px);
}

.mode0-detail-heading strong {
  color: #30394a;
}

.mode0-detail-tabs {
  position: sticky;
  top: calc(76px + env(safe-area-inset-top));
  z-index: 100;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 1px solid #dfe3e8;
  background: rgba(255, 255, 255, .98);
}

.mode0-detail-tabs a {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 68px;
  place-items: center;
  color: #394355;
  font-size: clamp(16px, 3vw, 26px);
}

.mode0-detail-tabs a.is-active {
  color: #e7a900;
}

.mode0-detail-tabs a.is-active::after {
  content: "";
  position: absolute;
  left: 38%;
  right: 38%;
  bottom: -1px;
  height: 5px;
  border-radius: 5px 5px 0 0;
  background: #ffc400;
}

.mode0-detail-content {
  display: grid;
  gap: 38px;
  padding: 42px 38px 56px;
}

.mode0-detail-card {
  scroll-margin-top: 154px;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  padding: 38px 42px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(15, 23, 42, .06);
}

.mode0-detail-card h2 {
  margin: 0 0 28px;
  color: #111827;
  font-size: clamp(24px, 4.1vw, 34px);
}

.mode0-detail-card dl {
  margin: 0;
}

.mode0-detail-card dl div {
  display: grid;
  grid-template-columns: 165px minmax(0, 1fr);
  gap: 12px;
  min-height: 80px;
  align-items: center;
  border-top: 1px solid #e2e6ea;
}

.mode0-detail-card dl div:first-child {
  border-top: 0;
}

.mode0-detail-card dt,
.mode0-detail-card dd {
  margin: 0;
  color: #30394a;
  font-size: clamp(17px, 2.8vw, 26px);
  line-height: 1.55;
}

.mode0-detail-card dt {
  display: flex;
  align-items: center;
}

.mode0-detail-card dt span {
  display: inline-grid;
  flex: 0 0 auto;
  width: 48px;
  place-items: center start;
  color: #f5b800;
}

.mode0-detail-card dt svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.mode0-detail-reminder p {
  margin: 0;
  color: #30394a;
  font-size: clamp(17px, 2.8vw, 26px);
  line-height: 1.85;
}

.mode0-detail-reminder > a {
  display: flex;
  min-height: 80px;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-top: 26px;
  border-radius: 8px;
  background: #ffc800;
  color: #111;
  font-size: clamp(20px, 3.2vw, 28px);
  font-weight: 850;
}

.mode0-detail-reminder > a svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.mode0-detail-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mode0-detail-list li,
.mode0-detail-material {
  display: flex;
  min-height: 70px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid #e2e6ea;
}

.mode0-detail-list li:first-child,
.mode0-detail-material:first-of-type {
  border-top: 0;
}

.mode0-detail-list strong,
.mode0-detail-list small {
  display: block;
}

.mode0-detail-list small,
.mode0-detail-material small {
  margin-top: 4px;
  color: #7b8494;
}

.mode0-detail-list time {
  flex: 0 0 auto;
  color: #505b6e;
}

.mode0-detail-card > img {
  display: block;
  width: 100%;
  border-radius: 8px;
}

.mode0-detail-count {
  color: #505b6e;
  font-size: 18px;
}

.mode0-detail-count strong {
  color: #0a4d99;
  font-size: 32px;
}

.mode0-detail-avatars {
  display: flex;
  margin-top: 18px;
  align-items: center;
}

.mode0-detail-avatars i,
.mode0-detail-avatars span {
  display: grid;
  width: 54px;
  height: 54px;
  margin-left: -8px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #dbe7f7;
}

.mode0-detail-avatars i:first-child {
  margin-left: 0;
  background: #e8dfcf;
}

.mode0-detail-avatars i:nth-child(2n) {
  background: #eadfeb;
}

.mode0-detail-avatars i:nth-child(3n) {
  background: #dceee3;
}

.mode0-detail-empty {
  margin: 0;
  color: #7b8494;
  line-height: 1.7;
}

.mode0-detail-material {
  color: #202737;
}

.mode0-detail-sticky {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 160;
  width: min(100%, 864px);
  min-height: calc(96px + env(safe-area-inset-bottom));
  padding: 15px 38px calc(15px + env(safe-area-inset-bottom));
  border-top: 1px solid #e0e4e9;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -7px 20px rgba(15, 23, 42, .08);
  transform: translateX(-50%);
}

.mode0-detail-sticky a,
.mode0-detail-sticky span {
  display: grid;
  min-height: 66px;
  place-items: center;
  border-radius: 8px;
  background: #ffc900;
  color: #111;
  font-size: clamp(23px, 3.6vw, 32px);
  font-weight: 900;
}

.mode0-detail-sticky span {
  background: #e5e7eb;
  color: #7b8494;
}

@media (max-width: 600px) {
  body.activity-standard-detail-h5 {
    background: #f8fafb;
  }

  .activity-standard-detail-page {
    padding-bottom: 42px;
    box-shadow: none;
  }

  .standard-detail-hero {
    aspect-ratio: 852 / 342;
  }

  .standard-detail-hero-copy {
    top: 13px;
    left: 12px;
    right: 12px;
  }

  .standard-detail-hero-copy strong {
    font-size: 24px;
  }

  .standard-detail-hero-copy span {
    font-size: 11px;
  }

  .standard-detail-organizer {
    gap: 7px;
    min-height: 40px;
    margin: -5px 10px 0;
    padding: 4px 8px;
  }

  .standard-detail-organizer-mark {
    width: 26px;
    height: 26px;
    border-width: 1px;
  }

  .standard-detail-organizer-mark svg {
    width: 17px;
    height: 17px;
  }

  .standard-detail-organizer strong {
    font-size: 11px;
  }

  .standard-detail-organizer small {
    margin-top: 1px;
    font-size: 8px;
  }

  .standard-detail-organizer > span:last-child {
    font-size: 17px;
  }

  .standard-detail-body {
    padding: 16px 15px 27px;
  }

  .standard-detail-body > h1 {
    margin-bottom: 12px;
    font-size: 22px;
  }

  .standard-detail-facts {
    margin-bottom: 13px;
    padding: 0 9px;
  }

  .standard-detail-facts div {
    grid-template-columns: 75px minmax(0, 1fr);
    gap: 6px;
    min-height: 27px;
    font-size: 10px;
  }

  .standard-detail-facts dt span {
    width: 23px;
  }

  .standard-detail-facts dt svg {
    width: 15px;
    height: 15px;
    stroke-width: 2;
  }

  .standard-detail-section {
    margin-top: 9px;
  }

  .standard-detail-section h2 {
    margin-bottom: 4px;
    padding-left: 7px;
    border-left-width: 2px;
    font-size: 14px;
  }

  .standard-detail-copy,
  .standard-detail-copy p {
    font-size: 11px;
    line-height: 1.5;
  }

  .standard-detail-copy p {
    margin-bottom: 7px;
  }

  .standard-detail-story-image {
    margin-top: 7px;
    border-radius: 6px;
  }

  .standard-detail-section blockquote {
    margin-top: 8px;
    padding: 7px 8px 7px 33px;
    font-size: 10px;
    line-height: 1.5;
  }

  .standard-detail-section blockquote::before {
    left: 10px;
    top: 1px;
    font-size: 30px;
  }

  .standard-detail-table-wrap table {
    min-width: 0;
    table-layout: fixed;
    font-size: 10px;
    line-height: 1.2;
  }

  .standard-detail-table-wrap th,
  .standard-detail-table-wrap td {
    padding: 3px 4px;
    overflow-wrap: anywhere;
  }

  .standard-detail-table-wrap th:first-child,
  .standard-detail-table-wrap td:first-child {
    width: 24%;
  }

  .standard-detail-table-wrap th:nth-child(2),
  .standard-detail-table-wrap td:nth-child(2) {
    width: 39%;
  }

  .standard-detail-notes ul {
    padding-left: 17px;
    font-size: 10px;
    line-height: 1.55;
  }

  .standard-detail-sticky {
    gap: 7px;
    min-height: calc(50px + env(safe-area-inset-bottom));
    padding: 6px 15px calc(6px + env(safe-area-inset-bottom));
  }

  .standard-detail-sticky a,
  .standard-detail-sticky > span {
    min-height: 38px;
    font-size: 13px;
  }

  .standard-detail-sticky svg {
    width: 17px;
    height: 17px;
  }

  .mode0-detail-topbar {
    min-height: calc(60px + env(safe-area-inset-top));
    grid-template-columns: 48px minmax(0, 1fr) 48px;
  }

  .mode0-detail-topbar a {
    font-size: 0;
  }

  .mode0-detail-topbar a svg {
    width: 27px;
    height: 27px;
  }

  .mode0-detail-hero {
    aspect-ratio: 864 / 390;
  }

  .mode0-detail-heading {
    padding: 20px 24px 15px;
  }

  .mode0-detail-heading h1 {
    font-size: 28px;
  }

  .mode0-detail-heading p {
    margin-top: 10px;
    font-size: 16px;
  }

  .mode0-detail-tabs {
    top: calc(60px + env(safe-area-inset-top));
  }

  .mode0-detail-tabs a {
    min-height: 49px;
    font-size: 15px;
  }

  .mode0-detail-content {
    gap: 19px;
    padding: 20px 19px 30px;
  }

  .mode0-detail-card {
    scroll-margin-top: 115px;
    padding: 22px 21px;
  }

  .mode0-detail-card h2 {
    margin-bottom: 16px;
    font-size: 19px;
  }

  .mode0-detail-card dl div {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 8px;
    min-height: 51px;
  }

  .mode0-detail-card dt,
  .mode0-detail-card dd {
    font-size: 13px;
  }

  .mode0-detail-reminder p {
    font-size: 14px;
  }

  .mode0-detail-card dt span {
    width: 29px;
  }

  .mode0-detail-card dt svg {
    width: 18px;
    height: 18px;
  }

  .mode0-detail-reminder > a {
    min-height: 40px;
    margin-top: 13px;
    font-size: 15px;
  }

  .mode0-detail-reminder > a svg {
    width: 20px;
    height: 20px;
  }

  .mode0-detail-sticky {
    min-height: calc(66px + env(safe-area-inset-bottom));
    padding: 7px 19px calc(7px + env(safe-area-inset-bottom));
  }

  .mode0-detail-sticky a,
  .mode0-detail-sticky span {
    min-height: 52px;
    font-size: 19px;
  }
}

/* Foundation CMS-driven public pages */
.foundation-empty-state {
  display: grid;
  min-height: 150px;
  align-content: center;
  justify-items: start;
  gap: 8px;
  border: 1px dashed rgba(17, 24, 39, .2);
  border-radius: 18px;
  padding: 28px;
  background: rgba(255, 255, 255, .62);
  color: #52525b;
}

.foundation-empty-state strong { color: #18181b; font-size: 18px; }

.foundation-hero-body,
.foundation-project-body,
.foundation-section-heading > div > div,
.foundation-trust-intro > div,
.foundation-partner-map > div { color: inherit; line-height: 1.8; }

.foundation-hero-body p,
.foundation-project-body p,
.foundation-section-heading > div > div p,
.foundation-trust-intro > div p,
.foundation-partner-map > div p { margin: 0; }

.cms-category-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 36vw);
}

.cms-category-hero-inner {
  position: relative;
  z-index: 1;
  width: min(880px, calc(100% - 48px));
  margin-right: 0;
}

.cms-category-hero-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
  mask-image: linear-gradient(90deg, transparent, #000 28%);
}

.cms-category-layout-grid .cms-category-list,
.cms-category-layout-story .cms-category-list,
.cms-category-layout-report .cms-category-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.cms-category-layout-grid .cms-category-card-link,
.cms-category-layout-story .cms-category-card-link,
.cms-category-layout-report .cms-category-card-link { grid-template-columns: 180px minmax(0, 1fr); }

.cms-category-layout-grid .cms-category-thumb,
.cms-category-layout-story .cms-category-thumb,
.cms-category-layout-report .cms-category-thumb { width: 180px; height: 100%; min-height: 168px; }

.cms-category-layout-story .cms-category-card { border-radius: 22px; }
.cms-category-layout-story .cms-category-card-link { align-items: start; }
.cms-category-layout-story .cms-category-thumb {
  width: 180px;
  height: 168px;
  min-height: 168px;
  align-self: start;
  overflow: hidden;
}
.cms-category-layout-story .cms-category-thumb img {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  object-fit: cover;
  object-position: center;
}
.cms-category-donation-sources .cms-category-card-link,
.cms-category-donation-usage .cms-category-card-link {
  align-items: start;
}
.cms-category-donation-sources .cms-category-thumb,
.cms-category-donation-usage .cms-category-thumb {
  width: 180px;
  height: 168px;
  min-height: 168px;
  align-self: start;
  overflow: hidden;
}
.cms-category-donation-sources .cms-category-thumb img,
.cms-category-donation-usage .cms-category-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.cms-category-layout-report .cms-category-card { border-left: 5px solid #ea1034; box-shadow: none; }
.cms-category-empty { grid-column: 1 / -1; width: 100%; }
.admin-cms-site-map .admin-link-grid span { overflow-wrap: anywhere; }

@media (max-width: 800px) {
  .cms-category-hero { display: block; }
  .cms-category-hero-image { position: absolute; inset: 0; height: 100%; opacity: .2; mask-image: none; }
  .cms-category-hero-inner { width: calc(100% - 32px); margin: 0 auto; }
  .cms-category-layout-grid .cms-category-list,
  .cms-category-layout-story .cms-category-list,
  .cms-category-layout-report .cms-category-list { grid-template-columns: 1fr; }
  .cms-category-layout-grid .cms-category-card-link,
  .cms-category-layout-story .cms-category-card-link,
  .cms-category-layout-report .cms-category-card-link { grid-template-columns: 118px minmax(0, 1fr); }
  .cms-category-layout-grid .cms-category-thumb,
  .cms-category-layout-story .cms-category-thumb,
  .cms-category-layout-report .cms-category-thumb { width: 118px; min-height: 138px; }
  .cms-category-layout-story .cms-category-thumb {
    width: 118px;
    height: 138px;
    min-height: 138px;
  }
  .cms-category-donation-sources .cms-category-thumb,
  .cms-category-donation-usage .cms-category-thumb {
    width: 118px;
    height: 106px;
    min-height: 106px;
  }
}

/* Admin layout v2: one document scroll, compact navigation groups, mobile drawer. */
body.admin-body.admin-layout-v2 {
  --admin-v2-topbar: 68px;
  --admin-v2-sidebar: 264px;
  --admin-v2-accent: #ea1034;
  --admin-v2-cream: #fff4d7;
  min-width: 0;
  min-height: 100vh;
  overflow-x: clip;
  background: #f6f7f9;
  color: #171717;
  font-family: var(--font-brand);
}

body.admin-body.admin-layout-v2 .admin-topbar {
  position: sticky;
  top: 0;
  z-index: 70;
  display: flex;
  min-height: var(--admin-v2-topbar);
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid rgba(23, 23, 23, .1);
  padding: 0 24px;
  background: rgba(255, 255, 255, .96);
  color: #171717;
  box-shadow: 0 8px 26px rgba(17, 24, 39, .06);
  backdrop-filter: blur(18px);
}

body.admin-body.admin-layout-v2 .admin-topbar-brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
  color: #171717;
}

body.admin-body.admin-layout-v2 .admin-topbar-brand:hover,
body.admin-body.admin-layout-v2 .admin-topbar-actions a:hover {
  color: var(--admin-v2-accent);
}

body.admin-body.admin-layout-v2 .admin-topbar .admin-brand-mark {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 12px;
  background: var(--admin-v2-accent);
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  box-shadow: none;
}

body.admin-body.admin-layout-v2 .admin-topbar-brand strong {
  max-width: min(440px, 42vw);
  overflow: hidden;
  color: inherit;
  font-size: 16px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-layout-v2 .admin-topbar-actions {
  display: flex;
  margin-left: auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: #52525b;
  font-size: 13px;
  font-weight: 750;
}

body.admin-body.admin-layout-v2 .admin-topbar-actions a,
body.admin-body.admin-layout-v2 .admin-topbar-role {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  border-radius: 999px;
  padding: 0 12px;
  color: inherit;
}

body.admin-body.admin-layout-v2 .admin-topbar-actions a:hover {
  background: var(--admin-v2-cream);
}

body.admin-body.admin-layout-v2 .admin-menu-toggle,
body.admin-body.admin-layout-v2 .admin-sidebar-close,
body.admin-body.admin-layout-v2 .admin-sidebar-backdrop {
  appearance: none;
  border: 0;
  cursor: pointer;
}

body.admin-body.admin-layout-v2 .admin-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  border: 1px solid rgba(23, 23, 23, .12);
  border-radius: 12px;
  background: #fff;
}

body.admin-body.admin-layout-v2 .admin-menu-toggle > span[aria-hidden="true"],
body.admin-body.admin-layout-v2 .admin-menu-toggle > span[aria-hidden="true"]::before,
body.admin-body.admin-layout-v2 .admin-menu-toggle > span[aria-hidden="true"]::after {
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #171717;
}

body.admin-body.admin-layout-v2 .admin-menu-toggle > span[aria-hidden="true"] {
  position: relative;
  display: block;
}

body.admin-body.admin-layout-v2 .admin-menu-toggle > span[aria-hidden="true"]::before,
body.admin-body.admin-layout-v2 .admin-menu-toggle > span[aria-hidden="true"]::after {
  position: absolute;
  left: 0;
  content: "";
}

body.admin-body.admin-layout-v2 .admin-menu-toggle > span[aria-hidden="true"]::before { top: -6px; }
body.admin-body.admin-layout-v2 .admin-menu-toggle > span[aria-hidden="true"]::after { top: 6px; }

body.admin-body.admin-layout-v2 .admin-menu-toggle:focus-visible,
body.admin-body.admin-layout-v2 .admin-sidebar-close:focus-visible,
body.admin-body.admin-layout-v2 .admin-nav summary:focus-visible,
body.admin-body.admin-layout-v2 .admin-nav a:focus-visible {
  outline: 3px solid #ffce37;
  outline-offset: 2px;
}

body.admin-body.admin-layout-v2 .admin-shell {
  display: grid;
  min-height: calc(100vh - var(--admin-v2-topbar));
  grid-template-columns: var(--admin-v2-sidebar) minmax(0, 1fr);
  align-items: start;
}

body.admin-body.admin-layout-v2 .admin-sidebar {
  position: sticky;
  top: var(--admin-v2-topbar);
  z-index: 30;
  display: flex;
  width: auto;
  height: calc(100vh - var(--admin-v2-topbar));
  height: calc(100dvh - var(--admin-v2-topbar));
  min-height: 0;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  border-right: 1px solid #e5e7eb;
  padding: 18px 14px;
  background: #fff;
}

body.admin-body.admin-layout-v2 .admin-sidebar-heading {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding: 0 8px 12px;
  border-bottom: 1px solid #eceef1;
}

body.admin-body.admin-layout-v2 .admin-sidebar-heading > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

body.admin-body.admin-layout-v2 .admin-sidebar-heading span {
  color: #8a8a91;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

body.admin-body.admin-layout-v2 .admin-sidebar-heading strong {
  overflow: hidden;
  color: #171717;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-layout-v2 .admin-sidebar-close {
  display: none;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 10px;
  background: #f4f4f5;
  color: #171717;
  font-size: 25px;
  line-height: 1;
}

body.admin-body.admin-layout-v2 .admin-nav {
  display: grid;
  gap: 8px;
}

body.admin-body.admin-layout-v2 .admin-nav-section-label {
  display: flex;
  min-height: 32px;
  align-items: center;
  gap: 10px;
  margin: 10px 8px 2px;
  color: #8a8a91;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  white-space: nowrap;
}

body.admin-body.admin-layout-v2 .admin-nav-section-label::after {
  width: 100%;
  height: 1px;
  background: #eceef1;
  content: "";
}

body.admin-body.admin-layout-v2 .admin-nav-section-label:first-of-type {
  margin-top: 14px;
}

body.admin-body.admin-layout-v2 .admin-nav-group {
  display: block;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
}

body.admin-body.admin-layout-v2 .admin-nav-group[open] {
  border-color: #eceef1;
  background: #fafafa;
}

body.admin-body.admin-layout-v2 .admin-nav-group > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 11px;
  padding: 0 12px;
  color: #3f3f46;
  cursor: pointer;
  font-size: 13px;
  font-weight: 850;
  list-style: none;
}

body.admin-body.admin-layout-v2 .admin-nav-group > summary::-webkit-details-marker { display: none; }

body.admin-body.admin-layout-v2 .admin-nav-group > summary::after {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  transform: rotate(45deg);
  border-right: 2px solid #a1a1aa;
  border-bottom: 2px solid #a1a1aa;
  content: "";
  transition: transform .18s ease;
}

body.admin-body.admin-layout-v2 .admin-nav-group[open] > summary::after { transform: rotate(225deg); }

body.admin-body.admin-layout-v2 .admin-nav-links {
  display: grid;
  gap: 3px;
  padding: 0 6px 7px;
}

body.admin-body.admin-layout-v2 .admin-nav a,
body.admin-body.admin-layout-v2 .admin-nav a.admin-nav-sub {
  position: relative;
  display: flex;
  min-height: 40px;
  align-items: center;
  border: 0;
  border-radius: 9px;
  padding: 0 11px 0 28px;
  background: transparent;
  color: #52525b;
  font-size: 13px;
  font-weight: 700;
  box-shadow: none;
}

body.admin-body.admin-layout-v2 .admin-nav a::before {
  position: absolute;
  left: 13px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d4d4d8;
  content: "";
}

body.admin-body.admin-layout-v2 .admin-nav a:hover {
  background: var(--admin-v2-cream);
  color: #171717;
}

body.admin-body.admin-layout-v2 .admin-nav a.active,
body.admin-body.admin-layout-v2 .admin-nav a.admin-nav-sub.active {
  background: var(--admin-v2-accent);
  color: #fff;
  box-shadow: none;
}

body.admin-body.admin-layout-v2 .admin-nav a.active::before { background: #fff; }

body.admin-body.admin-layout-v2 .admin-sidebar-footer {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding: 18px 0 0;
  border-top: 0;
}

body.admin-body.admin-layout-v2 .admin-sidebar-card {
  display: grid;
  gap: 4px;
  border: 1px solid #eceef1;
  border-radius: 11px;
  padding: 11px 12px;
  background: #fff;
  box-shadow: none;
}

body.admin-body.admin-layout-v2 .admin-sidebar-card strong { color: #27272a; font-size: 12px; }
body.admin-body.admin-layout-v2 .admin-sidebar-card small { color: #8a8a91; font-size: 11px; }

body.admin-body.admin-layout-v2 .admin-main {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: calc(100vh - var(--admin-v2-topbar));
  overflow: visible;
  padding: clamp(20px, 2.4vw, 34px);
  background: #f6f7f9;
}

/* Keep top-level admin regions visually separate. List pages commonly place
   their heading, filters and results in consecutive admin-page-section nodes. */
body.admin-body.admin-layout-v2 .admin-main > .admin-page-section {
  min-width: 0;
}

body.admin-body.admin-layout-v2 .admin-main > .admin-page-section + .admin-page-section {
  margin-top: 20px;
}

body.admin-body.admin-layout-v2 .admin-sidebar-backdrop { display: none; }

@media (max-width: 860px) {
  body.admin-body.admin-layout-v2 .admin-topbar {
    min-height: 60px;
    padding: 0 12px;
  }

  body.admin-body.admin-layout-v2 { --admin-v2-topbar: 60px; }
  body.admin-body.admin-layout-v2 .admin-menu-toggle { display: grid; }
  body.admin-body.admin-layout-v2 .admin-topbar-brand strong { max-width: 48vw; font-size: 14px; }
  body.admin-body.admin-layout-v2 .admin-topbar-role,
  body.admin-body.admin-layout-v2 .admin-topbar-actions a:first-of-type,
  body.admin-body.admin-layout-v2 .admin-topbar-actions a:last-of-type { display: none; }

  body.admin-body.admin-layout-v2 .admin-shell {
    display: block;
    min-height: calc(100vh - var(--admin-v2-topbar));
  }

  body.admin-body.admin-layout-v2 .admin-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    width: min(86vw, 320px);
    height: 100vh;
    height: 100dvh;
    transform: translateX(-104%);
    border-right: 0;
    padding: 16px 14px calc(18px + env(safe-area-inset-bottom));
    box-shadow: 24px 0 60px rgba(17, 24, 39, .18);
    visibility: hidden;
    transition: transform .22s ease, visibility .22s ease;
  }

  body.admin-body.admin-layout-v2.admin-sidebar-open { overflow: hidden; }
  body.admin-body.admin-layout-v2.admin-sidebar-open .admin-sidebar {
    transform: translateX(0);
    visibility: visible;
  }

  body.admin-body.admin-layout-v2 .admin-sidebar-close { display: grid; place-items: center; }
  body.admin-body.admin-layout-v2 .admin-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(17, 24, 39, .48);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
  }

  body.admin-body.admin-layout-v2.admin-sidebar-open .admin-sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

  body.admin-body.admin-layout-v2 .admin-main {
    min-height: calc(100vh - var(--admin-v2-topbar));
    padding: 16px 12px 28px;
  }

  body.admin-body.admin-layout-v2 .admin-main > .admin-page-section + .admin-page-section {
    margin-top: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.admin-body.admin-layout-v2 .admin-sidebar,
  body.admin-body.admin-layout-v2 .admin-sidebar-backdrop,
  body.admin-body.admin-layout-v2 .admin-nav-group > summary::after { transition: none; }
}

/* Preserve full-screen specialist editors that intentionally replace admin chrome. */
body.admin-body.admin-layout-v2.progress-editor-body .admin-topbar,
body.admin-body.admin-layout-v2.progress-editor-body .admin-sidebar,
body.admin-body.admin-layout-v2.conference-registration-body .admin-topbar,
body.admin-body.admin-layout-v2.conference-registration-body .admin-sidebar { display: none; }

body.admin-body.admin-layout-v2.progress-editor-body .admin-shell,
body.admin-body.admin-layout-v2.conference-registration-body .admin-shell { display: block; min-height: 100vh; }

body.admin-body.admin-layout-v2.progress-editor-body .admin-main {
  width: min(100%, 426px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0;
  background: #f7f9fc;
  box-shadow: 0 0 30px rgba(51, 65, 85, .08);
}

body.admin-body.admin-layout-v2.conference-registration-body .admin-main {
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background: #f5f7fb;
}

body.admin-body.admin-layout-v2.screen-control-body .admin-topbar,
body.admin-body.admin-layout-v2.screen-control-body .admin-sidebar,
body.admin-body.admin-layout-v2.fundraising-edit-body .admin-topbar,
body.admin-body.admin-layout-v2.fundraising-edit-body .admin-sidebar,
body.admin-body.admin-layout-v2.fundraising-invoices-body .admin-topbar,
body.admin-body.admin-layout-v2.fundraising-invoices-body .admin-sidebar,
body.admin-body.admin-layout-v2.site-admin-settings-body .admin-topbar,
body.admin-body.admin-layout-v2.site-admin-settings-body .admin-sidebar { display: none !important; }

body.admin-body.admin-layout-v2.screen-control-body .admin-shell,
body.admin-body.admin-layout-v2.fundraising-edit-body .admin-shell,
body.admin-body.admin-layout-v2.fundraising-invoices-body .admin-shell,
body.admin-body.admin-layout-v2.site-admin-settings-body .admin-shell { display: block; min-height: 100vh; }

body.admin-body.admin-layout-v2.screen-control-body .admin-main {
  min-height: 100vh;
  padding: 0;
  background: transparent;
}

body.admin-body.admin-layout-v2.fundraising-edit-body .admin-main,
body.admin-body.admin-layout-v2.fundraising-invoices-body .admin-main {
  width: min(100%, 426px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0;
  background: #f7f9fc;
  box-shadow: 0 0 30px rgba(30, 41, 59, .08);
}

body.admin-body.admin-layout-v2.site-admin-settings-body .admin-main {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background: #f6f7fb;
}

@media (max-width: 760px) {
  body.admin-body.admin-layout-v2.fundraising-create-v2-body .admin-topbar,
  body.admin-body.admin-layout-v2.fundraising-create-v2-body .admin-sidebar,
  body.admin-body.admin-layout-v2.activity-management-v2-index-body .admin-topbar,
  body.admin-body.admin-layout-v2.activity-management-v2-index-body .admin-sidebar { display: none; }

  body.admin-body.admin-layout-v2.fundraising-create-v2-body .admin-shell,
  body.admin-body.admin-layout-v2.activity-management-v2-index-body .admin-shell { display: block; min-height: 100vh; }

  body.admin-body.admin-layout-v2.fundraising-create-v2-body .admin-main {
    min-height: 100dvh;
    padding: 0;
    background: #f4f5f7;
  }

  body.admin-body.admin-layout-v2.activity-management-body.activity-management-v2-index-body .admin-main {
    width: 100%;
    min-width: 0;
    padding: 0 0 24px;
    background: #f4f5f7;
  }
}

@media (max-width: 720px) {
  body.admin-body.admin-layout-v2.conference-create-body .admin-topbar,
  body.admin-body.admin-layout-v2.conference-create-body .admin-sidebar,
  body.admin-body.admin-layout-v2.training-create-body .admin-topbar,
  body.admin-body.admin-layout-v2.training-create-body .admin-sidebar,
  body.admin-body.admin-layout-v2.fundraising-create-body .admin-topbar,
  body.admin-body.admin-layout-v2.fundraising-create-body .admin-sidebar { display: none; }

  body.admin-body.admin-layout-v2.conference-create-body .admin-shell,
  body.admin-body.admin-layout-v2.training-create-body .admin-shell,
  body.admin-body.admin-layout-v2.fundraising-create-body .admin-shell { display: block; min-height: 100vh; }

  body.admin-body.admin-layout-v2.conference-create-body .admin-main,
  body.admin-body.admin-layout-v2.training-create-body .admin-main,
  body.admin-body.admin-layout-v2.fundraising-create-body .admin-main {
    min-height: 100dvh;
    padding: 0 0 calc(74px + env(safe-area-inset-bottom));
    background: #f7f8fb;
  }
}

body.admin-body.admin-layout-v2 .admin-nav-group.admin-nav-group-primary,
body.admin-body.admin-layout-v2 .admin-nav-group.admin-nav-group-primary[open] {
  border-color: rgba(234, 16, 52, .14);
  background: rgba(234, 16, 52, .035);
}

body.admin-body.admin-layout-v2 .admin-nav-group.admin-nav-group-primary > summary {
  color: #b90d2b;
}

/* Homepage hero manager: three fixed CMS-backed directions. */
body.admin-body.admin-layout-v2 .cms-homepage-slides-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: 32px;
  align-items: end;
  margin: 20px 0 24px;
  padding: clamp(24px, 3vw, 40px);
  overflow: hidden;
  border: 1px solid rgba(98, 80, 49, .12);
  border-radius: 26px;
  background:
    radial-gradient(circle at 94% 4%, rgba(255, 206, 55, .32), transparent 30%),
    linear-gradient(135deg, #fffaf0 0%, #fff4d7 68%, #fff 100%);
  box-shadow: 0 18px 50px rgba(91, 69, 34, .07);
}

body.admin-body.admin-layout-v2 .cms-homepage-slides-intro h2 {
  max-width: 650px;
  margin: 8px 0 12px;
  color: #251e17;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

body.admin-body.admin-layout-v2 .cms-homepage-slides-intro > div > p:last-child {
  max-width: 680px;
  margin: 0;
  color: #675d51;
  line-height: 1.75;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-index {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-index a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 9px 14px;
  border: 1px solid rgba(72, 56, 34, .09);
  border-radius: 14px;
  color: #342b21;
  background: rgba(255, 255, 255, .72);
  text-decoration: none;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-index a:hover,
body.admin-body.admin-layout-v2 .cms-homepage-slide-index a:focus-visible {
  border-color: rgba(234, 16, 52, .3);
  background: #fff;
  box-shadow: 0 8px 24px rgba(91, 69, 34, .08);
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-index span {
  color: #ea1034;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-index strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-list {
  display: grid;
  gap: 28px;
  padding-bottom: 44px;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-card {
  --slide-accent: #ea1034;
  --slide-soft: #fff4d7;
  scroll-margin-top: 86px;
  overflow: hidden;
  border: 1px solid rgba(34, 28, 21, .1);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 54px rgba(37, 30, 23, .075);
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-card--action {
  --slide-accent: #695b00;
  --slide-soft: #ffce37;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-card--trust {
  --slide-accent: #b90d2b;
  --slide-soft: #ededed;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 24px 28px;
  border-bottom: 1px solid rgba(34, 28, 21, .08);
  background: linear-gradient(120deg, color-mix(in srgb, var(--slide-soft) 54%, #fff), #fff 78%);
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-number {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  color: #fff;
  background: var(--slide-accent);
  font-size: 18px;
  font-weight: 850;
  letter-spacing: .06em;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-heading h2 {
  margin: 3px 0 5px;
  color: #231f1b;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -.02em;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-heading > p:last-child {
  margin: 0;
  color: #71685e;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-head-actions,
body.admin-body.admin-layout-v2 .cms-homepage-slide-form-actions > div {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-workspace {
  display: grid;
  grid-template-columns: minmax(280px, .74fr) minmax(0, 1.26fr);
  min-width: 0;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview {
  align-self: start;
  position: sticky;
  top: 82px;
  min-width: 0;
  margin: 26px;
  overflow: hidden;
  border: 1px solid rgba(34, 28, 21, .1);
  border-radius: 22px;
  background: #fffaf0;
  box-shadow: 0 16px 36px rgba(32, 26, 20, .08);
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview figure {
  position: relative;
  aspect-ratio: 16 / 10;
  margin: 0;
  overflow: hidden;
  background: #ededed;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  color: #fff;
  background: rgba(21, 18, 14, .68);
  font-size: 12px;
  backdrop-filter: blur(8px);
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-empty {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 250px;
  padding: 28px;
  color: #756b60;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(255, 244, 215, .74)),
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(105, 89, 63, .05) 14px 15px);
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-empty span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 12px;
  border-radius: 50%;
  color: var(--slide-accent);
  background: var(--slide-soft);
  font-size: 13px;
  font-weight: 800;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-empty p {
  max-width: 260px;
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.65;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview-copy {
  padding: 22px;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview-copy h3 {
  margin: 5px 0 9px;
  color: #241f1a;
  font-size: clamp(23px, 2.4vw, 34px);
  line-height: 1.14;
  letter-spacing: -.035em;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview-copy > p:last-of-type {
  color: #6d645b;
  line-height: 1.7;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 18px;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview-actions span {
  padding: 9px 13px;
  border: 1px solid var(--slide-accent);
  border-radius: 999px;
  color: #fff;
  background: var(--slide-accent);
  font-size: 12px;
  font-weight: 760;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-preview-actions span.ghost {
  color: var(--slide-accent);
  background: transparent;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form {
  min-width: 0;
  padding: 28px 30px 30px;
  border-left: 1px solid rgba(34, 28, 21, .075);
  background: #fff;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form-section + .cms-homepage-slide-form-section {
  margin-top: 28px;
  padding-top: 26px;
  border-top: 1px solid #ece8e2;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form-title {
  display: flex;
  gap: 12px;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 14px;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form-title strong {
  color: #28231e;
  font-size: 17px;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form-title span {
  color: #847a70;
  font-size: 12px;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form .admin-form-grid {
  gap: 16px;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #5e554c;
  font-size: 13px;
  font-weight: 690;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form input,
body.admin-body.admin-layout-v2 .cms-homepage-slide-form textarea,
body.admin-body.admin-layout-v2 .cms-homepage-slide-form select {
  width: 100%;
  min-width: 0;
  border: 1px solid #d9d4cd;
  border-radius: 11px;
  color: #29241f;
  background: #fff;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form input:focus,
body.admin-body.admin-layout-v2 .cms-homepage-slide-form textarea:focus,
body.admin-body.admin-layout-v2 .cms-homepage-slide-form select:focus {
  border-color: var(--slide-accent);
  outline: 3px solid color-mix(in srgb, var(--slide-accent) 14%, transparent);
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form textarea {
  resize: vertical;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form .cms-homepage-field-wide {
  grid-column: 1 / -1;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form-actions {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #ded9d2;
}

body.admin-body.admin-layout-v2 .cms-homepage-slide-form-actions > label {
  width: min(220px, 100%);
}

@media (max-width: 1080px) {
  body.admin-body.admin-layout-v2 .cms-homepage-slides-intro,
  body.admin-body.admin-layout-v2 .cms-homepage-slide-workspace {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-preview {
    position: static;
    display: grid;
    grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr);
    margin-bottom: 0;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-preview figure,
  body.admin-body.admin-layout-v2 .cms-homepage-slide-empty {
    min-height: 100%;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-form {
    border-top: 1px solid rgba(34, 28, 21, .075);
    border-left: 0;
  }
}

@media (max-width: 700px) {
  body.admin-body.admin-layout-v2 .cms-homepage-slides-intro {
    gap: 22px;
    margin-top: 14px;
    padding: 22px 18px;
    border-radius: 20px;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-card {
    border-radius: 20px;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-head {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    padding: 18px;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-number {
    width: 46px;
    height: 46px;
    border-radius: 15px;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-head-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-preview {
    display: block;
    margin: 18px;
    border-radius: 17px;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-form {
    padding: 22px 18px 24px;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-form .admin-form-grid {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-form-title {
    display: grid;
    gap: 4px;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-form-actions {
    display: grid;
    align-items: stretch;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-form-actions > label {
    width: 100%;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-form-actions > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-homepage-slide-form-actions .admin-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.admin-body.admin-layout-v2 .cms-homepage-slide-index a {
    transition: none;
  }
}

/* CMS-driven public homepage carousel. */
.foundation-home .foundation-hero.foundation-hero-carousel {
  position: relative;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #171717;
}

.foundation-carousel-viewport {
  position: relative;
  min-height: clamp(600px, calc(100svh - 88px), 820px);
}

.foundation-carousel-slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: var(--carousel-bg, #171717);
  transition: opacity .55s ease, visibility .55s ease;
}

.foundation-carousel-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.foundation-hero-carousel .foundation-carousel-classic {
  min-height: clamp(600px, calc(100svh - 88px), 820px);
  padding: clamp(36px, 5vw, 68px) 32px 86px;
  color: var(--carousel-text, #171717);
  background: var(--carousel-bg, #fff4d7);
}

.foundation-carousel-classic .foundation-hero-copy h2 {
  max-width: 720px;
  margin-top: 24px;
  font-size: clamp(50px, 4vw, 60px);
  line-height: 1.14;
  font-weight: 760;
  letter-spacing: -.035em;
}

.foundation-carousel-classic .foundation-hero-body,
.foundation-carousel-classic .foundation-hero-lead {
  color: color-mix(in srgb, var(--carousel-text, #171717) 76%, transparent);
}

.foundation-hero-picture,
.foundation-hero-picture img {
  display: block;
  width: 100%;
  height: 100%;
}

.foundation-hero-picture img {
  border-radius: 48% 48% 44% 44% / 38% 38% 56% 56%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.88) contrast(.98);
}

.foundation-carousel-full-image,
.foundation-carousel-full-image > a,
.foundation-carousel-full-image picture,
.foundation-carousel-full-image img {
  display: block;
  width: 100%;
  height: 100%;
}

.foundation-carousel-full-image {
  position: absolute;
  inset: 0;
  background: #181818;
}

.foundation-carousel-full-image img {
  object-fit: cover;
  object-position: center;
}

.foundation-carousel-slide--image.foundation-carousel-tone--light .foundation-carousel-full-image::after,
.foundation-carousel-slide--image.foundation-carousel-tone--dark .foundation-carousel-full-image::after {
  position: absolute;
  inset: auto 0 0;
  height: 30%;
  background: linear-gradient(transparent, rgba(0, 0, 0, .28));
  content: "";
  pointer-events: none;
}

.foundation-carousel-split {
  display: grid;
  width: 100%;
  min-height: clamp(600px, calc(100svh - 88px), 820px);
  grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
  align-items: stretch;
  background: var(--carousel-bg, #fff4d7);
}

.foundation-carousel-copy {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(100%, 720px);
  padding: clamp(64px, 8vw, 122px) clamp(38px, 7vw, 112px) 108px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  color: var(--carousel-text, #171717);
}

.foundation-carousel-copy h1,
.foundation-carousel-copy h2 {
  max-width: 720px;
  margin: 22px 0 0;
  font-size: clamp(48px, 5vw, 76px);
  line-height: 1.12;
  font-weight: 770;
  letter-spacing: -.04em;
}

.foundation-carousel-tone--light .foundation-carousel-copy .foundation-eyebrow {
  color: #ffce37;
}

.foundation-carousel-lead {
  max-width: 620px;
  margin-top: 24px !important;
  font-size: clamp(19px, 1.8vw, 23px);
  font-weight: 630;
  line-height: 1.65;
}

.foundation-carousel-body {
  max-width: 620px;
  margin-top: 14px;
  color: color-mix(in srgb, var(--carousel-text, #171717) 72%, transparent);
  font-size: 16px;
  line-height: 1.8;
}

.foundation-carousel-body p {
  margin: 0;
}

.foundation-carousel-copy > .foundation-button {
  margin-top: 30px;
}

.foundation-carousel-actions {
  display: flex;
  margin-top: 30px;
  flex-wrap: wrap;
  gap: 12px;
}

.foundation-carousel-tone--light .foundation-carousel-actions .foundation-button-ghost,
.foundation-carousel-tone--light .foundation-carousel-classic .foundation-button-ghost {
  border-color: #fff;
  color: #fff !important;
}

.foundation-carousel-media {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #ededed;
}

.foundation-carousel-media::after {
  position: absolute;
  inset: 0;
  box-shadow: inset 30px 0 70px rgba(0, 0, 0, .06);
  content: "";
  pointer-events: none;
}

.foundation-carousel-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.foundation-carousel-text {
  position: relative;
  display: grid;
  min-height: clamp(600px, calc(100svh - 88px), 820px);
  place-items: center;
  overflow: hidden;
  background: var(--carousel-bg, #fff4d7);
}

.foundation-carousel-text .foundation-carousel-copy {
  width: min(100% - 48px, 940px);
  padding-right: 24px;
  padding-left: 24px;
  align-items: center;
  text-align: center;
}

.foundation-carousel-text .foundation-carousel-copy h1,
.foundation-carousel-text .foundation-carousel-copy h2,
.foundation-carousel-text .foundation-carousel-body {
  max-width: 900px;
}

.foundation-carousel-text-background {
  position: absolute;
  inset: 0;
  opacity: .24;
}

.foundation-carousel-text-background::after {
  position: absolute;
  inset: 0;
  background: var(--carousel-bg, #171717);
  opacity: .35;
  content: "";
}

.foundation-carousel-text-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.foundation-carousel-theme--cream { --carousel-bg: #fff4d7; }
.foundation-carousel-theme--white { --carousel-bg: #fff; }
.foundation-carousel-theme--red { --carousel-bg: #ea1034; }
.foundation-carousel-theme--yellow { --carousel-bg: #ffce37; }
.foundation-carousel-theme--green { --carousel-bg: #aaf7a9; }
.foundation-carousel-theme--dark { --carousel-bg: #171717; }
.foundation-carousel-tone--light { --carousel-text: #fff; }
.foundation-carousel-tone--dark { --carousel-text: #171717; }

.foundation-carousel-controls {
  position: absolute;
  right: clamp(20px, 4vw, 62px);
  bottom: clamp(20px, 3vw, 38px);
  z-index: 5;
  display: flex;
  min-height: 50px;
  padding: 7px;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  color: #fff;
  background: rgba(17, 17, 17, .64);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
  backdrop-filter: blur(16px);
}

.foundation-carousel-arrows {
  display: flex;
  gap: 4px;
}

.foundation-carousel-controls button {
  display: inline-grid;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  place-items: center;
  border: 0;
  border-radius: 999px;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 720;
}

.foundation-carousel-controls button:hover,
.foundation-carousel-controls button:focus-visible {
  background: rgba(255, 255, 255, .18);
  outline: 2px solid #ffce37;
  outline-offset: 1px;
}

.foundation-carousel-dots {
  display: flex;
  padding: 0 4px;
  align-items: center;
  gap: 7px;
}

.foundation-carousel-dots button {
  min-width: 8px;
  width: 8px;
  height: 8px;
  padding: 0;
  background: rgba(255, 255, 255, .46);
  transition: width .2s ease, background .2s ease;
}

.foundation-carousel-dots button.is-active,
.foundation-carousel-dots button[aria-selected="true"] {
  width: 28px;
  background: #ffce37;
}

.foundation-carousel-pause {
  border-left: 1px solid rgba(255, 255, 255, .2) !important;
  border-radius: 0 999px 999px 0 !important;
}

@media (max-width: 900px) {
  .foundation-carousel-split {
    grid-template-columns: 1fr 1fr;
  }

  .foundation-carousel-copy {
    padding-right: 34px;
    padding-left: 34px;
  }

  .foundation-carousel-copy h1,
  .foundation-carousel-copy h2 {
    font-size: clamp(38px, 6vw, 58px);
  }
}

@media (max-width: 700px) {
  .foundation-carousel-viewport,
  .foundation-carousel-classic,
  .foundation-carousel-split,
  .foundation-carousel-text {
    min-height: clamp(700px, calc(100svh - 66px), 860px);
  }

  .foundation-carousel-classic {
    padding: 30px 20px 94px;
    align-content: center;
    gap: 24px;
  }

  .foundation-carousel-classic .foundation-hero-copy h2 {
    margin-top: 18px;
    font-size: clamp(38px, 11vw, 52px);
  }

  .foundation-carousel-classic .foundation-hero-visual {
    height: min(42vh, 360px);
  }

  .foundation-carousel-actions {
    margin-top: 22px;
  }

  .foundation-carousel-split {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(280px, 46vh) auto;
  }

  .foundation-carousel-split .foundation-carousel-media {
    grid-row: 1;
  }

  .foundation-carousel-split .foundation-carousel-copy {
    grid-row: 2;
    width: 100%;
    padding: 30px 22px 96px;
    justify-content: flex-start;
  }

  .foundation-carousel-copy h1,
  .foundation-carousel-copy h2 {
    margin-top: 14px;
    font-size: clamp(34px, 10.5vw, 48px);
  }

  .foundation-carousel-lead {
    margin-top: 16px !important;
    font-size: 17px;
  }

  .foundation-carousel-body {
    font-size: 14px;
  }

  .foundation-carousel-text .foundation-carousel-copy {
    width: 100%;
    padding: 64px 24px 104px;
  }

  .foundation-carousel-full-image img {
    object-position: center;
  }

  .foundation-carousel-controls {
    right: 14px;
    bottom: 16px;
    left: 14px;
    justify-content: space-between;
  }

  .foundation-carousel-dots {
    max-width: 42vw;
    overflow: hidden;
  }

  .foundation-carousel-arrows button {
    min-width: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-carousel-slide,
  .foundation-carousel-dots button {
    transition: none;
  }
}

/* Independent homepage carousel manager. */
body.admin-body.admin-layout-v2 .cms-carousel-manager-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin: 20px 0 18px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid rgba(94, 73, 38, .12);
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 206, 55, .38), transparent 30%),
    linear-gradient(135deg, #fffaf0, #fff4d7 70%, #fff);
  box-shadow: 0 18px 48px rgba(75, 57, 28, .07);
}

body.admin-body.admin-layout-v2 .cms-carousel-manager-intro h2 {
  margin: 8px 0 10px;
  color: #251e17;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

body.admin-body.admin-layout-v2 .cms-carousel-manager-intro > div > p:last-child {
  max-width: 720px;
  margin: 0;
  color: #675d51;
  line-height: 1.75;
}

body.admin-body.admin-layout-v2 .cms-carousel-manager-intro dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(88px, 1fr));
  gap: 8px;
  margin: 0;
}

body.admin-body.admin-layout-v2 .cms-carousel-manager-intro dl div {
  min-width: 100px;
  padding: 14px 16px;
  border: 1px solid rgba(72, 56, 34, .09);
  border-radius: 15px;
  background: rgba(255, 255, 255, .78);
}

body.admin-body.admin-layout-v2 .cms-carousel-manager-intro dt {
  color: #766b5e;
  font-size: 12px;
}

body.admin-body.admin-layout-v2 .cms-carousel-manager-intro dd {
  margin: 5px 0 0;
  color: #ea1034;
  font-size: 27px;
  font-weight: 820;
}

body.admin-body.admin-layout-v2 .cms-carousel-type-guide {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

body.admin-body.admin-layout-v2 .cms-carousel-type-guide article {
  position: relative;
  min-height: 148px;
  padding: 20px 22px;
  overflow: hidden;
  border: 1px solid #e5e0d8;
  border-radius: 20px;
  background: #fff;
}

body.admin-body.admin-layout-v2 .cms-carousel-type-guide article:nth-child(2) { background: #fff9e7; }
body.admin-body.admin-layout-v2 .cms-carousel-type-guide article:nth-child(3) { background: #eefcec; }
body.admin-body.admin-layout-v2 .cms-carousel-type-guide article:nth-child(4) { background: #f4f2ff; }

body.admin-body.admin-layout-v2 .cms-carousel-type-guide span {
  position: absolute;
  top: 14px;
  right: 18px;
  color: rgba(234, 16, 52, .16);
  font-size: 38px;
  font-weight: 850;
}

body.admin-body.admin-layout-v2 .cms-carousel-type-guide strong {
  display: block;
  margin-bottom: 8px;
  color: #29231d;
  font-size: 18px;
}

body.admin-body.admin-layout-v2 .cms-carousel-type-guide p {
  max-width: 330px;
  margin: 0;
  color: #73695f;
  font-size: 13px;
  line-height: 1.7;
}

body.admin-body.admin-layout-v2 .cms-carousel-create {
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid rgba(234, 16, 52, .2);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(52, 39, 24, .06);
}

body.admin-body.admin-layout-v2 .cms-carousel-create > summary {
  display: flex;
  min-height: 68px;
  padding: 18px 24px;
  align-items: center;
  justify-content: space-between;
  color: #2d261f;
  background: linear-gradient(90deg, rgba(234, 16, 52, .055), rgba(255, 206, 55, .11));
  cursor: pointer;
  list-style: none;
}

body.admin-body.admin-layout-v2 .cms-carousel-create > summary::-webkit-details-marker { display: none; }

body.admin-body.admin-layout-v2 .cms-carousel-create > summary span {
  font-size: 19px;
  font-weight: 780;
}

body.admin-body.admin-layout-v2 .cms-carousel-create > summary small {
  color: #7d7267;
}

body.admin-body.admin-layout-v2 .cms-carousel-create > form,
body.admin-body.admin-layout-v2 .cms-carousel-edit-form {
  padding: 26px;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-grid label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #62584e;
  font-size: 13px;
  font-weight: 680;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-grid label.wide {
  grid-column: 1 / -1;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-grid input,
body.admin-body.admin-layout-v2 .cms-carousel-form-grid textarea,
body.admin-body.admin-layout-v2 .cms-carousel-form-grid select {
  width: 100%;
  min-width: 0;
  border: 1px solid #d9d4cc;
  border-radius: 11px;
  color: #29241f;
  background: #fff;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-grid input:focus,
body.admin-body.admin-layout-v2 .cms-carousel-form-grid textarea:focus,
body.admin-body.admin-layout-v2 .cms-carousel-form-grid select:focus {
  border-color: #ea1034;
  outline: 3px solid rgba(234, 16, 52, .1);
}

body.admin-body.admin-layout-v2 .cms-carousel-create-actions,
body.admin-body.admin-layout-v2 .cms-carousel-edit-actions {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid #ece8e1;
}

body.admin-body.admin-layout-v2 .cms-carousel-create-actions p,
body.admin-body.admin-layout-v2 .cms-carousel-edit-actions span {
  margin: 0;
  color: #80766c;
  font-size: 12px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list {
  display: grid;
  gap: 20px;
  padding-bottom: 48px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-head {
  display: flex;
  gap: 20px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 2px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-head h2 {
  margin: 5px 0 0;
  font-size: 28px;
}

body.admin-body.admin-layout-v2 .cms-carousel-card {
  scroll-margin-top: 86px;
  overflow: hidden;
  border: 1px solid #e1ddd6;
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(44, 35, 25, .065);
}

body.admin-body.admin-layout-v2 .cms-carousel-card > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
  padding: 18px 22px;
  border-bottom: 1px solid #ebe7e1;
  background: #fffaf0;
}

body.admin-body.admin-layout-v2 .cms-carousel-card h3 {
  margin: 3px 0 0;
  color: #29231e;
  font-size: 20px;
}

body.admin-body.admin-layout-v2 .cms-carousel-order {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: #ea1034;
  font-weight: 820;
}

body.admin-body.admin-layout-v2 .cms-carousel-card-body {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  min-width: 0;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview {
  position: sticky;
  top: 82px;
  align-self: start;
  display: grid;
  min-height: 330px;
  margin: 24px;
  overflow: hidden;
  border: 1px solid rgba(30, 25, 20, .1);
  border-radius: 18px;
  background: var(--preview-bg, #fff4d7);
  box-shadow: 0 12px 30px rgba(35, 27, 20, .09);
}

body.admin-body.admin-layout-v2 .cms-carousel-preview--image img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview--classic,
body.admin-body.admin-layout-v2 .cms-carousel-preview--split {
  grid-template-columns: .9fr 1.1fr;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview--classic img,
body.admin-body.admin-layout-v2 .cms-carousel-preview--split img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview-copy {
  position: relative;
  z-index: 1;
  display: flex;
  padding: 24px;
  flex-direction: column;
  justify-content: center;
  color: var(--preview-text, #171717);
}

body.admin-body.admin-layout-v2 .cms-carousel-preview-copy small {
  color: #ea1034;
  font-weight: 750;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview-copy strong {
  margin-top: 10px;
  font-size: clamp(22px, 2vw, 32px);
  line-height: 1.18;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview-copy p {
  margin: 9px 0 0;
  color: color-mix(in srgb, var(--preview-text, #171717) 72%, transparent);
  font-size: 12px;
  line-height: 1.6;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview-empty {
  display: grid;
  min-height: 220px;
  place-items: center;
  color: #847a70;
  background: repeating-linear-gradient(45deg, #faf8f4 0 14px, #f1eee8 14px 15px);
}

body.admin-body.admin-layout-v2 .cms-carousel-preview-theme--cream { --preview-bg: #fff4d7; }
body.admin-body.admin-layout-v2 .cms-carousel-preview-theme--white { --preview-bg: #fff; }
body.admin-body.admin-layout-v2 .cms-carousel-preview-theme--red { --preview-bg: #ea1034; }
body.admin-body.admin-layout-v2 .cms-carousel-preview-theme--yellow { --preview-bg: #ffce37; }
body.admin-body.admin-layout-v2 .cms-carousel-preview-theme--green { --preview-bg: #aaf7a9; }
body.admin-body.admin-layout-v2 .cms-carousel-preview-theme--dark { --preview-bg: #171717; }
body.admin-body.admin-layout-v2 .cms-carousel-preview-tone--light { --preview-text: #fff; }
body.admin-body.admin-layout-v2 .cms-carousel-preview-tone--dark { --preview-text: #171717; }

body.admin-body.admin-layout-v2 .cms-carousel-edit-form {
  border-left: 1px solid #ece8e1;
}

body.admin-body.admin-layout-v2 .cms-carousel-delete {
  display: flex;
  justify-content: flex-end;
  padding: 13px 22px;
  border-top: 1px solid #eeeae4;
  background: #fcfbf9;
}

@media (max-width: 1080px) {
  body.admin-body.admin-layout-v2 .cms-carousel-type-guide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.admin-body.admin-layout-v2 .cms-carousel-card-body {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-preview {
    position: static;
    min-height: 280px;
    margin-bottom: 0;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-edit-form {
    border-top: 1px solid #ece8e1;
    border-left: 0;
  }
}

@media (max-width: 760px) {
  body.admin-body.admin-layout-v2 .cms-carousel-manager-intro {
    grid-template-columns: 1fr;
    padding: 22px 18px;
    border-radius: 20px;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-manager-intro dl,
  body.admin-body.admin-layout-v2 .cms-carousel-type-guide {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-manager-intro dl {
    grid-template-columns: repeat(3, 1fr);
  }

  body.admin-body.admin-layout-v2 .cms-carousel-manager-intro dl div {
    min-width: 0;
    padding: 11px;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-create > summary {
    display: grid;
    gap: 3px;
    padding: 16px 18px;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-create > form,
  body.admin-body.admin-layout-v2 .cms-carousel-edit-form {
    padding: 20px 18px;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-form-grid {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-form-grid label.wide {
    grid-column: auto;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-create-actions,
  body.admin-body.admin-layout-v2 .cms-carousel-edit-actions,
  body.admin-body.admin-layout-v2 .cms-carousel-list-head {
    display: grid;
    align-items: stretch;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-create-actions .admin-button,
  body.admin-body.admin-layout-v2 .cms-carousel-edit-actions .admin-button,
  body.admin-body.admin-layout-v2 .cms-carousel-list-head .admin-button {
    width: 100%;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-card {
    border-radius: 19px;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-card > header {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 16px;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-card > header .admin-status {
    grid-column: 1 / -1;
    justify-self: start;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-preview {
    min-height: 240px;
    margin: 16px;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-preview--classic,
  body.admin-body.admin-layout-v2 .cms-carousel-preview--split {
    grid-template-columns: 1fr;
    grid-template-rows: auto 180px;
  }
}

/* Jianhui VI carousel system — derived from the 2025 visual guidance proposal. */
.foundation-carousel-slide {
  --vi-action: #ea1034;
  --vi-action-text: #fff;
  --vi-edge: #ea1034;
  --vi-heading: #ea1034;
  --vi-mark: #ea1034;
  --vi-corner: #ffce37;
  isolation: isolate;
}

.foundation-carousel-theme--red {
  --vi-action: #ffce37;
  --vi-action-text: #ea1034;
  --vi-edge: #ffce37;
  --vi-heading: #ffce37;
  --vi-mark: #ffce37;
  --vi-corner: #fff4d7;
}

.foundation-carousel-theme--yellow {
  --vi-corner: #fff4d7;
}

.foundation-carousel-theme--green {
  --vi-corner: #ffce37;
}

.foundation-carousel-theme--dark {
  --vi-action: #ffce37;
  --vi-action-text: #171717;
  --vi-edge: #ea1034;
  --vi-heading: #ffce37;
  --vi-mark: #ffce37;
  --vi-corner: #ea1034;
}

.foundation-carousel-classic::after,
.foundation-carousel-split::after,
.foundation-carousel-text::after,
.foundation-carousel-full-image::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
  height: 38px;
  background: radial-gradient(circle at 28px 38px, transparent 0 20px, var(--vi-edge) 21px) 0 0 / 56px 38px repeat-x;
  content: "";
  opacity: 1;
  pointer-events: none;
}

.foundation-carousel-classic {
  position: relative;
  width: 100%;
  min-height: clamp(600px, calc(100svh - 88px), 820px);
  padding: clamp(64px, 6vw, 96px) max(40px, calc((100vw - 1480px) / 2 + 52px)) 92px;
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr);
  gap: clamp(48px, 6vw, 96px);
  overflow: hidden;
  border: 0;
  background: var(--carousel-bg, #fff4d7);
}

.foundation-carousel-classic .foundation-hero-copy {
  position: relative;
  z-index: 3;
  padding-left: clamp(0px, 2vw, 32px);
}

.foundation-carousel-classic .foundation-eyebrow {
  color: var(--vi-heading);
}

.foundation-carousel-classic .foundation-hero-copy h1,
.foundation-carousel-classic .foundation-hero-copy h2 {
  max-width: 680px;
  margin-top: 22px;
  color: var(--vi-heading);
  font-family: var(--font-brand);
  font-size: clamp(50px, 4.6vw, 72px);
  font-weight: 780;
  line-height: 1.08;
  letter-spacing: -.055em;
}

.foundation-carousel-classic .foundation-hero-lead {
  max-width: 560px;
  margin-top: 24px !important;
  color: var(--carousel-text, #171717);
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 680;
  line-height: 1.55;
}

.foundation-carousel-classic .foundation-hero-body {
  max-width: 560px;
  color: color-mix(in srgb, var(--carousel-text, #171717) 72%, transparent);
  line-height: 1.75;
}

.foundation-carousel-classic .foundation-hero-visual {
  position: relative;
  z-index: 2;
  height: min(66vh, 610px);
  overflow: visible;
}

.foundation-carousel-classic .foundation-hero-picture {
  overflow: hidden;
  border-radius: 30px;
}

.foundation-carousel-classic .foundation-hero-picture img {
  border-radius: 0;
  filter: saturate(.84) contrast(1.03);
}

.foundation-carousel-classic .foundation-hero-visual::before,
.foundation-carousel-classic .foundation-hero-visual::after {
  z-index: 3;
  width: clamp(90px, 10vw, 156px);
  height: clamp(90px, 10vw, 156px);
  content: "";
  pointer-events: none;
}

.foundation-carousel-classic .foundation-hero-visual::before {
  top: 0;
  right: auto;
  left: 0;
  border-radius: 28px 0 100% 0;
  background: var(--vi-action);
}

.foundation-carousel-classic .foundation-hero-visual::after {
  right: 0;
  bottom: 0;
  left: auto;
  border-radius: 100% 0 28px;
  background: var(--vi-corner);
}

.foundation-carousel-classic .foundation-hero-visual figcaption {
  right: auto;
  bottom: 34px;
  left: -24px;
  z-index: 4;
  display: flex;
  width: min(280px, 72%);
  height: auto;
  min-height: 116px;
  padding: 22px 28px;
  flex-direction: column;
  place-content: initial;
  justify-content: center;
  border-radius: 0 24px 24px 0;
  color: #fff;
  background: #ea1034;
  text-align: left;
  transform: none;
}

.foundation-carousel-classic .foundation-hero-visual figcaption span {
  color: #ffce37;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .12em;
}

.foundation-carousel-classic .foundation-hero-visual figcaption strong {
  margin-top: 8px;
  padding: 0;
  color: #fff;
  font-size: 18px;
  line-height: 1.38;
}

.foundation-carousel-classic .foundation-seed {
  display: none;
}

.foundation-carousel-slide .foundation-button {
  min-height: 50px;
  border-color: var(--vi-action);
  border-radius: 10px;
  padding: 0 24px;
  color: var(--vi-action-text) !important;
  background: var(--vi-action);
  box-shadow: none;
}

.foundation-carousel-slide .foundation-button:hover {
  box-shadow: 7px 7px 0 color-mix(in srgb, var(--vi-action) 28%, transparent);
}

.foundation-carousel-slide .foundation-button-ghost {
  border-color: var(--carousel-text, #171717);
  color: var(--carousel-text, #171717) !important;
  background: transparent;
}

.foundation-carousel-split {
  position: relative;
  min-height: clamp(600px, calc(100svh - 88px), 820px);
  grid-template-columns: minmax(390px, .82fr) minmax(540px, 1.18fr);
  overflow: hidden;
}

.foundation-carousel-split .foundation-carousel-copy {
  width: 100%;
  padding: clamp(84px, 9vw, 138px) clamp(42px, 7vw, 112px) 112px;
}

.foundation-carousel-split .foundation-carousel-copy::after {
  position: absolute;
  top: 10%;
  right: -60px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: var(--vi-corner);
  content: "";
  opacity: .9;
}

.foundation-carousel-split .foundation-carousel-copy h1,
.foundation-carousel-split .foundation-carousel-copy h2,
.foundation-carousel-text .foundation-carousel-copy h1,
.foundation-carousel-text .foundation-carousel-copy h2 {
  color: var(--vi-heading);
  font-family: var(--font-brand);
  font-weight: 780;
  letter-spacing: -.055em;
}

.foundation-carousel-split .foundation-carousel-media {
  margin: 48px 48px 78px 0;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: none;
}

.foundation-carousel-split .foundation-carousel-media::before,
.foundation-carousel-split .foundation-carousel-media::after {
  position: absolute;
  z-index: 2;
  width: clamp(92px, 10vw, 150px);
  height: clamp(92px, 10vw, 150px);
  content: "";
  pointer-events: none;
}

.foundation-carousel-split .foundation-carousel-media::before {
  top: 0;
  left: 0;
  border-radius: 0 0 100% 0;
  background: #ea1034;
}

.foundation-carousel-split .foundation-carousel-media::after {
  right: 0;
  bottom: 0;
  left: auto;
  border-radius: 100% 0 0;
  background: var(--vi-corner);
  box-shadow: none;
}

.foundation-carousel-split .foundation-carousel-media img {
  filter: saturate(.86) contrast(1.03);
}

.foundation-carousel-text {
  position: relative;
  min-height: clamp(600px, calc(100svh - 88px), 820px);
  background:
    linear-gradient(112deg, transparent 0 68%, color-mix(in srgb, var(--vi-corner) 48%, transparent) 68% 100%),
    var(--carousel-bg, #fff4d7);
}

.foundation-carousel-text .foundation-carousel-copy {
  width: min(100% - 80px, 1120px);
  padding: 118px 30px 116px;
}

.foundation-carousel-text .foundation-carousel-copy h1,
.foundation-carousel-text .foundation-carousel-copy h2 {
  max-width: 1080px;
  font-size: clamp(58px, 6.3vw, 96px);
  line-height: 1.02;
}

.foundation-carousel-text .foundation-carousel-lead {
  max-width: 760px;
  font-size: clamp(20px, 2vw, 28px);
}

.foundation-carousel-text .foundation-carousel-text-background {
  opacity: .16;
  mix-blend-mode: multiply;
}

.foundation-carousel-full-image picture {
  position: relative;
}

.foundation-carousel-full-image picture::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(23, 23, 23, .18), transparent 42%);
  content: "";
  pointer-events: none;
}

.foundation-carousel-full-image img {
  filter: saturate(.88) contrast(1.03);
}

.foundation-carousel-controls {
  right: clamp(20px, 4vw, 62px);
  bottom: 24px;
  min-height: 52px;
  border: 2px solid #ea1034;
  border-radius: 14px;
  color: #ea1034;
  background: #fff4d7;
  box-shadow: 8px 8px 0 rgba(234, 16, 52, .16);
  backdrop-filter: none;
}

.foundation-carousel-controls button:hover,
.foundation-carousel-controls button:focus-visible {
  color: #fff;
  background: #ea1034;
}

.foundation-carousel-dots button {
  background: rgba(234, 16, 52, .28);
}

.foundation-carousel-dots button.is-active,
.foundation-carousel-dots button[aria-selected="true"] {
  background: #ea1034;
}

.foundation-carousel-pause {
  border-left-color: rgba(234, 16, 52, .22) !important;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview {
  --vi-preview-edge: #ea1034;
  border-radius: 12px;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
  height: 20px;
  background: radial-gradient(circle at 15px 20px, transparent 0 10px, var(--vi-preview-edge) 11px) 0 0 / 30px 20px repeat-x;
  content: "";
  pointer-events: none;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview-theme--red { --vi-preview-edge: #ffce37; }
body.admin-body.admin-layout-v2 .cms-carousel-preview-theme--dark { --vi-preview-edge: #ea1034; }

body.admin-body.admin-layout-v2 .cms-carousel-preview-copy strong {
  color: #ea1034;
  font-weight: 820;
  letter-spacing: -.035em;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview-tone--light .cms-carousel-preview-copy strong {
  color: #ffce37;
}

body.admin-body.admin-layout-v2 .cms-carousel-preview--classic img,
body.admin-body.admin-layout-v2 .cms-carousel-preview--split img,
body.admin-body.admin-layout-v2 .cms-carousel-preview--image img {
  filter: saturate(.86) contrast(1.03);
}

@media (max-width: 1120px) {
  .foundation-hero-carousel .foundation-carousel-classic {
    width: 100%;
    padding-right: 36px;
    padding-left: 36px;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    gap: 40px;
  }

  .foundation-carousel-split {
    grid-template-columns: minmax(340px, .9fr) minmax(420px, 1.1fr);
  }
}

@media (max-width: 820px) {
  .foundation-carousel-viewport,
  .foundation-hero-carousel .foundation-carousel-classic,
  .foundation-carousel-split,
  .foundation-carousel-text {
    min-height: clamp(720px, calc(100svh - 66px), 880px);
  }

  .foundation-hero-carousel .foundation-carousel-classic {
    width: 100%;
    padding: 34px 20px 92px;
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(260px, 40vh);
    align-content: center;
    gap: 26px;
  }

  .foundation-carousel-classic .foundation-hero-copy {
    padding: 0;
  }

  .foundation-carousel-classic .foundation-hero-copy h1,
  .foundation-carousel-classic .foundation-hero-copy h2 {
    margin-top: 14px;
    font-size: clamp(36px, 10vw, 50px);
    line-height: 1.08;
  }

  .foundation-carousel-classic .foundation-hero-lead {
    margin-top: 16px !important;
    font-size: 16px;
  }

  .foundation-carousel-classic .foundation-hero-body {
    display: none;
  }

  .foundation-carousel-classic .foundation-hero-visual {
    height: min(40vh, 340px);
  }

  .foundation-carousel-classic .foundation-hero-visual figcaption {
    bottom: 18px;
    left: -8px;
    width: min(220px, 72%);
    min-height: 88px;
    padding: 16px 20px;
  }

  .foundation-carousel-classic .foundation-hero-visual figcaption strong {
    font-size: 15px;
  }

  .foundation-carousel-split {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(280px, 42vh) auto;
  }

  .foundation-carousel-split .foundation-carousel-media {
    grid-row: 1;
    margin: 0;
    border-radius: 0;
  }

  .foundation-carousel-split .foundation-carousel-copy {
    grid-row: 2;
    padding: 30px 22px 104px;
  }

  .foundation-carousel-split .foundation-carousel-copy::after {
    width: 100px;
    height: 100px;
  }

  .foundation-carousel-text .foundation-carousel-copy {
    width: 100%;
    padding: 104px 24px 112px;
  }

  .foundation-carousel-text .foundation-carousel-copy h1,
  .foundation-carousel-text .foundation-carousel-copy h2 {
    font-size: clamp(42px, 13vw, 62px);
  }

  .foundation-carousel-classic::after,
  .foundation-carousel-split::after,
  .foundation-carousel-text::after,
  .foundation-carousel-full-image::after {
    height: 28px;
    background-size: 42px 28px;
    background-image: radial-gradient(circle at 21px 28px, transparent 0 15px, var(--vi-edge) 16px);
  }

  .foundation-carousel-controls {
    right: 14px;
    bottom: 14px;
    left: 14px;
    box-shadow: 5px 5px 0 rgba(234, 16, 52, .16);
  }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-carousel-slide .foundation-button,
  .foundation-carousel-slide .foundation-hero-picture img,
  .foundation-carousel-slide .foundation-carousel-media img {
    transition: none;
  }
}

/* Homepage carousel display modes. The simple mode is the default; VI keeps the full brand treatment. */
.foundation-carousel-style--simple .foundation-carousel-classic::after,
.foundation-carousel-style--simple .foundation-carousel-split::after,
.foundation-carousel-style--simple .foundation-carousel-text::after,
.foundation-carousel-style--simple .foundation-carousel-full-image::after,
.foundation-carousel-style--simple .foundation-carousel-classic .foundation-hero-visual::before,
.foundation-carousel-style--simple .foundation-carousel-classic .foundation-hero-visual::after,
.foundation-carousel-style--simple .foundation-carousel-split .foundation-carousel-copy::after,
.foundation-carousel-style--simple .foundation-carousel-split .foundation-carousel-media::before,
.foundation-carousel-style--simple .foundation-carousel-split .foundation-carousel-media::after,
.foundation-carousel-style--simple .foundation-carousel-full-image picture::after {
  display: none;
}

.foundation-carousel-style--simple .foundation-carousel-classic .foundation-hero-visual,
.foundation-carousel-style--simple .foundation-carousel-split .foundation-carousel-media {
  overflow: hidden;
  border-radius: 14px;
  box-shadow: none;
}

.foundation-carousel-style--simple .foundation-carousel-classic .foundation-hero-picture {
  border-radius: 0;
}

.foundation-carousel-style--simple .foundation-carousel-classic .foundation-hero-picture img,
.foundation-carousel-style--simple .foundation-carousel-split .foundation-carousel-media img,
.foundation-carousel-style--simple .foundation-carousel-full-image img {
  filter: none;
}

.foundation-carousel-style--simple .foundation-carousel-classic .foundation-hero-visual figcaption {
  right: auto;
  bottom: 16px;
  left: 16px;
  width: auto;
  max-width: calc(100% - 32px);
  min-height: 0;
  border-radius: 8px;
  padding: 11px 14px;
  background: rgba(23, 23, 23, .74);
  backdrop-filter: blur(8px);
}

.foundation-carousel-style--simple .foundation-carousel-classic .foundation-hero-visual figcaption span {
  display: none;
}

.foundation-carousel-style--simple .foundation-carousel-classic .foundation-hero-visual figcaption strong {
  margin: 0;
  font-size: 14px;
}

.foundation-carousel-style--simple .foundation-carousel-text {
  background: var(--carousel-bg, #fff4d7);
}

.foundation-carousel-style--simple .foundation-carousel-text .foundation-carousel-copy h1,
.foundation-carousel-style--simple .foundation-carousel-text .foundation-carousel-copy h2 {
  font-size: clamp(44px, 5.5vw, 76px);
  line-height: 1.08;
}

.foundation-carousel-style--simple .foundation-carousel-slide .foundation-button:hover {
  box-shadow: none;
}

.foundation-carousel-style--simple .foundation-carousel-controls {
  right: auto;
  bottom: 22px;
  left: 50%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  gap: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  transform: translateX(-50%);
  backdrop-filter: none;
}

.foundation-carousel-style--simple .foundation-carousel-controls button:hover,
.foundation-carousel-style--simple .foundation-carousel-controls button:focus-visible {
  background: rgba(17, 24, 39, .48);
  outline: 2px solid rgba(255, 255, 255, .82);
  outline-offset: 3px;
}

.foundation-carousel-style--simple .foundation-carousel-dots {
  padding: 8px;
  gap: 9px;
}

.foundation-carousel-style--simple .foundation-carousel-dots button {
  width: 10px;
  min-width: 10px;
  height: 10px;
  padding: 0;
  background: rgba(17, 24, 39, .3);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .42);
}

.foundation-carousel-style--simple .foundation-carousel-dots button.is-active,
.foundation-carousel-style--simple .foundation-carousel-dots button[aria-selected="true"] {
  background: rgba(234, 16, 52, .88);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .72);
}

/* Focused homepage carousel administration. */
body.admin-body.admin-layout-v2 .cms-carousel-list-panel {
  margin-top: 20px;
}

body.admin-body.admin-layout-v2.cms-stories-admin-body .cms-carousel-list-panel {
  margin-top: 0;
}

body.admin-body.admin-layout-v2.cms-news-section-admin-body .cms-news-section-panel {
  margin-top: 0;
}

body.admin-body.admin-layout-v2 .cms-news-admin-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px) auto auto;
  align-items: end;
  gap: 12px;
  margin: 4px 0 18px;
  border: 1px solid #eceef1;
  border-radius: 12px;
  padding: 14px;
  background: #fafafa;
}

body.admin-body.admin-layout-v2 .cms-news-admin-toolbar label {
  display: grid;
  gap: 6px;
  color: #52525b;
  font-size: 12px;
  font-weight: 800;
}

body.admin-body.admin-layout-v2 .cms-news-admin-toolbar input,
body.admin-body.admin-layout-v2 .cms-news-admin-toolbar select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #d9dce1;
  border-radius: 9px;
  padding: 0 11px;
  background: #fff;
  color: #27272a;
}

body.admin-body.admin-layout-v2 .cms-news-admin-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  color: #71717a;
  font-size: 12px;
}

body.admin-body.admin-layout-v2 .cms-news-admin-pagination p { margin: 0; }

body.admin-body.admin-layout-v2 .cms-news-admin-pagination nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

body.admin-body.admin-layout-v2 .cms-news-admin-pagination a,
body.admin-body.admin-layout-v2 .cms-news-admin-pagination b,
body.admin-body.admin-layout-v2 .cms-news-admin-pagination span {
  display: inline-grid;
  min-width: 34px;
  min-height: 34px;
  place-items: center;
  border: 1px solid #e4e4e7;
  border-radius: 8px;
  padding: 0 9px;
  background: #fff;
  color: #52525b;
  text-decoration: none;
}

body.admin-body.admin-layout-v2 .cms-news-admin-pagination b {
  border-color: #ea1034;
  background: #ea1034;
  color: #fff;
}

body.admin-body.admin-layout-v2 .cms-news-admin-pagination span {
  background: #f4f4f5;
  color: #a1a1aa;
}

body.admin-body.admin-layout-v2 .cms-news-section-form {
  margin-top: 18px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-panel .admin-panel-head h1 {
  margin: 0 0 6px;
  color: #2c2823;
  font-size: 24px;
  line-height: 1.2;
}

body.admin-body.admin-layout-v2 .admin-section-kicker {
  display: block;
  margin: 0 0 7px;
  color: #a30b26;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .02em;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-panel .admin-panel-head p {
  margin: 0;
  color: #71717a;
  font-size: 13px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-panel .admin-head-actions {
  align-items: center;
  justify-content: flex-end;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-panel .admin-head-actions form {
  margin: 0;
}

body.admin-body.admin-layout-v2 .cms-story-sync-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 16px;
  margin: 0 0 18px;
  border: 1px solid rgba(234, 16, 52, .12);
  border-radius: 12px;
  padding: 13px 15px;
  background: #fff9ea;
  color: #52525b;
  font-size: 13px;
}

body.admin-body.admin-layout-v2 .cms-story-sync-summary strong { color: #a30b26; }
body.admin-body.admin-layout-v2 .cms-story-sync-summary small { color: #71717a; }

body.admin-body.admin-layout-v2 .cms-wechat-api-setting {
  display: grid;
  gap: 14px;
  border: 1px solid rgba(234, 16, 52, .14);
  border-radius: 12px;
  padding: 16px;
  background: #fffaf0;
}

body.admin-body.admin-layout-v2 .cms-wechat-api-setting > div:first-child strong {
  color: #a30b26;
  font-size: 14px;
}

body.admin-body.admin-layout-v2 .cms-wechat-api-setting p {
  margin: 5px 0 0;
  color: #71717a;
  font-size: 13px;
  line-height: 1.6;
}

body.admin-body.admin-layout-v2 .cms-wechat-api-setting .admin-form-grid {
  margin: 0;
}

body.admin-body.admin-layout-v2 .cms-wechat-api-setting label small {
  display: block;
  margin-top: 6px;
  color: #71717a;
  font-weight: 500;
}

@media (max-width: 760px) {
  body.admin-body.admin-layout-v2 .cms-carousel-list-panel .admin-head-actions {
    width: 100%;
    justify-content: flex-start;
  }

  body.admin-body.admin-layout-v2 .cms-story-sync-summary {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  body.admin-body.admin-layout-v2 .cms-news-admin-toolbar {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-news-admin-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  body.admin-body.admin-layout-v2 .cms-news-admin-pagination nav {
    justify-content: flex-start;
  }
}

body.admin-body.admin-layout-v2 .cms-carousel-head-actions,
body.admin-body.admin-layout-v2 .cms-carousel-style-form {
  display: flex;
  align-items: center;
  gap: 10px;
}

body.admin-body.admin-layout-v2 .cms-carousel-head-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

body.admin-body.admin-layout-v2 .cms-carousel-style-form label {
  color: #4b5563;
  font-size: 13px;
  font-weight: 700;
}

body.admin-body.admin-layout-v2 .cms-carousel-style-form select {
  min-width: 178px;
  min-height: 40px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 0 34px 0 12px;
  color: #111827;
  background: #fff;
}

body.admin-body.admin-layout-v2 .cms-carousel-table th,
body.admin-body.admin-layout-v2 .cms-carousel-table td {
  vertical-align: middle;
}

body.admin-body.admin-layout-v2 .cms-carousel-table {
  min-width: 1060px;
  table-layout: fixed;
}

body.admin-body.admin-layout-v2 .cms-carousel-table .cms-carousel-col-sort {
  width: 64px;
}

body.admin-body.admin-layout-v2 .cms-carousel-table .cms-carousel-col-type {
  width: 104px;
}

body.admin-body.admin-layout-v2 .cms-carousel-table .cms-carousel-col-status {
  width: 88px;
}

body.admin-body.admin-layout-v2 .cms-carousel-table .cms-carousel-col-duration {
  width: 76px;
}

body.admin-body.admin-layout-v2 .cms-carousel-table .cms-carousel-col-time {
  width: 154px;
}

body.admin-body.admin-layout-v2 .cms-carousel-table .cms-carousel-col-actions {
  width: 148px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-item {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 14px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-copy strong,
body.admin-body.admin-layout-v2 .cms-carousel-list-copy small {
  display: block;
  overflow-wrap: anywhere;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-item small {
  color: #7b736a;
  font-size: 12px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-thumb {
  display: grid;
  width: 112px;
  height: 64px;
  flex: 0 0 112px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #ddd7cf;
  border-radius: 8px;
  color: #6f675e;
  background: var(--preview-bg, #fff4d7);
  font-size: 11px;
}

body.admin-body.admin-layout-v2 .cms-carousel-list-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.admin-body.admin-layout-v2 .cms-carousel-type-cell {
  white-space: nowrap;
}

body.admin-body.admin-layout-v2 .cms-carousel-row-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}

body.admin-body.admin-layout-v2 .cms-carousel-row-actions .admin-button {
  min-height: 38px;
  padding: 0 16px;
}

body.admin-body.admin-layout-v2 .cms-carousel-standalone-form {
  width: min(100%, 1040px);
  margin: 20px auto 48px;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-section {
  display: grid;
  min-width: 0;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #e8e4de;
  padding: 26px 0;
  gap: 16px;
}

body.admin-body.admin-layout-v2 .cms-carousel-standalone-form [data-carousel-layouts][hidden] {
  display: none !important;
}

body.admin-body.admin-layout-v2 .cms-carousel-standalone-form label small {
  display: block;
  margin-top: 6px;
  color: #7b736a;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.55;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-section:first-child {
  padding-top: 0;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-section legend {
  margin-bottom: 16px;
  padding: 0;
  color: #2c2823;
  font-size: 18px;
  font-weight: 780;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-section .admin-form-grid {
  width: 100%;
}

body.admin-body.admin-layout-v2 .cms-carousel-media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.admin-body.admin-layout-v2 .cms-carousel-upload-card {
  align-content: start;
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 16px;
  background: #fbfbfc;
}

body.admin-body.admin-layout-v2 .cms-carousel-upload-card h3 {
  margin: 0;
  color: #2c2823;
  font-size: 15px;
}

body.admin-body.admin-layout-v2 .cms-carousel-upload-dropzone {
  min-height: 142px;
  border-radius: 8px;
  background: #fff;
}

body.admin-body.admin-layout-v2 .cms-carousel-upload-dropzone span {
  max-width: 320px;
  font-size: 12px;
  line-height: 1.55;
}

body.admin-body.admin-layout-v2 .cms-carousel-upload-preview {
  grid-template-columns: minmax(0, 1fr);
}

body.admin-body.admin-layout-v2 .cms-carousel-upload-preview img {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  object-fit: cover;
}

body.admin-body.admin-layout-v2 .cms-carousel-upload-preview--mobile img {
  width: min(100%, 240px);
  aspect-ratio: 4 / 5;
  justify-self: center;
}

body.admin-body.admin-layout-v2 .admin-form-help {
  margin: -4px 0 0;
  color: #7b736a;
  font-size: 12px;
  line-height: 1.6;
}

body.admin-body.admin-layout-v2 .cms-carousel-form-actions {
  display: flex;
  padding-top: 24px;
  justify-content: flex-end;
  gap: 12px;
}

@media (max-width: 760px) {
  body.admin-body.admin-layout-v2 .cms-carousel-standalone-form {
    margin-top: 16px;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-form-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-form-actions .admin-button {
    width: 100%;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-media-grid {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-head-actions,
  body.admin-body.admin-layout-v2 .cms-carousel-style-form {
    width: 100%;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-style-form {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-style-form label {
    grid-column: 1 / -1;
  }

  body.admin-body.admin-layout-v2 .cms-carousel-style-form select {
    width: 100%;
    min-width: 0;
  }
}

/* Independent foundation milestones: structured timeline, not CMS article UI. */
.foundation-milestones-page { --milestone-red:#ea1034; --milestone-yellow:#ffce37; --milestone-green:#aaf7a9; --milestone-cream:#fff4d7; color:#241f1a; background:#fffaf0; }
html:has(body.foundation-milestones-page),body.foundation-milestones-page { overflow-x:clip; }
.foundation-milestones-shell { width:min(1240px, calc(100% - 64px)); margin-inline:auto; }
.foundation-milestones-hero { position:relative; overflow:hidden; min-height:530px; padding:46px 0 78px; background:radial-gradient(circle at 78% 30%,rgba(255,206,55,.42),transparent 24%),linear-gradient(135deg,#fff4d7 0%,#fffaf0 55%,#fff 100%); }
.foundation-milestones-hero::before,.foundation-milestones-hero::after { position:absolute; border-radius:999px; content:""; pointer-events:none; }
.foundation-milestones-hero::before { width:360px; height:360px; right:-110px; top:-145px; border:74px solid rgba(234,16,52,.08); }
.foundation-milestones-hero::after { width:150px; height:150px; left:8%; bottom:-112px; border:38px solid rgba(170,247,169,.52); }
.foundation-milestones-breadcrumb { display:flex; align-items:center; gap:10px; min-height:34px; color:#84776b; font-size:14px; }
.foundation-milestones-breadcrumb a { color:inherit; text-decoration:none; }
.foundation-milestones-breadcrumb a:hover { color:var(--milestone-red); }
.foundation-milestones-breadcrumb strong { color:#302923; font-weight:600; }
.foundation-milestones-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); gap:80px; align-items:end; padding-top:86px; }
.foundation-milestones-kicker { margin:0 0 18px; color:var(--milestone-red); font-size:13px; font-weight:800; letter-spacing:.2em; }
.foundation-milestones-hero h1 { margin:0; font-size:clamp(54px,6vw,88px); line-height:.98; letter-spacing:-.055em; }
.foundation-milestones-lead { max-width:640px; margin:28px 0 0; color:#6f6257; font-size:clamp(18px,2vw,24px); line-height:1.75; }
.foundation-milestones-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; overflow:hidden; border:1px solid rgba(43,34,28,.1); border-radius:28px; background:rgba(43,34,28,.09); box-shadow:0 28px 80px rgba(105,78,45,.12); backdrop-filter:blur(16px); }
.foundation-milestones-stats div { min-height:128px; padding:27px 30px; background:rgba(255,255,255,.75); }
.foundation-milestones-stats dt { color:var(--milestone-red); font-size:34px; font-weight:800; letter-spacing:-.04em; }
.foundation-milestones-stats dd { margin:7px 0 0; color:#786d63; font-size:14px; }
.foundation-milestones-content { padding:80px 0 120px; }
.foundation-milestones-layout { display:grid; grid-template-columns:168px minmax(0,1fr); gap:78px; align-items:start; }
.foundation-milestones-year-nav { position:sticky; top:108px; max-height:calc(100vh - 136px); overflow:hidden auto; padding:34px 14px 16px; border:1px solid rgba(234,16,52,.1); border-radius:22px; background:rgba(255,255,255,.9); box-shadow:0 22px 60px rgba(66,47,31,.08); }
.foundation-milestones-year-nav-bridge { position:absolute; inset:0 0 auto; height:22px; overflow:hidden; background:linear-gradient(var(--milestone-red),var(--milestone-red)) top/100% 11px no-repeat; pointer-events:none; }
.foundation-milestones-year-nav-bridge::after { position:absolute; top:9px; left:0; width:100%; height:13px; background:radial-gradient(circle at 9px 0,var(--milestone-red) 0 8px,transparent 8.5px) 0 0/28px 14px repeat-x; content:""; }
.foundation-milestones-year-nav>span { display:block; margin:0 8px 12px; color:#998c81; font-size:11px; font-weight:700; letter-spacing:.12em; }
.foundation-milestones-current-year { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:baseline; min-height:78px; margin-bottom:12px; padding:14px 12px 10px; overflow:hidden; border-radius:15px; color:#fff; background:var(--milestone-red); }
.foundation-milestones-current-year>span { grid-column:1/-1; margin-bottom:4px; color:rgba(255,255,255,.72); font-size:10px; letter-spacing:.12em; }
.foundation-milestones-current-year strong { position:relative; z-index:1; font-family:var(--font-brand); font-size:31px; line-height:1; }
.foundation-milestones-current-year em { position:relative; z-index:1; align-self:end; margin:0 0 1px 4px; font-size:12px; font-style:normal; }
.foundation-milestone-seed-symbol { position:absolute; right:-10px; bottom:-8px; width:74px; height:62px; opacity:.32; }
.foundation-milestone-seed-symbol>b { position:absolute; width:6px; height:6px; border-radius:50%; background:var(--milestone-yellow); }
.foundation-milestone-seed-symbol>b:nth-child(1) { top:4px; left:34px; }
.foundation-milestone-seed-symbol>b:nth-child(2) { top:15px; right:9px; }
.foundation-milestone-seed-symbol>b:nth-child(3) { right:4px; bottom:16px; }
.foundation-milestone-seed-symbol>b:nth-child(4) { bottom:4px; left:33px; }
.foundation-milestone-seed-symbol>b:nth-child(5) { left:7px; bottom:16px; }
.foundation-milestone-seed-symbol>b:nth-child(6) { top:15px; left:12px; }
.foundation-milestone-seed-symbol>.foundation-milestone-mini-flower { position:absolute; top:24px; left:29px; color:var(--milestone-yellow); opacity:1; }
.foundation-milestones-year-nav nav { display:grid; gap:3px; }
.foundation-milestones-year-nav a { position:relative; display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:11px; color:#75695f; font-size:15px; text-decoration:none; transition:color .2s ease,background .2s ease,transform .2s ease; }
.foundation-milestones-year-nav a b { font-weight:650; }
.foundation-milestones-year-nav a .foundation-milestone-mini-flower { flex:0 0 auto; color:#c7bbb0; opacity:.38; transform:scale(.7); transition:color .2s ease,opacity .2s ease,transform .2s ease; }
.foundation-milestones-year-nav a:hover,.foundation-milestones-year-nav a:focus-visible { color:var(--milestone-red); background:var(--milestone-cream); transform:translateX(3px); outline:none; }
.foundation-milestones-year-nav a.is-active { color:#271f1a; background:var(--milestone-yellow); box-shadow:0 8px 20px rgba(255,206,55,.28); transform:translateX(4px); }
.foundation-milestones-year-nav a.is-active .foundation-milestone-mini-flower { color:var(--milestone-red); opacity:1; transform:scale(.82) rotate(12deg); }
.foundation-milestone-mini-flower { position:relative; display:block; width:18px; height:18px; color:var(--milestone-red); }
.foundation-milestone-mini-flower>i { position:absolute; bottom:50%; left:50%; width:42%; height:46%; margin-left:-21%; border-radius:55% 55% 45% 45%; background:currentColor; transform-origin:50% 100%; }
.foundation-milestone-mini-flower::after { position:absolute; inset:38%; border-radius:50%; background:currentColor; content:""; }
.foundation-milestone-mini-flower>i:nth-child(1) { transform:rotate(0deg); }
.foundation-milestone-mini-flower>i:nth-child(2) { transform:rotate(72deg); }
.foundation-milestone-mini-flower>i:nth-child(3) { transform:rotate(144deg); }
.foundation-milestone-mini-flower>i:nth-child(4) { transform:rotate(216deg); }
.foundation-milestone-mini-flower>i:nth-child(5) { transform:rotate(288deg); }
.foundation-milestone-year { scroll-margin-top:104px; margin-bottom:94px; }
.foundation-milestone-year:last-child { margin-bottom:0; }
.foundation-milestone-year>header { display:flex; align-items:baseline; gap:14px; margin-bottom:30px; }
.foundation-milestone-year-symbol { position:relative; display:grid; place-items:center; width:52px; height:52px; border-radius:17px; background:var(--milestone-cream); box-shadow:inset 0 0 0 1px rgba(234,16,52,.1); transition:background .25s ease,transform .25s ease; }
.foundation-milestone-year-symbol::before { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--milestone-yellow); box-shadow:17px 7px 0 var(--milestone-yellow),18px 25px 0 var(--milestone-yellow),5px 37px 0 var(--milestone-yellow),-12px 32px 0 var(--milestone-yellow),-19px 15px 0 var(--milestone-yellow),-10px 1px 0 var(--milestone-yellow); content:""; transform:translate(-2px,-18px); }
.foundation-milestone-year-symbol .foundation-milestone-mini-flower { width:21px; height:21px; }
.foundation-milestone-year.is-active-year .foundation-milestone-year-symbol { background:var(--milestone-red); transform:rotate(4deg); }
.foundation-milestone-year.is-active-year .foundation-milestone-year-symbol .foundation-milestone-mini-flower { color:#fff; }
.foundation-milestone-year.is-active-year h2 { color:var(--milestone-red); }
.foundation-milestone-year h2 { margin:0; font-size:36px; letter-spacing:-.035em; }
.foundation-milestone-year>header p { margin:0 0 3px auto; color:#9b8f84; font-size:14px; }
.foundation-milestone-year-items { position:relative; }
.foundation-milestone-year-items::before { position:absolute; top:-31px; bottom:-95px; left:176px; width:3px; border-radius:999px; background:linear-gradient(var(--milestone-red) 0 52%,var(--milestone-yellow) 78%,rgba(234,16,52,.08)); content:""; }
.foundation-milestone-year:last-child .foundation-milestone-year-items::before { bottom:0; }
.foundation-milestone-card { position:relative; display:grid; grid-template-columns:145px minmax(0,1fr); gap:62px; padding:0 0 42px; }
.foundation-milestone-card:last-child { padding-bottom:0; }
.foundation-milestone-node { position:absolute; z-index:2; left:165px; top:17px; width:24px; height:24px; color:var(--milestone-red); filter:drop-shadow(0 0 0 #fff) drop-shadow(0 0 4px rgba(234,16,52,.2)); transition:transform .25s ease; }
.foundation-milestone-node>i { position:absolute; bottom:50%; left:50%; width:40%; height:44%; margin-left:-20%; border:3px solid #fff; border-bottom:0; border-radius:55% 55% 45% 45%; background:currentColor; transform-origin:50% 100%; }
.foundation-milestone-node::after { position:absolute; inset:37%; border:2px solid #fff; border-radius:50%; background:var(--milestone-yellow); content:""; }
.foundation-milestone-node>i:nth-child(1) { transform:rotate(0deg); }
.foundation-milestone-node>i:nth-child(2) { transform:rotate(72deg); }
.foundation-milestone-node>i:nth-child(3) { transform:rotate(144deg); }
.foundation-milestone-node>i:nth-child(4) { transform:rotate(216deg); }
.foundation-milestone-node>i:nth-child(5) { transform:rotate(288deg); }
.foundation-milestone-card:hover .foundation-milestone-node { transform:rotate(18deg) scale(1.08); }
.foundation-milestone-card-date { padding-top:16px; text-align:right; }
.foundation-milestone-card-date time { color:var(--milestone-red); font-size:15px; font-weight:750; }
.foundation-milestone-card-body { position:relative; min-width:0; padding:27px 30px 30px; overflow:hidden; border:1px solid #eee6dc; border-radius:24px; background:#fff; box-shadow:0 18px 60px rgba(66,47,31,.07); transition:border-color .25s ease,box-shadow .25s ease; }
.foundation-milestone-card-body::before { position:absolute; top:0; right:28px; width:96px; height:9px; background:radial-gradient(circle at 7px 0,var(--milestone-red) 0 6px,transparent 6.5px) 0 4px/22px 9px repeat-x,linear-gradient(var(--milestone-red),var(--milestone-red)) top/100% 4px no-repeat; content:""; opacity:.28; transition:width .25s ease,opacity .25s ease; }
.foundation-milestone-year.is-active-year .foundation-milestone-card-body { border-color:rgba(234,16,52,.16); box-shadow:0 20px 64px rgba(90,47,35,.09); }
.foundation-milestone-year.is-active-year .foundation-milestone-card-body::before { width:132px; opacity:.78; }
.foundation-milestone-card-body h3 { margin:0 0 12px; font-size:23px; line-height:1.4; }
.foundation-milestone-card-body>p { margin:0; color:#5f554c; font-size:17px; line-height:1.9; }
.foundation-milestone-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:24px; }
.foundation-milestone-gallery figure { min-width:0; margin:0; overflow:hidden; border-radius:16px; background:#f4f1ec; }
.foundation-milestone-gallery figure:only-child { grid-column:1/-1; }
.foundation-milestone-gallery img { display:block; width:100%; height:auto; max-height:620px; object-fit:contain; background:#f4f1ec; }
.foundation-milestones-empty { padding:90px 30px; border:1px dashed #dacfc3; border-radius:28px; text-align:center; background:#fff; }
.foundation-milestones-empty span { color:var(--milestone-red); font-weight:700; }
.foundation-milestones-empty h2 { margin:12px 0; }
.foundation-milestones-empty p { margin:0; color:#81756b; }
.foundation-milestones-footer { padding:42px 0; color:#fff; background:#251f1b; }
.foundation-milestones-footer .foundation-milestones-shell { display:flex; align-items:center; gap:24px; }
.foundation-milestones-footer img { width:178px; height:auto; }
.foundation-milestones-footer p { margin:0; color:#d8d0ca; }
.foundation-milestones-footer a { margin-left:auto; color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.45); }

/* Dedicated milestone manager. */
body.admin-body.admin-layout-v2.cms-milestones-admin-body .admin-main,body.admin-body.admin-layout-v2.cms-milestone-form-body .admin-main { max-width:1240px; }
.cms-milestones-panel { overflow:visible; padding:0; }
.cms-milestones-summary { display:flex; align-items:baseline; gap:9px; padding:24px 28px; border-bottom:1px solid #eee8e1; }
.cms-milestones-summary strong { color:#ea1034; font-size:31px; }
.cms-milestones-summary span { color:#332c26; font-weight:700; }
.cms-milestones-summary p { margin:0 0 0 auto; color:#91867c; font-size:13px; }
.cms-milestone-admin-timeline { padding:28px; }
.cms-milestone-admin-year { position:relative; display:grid; grid-template-columns:92px minmax(0,1fr); gap:28px; }
.cms-milestone-admin-year>h2 { position:sticky; top:92px; align-self:start; margin:0; padding:9px 14px; border-radius:12px; color:#fff; background:#ea1034; font-size:18px; text-align:center; }
.cms-milestone-admin-items { position:relative; padding:0 0 34px 26px; border-left:2px solid #f0ded2; }
.cms-milestone-admin-item { position:relative; display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:20px; padding:22px 0; border-bottom:1px solid #eee8e1; }
.cms-milestone-admin-item:last-child { border-bottom:0; }
.cms-milestone-admin-dot { position:absolute; left:-34px; top:31px; width:14px; height:14px; border:3px solid #fff; border-radius:50%; background:#ea1034; box-shadow:0 0 0 2px #ea1034; }
.cms-milestone-admin-date { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.cms-milestone-admin-date time { color:#ea1034; font-weight:750; }
.cms-milestone-admin-copy { min-width:0; }
.cms-milestone-admin-copy h3 { margin:0 0 8px; font-size:17px; }
.cms-milestone-admin-copy p { margin:0; color:#625950; line-height:1.7; }
.cms-milestone-admin-copy small { display:block; margin-top:10px; color:#a2978e; }
.cms-milestone-admin-images { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.cms-milestone-admin-images img { width:88px; height:64px; object-fit:contain; border:1px solid #ece5dd; border-radius:10px; background:#f7f5f1; }
.cms-milestone-admin-actions { display:flex; align-items:flex-start; gap:8px; }
.cms-milestone-admin-actions form { margin:0; }
.admin-link-button.danger { color:#b21f32; border-color:#f0ccd2; background:#fff7f8; }
.cms-milestone-editor { display:grid; gap:0; padding:0; overflow:hidden; }
.cms-milestone-editor-section { padding:30px; border-bottom:1px solid #eee8e1; }
.cms-milestone-editor-section-head { display:flex; gap:14px; align-items:flex-start; margin-bottom:24px; }
.cms-milestone-editor-section-head>span { display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:12px; color:#fff; background:#ea1034; font-weight:800; }
.cms-milestone-editor-section-head h2 { margin:1px 0 4px; font-size:20px; }
.cms-milestone-editor-section-head p { margin:0; color:#8a7f75; font-size:13px; }
.cms-milestone-image-urls { display:none!important; }
.cms-milestone-images-field { margin:0; }
.cms-milestone-upload-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.cms-milestone-upload-preview .upload-preview-count { grid-column:1/-1; }
.cms-milestone-upload-preview figure { position:relative; margin:0; overflow:hidden; border:1px solid #e8dfd6; border-radius:14px; background:#f6f3ee; }
.cms-milestone-upload-preview figure img { display:block; width:100%; height:150px; object-fit:contain; }
.cms-milestone-upload-preview figure div { position:absolute; right:8px; bottom:8px; display:flex; gap:5px; }
.cms-milestone-upload-preview figure button { width:30px; height:30px; border:0; border-radius:9px; color:#fff; background:rgba(31,26,22,.78); cursor:pointer; }
.cms-milestone-editor>.admin-form-actions { padding:24px 30px; }

@media (max-width:900px) {
  .foundation-milestones-shell { width:min(calc(100% - 36px),720px); }
  .foundation-milestones-hero { min-height:0; padding:30px 0 54px; }
  .foundation-milestones-hero-grid { grid-template-columns:1fr; gap:42px; padding-top:54px; }
  .foundation-milestones-layout { grid-template-columns:1fr; gap:24px; }
  .foundation-milestones-year-nav { position:sticky; z-index:8; top:68px; max-height:none; margin-inline:-18px; padding:10px 18px; overflow-x:auto; border:0; border-radius:0; background:rgba(255,250,240,.94); box-shadow:none; backdrop-filter:blur(14px); }
  .foundation-milestones-year-nav-bridge,.foundation-milestones-current-year { display:none; }
  .foundation-milestones-year-nav>span { display:none; }
  .foundation-milestones-year-nav nav { display:flex; width:max-content; gap:4px; }
  .foundation-milestones-year-nav a { padding:7px 12px; font-size:14px; }
  .foundation-milestones-year-nav a.is-active { transform:none; }
  .foundation-milestones-content { padding:28px 0 76px; }
  .cms-milestone-admin-item { grid-template-columns:125px minmax(0,1fr); }
  .cms-milestone-admin-actions { grid-column:2; }
}
@media (max-width:620px) {
  .foundation-milestones-shell { width:calc(100% - 28px); }
  .foundation-milestones-breadcrumb { overflow:hidden; white-space:nowrap; font-size:12px; }
  .foundation-milestones-hero-grid { padding-top:42px; }
  .foundation-milestones-hero h1 { font-size:52px; }
  .foundation-milestones-lead { margin-top:20px; font-size:17px; line-height:1.7; }
  .foundation-milestones-stats div { min-height:104px; padding:21px 20px; }
  .foundation-milestones-stats dt { font-size:28px; }
  .foundation-milestone-year { margin-bottom:66px; }
  .foundation-milestone-year>header { margin-bottom:23px; }
  .foundation-milestone-year>header>span { width:44px; height:44px; border-radius:14px; }
  .foundation-milestone-year h2 { font-size:28px; }
  .foundation-milestone-year>header p { font-size:12px; }
  .foundation-milestone-year-items::before { left:8px; top:-24px; bottom:-68px; }
  .foundation-milestone-card { display:block; padding:0 0 28px 30px; }
  .foundation-milestone-node { left:-2px; top:4px; width:20px; height:20px; }
  .foundation-milestone-card-date { padding:0 0 10px; text-align:left; }
  .foundation-milestone-card-body { padding:21px 20px 22px; border-radius:19px; }
  .foundation-milestone-card-body h3 { font-size:20px; }
  .foundation-milestone-card-body>p { font-size:15px; line-height:1.8; }
  .foundation-milestone-gallery { grid-template-columns:1fr; margin-top:18px; }
  .foundation-milestone-gallery figure:only-child { grid-column:auto; }
  .foundation-milestones-footer .foundation-milestones-shell { align-items:flex-start; flex-direction:column; gap:12px; }
  .foundation-milestones-footer a { margin-left:0; }
  .cms-milestones-summary { align-items:center; flex-wrap:wrap; }
  .cms-milestones-summary p { flex-basis:100%; margin-left:0; }
  .cms-milestone-admin-timeline { padding:18px; }
  .cms-milestone-admin-year { display:block; }
  .cms-milestone-admin-year>h2 { position:static; width:fit-content; margin-bottom:12px; }
  .cms-milestone-admin-items { padding-left:20px; }
  .cms-milestone-admin-item { display:block; padding:18px 0; }
  .cms-milestone-admin-dot { left:-28px; top:24px; }
  .cms-milestone-admin-copy { margin-top:12px; }
  .cms-milestone-admin-actions { margin-top:14px; }
  .cms-milestone-upload-preview { grid-template-columns:1fr; }
  .cms-milestone-editor-section { padding:22px 18px; }
  .cms-milestone-editor>.admin-form-actions { padding:20px 18px; }
}
@media (prefers-reduced-motion:reduce) { .foundation-milestones-year-nav a { transition:none; } }

/* CMS rich-text editor — neutral admin treatment. */
.admin-rich-text-field { display:grid; gap:8px; min-width:0; }
.admin-rich-text-field>label { color:#172033; font-size:14px; font-weight:700; }
.admin-rich-text-field>small { color:#7b8494; font-size:12px; line-height:1.6; }
.admin-rich-text-field .jodit-container { width:100%; max-width:100%; }
.admin-rich-text-field .jodit-wysiwyg { font-family:var(--font-brand); font-size:16px; line-height:1.8; }
.admin-rich-text-field .jodit-wysiwyg img { max-width:100%; height:auto; }
.admin-rich-text-field .jodit-container.has-validation-error { border-color:#dc3545; box-shadow:0 0 0 3px rgba(220,53,69,.12); }
@media (max-width:720px) {
  .admin-rich-text-field .jodit-wysiwyg { font-size:15px; }
}

/* Structured council management. */
.cms-council-admin-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 18px; }
.cms-council-admin-summary article { padding:20px 22px; border:1px solid #e7e9ee; border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(20,32,54,.05); }
.cms-council-admin-summary strong { display:block; color:#192033; font-size:30px; line-height:1; }
.cms-council-admin-summary span { display:block; margin-top:8px; color:#737c8d; font-size:13px; }
.cms-council-admin-panel { display:grid; gap:32px; }
.cms-council-admin-roster>header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid #e9ebef; }
.cms-council-admin-roster>header span { color:#ea1034; font-size:11px; font-weight:800; letter-spacing:.16em; }
.cms-council-admin-roster>header h2 { margin:5px 0; color:#172033; font-size:24px; }
.cms-council-admin-roster>header p { margin:0; color:#747d8c; }
.cms-council-admin-group { padding-top:22px; }
.cms-council-admin-group>h3 { display:flex; align-items:center; gap:9px; margin:0 0 12px; color:#2e3749; font-size:15px; }
.cms-council-admin-group>h3 span { display:grid; place-items:center; min-width:24px; height:24px; padding:0 7px; border-radius:12px; color:#a32438; background:#fff0f3; font-size:11px; }
.cms-council-admin-list { display:grid; gap:10px; }
.cms-council-admin-member { display:grid; grid-template-columns:74px minmax(0,1fr) auto; align-items:center; gap:16px; padding:14px; border:1px solid #e7e9ee; border-radius:14px; background:#fbfcfd; }
.cms-council-admin-avatar { width:74px; height:82px; overflow:hidden; border-radius:12px; background:#edf0f4; }
.cms-council-admin-avatar img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.cms-council-admin-avatar span { display:grid; width:100%; height:100%; place-items:center; color:#a7273d; background:#fff0f3; font-size:26px; font-weight:800; }
.cms-council-admin-copy { min-width:0; }
.cms-council-admin-copy>div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.cms-council-admin-copy h4 { margin:0; color:#182133; font-size:17px; }
.cms-council-admin-copy strong { color:#b0223a; font-size:13px; }
.cms-council-admin-copy p { display:-webkit-box; margin:7px 0 6px; overflow:hidden; color:#5f6878; font-size:13px; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.cms-council-admin-copy small { color:#8b93a0; font-size:11px; }
.cms-council-admin-actions { display:flex; align-items:center; gap:10px; }
.cms-council-editor { padding:0; overflow:hidden; }
.cms-council-editor-section { display:grid; gap:18px; padding:28px 30px; border-bottom:1px solid #e9ebef; }
.cms-council-editor-section-head { display:flex; align-items:flex-start; gap:13px; }
.cms-council-editor-section-head>span { display:grid; width:31px; height:31px; flex:0 0 auto; place-items:center; border-radius:9px; color:#fff; background:#313b50; font-size:11px; font-weight:800; }
.cms-council-editor-section-head h2 { margin:0; color:#172033; font-size:18px; }
.cms-council-editor-section-head p { margin:4px 0 0; color:#7b8494; font-size:12px; }
.cms-council-profile-grid { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr); gap:22px; align-items:start; }
.cms-council-avatar-field .upload-preview { max-width:220px; }
.cms-council-avatar-field .upload-preview img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; }

/* Public council page. */
.foundation-council-page { color:#28211d; background:#fffdf8; }
.foundation-council-shell { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.foundation-council-hero { position:relative; overflow:hidden; padding:72px 0 82px; color:#fff; background:linear-gradient(125deg,#b70827 0,#ea1034 56%,#f4425e 100%); }
.foundation-council-hero::before { position:absolute; width:420px; height:420px; top:-210px; right:4%; border:80px solid rgba(255,206,55,.18); border-radius:50%; content:""; }
.foundation-council-hero::after { position:absolute; right:12%; bottom:-110px; width:250px; height:170px; border-radius:50% 50% 0 0; background:rgba(255,244,215,.12); content:""; }
.foundation-council-breadcrumb { position:relative; z-index:1; display:flex; align-items:center; gap:9px; color:rgba(255,255,255,.72); font-size:13px; }
.foundation-council-breadcrumb a { color:inherit; text-decoration:none; }
.foundation-council-breadcrumb strong { color:#fff; }
.foundation-council-hero-copy { position:relative; z-index:1; max-width:700px; padding-top:54px; }
.foundation-council-hero-copy>p { margin:0 0 12px; color:#ffdf6f; font-size:12px; font-weight:800; letter-spacing:.2em; }
.foundation-council-hero-copy h1 { margin:0; font-size:clamp(44px,6vw,78px); line-height:1; letter-spacing:-.05em; }
.foundation-council-hero-copy span { display:block; margin-top:22px; color:rgba(255,255,255,.84); font-size:18px; line-height:1.8; }
.foundation-council-content { padding:0 0 96px; }
.foundation-council-tabs { position:sticky; z-index:8; top:72px; display:flex; gap:10px; width:fit-content; margin:-28px 0 48px; padding:8px; border:1px solid rgba(234,16,52,.1); border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 15px 45px rgba(67,38,31,.12); backdrop-filter:blur(14px); }
.foundation-council-tabs a { display:flex; align-items:center; gap:9px; padding:12px 18px; border-radius:12px; color:#3e3631; font-weight:700; text-decoration:none; }
.foundation-council-tabs a:hover,.foundation-council-tabs a:focus-visible { color:#fff; background:#ea1034; }
.foundation-council-tabs span { display:grid; min-width:22px; height:22px; padding:0 6px; place-items:center; border-radius:11px; color:#a62239; background:#fff0f3; font-size:11px; }
.foundation-council-roster { scroll-margin-top:150px; padding:36px 0 60px; }
.foundation-council-roster+ .foundation-council-roster { border-top:1px solid #eee4d7; }
.foundation-council-roster>header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.foundation-council-roster>header span { color:#ea1034; font-size:11px; font-weight:800; letter-spacing:.18em; }
.foundation-council-roster>header h2 { margin:7px 0; font-size:34px; letter-spacing:-.04em; }
.foundation-council-roster>header p { margin:0; color:#776d64; }
.foundation-council-roster>header i { width:86px; height:14px; background:radial-gradient(circle at 7px 7px,#ea1034 0 6px,transparent 6.5px) 0 0/22px 14px repeat-x; }
.foundation-council-subgroup { margin-top:40px; }
.foundation-council-subgroup>h3 { display:flex; align-items:center; gap:10px; margin:0 0 18px; font-size:16px; }
.foundation-council-subgroup>h3::before { width:6px; height:20px; border-radius:3px; background:#ea1034; content:""; }
.foundation-council-subgroup>h3 span { color:#9e9389; font-size:12px; font-weight:500; }
.foundation-council-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.foundation-council-card { display:grid; grid-template-columns:170px minmax(0,1fr); min-height:250px; overflow:hidden; border:1px solid #eee5da; border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(68,45,29,.06); transition:transform .2s ease,box-shadow .2s ease; }
.foundation-council-card:hover { transform:translateY(-3px); box-shadow:0 20px 50px rgba(68,45,29,.1); }
.foundation-council-card figure { position:relative; min-height:250px; margin:0; overflow:hidden; background:linear-gradient(145deg,#fff4d7,#f1eee9); }
.foundation-council-card figure img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.foundation-council-card figure>span { display:grid; width:100%; height:100%; min-height:250px; place-items:center; color:#bf2640; font-size:54px; font-weight:800; }
.foundation-council-card-copy { display:flex; min-width:0; flex-direction:column; padding:24px 24px 20px; }
.foundation-council-card-copy>div:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; }
.foundation-council-card-copy h4 { margin:0; color:#29211c; font-size:24px; }
.foundation-council-card-copy>div:first-child strong { color:#c11d39; font-size:13px; }
.foundation-council-organization,.foundation-council-expertise { margin:8px 0 0; color:#756a61; font-size:12px; }
.foundation-council-expertise { width:fit-content; padding:4px 8px; border-radius:8px; color:#557154; background:#e8fae7; }
.foundation-council-bio { display:-webkit-box; margin:15px 0 18px; overflow:hidden; color:#625951; font-size:13px; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:5; }
.foundation-council-card dl { display:grid; gap:6px; margin:auto 0 0; padding-top:13px; border-top:1px solid #f0e9e1; }
.foundation-council-card dl div { display:grid; grid-template-columns:42px 1fr; gap:7px; color:#82776e; font-size:11px; }
.foundation-council-card dt { color:#a49a91; }
.foundation-council-card dd { margin:0; }
.foundation-council-empty { padding:44px; border:1px dashed #ddcfc1; border-radius:20px; text-align:center; }
.foundation-council-empty p { color:#887c72; }
.foundation-council-footer { padding:26px 0; border-top:1px solid #eee3d7; background:#fff; }
.foundation-council-footer .foundation-council-shell { display:flex; align-items:center; gap:20px; }
.foundation-council-footer img { width:150px; height:auto; }
.foundation-council-footer p { color:#796e65; }
.foundation-council-footer a { margin-left:auto; color:#c4203b; font-weight:700; text-decoration:none; }

@media (max-width:960px) {
  .foundation-council-grid { grid-template-columns:1fr; }
  .cms-council-profile-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .cms-council-admin-summary { grid-template-columns:1fr 1fr; }
  .cms-council-admin-summary article:last-child { grid-column:1/-1; }
  .cms-council-admin-roster>header { display:grid; }
  .cms-council-admin-member { grid-template-columns:62px minmax(0,1fr); }
  .cms-council-admin-avatar { width:62px; height:70px; }
  .cms-council-admin-actions { grid-column:1/-1; justify-content:flex-end; }
  .cms-council-editor-section { padding:22px 18px; }
  .foundation-council-shell { width:min(100% - 32px,1180px); }
  .foundation-council-hero { padding:38px 0 66px; }
  .foundation-council-hero-copy { padding-top:40px; }
  .foundation-council-hero-copy h1 { font-size:48px; }
  .foundation-council-hero-copy span { font-size:15px; }
  .foundation-council-tabs { top:62px; width:100%; margin-top:-24px; }
  .foundation-council-tabs a { flex:1; justify-content:center; padding:10px 8px; font-size:13px; }
  .foundation-council-roster { padding:28px 0 44px; }
  .foundation-council-roster>header { align-items:flex-start; }
  .foundation-council-roster>header h2 { font-size:28px; }
  .foundation-council-roster>header i { display:none; }
  .foundation-council-card { grid-template-columns:112px minmax(0,1fr); min-height:210px; border-radius:17px; }
  .foundation-council-card figure,.foundation-council-card figure>span { min-height:210px; }
  .foundation-council-card-copy { padding:18px 16px; }
  .foundation-council-card-copy h4 { font-size:20px; }
  .foundation-council-bio { margin:12px 0; font-size:12px; -webkit-line-clamp:4; }
  .foundation-council-card dl { display:none; }
  .foundation-council-footer .foundation-council-shell { align-items:flex-start; flex-direction:column; gap:8px; }
  .foundation-council-footer a { margin-left:0; }
}

/* Secretariat: an operational-team system distinct from council governance. */
.cms-secretariat-admin-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 18px; }
.cms-secretariat-admin-summary article { padding:20px 22px; border:1px solid #e7e9ee; border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(20,32,54,.05); }
.cms-secretariat-admin-summary strong { display:block; color:#192033; font-size:30px; line-height:1; }
.cms-secretariat-admin-summary span { display:block; margin-top:8px; color:#737c8d; font-size:13px; }
.cms-secretariat-admin-panel { padding:0; overflow:hidden; }
.cms-secretariat-admin-department { padding:26px; }
.cms-secretariat-admin-department+.cms-secretariat-admin-department { border-top:1px solid #e8ebf0; }
.cms-secretariat-admin-department>header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px; }
.cms-secretariat-admin-department>header span { color:#ea1034; font-size:10px; font-weight:800; letter-spacing:.15em; }
.cms-secretariat-admin-department>header h2 { margin:4px 0 0; color:#1c2536; font-size:22px; }
.cms-secretariat-admin-department>header>strong { color:#8790a0; font-size:12px; }
.cms-secretariat-admin-department.former { background:#fafbfc; }
.cms-secretariat-admin-list { display:grid; gap:10px; }
.cms-secretariat-admin-member { display:grid; grid-template-columns:74px minmax(0,1fr) auto; align-items:center; gap:16px; padding:14px; border:1px solid #e8ebf0; border-radius:15px; background:#fff; }
.cms-secretariat-admin-avatar { width:72px; height:90px; overflow:hidden; border-radius:12px; background:#fff4d7; }
.cms-secretariat-admin-avatar img { display:block; width:100%; height:100%; object-fit:contain; }
.cms-secretariat-admin-avatar>span { display:grid; width:100%; height:100%; place-items:center; color:#ea1034; font-size:28px; font-weight:800; }
.cms-secretariat-admin-copy { min-width:0; }
.cms-secretariat-admin-copy>div { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.cms-secretariat-admin-copy h3 { margin:0; color:#1d2638; font-size:18px; }
.cms-secretariat-admin-copy strong { color:#ea1034; font-size:12px; }
.cms-secretariat-admin-copy p { display:-webkit-box; margin:7px 0 5px; overflow:hidden; color:#667083; font-size:12px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.cms-secretariat-admin-copy p.muted { color:#a0a6b0; }
.cms-secretariat-admin-copy small { color:#9097a4; }
.cms-secretariat-featured-tag { padding:3px 7px; border-radius:999px; color:#596844; background:#e4f9d7; font-size:10px; font-weight:700; }
.cms-secretariat-admin-actions { display:flex; align-items:center; gap:10px; }
.cms-secretariat-editor { padding:0; overflow:hidden; }
.cms-secretariat-editor-section { padding:28px; border-bottom:1px solid #e9ebef; }
.cms-secretariat-editor-section-head { display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }
.cms-secretariat-editor-section-head>span { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:10px; color:#fff; background:#ea1034; font-size:11px; font-weight:800; }
.cms-secretariat-editor-section-head h2 { margin:0; color:#1d2535; font-size:19px; }
.cms-secretariat-editor-section-head p { margin:5px 0 0; color:#7c8492; font-size:12px; }
.cms-secretariat-profile-grid { display:grid; grid-template-columns:minmax(300px,.8fr) 1fr; gap:24px; }
.cms-secretariat-avatar-field .upload-preview img { max-height:320px; object-fit:contain; object-position:center top; }
.cms-secretariat-checkbox>span:nth-child(2) { display:flex; align-items:center; min-height:44px; gap:8px; }
.cms-secretariat-checkbox input[type="checkbox"] { width:18px; height:18px; margin:0; accent-color:#ea1034; }

.foundation-secretariat-page { overflow-x:hidden; color:#2f2924; background:#fffcf5; }
.foundation-secretariat-shell { width:min(100% - 48px,1180px); margin:0 auto; }
.foundation-secretariat-hero { position:relative; overflow:hidden; padding:42px 0 92px; background:#fff4d7; }
.foundation-secretariat-hero::after { position:absolute; right:-8vw; bottom:-150px; width:560px; height:300px; border-radius:55% 0 0; background:#aaf7a9; content:""; transform:rotate(-8deg); }
.foundation-secretariat-breadcrumb { position:relative; z-index:2; display:flex; align-items:center; gap:9px; color:#897d6c; font-size:13px; }
.foundation-secretariat-breadcrumb a { color:inherit; text-decoration:none; }
.foundation-secretariat-breadcrumb strong { color:#3d352d; }
.foundation-secretariat-hero-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:center; gap:60px; padding-top:68px; }
.foundation-secretariat-hero-layout>div:first-child>p { margin:0 0 13px; color:#ea1034; font-size:11px; font-weight:800; letter-spacing:.2em; }
.foundation-secretariat-hero-layout h1 { margin:0; max-width:760px; color:#342b24; font-size:clamp(48px,6vw,78px); line-height:1.08; letter-spacing:-.06em; }
.foundation-secretariat-hero-layout>div:first-child>span { display:block; max-width:650px; margin-top:25px; color:#756a5c; font-size:17px; line-height:1.8; }
.foundation-secretariat-hero-mark { position:relative; width:250px; height:250px; margin:auto; }
.foundation-secretariat-hero-mark i { position:absolute; top:80px; left:88px; width:78px; height:96px; border-radius:55% 55% 48% 48%; background:#ea1034; transform-origin:39px 47px; }
.foundation-secretariat-hero-mark i:nth-child(1) { transform:translateY(-73px); }
.foundation-secretariat-hero-mark i:nth-child(2) { transform:rotate(72deg) translateY(-73px); }
.foundation-secretariat-hero-mark i:nth-child(3) { transform:rotate(144deg) translateY(-73px); }
.foundation-secretariat-hero-mark i:nth-child(4) { transform:rotate(216deg) translateY(-73px); }
.foundation-secretariat-hero-mark i:nth-child(5) { transform:rotate(288deg) translateY(-73px); }
.foundation-secretariat-hero-mark b { position:absolute; top:88px; left:88px; z-index:1; width:78px; height:78px; border:7px solid #fff; border-radius:50%; background:#ffce37; box-shadow:inset 0 -10px 0 rgba(234,16,52,.08); }
.foundation-secretariat-featured { padding:84px 0 50px; }
.foundation-secretariat-leader { display:grid; grid-template-columns:minmax(270px,390px) minmax(0,1fr); overflow:hidden; border-radius:34px; background:#ea1034; box-shadow:0 24px 70px rgba(114,33,34,.15); }
.foundation-secretariat-leader figure { width:100%; min-height:0; aspect-ratio:4/5; align-self:start; margin:0; overflow:hidden; background:#ffe8ad; }
.foundation-secretariat-leader figure img { display:block; width:100%; height:100%; object-fit:contain; }
.foundation-secretariat-leader figure>span { display:grid; width:100%; height:100%; min-height:0; aspect-ratio:4/5; place-items:center; color:#ea1034; font-size:90px; font-weight:800; }
.foundation-secretariat-leader>div { display:flex; flex-direction:column; justify-content:center; padding:54px 60px; color:#fff; }
.foundation-secretariat-leader>div>p:first-child { margin:0 0 22px; color:#ffdf72; font-size:11px; font-weight:800; letter-spacing:.16em; }
.foundation-secretariat-leader-name { display:flex; align-items:baseline; flex-wrap:wrap; gap:15px; }
.foundation-secretariat-leader-name h2 { margin:0; font-size:50px; letter-spacing:-.04em; }
.foundation-secretariat-leader-name strong { color:#fff4d7; font-size:16px; }
.foundation-secretariat-responsibilities { margin:22px 0 0; font-weight:700; line-height:1.8; }
.foundation-secretariat-biography { margin:20px 0 0; color:rgba(255,255,255,.82); font-size:14px; line-height:2; }
.foundation-secretariat-leader small { margin-top:24px; color:rgba(255,255,255,.65); }
.foundation-secretariat-team { padding:42px 0 100px; }
.foundation-secretariat-section-head { display:grid; grid-template-columns:1fr minmax(280px,500px); align-items:end; gap:60px; margin-bottom:58px; }
.foundation-secretariat-section-head span { color:#ea1034; font-size:11px; font-weight:800; letter-spacing:.18em; }
.foundation-secretariat-section-head h2 { margin:8px 0 0; font-size:42px; letter-spacing:-.05em; }
.foundation-secretariat-section-head>p { margin:0; color:#81766c; line-height:1.8; }
.foundation-secretariat-department { padding:36px 0; border-top:1px solid #eadfce; }
.foundation-secretariat-department>header { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:22px; }
.foundation-secretariat-department>header h3 { margin:0; font-size:23px; }
.foundation-secretariat-department>header span { color:#9e9285; font-size:12px; }
.foundation-secretariat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.foundation-secretariat-card { overflow:hidden; border:1px solid #eee3d3; border-radius:22px; background:#fff; box-shadow:0 13px 34px rgba(70,49,29,.05); }
.foundation-secretariat-card figure { width:100%; height:auto; aspect-ratio:4/5; margin:0; overflow:hidden; background:linear-gradient(145deg,#fff4d7,#f1eee9); }
.foundation-secretariat-card figure img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.foundation-secretariat-card:hover figure img { transform:scale(1.025); }
.foundation-secretariat-card figure>span { display:grid; height:100%; place-items:center; color:#ea1034; font-size:60px; font-weight:800; }
.foundation-secretariat-card>div { padding:22px 22px 24px; }
.foundation-secretariat-card h4 { margin:0; font-size:24px; }
.foundation-secretariat-card strong { display:block; margin-top:7px; color:#ea1034; font-size:13px; }
.foundation-secretariat-card p { display:-webkit-box; margin:14px 0 0; overflow:hidden; color:#796f65; font-size:13px; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.foundation-secretariat-card small { display:block; margin-top:13px; color:#a0958a; }
.foundation-secretariat-former { margin-top:45px; border:1px solid #e7ddcf; border-radius:20px; background:#fff; }
.foundation-secretariat-former summary { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; cursor:pointer; font-weight:700; }
.foundation-secretariat-former summary span { display:grid; min-width:25px; height:25px; padding:0 7px; place-items:center; border-radius:13px; color:#b6233c; background:#fff0f3; font-size:11px; }
.foundation-secretariat-former>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; padding:1px 24px 24px; }
.foundation-secretariat-former article { display:grid; grid-template-columns:90px 1fr auto; gap:10px; padding:15px; border-top:1px solid #eee7dd; font-size:13px; }
.foundation-secretariat-former article span,.foundation-secretariat-former article small { color:#82786f; }
.foundation-secretariat-empty { padding:50px; border:1px dashed #dacdbd; border-radius:24px; text-align:center; }
.foundation-secretariat-footer { padding:26px 0; border-top:1px solid #eee3d7; background:#fff; }
.foundation-secretariat-footer .foundation-secretariat-shell { display:flex; align-items:center; gap:20px; }
.foundation-secretariat-footer img { width:150px; height:auto; }
.foundation-secretariat-footer p { color:#796e65; }
.foundation-secretariat-footer a { margin-left:auto; color:#c4203b; font-weight:700; text-decoration:none; }

@media (max-width:960px) {
  .cms-secretariat-profile-grid { grid-template-columns:1fr; }
  .foundation-secretariat-hero-layout { grid-template-columns:1fr 220px; }
  .foundation-secretariat-hero-mark { width:190px; height:190px; transform:scale(.72); }
  .foundation-secretariat-leader { grid-template-columns:300px minmax(0,1fr); }
  .foundation-secretariat-leader>div { padding:42px; }
  .foundation-secretariat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .cms-secretariat-admin-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cms-secretariat-admin-summary article:last-child { grid-column:1/-1; }
  .cms-secretariat-admin-department { padding:20px 16px; }
  .cms-secretariat-admin-department>header { align-items:flex-start; }
  .cms-secretariat-admin-member { grid-template-columns:62px minmax(0,1fr); }
  .cms-secretariat-admin-avatar { width:60px; height:75px; }
  .cms-secretariat-admin-actions { grid-column:1/-1; justify-content:flex-end; }
  .cms-secretariat-editor-section { padding:22px 18px; }
  .foundation-secretariat-shell { width:min(100% - 32px,1180px); }
  .foundation-secretariat-hero { padding:30px 0 64px; }
  .foundation-secretariat-hero-layout { display:block; padding-top:48px; }
  .foundation-secretariat-hero-layout h1 { font-size:45px; }
  .foundation-secretariat-hero-layout>div:first-child>span { font-size:14px; }
  .foundation-secretariat-hero-mark { display:none; }
  .foundation-secretariat-featured { padding:38px 0 28px; }
  .foundation-secretariat-leader { display:block; border-radius:24px; }
  .foundation-secretariat-leader figure { height:auto; min-height:0; aspect-ratio:4/5; }
  .foundation-secretariat-leader>div { padding:30px 24px 34px; }
  .foundation-secretariat-leader-name h2 { font-size:38px; }
  .foundation-secretariat-biography { font-size:13px; line-height:1.85; }
  .foundation-secretariat-team { padding:28px 0 70px; }
  .foundation-secretariat-section-head { display:block; margin-bottom:30px; }
  .foundation-secretariat-section-head h2 { font-size:34px; }
  .foundation-secretariat-section-head>p { margin-top:14px; font-size:14px; }
  .foundation-secretariat-grid { grid-template-columns:1fr; }
  .foundation-secretariat-card { display:grid; grid-template-columns:140px minmax(0,1fr); min-height:175px; }
  .foundation-secretariat-card figure { height:auto; min-height:0; aspect-ratio:4/5; }
  .foundation-secretariat-card>div { padding:20px 16px; }
  .foundation-secretariat-card h4 { font-size:21px; }
  .foundation-secretariat-former>div { grid-template-columns:1fr; }
  .foundation-secretariat-former article { grid-template-columns:70px 1fr; }
  .foundation-secretariat-former article small { grid-column:2; }
  .foundation-secretariat-footer .foundation-secretariat-shell { align-items:flex-start; flex-direction:column; gap:8px; }
  .foundation-secretariat-footer a { margin-left:0; }
}

@media (prefers-reduced-motion:reduce) {
  .foundation-secretariat-card figure img { transition:none; }
}

/* About Jianhui overview: a dedicated parent page for the five public sections. */
.foundation-about-overview-page { --about-red:#ea1034; --about-yellow:#ffce37; --about-green:#aaf7a9; --about-cream:#fff4d7; overflow-x:hidden; color:#302923; background:#fffcf5; }
.foundation-about-overview-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.foundation-about-overview-hero { position:relative; overflow:hidden; padding:40px 0 0; background:linear-gradient(135deg,#fff4d7 0%,#fffaf0 58%,#fff 100%); }
.foundation-about-overview-hero::before { position:absolute; right:-130px; top:-180px; width:450px; height:450px; border:80px solid rgba(234,16,52,.07); border-radius:50%; content:""; }
.foundation-about-overview-breadcrumb { position:relative; z-index:2; display:flex; align-items:center; min-height:34px; gap:10px; color:#8b7d70; font-size:13px; }
.foundation-about-overview-breadcrumb a { color:inherit; text-decoration:none; }
.foundation-about-overview-breadcrumb strong { color:#3b332c; }
.foundation-about-overview-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.72fr); align-items:center; gap:76px; min-height:570px; padding:58px 0 70px; }
.foundation-about-overview-hero-copy>p,.foundation-about-overview-section-copy>p,.foundation-about-overview-basic>p,.foundation-about-overview-section-head>div>p { margin:0 0 14px; color:var(--about-red); font-size:11px; font-weight:850; letter-spacing:.2em; }
.foundation-about-overview-hero-copy h1 { margin:0; max-width:720px; color:#302721; font-size:clamp(52px,6.2vw,82px); line-height:1.06; letter-spacing:-.065em; }
.foundation-about-overview-hero-copy>span { display:block; max-width:650px; margin-top:28px; color:#75695e; font-size:18px; line-height:1.8; }
.foundation-about-overview-hero-copy>div { display:flex; align-items:center; gap:24px; margin-top:34px; }
.foundation-about-overview-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 25px; border-radius:999px; color:#fff; background:var(--about-red); box-shadow:0 14px 30px rgba(234,16,52,.18); font-weight:750; text-decoration:none; }
.foundation-about-overview-text-link { color:#42382f; font-weight:700; text-decoration:none; border-bottom:1px solid #b8aa9d; }
.foundation-about-overview-hero-visual { position:relative; width:min(100%,430px); aspect-ratio:4/5; justify-self:end; overflow:hidden; border-radius:44% 44% 26px 26px; background:var(--about-green); box-shadow:0 28px 70px rgba(83,64,44,.13); }
.foundation-about-overview-hero-visual::after { position:absolute; inset:auto -16% -18% 12%; height:43%; border-radius:50% 50% 0 0; background:rgba(170,247,169,.7); content:""; }
.foundation-about-overview-hero-visual>img { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:cover; }
.foundation-about-overview-hero-visual>span { display:grid; width:100%; height:100%; place-items:center; color:var(--about-red); font-size:120px; font-weight:850; }
.foundation-about-overview-flower { position:absolute; z-index:2; right:22px; bottom:22px; width:96px; height:96px; filter:drop-shadow(0 10px 20px rgba(96,36,39,.2)); }
.foundation-about-overview-flower>b { position:absolute; bottom:50%; left:50%; width:36%; height:42%; margin-left:-18%; border-radius:55% 55% 44% 44%; background:var(--about-red); transform-origin:50% 100%; }
.foundation-about-overview-flower>b:nth-child(1) { transform:rotate(0deg); }.foundation-about-overview-flower>b:nth-child(2) { transform:rotate(72deg); }.foundation-about-overview-flower>b:nth-child(3) { transform:rotate(144deg); }.foundation-about-overview-flower>b:nth-child(4) { transform:rotate(216deg); }.foundation-about-overview-flower>b:nth-child(5) { transform:rotate(288deg); }
.foundation-about-overview-flower>em { position:absolute; inset:35%; z-index:2; border:5px solid #fff; border-radius:50%; background:var(--about-yellow); }
.foundation-about-overview-stats { position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; overflow:hidden; border:1px solid #eee0c7; border-radius:25px 25px 0 0; background:#fff; box-shadow:0 -8px 36px rgba(74,56,39,.07); }
.foundation-about-overview-stats>div { min-height:118px; padding:25px 30px; border-right:1px solid #eee7db; }
.foundation-about-overview-stats>div:last-child { border-right:0; }
.foundation-about-overview-stats dt { color:var(--about-red); font-size:34px; font-weight:850; letter-spacing:-.04em; }
.foundation-about-overview-stats dd { margin:8px 0 0; color:#897d72; font-size:13px; }
.foundation-about-overview-index { border-bottom:1px solid #efe6d9; background:#fff; }
.foundation-about-overview-index>div { display:flex; justify-content:center; gap:8px; padding:15px 0; }
.foundation-about-overview-index a { padding:9px 17px; border-radius:999px; color:#6d6157; font-size:13px; font-weight:700; text-decoration:none; }
.foundation-about-overview-index a:hover,.foundation-about-overview-index a:focus-visible { color:#fff; background:var(--about-red); outline:none; }
.foundation-about-overview-intro { padding:110px 0; }
.foundation-about-overview-intro-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); gap:70px; align-items:stretch; }
.foundation-about-overview-section-copy { padding:40px 0; }
.foundation-about-overview-section-copy h2,.foundation-about-overview-section-head h2 { margin:0; font-size:clamp(40px,4.5vw,60px); letter-spacing:-.055em; }
.foundation-about-overview-section-copy>div { max-width:680px; margin-top:26px; color:#6d6259; font-size:17px; line-height:2; }
.foundation-about-overview-section-copy>a,.foundation-about-overview-more { display:inline-flex; align-items:center; gap:12px; margin-top:30px; color:#2e2722; font-weight:800; text-decoration:none; }
.foundation-about-overview-section-copy>a span,.foundation-about-overview-more span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:#fff; background:var(--about-red); }
.foundation-about-overview-basic { position:relative; overflow:hidden; padding:45px; border-radius:30px; background:var(--about-yellow); box-shadow:0 24px 60px rgba(150,111,16,.12); }
.foundation-about-overview-basic::after { position:absolute; right:-65px; bottom:-70px; width:190px; height:190px; border:42px solid rgba(234,16,52,.11); border-radius:50%; content:""; }
.foundation-about-overview-basic>span { display:grid; width:42px; height:42px; place-items:center; margin-bottom:55px; border-radius:14px; color:#fff; background:var(--about-red); font-size:12px; font-weight:800; }
.foundation-about-overview-basic h3 { margin:0; font-size:34px; letter-spacing:-.04em; }
.foundation-about-overview-basic strong { display:block; margin-top:13px; color:#5d4d25; font-size:14px; }
.foundation-about-overview-basic>div { position:relative; z-index:1; margin-top:20px; color:#5d5136; line-height:1.8; }
.foundation-about-overview-basic>a { position:relative; z-index:1; display:inline-block; margin-top:26px; color:#2f2921; font-weight:800; text-decoration:none; border-bottom:1px solid currentColor; }
.foundation-about-overview-milestones { padding:100px 0; color:#fff; background:#2c2520; }
.foundation-about-overview-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:52px; }
.foundation-about-overview-section-head>div>p { margin-bottom:10px; }
.foundation-about-overview-section-head>p { max-width:500px; margin:0; color:#81766c; line-height:1.8; }
.foundation-about-overview-milestones .foundation-about-overview-section-head>div:last-child { text-align:right; }
.foundation-about-overview-milestones .foundation-about-overview-section-head>div:last-child span { display:block; color:var(--about-yellow); font-size:45px; font-weight:850; }
.foundation-about-overview-milestones .foundation-about-overview-section-head>div:last-child small { color:#bfb5ac; }
.foundation-about-overview-milestone-list { border-top:1px solid rgba(255,255,255,.13); }
.foundation-about-overview-milestone-list article { display:grid; grid-template-columns:145px 18px minmax(0,1fr); gap:28px; align-items:start; padding:27px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.foundation-about-overview-milestone-list time { padding-top:3px; color:var(--about-yellow); font-weight:750; }
.foundation-about-overview-milestone-list i { width:14px; height:14px; margin-top:5px; border:4px solid var(--about-yellow); border-radius:50%; background:var(--about-red); box-shadow:0 0 0 6px rgba(234,16,52,.18); }
.foundation-about-overview-milestone-list h3 { margin:0 0 8px; font-size:20px; }.foundation-about-overview-milestone-list p { margin:0; color:#d5ccc5; font-size:15px; line-height:1.8; }
.foundation-about-overview-milestones .foundation-about-overview-more { color:#fff; }.foundation-about-overview-milestones .foundation-about-overview-more span { color:#302923; background:var(--about-yellow); }
.foundation-about-overview-governance,.foundation-about-overview-team { padding:105px 0; }
.foundation-about-overview-team { background:var(--about-cream); }
.foundation-about-overview-people-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.foundation-about-overview-people-grid article { overflow:hidden; border:1px solid #eee4d8; border-radius:22px; background:#fff; box-shadow:0 16px 40px rgba(68,48,31,.06); }
.foundation-about-overview-people-grid article>img,.foundation-about-overview-people-grid article>span { display:block; width:100%; aspect-ratio:4/5; background:#eee9e2; }
.foundation-about-overview-people-grid article>img { object-fit:contain; }
.foundation-about-overview-people-grid article>span { display:grid; place-items:center; color:var(--about-red); font-size:54px; font-weight:850; }
.foundation-about-overview-people-grid article>div { padding:20px 20px 22px; }
.foundation-about-overview-people-grid h3 { margin:0; font-size:23px; }.foundation-about-overview-people-grid article p { margin:7px 0 0; color:var(--about-red); font-size:13px; font-weight:750; }.foundation-about-overview-people-grid article small { display:block; margin-top:9px; color:#94887d; }
.foundation-about-overview-empty { padding:38px; border:1px dashed #d9ccbc; border-radius:22px; color:#8a7d71; text-align:center; }
.foundation-about-overview-footer { padding:32px 0; color:#fff; background:#27211d; }.foundation-about-overview-footer>div { display:flex; align-items:center; gap:22px; }.foundation-about-overview-footer img { width:166px; height:auto; }.foundation-about-overview-footer p { color:#d2c8c0; }.foundation-about-overview-footer a { margin-left:auto; color:#fff; font-weight:700; text-decoration:none; }

@media (max-width:900px) {
  .foundation-about-overview-hero-grid { grid-template-columns:minmax(0,1fr) 310px; gap:36px; min-height:500px; }
  .foundation-about-overview-intro-grid { gap:34px; }
  .foundation-about-overview-people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .foundation-about-overview-shell { width:calc(100% - 32px); }
  .foundation-about-overview-hero { padding-top:26px; }
  .foundation-about-overview-hero-grid { display:block; min-height:0; padding:45px 0 36px; }
  .foundation-about-overview-hero-copy h1 { font-size:48px; }
  .foundation-about-overview-hero-copy>span { margin-top:20px; font-size:15px; }
  .foundation-about-overview-hero-visual { width:100%; max-width:360px; margin:38px auto 0; border-radius:42% 42% 22px 22px; }
  .foundation-about-overview-stats { grid-template-columns:repeat(2,minmax(0,1fr)); border-radius:20px 20px 0 0; }
  .foundation-about-overview-stats>div { min-height:95px; padding:20px; border-bottom:1px solid #eee7db; }.foundation-about-overview-stats>div:nth-child(2) { border-right:0; }
  .foundation-about-overview-index { overflow-x:auto; }.foundation-about-overview-index>div { width:max-content; justify-content:flex-start; padding-inline:16px; }
  .foundation-about-overview-intro,.foundation-about-overview-governance,.foundation-about-overview-team { padding:70px 0; }
  .foundation-about-overview-intro-grid { grid-template-columns:1fr; gap:28px; }
  .foundation-about-overview-section-copy { padding:0; }
  .foundation-about-overview-basic { padding:30px 26px; }.foundation-about-overview-basic>span { margin-bottom:38px; }
  .foundation-about-overview-milestones { padding:70px 0; }
  .foundation-about-overview-section-head { display:block; margin-bottom:34px; }.foundation-about-overview-section-head>p { margin-top:16px; font-size:14px; }.foundation-about-overview-milestones .foundation-about-overview-section-head>div:last-child { margin-top:20px; text-align:left; }
  .foundation-about-overview-milestone-list article { grid-template-columns:1fr; gap:9px; }.foundation-about-overview-milestone-list i { display:none; }
  .foundation-about-overview-people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.foundation-about-overview-people-grid article>div { padding:16px 14px 18px; }.foundation-about-overview-people-grid h3 { font-size:20px; }
  .foundation-about-overview-footer>div { align-items:flex-start; flex-direction:column; gap:8px; }.foundation-about-overview-footer a { margin-left:0; }
}
@media (prefers-reduced-motion:reduce) {
  .foundation-about-overview-index a,.foundation-about-overview-button { scroll-behavior:auto; }
}
/* Financial disclosure hub and focused CMS tools */
.foundation-financial-h5{background:#fffaf0;color:#191919}
.foundation-financial-hero{position:relative;min-height:430px;overflow:hidden;background:#fff4d7;border-bottom:1px solid rgba(234,16,52,.13)}
.foundation-financial-hero:before{position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.65),transparent 62%),radial-gradient(circle at 84% 18%,rgba(255,206,55,.48),transparent 28%);content:""}
.foundation-financial-hero-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 48px));margin:auto;padding:70px 0 82px}
.foundation-financial-hero nav{display:flex;gap:10px;align-items:center;margin-bottom:44px;color:#7c7468;font-size:14px}.foundation-financial-hero nav a{color:inherit}
.foundation-financial-hero-inner>small,.foundation-financial-section-head>small,.foundation-financial-note small{display:block;color:#ea1034;font-weight:800;font-size:13px;letter-spacing:.17em}
.foundation-financial-hero h1{max-width:760px;margin:12px 0 16px;font-size:clamp(50px,7vw,92px);font-weight:850;line-height:.98;letter-spacing:-.055em}
.foundation-financial-hero p{max-width:720px;margin:0;color:#61584d;font-size:clamp(18px,2vw,26px);line-height:1.55}
.foundation-financial-principles{display:flex;gap:10px;margin-top:34px}.foundation-financial-principles span{padding:9px 15px;border:1px solid rgba(25,25,25,.14);border-radius:999px;background:rgba(255,255,255,.45);font-weight:700}
.foundation-financial-flower{position:absolute;right:max(4vw,36px);bottom:-84px;width:320px;height:320px;opacity:.94;transform:rotate(8deg)}
.foundation-financial-flower i{position:absolute;top:52px;left:115px;width:90px;height:126px;border-radius:55% 55% 48% 48%;background:#ea1034;transform-origin:45px 108px}.foundation-financial-flower i:nth-child(2){transform:rotate(72deg)}.foundation-financial-flower i:nth-child(3){transform:rotate(144deg)}.foundation-financial-flower i:nth-child(4){transform:rotate(216deg)}.foundation-financial-flower i:nth-child(5){transform:rotate(288deg)}.foundation-financial-flower b{position:absolute;top:115px;left:115px;width:90px;height:90px;border:13px solid #fff;border-radius:50%;background:#ffce37}
.foundation-financial-directory,.foundation-financial-latest,.foundation-financial-note{width:min(1180px,calc(100% - 48px));margin:auto;padding:86px 0}
.foundation-financial-section-head{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:34px}.foundation-financial-section-head>small{grid-column:1/-1}.foundation-financial-section-head h2{margin:10px 0 0;font-size:clamp(32px,4vw,52px);letter-spacing:-.04em}.foundation-financial-section-head p{max-width:480px;margin:0;color:#756c61;line-height:1.7}
.foundation-financial-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.foundation-financial-card{display:flex;min-height:470px;flex-direction:column;padding:26px;border:1px solid #e4ded2;border-radius:28px;background:#fff;box-shadow:0 16px 50px rgba(54,38,20,.06)}
.foundation-financial-card.red{border-top:8px solid #ea1034}.foundation-financial-card.yellow{border-top:8px solid #ffce37}.foundation-financial-card.green{border-top:8px solid #77dd79}
.foundation-financial-card>header{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;padding-bottom:23px;border-bottom:1px solid #ece7de}.foundation-financial-card>header>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#191919;color:#fff;font-weight:800}.foundation-financial-card h3{margin:0;font-size:25px}.foundation-financial-card header p{min-height:48px;margin:5px 0 0;color:#837a70;font-size:13px;line-height:1.55}.foundation-financial-card header>strong{color:#ea1034;font-size:30px;line-height:1}.foundation-financial-card header>strong small{display:block;margin-top:5px;color:#847a70;font-size:11px;font-weight:600}
.foundation-financial-card ul{display:grid;gap:0;margin:16px 0;padding:0;list-style:none}.foundation-financial-card li a{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 2px;border-bottom:1px solid #eee9df;color:#171717}.foundation-financial-card li strong{display:block;font-size:15px;line-height:1.45}.foundation-financial-card li small{display:block;margin-top:5px;color:#968d82}.foundation-financial-card li i{font-style:normal}.foundation-financial-card li.empty{padding:30px 0;color:#958c82;text-align:center}.foundation-financial-card-more{display:flex;justify-content:space-between;margin-top:auto;padding-top:20px;color:#191919;font-weight:800}
.foundation-financial-latest{border-top:1px solid #e9e1d4}.foundation-financial-latest-list{overflow:hidden;border:1px solid #ded8ce;border-radius:26px;background:#fff}.foundation-financial-latest-list>a{display:grid;grid-template-columns:130px 1fr auto 28px;gap:20px;align-items:center;padding:22px 26px;border-bottom:1px solid #eee9e1;color:#1a1a1a}.foundation-financial-latest-list>a:last-child{border-bottom:0}.foundation-financial-latest-list time,.foundation-financial-latest-list span{color:#81786e;font-size:13px}.foundation-financial-latest-list i{font-style:normal;font-size:20px}.foundation-financial-empty{padding:55px;text-align:center}.foundation-financial-empty strong{font-size:22px}.foundation-financial-empty p{color:#80776e}
.foundation-financial-note{display:grid;grid-template-columns:340px 1fr;gap:60px;border-top:1px solid #e9e1d4}.foundation-financial-note h2{margin-top:10px;font-size:36px}.foundation-financial-note .cms-rich-text{color:#5f574e;line-height:1.9}
.foundation-financial-footer{display:flex;align-items:center;justify-content:space-between;padding:42px max(24px,calc((100% - 1180px)/2));background:#191919;color:#fff}.foundation-financial-footer img{width:220px}.foundation-financial-footer p{margin:0;color:#d7d0c5;letter-spacing:.08em}
.cms-financial-list-copy{display:grid;gap:5px;min-width:250px}.cms-financial-list-copy strong{font-size:16px}.cms-financial-list-copy small{max-width:560px;color:#7f8791;line-height:1.5}.cms-financial-attachment-count{white-space:nowrap;font-weight:750}.cms-financial-form,.cms-financial-attachments{max-width:1100px}.cms-financial-attachments{margin-top:20px}.cms-financial-attachment-create{margin-bottom:22px;padding:22px;border-radius:18px;background:#f7f8fa}.cms-financial-attachment-list{display:grid;gap:14px}.cms-financial-attachment-list>article{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;padding:20px;border:1px solid #e5e7eb;border-radius:18px}.cms-financial-attachment-meta{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:16px}.cms-financial-attachment-meta a{font-size:13px}
@media (max-width:900px){.foundation-financial-card-grid{grid-template-columns:1fr}.foundation-financial-card{min-height:0}.foundation-financial-flower{right:-120px;opacity:.18}.foundation-financial-section-head{display:block}.foundation-financial-section-head p{margin-top:14px}.foundation-financial-note{grid-template-columns:1fr;gap:20px}.foundation-financial-latest-list>a{grid-template-columns:1fr auto;padding:18px}.foundation-financial-latest-list time{grid-column:1}.foundation-financial-latest-list strong{grid-column:1}.foundation-financial-latest-list span{grid-column:2;grid-row:1/3}.foundation-financial-latest-list i{display:none}}
@media (max-width:600px){.foundation-financial-hero{min-height:390px}.foundation-financial-hero-inner,.foundation-financial-directory,.foundation-financial-latest,.foundation-financial-note{width:calc(100% - 32px)}.foundation-financial-hero-inner{padding:42px 0 60px}.foundation-financial-hero nav{margin-bottom:38px}.foundation-financial-principles{flex-wrap:wrap}.foundation-financial-directory,.foundation-financial-latest,.foundation-financial-note{padding:58px 0}.foundation-financial-card{padding:20px;border-radius:22px}.foundation-financial-card>header{grid-template-columns:auto 1fr}.foundation-financial-card header>strong{grid-column:2}.foundation-financial-footer{display:block;padding:34px 20px}.foundation-financial-footer img{width:190px}.foundation-financial-footer p{margin-top:18px;font-size:13px}.cms-financial-attachment-list>article{grid-template-columns:1fr}}

/* Project disclosure hub */
.foundation-project-disclosure-h5{overflow-x:clip;color:#27211d;background:#fffdf8}.foundation-project-disclosure-shell,.foundation-project-disclosure-directory{width:min(1180px,calc(100% - 48px));margin:auto}.foundation-project-disclosure-hero{position:relative;min-height:500px;overflow:hidden;background:linear-gradient(120deg,#aaf7a9 0,#d9fad3 48%,#fff4d7 100%)}.foundation-project-disclosure-hero:before{position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(255,206,55,.72),transparent 24%),linear-gradient(90deg,rgba(255,255,255,.5),transparent 58%);content:""}.foundation-project-disclosure-hero .foundation-project-disclosure-shell{position:relative;z-index:2;padding:68px 0 88px}.foundation-project-disclosure-hero nav{display:flex;gap:10px;align-items:center;margin-bottom:55px;color:#5d6859;font-size:14px}.foundation-project-disclosure-hero nav a{color:inherit}.foundation-project-disclosure-hero small,.foundation-project-disclosure-directory>header>small{color:#ea1034;font-weight:850;letter-spacing:.17em}.foundation-project-disclosure-hero h1{margin:12px 0 18px;font-size:clamp(58px,8vw,104px);line-height:.95;letter-spacing:-.065em}.foundation-project-disclosure-hero p{max-width:730px;margin:0;color:#50604d;font-size:clamp(18px,2vw,25px);line-height:1.7}.foundation-project-disclosure-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.foundation-project-disclosure-tags span{padding:9px 15px;border:1px solid rgba(42,61,39,.17);border-radius:999px;background:rgba(255,255,255,.56);font-weight:750}.foundation-project-disclosure-bridge{position:absolute;right:-40px;bottom:-35px;width:440px;height:255px;opacity:.82}.foundation-project-disclosure-bridge i{position:absolute;bottom:0;width:126px;height:210px;border:28px solid #ea1034;border-bottom:0;border-radius:76px 76px 0 0}.foundation-project-disclosure-bridge i:nth-child(1){left:0}.foundation-project-disclosure-bridge i:nth-child(2){left:120px;height:165px}.foundation-project-disclosure-bridge i:nth-child(3){left:240px;height:118px}.foundation-project-disclosure-bridge b{position:absolute;right:20px;top:5px;width:78px;height:78px;border:12px solid #fff;border-radius:50%;background:#ffce37}.foundation-project-disclosure-directory{padding:92px 0}.foundation-project-disclosure-directory>header{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:end;margin-bottom:38px}.foundation-project-disclosure-directory>header small{grid-column:1/-1}.foundation-project-disclosure-directory>header h2{max-width:700px;margin:8px 0 0;font-size:clamp(36px,4.5vw,58px);line-height:1.08;letter-spacing:-.05em}.foundation-project-disclosure-directory>header p{margin:0;color:#776d64;line-height:1.8}.foundation-project-disclosure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.foundation-project-disclosure-card{display:flex;min-height:600px;flex-direction:column;padding:28px;border:1px solid #eadfd2;border-radius:30px;background:#fff;box-shadow:0 18px 55px rgba(66,43,25,.07)}.foundation-project-disclosure-card.red{border-top:9px solid #ea1034}.foundation-project-disclosure-card.yellow{border-top:9px solid #ffce37}.foundation-project-disclosure-card.green{border-top:9px solid #78df79}.foundation-project-disclosure-card.cream{border-top:9px solid #d7bf91}.foundation-project-disclosure-card>header{display:grid;grid-template-columns:auto 1fr auto;gap:15px;padding-bottom:23px;border-bottom:1px solid #eee6dd}.foundation-project-disclosure-card>header>span{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:#fff;background:#27211d;font-weight:850}.foundation-project-disclosure-card h3{margin:0;font-size:27px}.foundation-project-disclosure-card header p{min-height:42px;margin:6px 0 0;color:#8a7f74;font-size:13px;line-height:1.55}.foundation-project-disclosure-card header>strong{color:#ea1034;font-size:31px;line-height:1}.foundation-project-disclosure-card header>strong small{display:block;margin-top:6px;color:#94897e;font-size:11px}.foundation-project-disclosure-list{display:grid;margin-top:10px}.foundation-project-disclosure-list>a{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #f0e9e1;color:#29231e;text-decoration:none}.foundation-project-disclosure-list img,.foundation-project-disclosure-placeholder{width:72px;height:58px;border-radius:10px;background:#fff4d7;object-fit:cover}.foundation-project-disclosure-list strong{display:-webkit-box;overflow:hidden;font-size:15px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.foundation-project-disclosure-list small,.foundation-project-disclosure-list em{display:block;margin-top:4px;color:#978c81;font-size:11px;font-style:normal}.foundation-project-disclosure-list em{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.foundation-project-disclosure-list>a>i{font-style:normal}.foundation-project-disclosure-empty{padding:48px 0;color:#968b81;text-align:center}.foundation-project-disclosure-more{display:flex;justify-content:space-between;margin-top:auto;padding-top:24px;color:#29231e;font-weight:850;text-decoration:none}
.foundation-project-disclosure-h5{overflow-x:clip}
@media(max-width:900px){.foundation-project-disclosure-directory>header{display:block}.foundation-project-disclosure-directory>header p{margin-top:16px}.foundation-project-disclosure-grid{grid-template-columns:1fr}.foundation-project-disclosure-card{min-height:0}.foundation-project-disclosure-bridge{right:-230px;opacity:.18}}
@media(max-width:600px){.foundation-project-disclosure-shell,.foundation-project-disclosure-directory{width:calc(100% - 32px)}.foundation-project-disclosure-hero{min-height:430px}.foundation-project-disclosure-hero .foundation-project-disclosure-shell{padding:42px 0 62px}.foundation-project-disclosure-hero nav{margin-bottom:40px}.foundation-project-disclosure-directory{padding:62px 0}.foundation-project-disclosure-card{padding:20px;border-radius:22px}.foundation-project-disclosure-card>header{grid-template-columns:auto 1fr}.foundation-project-disclosure-card header>strong{grid-column:2}.foundation-project-disclosure-list>a{grid-template-columns:62px minmax(0,1fr) auto}.foundation-project-disclosure-list img,.foundation-project-disclosure-placeholder{width:62px;height:52px}}

/* Information disclosure hub — generated from the public CMS navigation tree. */
.cms-disclosure-tree-h5 {
  --disclosure-red: #ea1034;
  --disclosure-yellow: #ffce37;
  --disclosure-green: #aaf7a9;
  --disclosure-cream: #fff4d7;
  --disclosure-ink: #28231f;
  --disclosure-muted: #7d746b;
  overflow-x: clip;
  color: var(--disclosure-ink);
  background: #fffdf9;
}

.cms-disclosure-tree-h5 .cms-disclosure-main {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 22px 0 84px;
}

.cms-disclosure-tree-h5 .cms-disclosure-breadcrumb {
  height: auto;
  min-height: 28px;
  gap: 10px;
  color: #8b8278;
  font-size: 14px;
}

.cms-disclosure-tree-h5 .cms-disclosure-breadcrumb a,
.cms-disclosure-tree-h5 .cms-disclosure-breadcrumb strong {
  color: inherit;
}

.cms-disclosure-tree-h5 .cms-disclosure-breadcrumb svg {
  width: 16px;
  height: 16px;
}

.cms-disclosure-tree-h5 .cms-disclosure-hero {
  position: relative;
  display: grid;
  min-height: 430px;
  grid-template-columns: minmax(0, 1fr) 410px;
  place-items: initial;
  align-items: center;
  gap: 56px;
  overflow: hidden;
  margin: 24px 0 86px;
  border: 1px solid rgba(234, 16, 52, .1);
  border-radius: 34px;
  padding: 58px 60px 0;
  background:
    radial-gradient(circle at 88% 16%, rgba(255, 206, 55, .92) 0 7%, transparent 7.2%),
    radial-gradient(circle at 75% 10%, rgba(255, 255, 255, .68) 0 2px, transparent 2.5px) 0 0 / 17px 17px,
    linear-gradient(120deg, #fff4d7 0%, #fff9e9 58%, #ffe8b1 100%);
  text-align: left;
  box-sizing: border-box;
}

.cms-disclosure-tree-h5 .cms-disclosure-hero::before {
  position: absolute;
  right: -105px;
  bottom: -175px;
  width: 420px;
  height: 420px;
  border: 68px solid rgba(234, 16, 52, .08);
  border-radius: 50%;
  content: "";
}

.cms-disclosure-hero-copy,
.cms-disclosure-hero-stats,
.cms-disclosure-hero-nav {
  position: relative;
  z-index: 1;
}

.cms-disclosure-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--disclosure-red);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .18em;
}

.cms-disclosure-hero-eyebrow .foundation-flower-mark {
  position: relative;
  right: auto;
  bottom: auto;
  z-index: auto;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  opacity: 1;
  transform: rotate(9deg);
}

.cms-disclosure-tree-h5 .cms-disclosure-hero h1 {
  margin: 18px 0 16px;
  color: var(--disclosure-ink);
  font-size: clamp(62px, 7vw, 92px);
  line-height: .96;
  font-weight: 850;
  letter-spacing: -.065em;
}

.cms-disclosure-tree-h5 .cms-disclosure-hero-copy > p {
  margin: 0;
  color: #665c52;
  font-size: clamp(19px, 2vw, 25px);
  font-weight: 650;
  letter-spacing: .08em;
}

.cms-disclosure-hero-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(72, 56, 37, .12);
  border-radius: 24px;
  background: rgba(255, 255, 255, .66);
  backdrop-filter: blur(12px);
}

.cms-disclosure-hero-stats > div {
  display: grid;
  min-height: 112px;
  align-content: center;
  gap: 7px;
  padding: 22px 24px;
  box-sizing: border-box;
}

.cms-disclosure-hero-stats > div:nth-child(odd) { border-right: 1px solid rgba(72, 56, 37, .1); }
.cms-disclosure-hero-stats > div:nth-child(-n + 2) { border-bottom: 1px solid rgba(72, 56, 37, .1); }
.cms-disclosure-hero-stats dt { color: var(--disclosure-red); font-size: 35px; line-height: 1; font-weight: 850; }
.cms-disclosure-hero-stats > div:last-child dt { font-size: 20px; letter-spacing: -.02em; }
.cms-disclosure-hero-stats dd { margin: 0; color: #776d63; font-size: 13px; }

.cms-disclosure-hero-nav {
  display: flex;
  grid-column: 1 / -1;
  align-self: end;
  gap: 0;
  border-top: 1px solid rgba(75, 59, 41, .13);
}

.cms-disclosure-hero-nav a {
  display: flex;
  min-height: 72px;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-right: 1px solid rgba(75, 59, 41, .1);
  color: #39322c;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

.cms-disclosure-hero-nav a:last-child { border-right: 0; }
.cms-disclosure-hero-nav a span { color: var(--disclosure-red); font-size: 11px; letter-spacing: .08em; }

.cms-disclosure-directory,
.cms-disclosure-archive {
  scroll-margin-top: 110px;
}

.cms-disclosure-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 450px);
  align-items: end;
  gap: 48px;
  margin-bottom: 34px;
}

.cms-disclosure-section-heading span,
.cms-disclosure-notice > div:last-child > span {
  display: block;
  color: var(--disclosure-red);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .17em;
}

.cms-disclosure-section-heading h2 {
  margin: 9px 0 0;
  color: var(--disclosure-ink);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.cms-disclosure-section-heading > p {
  margin: 0;
  color: var(--disclosure-muted);
  font-size: 15px;
  line-height: 1.8;
}

.cms-disclosure-domain-list { display: grid; gap: 24px; }

.cms-disclosure-domain {
  position: relative;
  scroll-margin-top: 112px;
  overflow: hidden;
  border: 1px solid #e8dfd3;
  border-radius: 30px;
  padding: 30px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(67, 45, 26, .06);
}

.cms-disclosure-domain::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: var(--domain-color, var(--disclosure-red));
  content: "";
}

.cms-disclosure-domain.about { --domain-color: var(--disclosure-red); --domain-soft: #fff1f3; }
.cms-disclosure-domain.finance { --domain-color: var(--disclosure-yellow); --domain-soft: #fff9df; }
.cms-disclosure-domain.project { --domain-color: #71da72; --domain-soft: #effced; }
.cms-disclosure-domain.policy { --domain-color: #d3b68a; --domain-soft: #f8f2e8; }

.cms-disclosure-domain-header {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 20px;
  padding: 0 3px 27px;
  border-bottom: 1px solid #eee7de;
}

.cms-disclosure-domain-index {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 17px;
  color: var(--disclosure-ink);
  background: var(--domain-color);
  font-size: 13px;
  font-weight: 850;
}

.cms-disclosure-domain-header h2 { margin: 0; font-size: 29px; line-height: 1.15; }
.cms-disclosure-domain-header p { margin: 7px 0 0; color: var(--disclosure-muted); font-size: 14px; }
.cms-disclosure-domain-header em { color: #91867b; font-size: 13px; font-style: normal; white-space: nowrap; }

.cms-disclosure-domain-header > a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  border-radius: 999px;
  padding: 0 17px;
  color: #fff;
  background: var(--disclosure-ink);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.cms-disclosure-domain-header svg,
.cms-disclosure-record-arrow svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cms-disclosure-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
  gap: 14px;
  padding-top: 22px;
}

.cms-disclosure-category-card {
  display: flex;
  min-height: 238px;
  flex-direction: column;
  border: 1px solid #eee7de;
  border-radius: 20px;
  padding: 20px;
  background: linear-gradient(145deg, #fff, var(--domain-soft));
  box-sizing: border-box;
}

.cms-disclosure-category-card > header { display: grid; gap: 7px; }
.cms-disclosure-category-card h3 { margin: 0; font-size: 20px; line-height: 1.25; }
.cms-disclosure-category-card h3 a { color: var(--disclosure-ink); text-decoration: none; }
.cms-disclosure-category-card > header > span { color: #968b80; font-size: 12px; }
.cms-disclosure-category-card > p { min-height: 50px; margin: 17px 0 16px; color: #776e65; font-size: 13px; line-height: 1.75; }

.cms-disclosure-category-card > nav { display: flex; flex-wrap: wrap; gap: 7px; margin: -3px 0 17px; }
.cms-disclosure-category-card > nav a { border: 1px solid rgba(40, 35, 31, .12); border-radius: 999px; padding: 6px 10px; color: #514941; background: rgba(255, 255, 255, .68); font-size: 12px; text-decoration: none; }

.cms-disclosure-category-latest {
  display: grid;
  gap: 5px;
  margin-top: auto;
  border-top: 1px solid rgba(60, 47, 35, .1);
  padding-top: 14px;
  color: var(--disclosure-ink);
  text-decoration: none;
}

.cms-disclosure-category-latest > span { color: var(--disclosure-red); font-size: 11px; font-weight: 800; }
.cms-disclosure-category-latest strong { display: -webkit-box; overflow: hidden; font-size: 13px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.cms-disclosure-category-latest time { color: #9b9186; font-size: 11px; }
.cms-disclosure-category-enter { display: flex; align-items: center; justify-content: space-between; margin-top: auto; border-top: 1px solid rgba(60, 47, 35, .1); padding-top: 14px; color: #4d443d; font-size: 13px; font-weight: 750; text-decoration: none; }

.cms-disclosure-archive {
  margin-top: 96px;
  border-top: 1px solid #eadfd3;
  padding-top: 88px;
}

.cms-disclosure-archive-heading { grid-template-columns: minmax(0, 1fr) minmax(520px, 560px); align-items: center; }
.cms-disclosure-archive-heading form { display: grid; grid-template-columns: 220px minmax(230px, 1fr) auto; gap: 9px; }
.cms-disclosure-archive-heading label { position: relative; }
.cms-disclosure-archive-heading select,
.cms-disclosure-archive-heading input {
  width: 100%;
  height: 48px;
  border: 1px solid #dcd4ca;
  border-radius: 14px;
  padding: 0 14px;
  color: var(--disclosure-ink);
  background: #fff;
  font: inherit;
  font-size: 13px;
  box-sizing: border-box;
}

.cms-disclosure-archive-heading label.keyword svg { position: absolute; top: 15px; left: 14px; width: 18px; height: 18px; fill: none; stroke: #8a8076; stroke-width: 1.8; }
.cms-disclosure-archive-heading label.keyword input { padding-left: 42px; }
.cms-disclosure-archive-heading button { height: 48px; border: 0; border-radius: 14px; padding: 0 20px; color: #fff; background: var(--disclosure-red); font: inherit; font-size: 13px; font-weight: 800; }
.cms-disclosure-archive-heading form > a { grid-column: 1 / -1; justify-self: end; color: var(--disclosure-red); font-size: 12px; }

.cms-disclosure-result-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; color: #81776d; font-size: 13px; }
.cms-disclosure-result-summary strong { color: var(--disclosure-red); font-size: 18px; }
.cms-disclosure-result-summary em { font-style: normal; }
.cms-disclosure-record-list { overflow: hidden; border: 1px solid #e7dfd5; border-radius: 26px; background: #fff; }

.cms-disclosure-record {
  position: relative;
  display: grid;
  grid-template-columns: 114px minmax(0, 1fr) 50px;
  align-items: center;
  gap: 26px;
  min-height: 126px;
  border-bottom: 1px solid #eee8e0;
  padding: 20px 25px;
  box-sizing: border-box;
}

.cms-disclosure-record:last-child { border-bottom: 0; }
.cms-disclosure-record::before { position: absolute; top: 30px; bottom: 30px; left: 0; width: 4px; border-radius: 0 3px 3px 0; background: var(--record-color, var(--disclosure-red)); content: ""; }
.cms-disclosure-record.about { --record-color: var(--disclosure-red); }
.cms-disclosure-record.finance { --record-color: var(--disclosure-yellow); }
.cms-disclosure-record.project { --record-color: #71da72; }
.cms-disclosure-record.policy { --record-color: #d3b68a; }
.cms-disclosure-record > time { color: #8e8479; font-size: 13px; font-weight: 700; }
.cms-disclosure-record-meta { display: flex; gap: 8px; align-items: center; margin: 0 0 7px; }
.cms-disclosure-record-meta span { border-radius: 999px; padding: 4px 8px; color: #fff; background: var(--disclosure-red); font-size: 10px; font-weight: 800; }
.cms-disclosure-record-meta a { color: #92877b; font-size: 12px; text-decoration: none; }
.cms-disclosure-record h3 { margin: 0; font-size: 19px; line-height: 1.38; }
.cms-disclosure-record h3 a { color: var(--disclosure-ink); text-decoration: none; }
.cms-disclosure-record-summary { display: -webkit-box; overflow: hidden; margin: 6px 0 0; color: #837970; font-size: 13px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.cms-disclosure-record-arrow { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid #e3dbd1; border-radius: 50%; color: var(--disclosure-ink); text-decoration: none; }
.cms-disclosure-record-empty { padding: 70px 24px; text-align: center; }
.cms-disclosure-record-empty strong { font-size: 20px; }
.cms-disclosure-record-empty p { margin: 8px 0 0; color: #8e847a; }

.cms-disclosure-tree-h5 .cms-disclosure-pagination { min-height: 46px; padding-top: 16px; }
.cms-disclosure-tree-h5 .cms-disclosure-pagination a,
.cms-disclosure-tree-h5 .cms-disclosure-pagination nav span { min-width: 76px; height: 38px; border-color: #d9d0c6; border-radius: 999px; color: var(--disclosure-ink); background: #fff; }
.cms-disclosure-tree-h5 .cms-disclosure-pagination nav span { color: #aaa097; background: #f6f2ec; }

.cms-disclosure-tree-h5 .cms-disclosure-notice {
  position: relative;
  display: grid;
  min-height: 220px;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  gap: 50px;
  overflow: hidden;
  margin-top: 84px;
  border: 0;
  border-radius: 30px;
  padding: 46px 58px;
  color: #fff;
  background: #2a2521;
  box-shadow: none;
  box-sizing: border-box;
}

.cms-disclosure-notice > .foundation-flower-mark { position: relative; right: auto; bottom: auto; z-index: 0; width: 150px; height: 150px; opacity: 1; }
.cms-disclosure-notice > .foundation-flower-mark i,
.cms-disclosure-notice > .foundation-flower-mark::after { background: var(--disclosure-red); }
.cms-disclosure-notice > div:last-child { position: relative; z-index: 1; }
.cms-disclosure-tree-h5 .cms-disclosure-notice h2 { margin: 10px 0 13px; color: #fff; font-size: clamp(27px, 3vw, 39px); line-height: 1.2; }
.cms-disclosure-tree-h5 .cms-disclosure-notice > div:last-child > div,
.cms-disclosure-tree-h5 .cms-disclosure-notice > div:last-child > p { margin: 0; color: #d8d0c9; font-size: 15px; line-height: 1.8; }
.cms-disclosure-tree-h5 .cms-disclosure-notice p { margin: 0; }

.cms-disclosure-tree-h5 a,
.cms-disclosure-tree-h5 button { transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }
.cms-disclosure-tree-h5 .cms-disclosure-domain-header > a:hover,
.cms-disclosure-tree-h5 .cms-disclosure-record-arrow:hover { color: #fff; border-color: var(--disclosure-red); background: var(--disclosure-red); transform: translateX(2px); }
.cms-disclosure-tree-h5 .cms-disclosure-category-card h3 a:hover,
.cms-disclosure-tree-h5 .cms-disclosure-record h3 a:hover { color: var(--disclosure-red); }
.cms-disclosure-tree-h5 a:focus-visible,
.cms-disclosure-tree-h5 button:focus-visible,
.cms-disclosure-tree-h5 input:focus-visible,
.cms-disclosure-tree-h5 select:focus-visible { outline: 3px solid rgba(234, 16, 52, .25); outline-offset: 3px; }

@media (max-width: 960px) {
  .cms-disclosure-tree-h5 .cms-disclosure-hero { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; padding-inline: 40px; }
  .cms-disclosure-section-heading { grid-template-columns: 1fr; gap: 15px; }
  .cms-disclosure-archive-heading form { width: 100%; grid-template-columns: 220px minmax(0, 1fr) auto; }
  .cms-disclosure-domain-header { grid-template-columns: 56px minmax(0, 1fr) auto; }
  .cms-disclosure-domain-header > a { grid-column: 2 / -1; justify-self: start; }
}

@media (max-width: 720px) {
  .cms-disclosure-tree-h5 .cms-disclosure-main { width: 100%; padding: 16px 14px 46px; box-sizing: border-box; }
  .cms-disclosure-tree-h5 .cms-disclosure-breadcrumb { display: none; }
  .cms-disclosure-tree-h5 .cms-disclosure-hero { display: block; min-height: 0; margin: 0 0 58px; border-radius: 25px; padding: 36px 23px 0; }
  .cms-disclosure-tree-h5 .cms-disclosure-hero h1 { margin-top: 17px; font-size: 51px; }
  .cms-disclosure-tree-h5 .cms-disclosure-hero-copy > p { font-size: 17px; }
  .cms-disclosure-hero-stats { margin-top: 32px; border-radius: 19px; }
  .cms-disclosure-hero-stats > div { min-height: 88px; padding: 16px; }
  .cms-disclosure-hero-stats dt { font-size: 28px; }
  .cms-disclosure-hero-stats > div:last-child dt { font-size: 15px; }
  .cms-disclosure-hero-nav { display: grid; width: calc(100% + 46px); grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 24px -23px 0; overflow: visible; }
  .cms-disclosure-hero-nav a { min-width: 0; min-height: 58px; border-bottom: 1px solid rgba(75, 59, 41, .1); }
  .cms-disclosure-hero-nav a:nth-child(2n) { border-right: 0; }
  .cms-disclosure-hero-nav a:nth-last-child(-n + 2) { border-bottom: 0; }
  .cms-disclosure-section-heading { display: block; margin-bottom: 24px; }
  .cms-disclosure-section-heading > p { margin-top: 14px; }
  .cms-disclosure-section-heading h2 { font-size: 35px; }
  .cms-disclosure-domain-list { gap: 17px; }
  .cms-disclosure-domain { border-radius: 23px; padding: 22px 18px 18px; }
  .cms-disclosure-domain-header { grid-template-columns: 48px minmax(0, 1fr); gap: 13px; padding-bottom: 20px; }
  .cms-disclosure-domain-index { width: 45px; height: 45px; border-radius: 14px; }
  .cms-disclosure-domain-header h2 { font-size: 24px; }
  .cms-disclosure-domain-header p { font-size: 12px; line-height: 1.55; }
  .cms-disclosure-domain-header em { grid-column: 2; white-space: normal; }
  .cms-disclosure-domain-header > a { grid-column: 2; min-height: 38px; justify-self: start; }
  .cms-disclosure-category-grid { grid-template-columns: 1fr; gap: 10px; padding-top: 16px; }
  .cms-disclosure-category-card { min-height: 0; border-radius: 17px; padding: 18px; }
  .cms-disclosure-category-card > p { min-height: 0; }
  .cms-disclosure-archive { margin-top: 64px; padding-top: 58px; }
  .cms-disclosure-archive-heading form { display: grid; grid-template-columns: 1fr auto; margin-top: 22px; }
  .cms-disclosure-archive-heading form label:first-child { grid-column: 1 / -1; }
  .cms-disclosure-archive-heading form label.keyword { grid-column: 1; }
  .cms-disclosure-archive-heading form > a { grid-column: 1 / -1; }
  .cms-disclosure-result-summary { align-items: flex-start; flex-direction: column; gap: 3px; }
  .cms-disclosure-record-list { border-radius: 21px; }
  .cms-disclosure-record { grid-template-columns: 1fr 40px; gap: 14px; min-height: 0; padding: 21px 18px; }
  .cms-disclosure-record > time { grid-column: 1 / -1; }
  .cms-disclosure-record h3 { font-size: 17px; }
  .cms-disclosure-record-summary { -webkit-line-clamp: 2; }
  .cms-disclosure-record-arrow { width: 38px; height: 38px; }
  .cms-disclosure-tree-h5 .cms-disclosure-pagination { align-items: flex-start; flex-direction: column; }
  .cms-disclosure-tree-h5 .cms-disclosure-notice { grid-template-columns: 1fr; gap: 22px; margin-top: 60px; border-radius: 24px; padding: 34px 25px; }
  .cms-disclosure-notice > .foundation-flower-mark { width: 86px; height: 86px; }
}

@media (prefers-reduced-motion: reduce) {
  .cms-disclosure-tree-h5 a,
  .cms-disclosure-tree-h5 button { transition: none; }
}

/* Charity projects hub — two long-term programmes presented as one public entry. */
.foundation-charity-projects-page {
  --charity-red: #ea1034;
  --charity-yellow: #ffce37;
  --charity-green: #aaf7a9;
  --charity-cream: #fff4d7;
  --charity-ink: #2d2722;
  --charity-muted: #786e65;
  overflow-x: clip;
  color: var(--charity-ink);
  background: #fffdf8;
}

.foundation-charity-projects-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.foundation-charity-projects-hero { position: relative; overflow: hidden; padding: 25px 0 0; background: linear-gradient(132deg, #fff4d7 0%, #fffaf0 54%, #fff 100%); }
.foundation-charity-projects-hero::before { position: absolute; top: -180px; right: -120px; width: 460px; height: 460px; border: 78px solid rgba(234,16,52,.07); border-radius: 50%; content: ""; }
.foundation-charity-projects-hero::after { position: absolute; bottom: 40px; left: -85px; width: 190px; height: 190px; border-radius: 50%; background: rgba(170,247,169,.38); content: ""; }
.foundation-charity-projects-breadcrumb { position: relative; z-index: 3; display: flex; min-height: 34px; align-items: center; gap: 10px; color: #887b70; font-size: 13px; }
.foundation-charity-projects-breadcrumb a { color: inherit; text-decoration: none; }
.foundation-charity-projects-breadcrumb strong { color: #3f3730; }
.foundation-charity-projects-hero-grid { position: relative; z-index: 2; display: grid; min-height: 600px; grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr); align-items: center; gap: 66px; padding: 38px 0 68px; }
.foundation-charity-projects-hero-copy > p { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: var(--charity-red); font-size: 11px; font-weight: 850; letter-spacing: .19em; }
.foundation-charity-projects-hero-copy .foundation-flower-mark { position: relative; right: auto; bottom: auto; z-index: auto; width: 28px; height: 28px; flex: 0 0 auto; opacity: 1; transform: rotate(8deg); }
.foundation-charity-projects-hero-copy h1 { margin: 0; max-width: 670px; font-size: clamp(52px,5.6vw,78px); line-height: 1.08; letter-spacing: -.065em; }
.foundation-charity-projects-hero-copy > div { max-width: 640px; margin-top: 28px; color: #71665c; font-size: 17px; line-height: 1.9; }
.foundation-charity-projects-hero-copy > nav { display: flex; align-items: center; gap: 24px; margin-top: 35px; }
.foundation-charity-projects-primary { display: inline-flex; min-height: 51px; align-items: center; justify-content: center; border-radius: 999px; padding: 0 25px; color: #fff; background: var(--charity-red); box-shadow: 0 15px 32px rgba(234,16,52,.18); font-size: 14px; font-weight: 800; text-decoration: none; }
.foundation-charity-projects-secondary { color: #40372f; border-bottom: 1px solid #b8aa9d; padding-bottom: 4px; font-size: 14px; font-weight: 750; text-decoration: none; }

.foundation-charity-projects-hero-visual { position: relative; min-height: 505px; }
.foundation-charity-projects-visual-card { position: absolute; display: block; width: 72%; overflow: hidden; border: 8px solid #fff; border-radius: 30px; aspect-ratio: 4/3; color: #fff; background: #d8d0c8; box-shadow: 0 28px 68px rgba(82,57,38,.18); text-decoration: none; transform: rotate(-2deg); }
.foundation-charity-projects-visual-card.green { right: 0; bottom: 0; z-index: 2; transform: rotate(3deg); }
.foundation-charity-projects-visual-card.red { top: 0; left: 0; }
.foundation-charity-projects-visual-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.foundation-charity-projects-visual-card::after { position: absolute; inset: 48% 0 0; background: linear-gradient(transparent,rgba(28,22,18,.82)); content: ""; }
.foundation-charity-projects-visual-card > span { position: absolute; right: 22px; bottom: 20px; left: 22px; z-index: 2; display: flex; align-items: end; justify-content: space-between; gap: 15px; }
.foundation-charity-projects-visual-card small { color: var(--charity-yellow); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.foundation-charity-projects-visual-card strong { font-size: 20px; }
.foundation-charity-projects-hero-flower { position: absolute; top: 43%; left: 45%; z-index: 3; width: 94px; height: 94px; filter: drop-shadow(0 12px 22px rgba(87,37,37,.2)); transform: rotate(9deg); }
.foundation-charity-projects-hero-flower > b { position: absolute; bottom: 50%; left: 50%; width: 36%; height: 42%; margin-left: -18%; border-radius: 55% 55% 44% 44%; background: var(--charity-red); transform-origin: 50% 100%; }
.foundation-charity-projects-hero-flower > b:nth-child(1) { transform: rotate(0deg); }.foundation-charity-projects-hero-flower > b:nth-child(2) { transform: rotate(72deg); }.foundation-charity-projects-hero-flower > b:nth-child(3) { transform: rotate(144deg); }.foundation-charity-projects-hero-flower > b:nth-child(4) { transform: rotate(216deg); }.foundation-charity-projects-hero-flower > b:nth-child(5) { transform: rotate(288deg); }
.foundation-charity-projects-hero-flower > em { position: absolute; inset: 35%; z-index: 2; border: 5px solid #fff; border-radius: 50%; background: var(--charity-yellow); }

.foundation-charity-projects-stats { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; overflow: hidden; border: 1px solid #eee2cf; border-radius: 26px 26px 0 0; background: rgba(255,255,255,.94); box-shadow: 0 -8px 35px rgba(74,56,39,.07); }
.foundation-charity-projects-stats > div { min-height: 112px; padding: 25px 30px; border-right: 1px solid #eee7dc; box-sizing: border-box; }
.foundation-charity-projects-stats > div:last-child { border-right: 0; }
.foundation-charity-projects-stats dt { color: var(--charity-red); font-size: 32px; font-weight: 850; letter-spacing: -.035em; }
.foundation-charity-projects-stats > div:last-child dt { font-size: 23px; }
.foundation-charity-projects-stats dd { margin: 8px 0 0; color: #8a7e73; font-size: 13px; }

.foundation-charity-projects-list { padding: 112px 0 120px; }
.foundation-charity-projects-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); align-items: end; gap: 70px; margin-bottom: 56px; }
.foundation-charity-projects-section-head p,.foundation-charity-projects-method header > p { margin: 0 0 12px; color: var(--charity-red); font-size: 11px; font-weight: 850; letter-spacing: .2em; }
.foundation-charity-projects-section-head h2,.foundation-charity-projects-method h2 { margin: 0; font-size: clamp(40px,4.5vw,60px); line-height: 1.1; letter-spacing: -.055em; }
.foundation-charity-projects-section-head > span { color: #756a60; font-size: 15px; line-height: 1.9; }
.foundation-charity-projects-stack { display: grid; gap: 30px; }
.foundation-charity-project-card { display: grid; min-height: 540px; grid-template-columns: minmax(360px,.82fr) minmax(0,1.18fr); align-items: stretch; overflow: hidden; border: 1px solid #eadfd2; border-radius: 34px; background: #fff; box-shadow: 0 25px 70px rgba(73,50,31,.07); }
.foundation-charity-project-card.green { background: linear-gradient(125deg,#fff 0%,#fff 52%,#f0fced 100%); }
.foundation-charity-project-card.red { background: linear-gradient(125deg,#fff7e1 0%,#fff 50%,#fff 100%); }
.foundation-charity-project-card.green { grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr); }
.foundation-charity-project-card.green .foundation-charity-project-media { grid-column: 2; }
.foundation-charity-project-card.green .foundation-charity-project-copy { grid-row: 1; grid-column: 1; }
.foundation-charity-project-media { position: relative; isolation: isolate; display: grid; width: 100%; min-height: 100%; align-self: stretch; overflow: hidden; place-items: center; border-radius: 0 30px 30px 0; background: var(--charity-cream); text-decoration: none; }
.foundation-charity-project-card.green .foundation-charity-project-media { border-radius: 30px 0 0 30px; }
.foundation-charity-project-media-backdrop { position: absolute; inset: -28px; z-index: 0; overflow: hidden; background: var(--charity-cream); }
.foundation-charity-project-media-backdrop::after { position: absolute; inset: 0; background: rgba(255,244,215,.46); content: ""; }
.foundation-charity-project-card.green .foundation-charity-project-media-backdrop::after { background: rgba(234,249,231,.42); }
.foundation-charity-project-media-backdrop img { display: block; width: 100%; height: 100%; opacity: .72; filter: blur(18px) saturate(.78); object-fit: cover; transform: scale(1.08); }
.foundation-charity-project-media .foundation-charity-project-cover { position: relative; z-index: 1; display: block; width: calc(100% - 34px); height: calc(100% - 34px); border-radius: 19px; object-fit: contain; filter: drop-shadow(0 13px 25px rgba(48,32,20,.14)); }
.foundation-charity-project-media > span:last-child { position: absolute; top: 20px; left: 20px; z-index: 2; display: grid; width: 53px; height: 53px; place-items: center; border: 5px solid rgba(255,255,255,.88); border-radius: 17px; color: #fff; background: var(--charity-red); box-shadow: 0 9px 25px rgba(41,29,21,.16); font-size: 12px; font-weight: 850; }
.foundation-charity-project-card.green .foundation-charity-project-media > span:last-child { color: #322a24; background: var(--charity-green); }
.foundation-charity-project-copy { padding: 48px 52px; }
.foundation-charity-project-copy > p { margin: 0 0 12px; color: var(--charity-red); font-size: 11px; font-weight: 850; letter-spacing: .16em; }
.foundation-charity-project-card.green .foundation-charity-project-copy > p { color: #388d42; }
.foundation-charity-project-copy h2 { margin: 0; font-size: clamp(35px,3.8vw,52px); line-height: 1.12; letter-spacing: -.05em; }
.foundation-charity-project-copy h2 a { color: var(--charity-ink); text-decoration: none; }
.foundation-charity-project-description { margin-top: 20px; color: #74695f; font-size: 15px; line-height: 1.85; }
.foundation-charity-project-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 25px; }
.foundation-charity-project-sections a { display: flex; min-height: 43px; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid #e9e0d6; border-radius: 13px; padding: 0 13px; color: #61574f; background: rgba(255,255,255,.72); font-size: 12px; text-decoration: none; box-sizing: border-box; }
.foundation-charity-project-sections strong { color: var(--charity-red); font-size: 13px; }
.foundation-charity-project-card.green .foundation-charity-project-sections strong { color: #35863e; }
.foundation-charity-project-latest { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 20px; margin-top: 22px; border-radius: 18px; padding: 18px 20px; color: var(--charity-ink); background: var(--charity-cream); text-decoration: none; }
.foundation-charity-project-card.green .foundation-charity-project-latest { background: #eaf9e7; }
.foundation-charity-project-latest > span { display: grid; gap: 5px; min-width: 0; }
.foundation-charity-project-latest small { color: #a08772; font-size: 11px; }
.foundation-charity-project-latest strong { display: -webkit-box; overflow: hidden; font-size: 15px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.foundation-charity-project-latest em { display: -webkit-box; overflow: hidden; color: #877b70; font-size: 12px; font-style: normal; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.foundation-charity-project-latest > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #fff; background: var(--charity-red); font-style: normal; }
.foundation-charity-project-card.green .foundation-charity-project-latest > i { color: #2d342d; background: var(--charity-green); }
.foundation-charity-project-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 25px; }
.foundation-charity-project-actions > a:first-child { display: inline-flex; min-height: 44px; align-items: center; border-radius: 999px; padding: 0 20px; color: #fff; background: var(--charity-red); font-size: 13px; font-weight: 800; text-decoration: none; }
.foundation-charity-project-card.green .foundation-charity-project-actions > a:first-child { color: #273027; background: var(--charity-green); }
.foundation-charity-project-actions > a:nth-child(2) { color: #493f37; border-bottom: 1px solid #b8aca1; padding-bottom: 3px; font-size: 13px; font-weight: 750; text-decoration: none; }
.foundation-charity-project-actions > span { margin-left: auto; color: #a09489; font-size: 11px; }
.foundation-charity-projects-empty { padding: 70px 25px; border: 1px dashed #d9ccbc; border-radius: 26px; color: #887c70; text-align: center; }

.foundation-charity-projects-method { padding: 104px 0 112px; color: #fff; background: #2c2621; }
.foundation-charity-projects-method header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 40px; }
.foundation-charity-projects-method header > p { grid-column: 1 / -1; margin-bottom: -26px; color: var(--charity-yellow); }
.foundation-charity-projects-method h2 { color: #fff; }
.foundation-charity-projects-method header > a { color: #fff; border-bottom: 1px solid rgba(255,255,255,.4); padding-bottom: 5px; font-size: 14px; font-weight: 750; text-decoration: none; }
.foundation-charity-projects-method ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 55px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.15); list-style: none; }
.foundation-charity-projects-method li { min-height: 250px; border-right: 1px solid rgba(255,255,255,.13); padding: 30px 28px; box-sizing: border-box; }
.foundation-charity-projects-method li:last-child { border-right: 0; }
.foundation-charity-projects-method li > span { display: block; margin-bottom: 42px; color: var(--charity-yellow); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.foundation-charity-projects-method li > strong { display: block; font-size: 21px; }
.foundation-charity-projects-method li > p { margin: 14px 0 0; color: #c9c0b8; font-size: 13px; line-height: 1.8; }
.foundation-charity-projects-footer { padding: 32px 0; color: #fff; background: #211c18; }
.foundation-charity-projects-footer > div { display: flex; align-items: center; gap: 22px; }
.foundation-charity-projects-footer img { width: 166px; height: auto; }
.foundation-charity-projects-footer p { color: #d1c7bf; }
.foundation-charity-projects-footer a { margin-left: auto; color: #fff; font-weight: 750; text-decoration: none; }
.foundation-charity-projects-page a { transition: color .18s ease, background-color .18s ease, transform .18s ease; }
.foundation-charity-projects-primary:hover,.foundation-charity-projects-primary:focus-visible { color: #fff; background: #c80c2c; transform: translateY(-1px); }
.foundation-charity-projects-visual-card:hover,.foundation-charity-projects-visual-card:focus-visible { z-index: 4; outline: 4px solid rgba(234,16,52,.18); outline-offset: 3px; }
.foundation-charity-projects-page a:focus-visible { outline: 3px solid rgba(234,16,52,.25); outline-offset: 3px; }

@media (max-width: 980px) {
  .foundation-charity-projects-hero-grid { grid-template-columns: minmax(0,1fr) 370px; gap: 34px; }
  .foundation-charity-projects-hero-visual { min-height: 440px; }
  .foundation-charity-project-card { grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr); }
  .foundation-charity-project-card.green { grid-template-columns: minmax(0,1.18fr) minmax(300px,.82fr); }
  .foundation-charity-project-copy { padding: 38px 34px; }
  .foundation-charity-projects-method li { padding-inline: 19px; }
}

@media (max-width: 720px) {
  .foundation-charity-projects-shell { width: calc(100% - 28px); }
  .foundation-charity-projects-hero { padding-top: 16px; }
  .foundation-charity-projects-breadcrumb { display: none; }
  .foundation-charity-projects-hero-grid { display: block; min-height: 0; padding: 42px 0 34px; }
  .foundation-charity-projects-hero-copy h1 { font-size: 47px; }
  .foundation-charity-projects-hero-copy > div { margin-top: 22px; font-size: 15px; line-height: 1.8; }
  .foundation-charity-projects-hero-copy > nav { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 28px; }
  .foundation-charity-projects-hero-visual { min-height: 390px; margin-top: 42px; }
  .foundation-charity-projects-visual-card { width: 78%; border-width: 6px; border-radius: 23px; }
  .foundation-charity-projects-visual-card > span { right: 15px; bottom: 14px; left: 15px; }
  .foundation-charity-projects-visual-card strong { font-size: 16px; }
  .foundation-charity-projects-hero-flower { width: 72px; height: 72px; }
  .foundation-charity-projects-stats { grid-template-columns: repeat(2,minmax(0,1fr)); border-radius: 21px 21px 0 0; }
  .foundation-charity-projects-stats > div { min-height: 92px; padding: 19px 18px; border-bottom: 1px solid #eee7dc; }
  .foundation-charity-projects-stats > div:nth-child(2) { border-right: 0; }
  .foundation-charity-projects-stats > div:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .foundation-charity-projects-stats dt { font-size: 27px; }
  .foundation-charity-projects-stats > div:last-child dt { font-size: 21px; }
  .foundation-charity-projects-list { padding: 72px 0 78px; }
  .foundation-charity-projects-section-head { display: block; margin-bottom: 34px; }
  .foundation-charity-projects-section-head h2,.foundation-charity-projects-method h2 { font-size: 38px; }
  .foundation-charity-projects-section-head > span { display: block; margin-top: 17px; font-size: 14px; }
  .foundation-charity-projects-stack { gap: 18px; }
  .foundation-charity-project-card { display: flex; min-height: 0; align-items: stretch; flex-direction: column; border-radius: 25px; }
  .foundation-charity-project-card.green .foundation-charity-project-media { order: 0; border-radius: 23px 23px 0 0; }
  .foundation-charity-project-media { min-height: 0; aspect-ratio: 4/3; border-radius: 23px 23px 0 0; }
  .foundation-charity-project-media .foundation-charity-project-cover { width: calc(100% - 18px); height: calc(100% - 18px); border-radius: 16px; }
  .foundation-charity-project-copy { padding: 28px 22px 30px; }
  .foundation-charity-project-copy h2 { font-size: 36px; }
  .foundation-charity-project-description { font-size: 14px; }
  .foundation-charity-project-sections { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .foundation-charity-project-latest { padding: 16px; }
  .foundation-charity-project-actions { align-items: flex-start; flex-direction: column; gap: 14px; }
  .foundation-charity-project-actions > span { margin-left: 0; }
  .foundation-charity-projects-method { padding: 72px 0 76px; }
  .foundation-charity-projects-method header { display: block; }
  .foundation-charity-projects-method header > p { margin-bottom: 12px; }
  .foundation-charity-projects-method header > a { display: inline-block; margin-top: 20px; }
  .foundation-charity-projects-method ol { grid-template-columns: 1fr; margin-top: 38px; }
  .foundation-charity-projects-method li { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); padding: 25px 4px; }
  .foundation-charity-projects-method li:last-child { border-bottom: 0; }
  .foundation-charity-projects-method li > span { margin-bottom: 15px; }
  .foundation-charity-projects-footer > div { align-items: flex-start; flex-direction: column; gap: 8px; }
  .foundation-charity-projects-footer p { margin: 4px 0; }
  .foundation-charity-projects-footer a { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-charity-projects-page a { transition: none; }
}

/* A project's introduction is one canonical article, presented as the fixed
   overview of the project rather than as a repeatable archive category. */
.cms-category-salute-good-doers,
.cms-category-protect-good-youth {
  --cms-project-accent: #ea1034;
  --cms-project-soft: #fff4d7;
  --cms-project-ink: #2d2722;
}
.cms-category-protect-good-youth {
  --cms-project-accent: #399348;
  --cms-project-soft: #eaf9e7;
}
.cms-project-overview {
  width: min(1314px, calc(100% - 48px));
  margin: 42px auto 0;
}
.cms-project-overview-card {
  display: grid;
  grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
  align-items: start;
  overflow: hidden;
  border: 1px solid #eadfd2;
  border-radius: 30px;
  background: linear-gradient(128deg, var(--cms-project-soft), #fff 58%);
  box-shadow: 0 24px 70px rgba(73, 50, 31, .08);
}
.cms-project-overview-media {
  display: block;
  min-height: 100%;
  padding: 18px;
  background: var(--cms-project-soft);
  box-sizing: border-box;
}
.cms-project-overview-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
  object-fit: contain;
}
.cms-project-overview-copy {
  padding: 48px 54px 50px;
}
.cms-project-overview-copy > p {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 13px;
  color: var(--cms-project-accent);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
}
.cms-project-overview-copy > p span {
  border-right: 1px solid color-mix(in srgb, var(--cms-project-accent), transparent 66%);
  padding-right: 12px;
  font-size: 10px;
  letter-spacing: .16em;
}
.cms-project-overview-copy h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.14;
  letter-spacing: -.045em;
}
.cms-project-overview-copy h2 a {
  color: var(--cms-project-ink);
  text-decoration: none;
}
.cms-project-overview-copy > div {
  margin-top: 20px;
  color: #74695f;
  font-size: 16px;
  line-height: 1.9;
}
.cms-project-overview-copy dl {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 34px;
  margin: 27px 0 0;
  padding-top: 21px;
  border-top: 1px solid #e9dfd3;
}
.cms-project-overview-copy dl > div { display: grid; gap: 5px; }
.cms-project-overview-copy dt { color: #a09589; font-size: 10px; letter-spacing: .08em; }
.cms-project-overview-copy dd { margin: 0; color: #50473f; font-size: 13px; font-weight: 750; }
.cms-project-overview-action {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
  border-radius: 999px;
  padding: 0 21px;
  color: #fff;
  background: var(--cms-project-accent);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
.cms-project-overview-action:hover,
.cms-project-overview-action:focus-visible { color: #fff; transform: translateY(-1px); }

@media (max-width: 800px) {
  .cms-project-overview { width: calc(100% - 32px); margin-top: 26px; }
  .cms-project-overview-card { grid-template-columns: 1fr; border-radius: 24px; }
  .cms-project-overview-media { min-height: 0; padding: 10px; }
  .cms-project-overview-media img { border-radius: 17px; }
  .cms-project-overview-copy { padding: 29px 23px 32px; }
  .cms-project-overview-copy h2 { font-size: 34px; }
  .cms-project-overview-copy > div { font-size: 14px; line-height: 1.8; }
  .cms-project-overview-copy dl { gap: 13px 24px; margin-top: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .cms-project-overview-action { transition: none; }
}

/* Dedicated charitable-trust topic. The CMS keeps the category under
   机构业务, while this public surface intentionally reads as a direct topic. */
.foundation-charity-trusts-page {
  --trust-red: #ea1034;
  --trust-yellow: #ffce37;
  --trust-green: #aaf7a9;
  --trust-cream: #fff4d7;
  --trust-ink: #24211f;
  --trust-muted: #746b64;
  margin: 0;
  color: var(--trust-ink);
  background: #fffdf8;
}
.foundation-charity-trusts-page *,
.foundation-charity-trusts-page *::before,
.foundation-charity-trusts-page *::after { box-sizing: border-box; }
.foundation-charity-trusts-page a { color: inherit; }
.foundation-charity-trusts-shell { width: min(1240px, calc(100% - 64px)); margin: 0 auto; }
.foundation-charity-trusts-hero {
  position: relative;
  overflow: hidden;
  padding: 38px 0 0;
  background:
    radial-gradient(circle at 90% 12%, rgba(255, 206, 55, .65) 0 9%, transparent 9.2%),
    radial-gradient(circle at 7% 80%, rgba(170, 247, 169, .52) 0 12%, transparent 12.2%),
    linear-gradient(145deg, #fff9e9 0%, #fff4d7 54%, #fff 100%);
}
.foundation-charity-trusts-hero::after {
  position: absolute;
  right: -120px;
  bottom: 40px;
  width: 360px;
  height: 120px;
  border: 2px solid rgba(234, 16, 52, .14);
  border-right: 0;
  border-bottom: 0;
  border-radius: 180px 0 0;
  content: "";
}
.foundation-charity-trusts-breadcrumb {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #8b8177;
  font-size: 13px;
}
.foundation-charity-trusts-breadcrumb a { text-decoration: none; }
.foundation-charity-trusts-breadcrumb strong { color: var(--trust-red); }
.foundation-charity-trusts-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
  gap: clamp(56px, 8vw, 112px);
  align-items: center;
  min-height: 600px;
  padding: 52px 0 66px;
}
.foundation-charity-trusts-hero-copy > p {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 24px;
  color: var(--trust-red);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .16em;
}
.foundation-charity-trusts-hero-copy h1 {
  margin: 0;
  max-width: 650px;
  font-size: clamp(48px, 5.6vw, 76px);
  line-height: 1.08;
  letter-spacing: -.055em;
}
.foundation-charity-trusts-hero-copy > div {
  max-width: 620px;
  margin-top: 27px;
  color: #665d55;
  font-size: 17px;
  line-height: 1.9;
}
.foundation-charity-trusts-hero-copy > nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}
.foundation-charity-trusts-hero-copy > nav a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(36, 33, 31, .2);
  border-radius: 999px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.foundation-charity-trusts-hero-copy > nav a:first-child { border-color: var(--trust-red); color: #fff; background: var(--trust-red); }
.foundation-charity-trusts-hero-copy > nav a:hover,
.foundation-charity-trusts-hero-copy > nav a:focus-visible { transform: translateY(-2px); }
.foundation-charity-trusts-hero-visual { position: relative; padding: 30px 34px 26px 12px; }
.foundation-charity-trusts-hero-visual > a {
  position: relative;
  z-index: 2;
  display: block;
  overflow: hidden;
  min-height: 460px;
  border: 8px solid #fff;
  border-radius: 62px 62px 180px 62px;
  color: #fff;
  background: #3b3531;
  box-shadow: 0 30px 90px rgba(90, 56, 35, .2);
  text-decoration: none;
}
.foundation-charity-trusts-hero-visual > a::after {
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgba(24, 19, 15, .86));
  content: "";
}
.foundation-charity-trusts-hero-visual img { display: block; width: 100%; height: 460px; object-fit: cover; }
.foundation-charity-trusts-hero-visual a > span {
  position: absolute;
  z-index: 2;
  right: 40px;
  bottom: 42px;
  left: 40px;
  display: grid;
  gap: 8px;
}
.foundation-charity-trusts-hero-visual a small { color: var(--trust-yellow); font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.foundation-charity-trusts-hero-visual a strong { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.3; }
.foundation-charity-trusts-orbit {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 220px;
  height: 220px;
  border: 2px solid rgba(234, 16, 52, .22);
  border-radius: 50%;
}
.foundation-charity-trusts-orbit::before,
.foundation-charity-trusts-orbit::after,
.foundation-charity-trusts-orbit b {
  position: absolute;
  width: 22px;
  height: 22px;
  border: 5px solid #fff4d7;
  border-radius: 50%;
  background: var(--trust-red);
  content: "";
}
.foundation-charity-trusts-orbit::before { top: 13px; left: 42px; }
.foundation-charity-trusts-orbit::after { right: -3px; bottom: 58px; background: #399348; }
.foundation-charity-trusts-orbit b:nth-child(1) { bottom: 2px; left: 45px; background: var(--trust-yellow); }
.foundation-charity-trusts-orbit b:nth-child(2),
.foundation-charity-trusts-orbit b:nth-child(3) { display: none; }
.foundation-charity-trusts-hero-empty {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: 420px;
  align-content: center;
  gap: 8px;
  border-radius: 62px 62px 180px 62px;
  padding: 48px;
  color: #fff;
  background: var(--trust-red);
}
.foundation-charity-trusts-hero-empty strong { font-size: 36px; }
.foundation-charity-trusts-facts {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  border-top: 1px solid rgba(86, 69, 51, .13);
}
.foundation-charity-trusts-facts > div { display: grid; gap: 5px; min-height: 112px; align-content: center; border-left: 1px solid rgba(86, 69, 51, .13); padding: 20px 34px; }
.foundation-charity-trusts-facts > div:first-child { border-left: 0; }
.foundation-charity-trusts-facts dt { color: var(--trust-red); font-size: clamp(27px, 3vw, 42px); font-weight: 900; letter-spacing: -.04em; }
.foundation-charity-trusts-facts dd { margin: 0; color: #81776e; font-size: 12px; letter-spacing: .1em; }
.foundation-charity-trusts-path { padding: 100px 0 108px; color: #fff; background: var(--trust-red); }
.foundation-charity-trusts-path header { display: grid; grid-template-columns: minmax(0, .7fr) minmax(300px, 1.3fr); gap: 20px 80px; align-items: end; }
.foundation-charity-trusts-path header p { grid-column: 1 / -1; margin: 0; color: var(--trust-yellow); font-size: 11px; font-weight: 900; letter-spacing: .16em; }
.foundation-charity-trusts-path h2 { margin: 0; font-size: clamp(36px, 4.6vw, 58px); line-height: 1.14; letter-spacing: -.045em; }
.foundation-charity-trusts-path header span { max-width: 520px; color: rgba(255, 255, 255, .76); font-size: 16px; line-height: 1.8; }
.foundation-charity-trusts-path ol { display: grid; grid-template-columns: repeat(4, 1fr); margin: 66px 0 0; padding: 0; list-style: none; }
.foundation-charity-trusts-path li { position: relative; min-height: 220px; border-top: 1px solid rgba(255, 255, 255, .38); border-left: 1px solid rgba(255, 255, 255, .22); padding: 34px 30px 28px; }
.foundation-charity-trusts-path li:first-child { border-left: 0; }
.foundation-charity-trusts-path li::before { position: absolute; top: -8px; left: 28px; width: 15px; height: 15px; border: 4px solid var(--trust-red); border-radius: 50%; background: var(--trust-yellow); content: ""; }
.foundation-charity-trusts-path li i { display: block; margin-bottom: 40px; color: var(--trust-yellow); font-size: 12px; font-style: normal; font-weight: 900; letter-spacing: .12em; }
.foundation-charity-trusts-path li strong { display: block; font-size: 22px; }
.foundation-charity-trusts-path li p { margin: 12px 0 0; color: rgba(255, 255, 255, .7); font-size: 14px; line-height: 1.75; }
.foundation-charity-trusts-archive { padding: 110px 0 120px; background: #fffdf8; }
.foundation-charity-trusts-section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 46px; }
.foundation-charity-trusts-section-head p { margin: 0 0 12px; color: var(--trust-red); font-size: 11px; font-weight: 900; letter-spacing: .17em; }
.foundation-charity-trusts-section-head h2 { margin: 0; font-size: clamp(38px, 4.8vw, 60px); letter-spacing: -.045em; }
.foundation-charity-trusts-section-head > span { max-width: 450px; color: var(--trust-muted); font-size: 14px; line-height: 1.8; }
.foundation-charity-trusts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.foundation-charity-trust-card { overflow: hidden; border: 1px solid #e9e0d6; border-radius: 28px; background: #fff; box-shadow: 0 18px 55px rgba(67, 49, 32, .07); }
.foundation-charity-trust-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; background: var(--trust-cream); }
.foundation-charity-trust-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.foundation-charity-trust-card-media > span { position: absolute; top: 18px; left: 18px; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #fff; background: var(--trust-red); font-size: 12px; font-weight: 900; }
.foundation-charity-trust-card.yellow .foundation-charity-trust-card-media > span { color: #29231d; background: var(--trust-yellow); }
.foundation-charity-trust-card.green .foundation-charity-trust-card-media > span { color: #234429; background: var(--trust-green); }
.foundation-charity-trust-card > div { display: flex; min-height: 350px; flex-direction: column; padding: 28px 28px 26px; }
.foundation-charity-trust-card > div > p { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 16px; color: #8d8278; font-size: 11px; }
.foundation-charity-trust-card > div > p i { color: var(--trust-red); font-style: normal; font-weight: 850; letter-spacing: .1em; }
.foundation-charity-trust-card h3 { margin: 0; font-size: clamp(22px, 2vw, 29px); line-height: 1.34; letter-spacing: -.025em; }
.foundation-charity-trust-card h3 a { text-decoration: none; }
.foundation-charity-trust-card > div > div { display: -webkit-box; overflow: hidden; margin-top: 18px; color: #776d65; font-size: 14px; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.foundation-charity-trust-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; border-top: 1px solid #eee6de; padding-top: 22px; }
.foundation-charity-trust-card footer span { overflow: hidden; max-width: 62%; color: #9a9087; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.foundation-charity-trust-card footer a { display: inline-flex; align-items: center; gap: 10px; color: var(--trust-red); font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-charity-trust-card:hover .foundation-charity-trust-card-media img { transform: scale(1.035); }
.foundation-charity-trusts-empty { grid-column: 1 / -1; display: grid; min-height: 260px; place-content: center; gap: 8px; border: 1px dashed #dfd3c6; border-radius: 28px; text-align: center; background: var(--trust-cream); }
.foundation-charity-trusts-empty strong { font-size: 24px; }
.foundation-charity-trusts-empty span { color: var(--trust-muted); }
.foundation-charity-trusts-footer { padding: 34px 0; color: #fff; background: #25211f; }
.foundation-charity-trusts-footer .foundation-charity-trusts-shell { display: flex; align-items: center; gap: 26px; }
.foundation-charity-trusts-footer img { width: 160px; height: auto; }
.foundation-charity-trusts-footer p { flex: 1; margin: 0; color: rgba(255, 255, 255, .66); font-size: 13px; }
.foundation-charity-trusts-footer a { border-bottom: 1px solid rgba(255, 255, 255, .45); padding-bottom: 3px; font-size: 13px; text-decoration: none; }

@media (max-width: 980px) {
  .foundation-charity-trusts-hero-grid { grid-template-columns: 1fr 1fr; gap: 38px; }
  .foundation-charity-trusts-hero-copy h1 { font-size: clamp(44px, 6.8vw, 64px); }
  .foundation-charity-trusts-hero-visual > a,
  .foundation-charity-trusts-hero-visual img { min-height: 400px; height: 400px; }
  .foundation-charity-trusts-path ol { grid-template-columns: repeat(2, 1fr); }
  .foundation-charity-trusts-path li:nth-child(3) { border-left: 0; }
  .foundation-charity-trusts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .foundation-charity-trusts-shell { width: calc(100% - 32px); }
  .foundation-charity-trusts-hero { padding-top: 22px; }
  .foundation-charity-trusts-hero-grid { grid-template-columns: 1fr; min-height: 0; padding: 42px 0 44px; }
  .foundation-charity-trusts-hero-copy h1 { font-size: 46px; }
  .foundation-charity-trusts-hero-copy > div { margin-top: 22px; font-size: 15px; }
  .foundation-charity-trusts-hero-copy > nav { display: grid; grid-template-columns: 1fr; }
  .foundation-charity-trusts-hero-visual { padding: 12px 8px 18px; }
  .foundation-charity-trusts-hero-visual > a { min-height: 350px; border-width: 6px; border-radius: 38px 38px 105px 38px; }
  .foundation-charity-trusts-hero-visual img { height: 350px; min-height: 350px; }
  .foundation-charity-trusts-hero-visual a > span { right: 28px; bottom: 31px; left: 28px; }
  .foundation-charity-trusts-orbit { width: 150px; height: 150px; }
  .foundation-charity-trusts-facts { grid-template-columns: 1fr; }
  .foundation-charity-trusts-facts > div { min-height: 88px; border-top: 1px solid rgba(86, 69, 51, .13); border-left: 0; padding: 16px 8px; }
  .foundation-charity-trusts-facts > div:first-child { border-top: 0; }
  .foundation-charity-trusts-path { padding: 72px 0 78px; }
  .foundation-charity-trusts-path header { grid-template-columns: 1fr; }
  .foundation-charity-trusts-path header p { grid-column: auto; }
  .foundation-charity-trusts-path ol { grid-template-columns: 1fr; margin-top: 45px; }
  .foundation-charity-trusts-path li { min-height: 0; border-left: 0; padding: 28px 16px 30px 34px; }
  .foundation-charity-trusts-path li i { margin-bottom: 20px; }
  .foundation-charity-trusts-archive { padding: 76px 0 84px; }
  .foundation-charity-trusts-section-head { display: grid; gap: 18px; margin-bottom: 32px; }
  .foundation-charity-trusts-grid { grid-template-columns: 1fr; }
  .foundation-charity-trust-card > div { min-height: 0; padding: 24px 22px; }
  .foundation-charity-trust-card footer { margin-top: 28px; }
  .foundation-charity-trusts-footer .foundation-charity-trusts-shell { flex-wrap: wrap; }
  .foundation-charity-trusts-footer p { order: 3; flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-charity-trusts-page *,
  .foundation-charity-trusts-page *::before,
  .foundation-charity-trusts-page *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Dedicated special-funds topic. It is a direct public destination even
   though the CMS keeps its editorial category in the institution tree. */
.foundation-special-funds-page {
  --special-red: #ea1034;
  --special-yellow: #ffce37;
  --special-green: #aaf7a9;
  --special-cream: #fff4d7;
  --special-gray: #ededed;
  --special-ink: #24211f;
  --special-muted: #756d66;
  margin: 0;
  color: var(--special-ink);
  background: #fff;
}
.foundation-special-funds-page *,
.foundation-special-funds-page *::before,
.foundation-special-funds-page *::after { box-sizing: border-box; }
.foundation-special-funds-page a { color: inherit; }
.foundation-special-funds-shell { width: min(1240px, calc(100% - 64px)); margin: 0 auto; }
.foundation-special-funds-hero {
  position: relative;
  overflow: hidden;
  padding-top: 36px;
  background:
    linear-gradient(90deg, transparent 0 49.9%, rgba(234, 16, 52, .055) 50% 50.1%, transparent 50.2%),
    linear-gradient(142deg, #fffdf8 0%, var(--special-cream) 56%, #fff 100%);
}
.foundation-special-funds-hero::before {
  position: absolute;
  top: 116px;
  right: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: var(--special-yellow);
  content: "";
  opacity: .54;
}
.foundation-special-funds-breadcrumb {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #8e8379;
  font-size: 13px;
}
.foundation-special-funds-breadcrumb a { text-decoration: none; }
.foundation-special-funds-breadcrumb strong { color: var(--special-red); }
.foundation-special-funds-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(470px, 1.12fr);
  gap: clamp(54px, 8vw, 112px);
  align-items: center;
  min-height: 640px;
  padding: 48px 0 68px;
}
.foundation-special-funds-hero-copy > p {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 24px;
  color: var(--special-red);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .17em;
}
.foundation-special-funds-hero-copy h1 {
  margin: 0;
  max-width: 650px;
  font-size: clamp(50px, 5.7vw, 78px);
  line-height: 1.06;
  letter-spacing: -.06em;
}
.foundation-special-funds-hero-copy h1 em { color: var(--special-red); font-style: normal; }
.foundation-special-funds-hero-copy > div {
  max-width: 570px;
  margin-top: 28px;
  color: #665e57;
  font-size: 17px;
  line-height: 1.9;
}
.foundation-special-funds-hero-copy > nav { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.foundation-special-funds-hero-copy > nav a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(36, 33, 31, .2);
  border-radius: 999px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease;
}
.foundation-special-funds-hero-copy > nav a:first-child { border-color: var(--special-red); color: #fff; background: var(--special-red); }
.foundation-special-funds-hero-copy > nav a:hover,
.foundation-special-funds-hero-copy > nav a:focus-visible { transform: translateY(-2px); }
.foundation-special-funds-hero-visual { position: relative; min-height: 520px; padding: 36px 48px 28px 62px; }
.foundation-special-funds-hero-word {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  color: rgba(234, 16, 52, .11);
  font-size: 152px;
  font-weight: 950;
  line-height: .78;
  letter-spacing: -.14em;
}
.foundation-special-funds-hero-visual > a {
  position: relative;
  z-index: 2;
  display: block;
  overflow: hidden;
  min-height: 460px;
  border: 9px solid #fff;
  border-radius: 34px 130px 34px 34px;
  color: #fff;
  background: #322b27;
  box-shadow: 0 32px 86px rgba(79, 50, 34, .22);
  text-decoration: none;
  transform: rotate(1.2deg);
}
.foundation-special-funds-hero-visual > a::after {
  position: absolute;
  inset: 28% 0 0;
  background: linear-gradient(transparent, rgba(30, 22, 18, .9));
  content: "";
}
.foundation-special-funds-hero-visual img { display: block; width: 100%; height: 460px; object-fit: cover; }
.foundation-special-funds-hero-visual a > span {
  position: absolute;
  z-index: 2;
  right: 38px;
  bottom: 36px;
  left: 38px;
  display: grid;
  gap: 9px;
}
.foundation-special-funds-hero-visual a small { color: var(--special-yellow); font-size: 12px; font-weight: 850; letter-spacing: .05em; }
.foundation-special-funds-hero-visual a strong { max-width: 560px; font-size: clamp(23px, 2.25vw, 32px); line-height: 1.32; }
.foundation-special-funds-hero-visual a i { display: flex; align-items: center; gap: 8px; margin-top: 3px; color: rgba(255, 255, 255, .76); font-size: 12px; font-style: normal; }
.foundation-special-funds-hero-visual a i b { color: var(--special-yellow); font-size: 16px; }
.foundation-special-funds-seed { position: absolute; z-index: 3; display: block; border-radius: 80% 20% 80% 20%; background: var(--special-green); transform: rotate(34deg); }
.foundation-special-funds-seed.seed-one { right: 22px; bottom: 2px; width: 55px; height: 82px; }
.foundation-special-funds-seed.seed-two { top: 15px; right: 105px; width: 24px; height: 38px; background: var(--special-red); }
.foundation-special-funds-hero-empty { position: relative; z-index: 2; display: grid; min-height: 460px; align-content: center; gap: 9px; border-radius: 34px 130px 34px 34px; padding: 46px; color: #fff; background: var(--special-red); }
.foundation-special-funds-hero-empty strong { font-size: 35px; }
.foundation-special-funds-facts {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border: 1px solid rgba(72, 57, 46, .12);
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  background: rgba(255, 255, 255, .75);
  backdrop-filter: blur(18px);
}
.foundation-special-funds-facts > div { display: grid; min-height: 112px; align-content: center; gap: 6px; border-left: 1px solid rgba(72, 57, 46, .11); padding: 20px 31px; }
.foundation-special-funds-facts > div:first-child { border-left: 0; }
.foundation-special-funds-facts dt { color: var(--special-red); font-size: clamp(28px, 3vw, 41px); font-weight: 900; letter-spacing: -.04em; }
.foundation-special-funds-facts dd { margin: 0; color: #80766d; font-size: 11px; letter-spacing: .09em; }

.foundation-special-funds-themes { padding: 108px 0 116px; color: #fff; background: var(--special-red); }
.foundation-special-funds-section-head { display: flex; align-items: end; justify-content: space-between; gap: 52px; margin-bottom: 48px; }
.foundation-special-funds-section-head > div > p { margin: 0 0 13px; color: var(--special-yellow); font-size: 11px; font-weight: 900; letter-spacing: .17em; }
.foundation-special-funds-section-head h2 { margin: 0; font-size: clamp(40px, 5vw, 64px); line-height: 1.08; letter-spacing: -.05em; }
.foundation-special-funds-section-head > span { max-width: 470px; color: rgba(255, 255, 255, .72); font-size: 15px; line-height: 1.85; }
.foundation-special-funds-theme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.foundation-special-funds-theme-grid article {
  position: relative;
  display: flex;
  min-height: 360px;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 26px;
  padding: 29px 29px 28px;
  background: rgba(255, 255, 255, .08);
}
.foundation-special-funds-theme-grid article:nth-child(2) { color: #25211e; background: var(--special-yellow); }
.foundation-special-funds-theme-grid article:nth-child(3) { color: #263529; background: var(--special-green); }
.foundation-special-funds-theme-grid article > span { display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; font-weight: 900; }
.foundation-special-funds-theme-grid article > p { margin: 55px 0 9px; color: rgba(255, 255, 255, .65); font-size: 11px; }
.foundation-special-funds-theme-grid article:nth-child(n+2) > p { color: rgba(35, 31, 27, .58); }
.foundation-special-funds-theme-grid h3 { margin: 0; font-size: clamp(25px, 2.4vw, 34px); line-height: 1.25; letter-spacing: -.035em; }
.foundation-special-funds-theme-grid article > div { margin-top: 16px; color: rgba(255, 255, 255, .7); font-size: 14px; line-height: 1.75; }
.foundation-special-funds-theme-grid article:nth-child(n+2) > div { color: rgba(35, 31, 27, .68); }
.foundation-special-funds-theme-grid article > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; border-top: 1px solid currentColor; padding-top: 19px; font-size: 12px; font-weight: 800; text-decoration: none; opacity: .82; }
.foundation-special-funds-theme-grid article > a i { font-size: 17px; font-style: normal; }

.foundation-special-funds-principles { padding: 103px 0 110px; color: #2b2825; background: #fff; }
.foundation-special-funds-principles header { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.foundation-special-funds-principles header p { margin: 0 0 10px; color: var(--special-red); font-size: 11px; font-weight: 900; letter-spacing: .17em; }
.foundation-special-funds-principles h2 { margin: 0; font-size: clamp(40px, 4.7vw, 60px); letter-spacing: -.05em; }
.foundation-special-funds-principles ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 58px 0 0; padding: 0; border-top: 1px solid #dcd4cc; list-style: none; }
.foundation-special-funds-principles li { position: relative; min-height: 235px; border-left: 1px solid #e5ddd5; padding: 30px 27px; }
.foundation-special-funds-principles li:first-child { border-left: 0; }
.foundation-special-funds-principles li::before { position: absolute; top: -7px; left: 28px; width: 13px; height: 13px; border: 3px solid #fff; border-radius: 50%; background: var(--special-red); box-shadow: 0 0 0 1px var(--special-red); content: ""; }
.foundation-special-funds-principles li > span { display: block; margin-bottom: 42px; color: var(--special-red); font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.foundation-special-funds-principles li > strong { display: block; font-size: 21px; }
.foundation-special-funds-principles li > p { margin: 13px 0 0; color: #7a7169; font-size: 14px; line-height: 1.8; }

.foundation-special-funds-archive { padding: 108px 0 120px; background: var(--special-cream); }
.foundation-special-funds-section-head.archive-head > div > p { color: var(--special-red); }
.foundation-special-funds-section-head.archive-head > span { color: #756c64; }
.foundation-special-funds-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.foundation-special-fund-card { display: grid; overflow: hidden; border: 1px solid rgba(82, 58, 39, .12); border-radius: 28px; background: #fff; box-shadow: 0 18px 55px rgba(74, 51, 34, .07); }
.foundation-special-fund-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #eadfd1; text-decoration: none; }
.foundation-special-fund-card-media::after { position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(35, 27, 22, .68)); content: ""; }
.foundation-special-fund-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .34s ease; }
.foundation-special-fund-card-media > span { position: absolute; z-index: 2; top: 17px; left: 17px; display: grid; width: 44px; height: 44px; place-items: center; border-radius: 14px; color: #fff; background: var(--special-red); font-size: 11px; font-weight: 900; }
.foundation-special-fund-card.yellow .foundation-special-fund-card-media > span { color: #2b251f; background: var(--special-yellow); }
.foundation-special-fund-card.green .foundation-special-fund-card-media > span { color: #263a29; background: var(--special-green); }
.foundation-special-fund-card.cream .foundation-special-fund-card-media > span { color: #322a24; background: var(--special-cream); }
.foundation-special-fund-card-media > i { position: absolute; z-index: 2; right: 20px; bottom: 18px; left: 20px; overflow: hidden; color: #fff; font-size: 12px; font-style: normal; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.foundation-special-fund-card > div { display: flex; min-height: 335px; flex-direction: column; padding: 28px 30px 27px; }
.foundation-special-fund-card > div > p { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 16px; color: #938980; font-size: 11px; }
.foundation-special-fund-card > div > p span { overflow: hidden; max-width: 65%; text-overflow: ellipsis; white-space: nowrap; }
.foundation-special-fund-card h3 { margin: 0; font-size: clamp(24px, 2.5vw, 34px); line-height: 1.28; letter-spacing: -.035em; }
.foundation-special-fund-card h3 a { text-decoration: none; }
.foundation-special-fund-card > div > div { display: -webkit-box; overflow: hidden; margin-top: 17px; color: #766d65; font-size: 14px; line-height: 1.78; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.foundation-special-fund-card-action { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; border-top: 1px solid #eee5dc; padding-top: 20px; color: var(--special-red); font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-special-fund-card-action b { font-size: 17px; }
.foundation-special-fund-card:hover .foundation-special-fund-card-media img { transform: scale(1.035); }
.foundation-special-funds-empty { grid-column: 1 / -1; display: grid; min-height: 250px; place-content: center; gap: 8px; border: 1px dashed rgba(102, 76, 56, .25); border-radius: 28px; text-align: center; }
.foundation-special-funds-empty strong { font-size: 24px; }
.foundation-special-funds-empty span { color: var(--special-muted); }
.foundation-special-funds-footer { padding: 34px 0; color: #fff; background: #26211e; }
.foundation-special-funds-footer .foundation-special-funds-shell { display: flex; align-items: center; gap: 26px; }
.foundation-special-funds-footer img { width: 164px; height: auto; }
.foundation-special-funds-footer p { flex: 1; margin: 0; color: rgba(255, 255, 255, .67); font-size: 13px; }
.foundation-special-funds-footer a { border-bottom: 1px solid rgba(255, 255, 255, .42); padding-bottom: 3px; font-size: 13px; text-decoration: none; }
.foundation-special-funds-page a:focus-visible { outline: 3px solid rgba(234, 16, 52, .25); outline-offset: 3px; }

@media (max-width: 980px) {
  .foundation-special-funds-hero-grid { grid-template-columns: minmax(0, .88fr) minmax(390px, 1.12fr); gap: 34px; }
  .foundation-special-funds-hero-copy h1 { font-size: 58px; }
  .foundation-special-funds-hero-visual { padding-inline: 35px 24px; }
  .foundation-special-funds-theme-grid article { min-height: 390px; padding-inline: 23px; }
  .foundation-special-funds-principles li { padding-inline: 19px; }
}

@media (max-width: 720px) {
  .foundation-special-funds-shell { width: calc(100% - 30px); }
  .foundation-special-funds-hero { padding-top: 20px; }
  .foundation-special-funds-breadcrumb { display: none; }
  .foundation-special-funds-hero-grid { grid-template-columns: 1fr; min-height: 0; padding: 43px 0 42px; }
  .foundation-special-funds-hero-copy h1 { font-size: 47px; }
  .foundation-special-funds-hero-copy > div { margin-top: 22px; font-size: 15px; }
  .foundation-special-funds-hero-copy > nav { display: grid; grid-template-columns: 1fr; }
  .foundation-special-funds-hero-visual { min-height: 0; margin-top: 38px; padding: 30px 7px 24px 18px; }
  .foundation-special-funds-hero-word { font-size: 104px; }
  .foundation-special-funds-hero-visual > a { min-height: 350px; border-width: 6px; border-radius: 24px 82px 24px 24px; transform: none; }
  .foundation-special-funds-hero-visual img { height: 350px; }
  .foundation-special-funds-hero-visual a > span { right: 25px; bottom: 27px; left: 25px; }
  .foundation-special-funds-seed.seed-one { right: -2px; width: 41px; height: 62px; }
  .foundation-special-funds-seed.seed-two { right: 76px; }
  .foundation-special-funds-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 20px 20px 0 0; }
  .foundation-special-funds-facts > div { min-height: 91px; border-top: 1px solid rgba(72, 57, 46, .11); padding: 15px 17px; }
  .foundation-special-funds-facts > div:nth-child(odd) { border-left: 0; }
  .foundation-special-funds-facts > div:nth-child(-n+2) { border-top: 0; }
  .foundation-special-funds-facts dt { font-size: 27px; }
  .foundation-special-funds-themes { padding: 74px 0 80px; }
  .foundation-special-funds-section-head { display: grid; gap: 18px; margin-bottom: 32px; }
  .foundation-special-funds-section-head h2 { font-size: 40px; }
  .foundation-special-funds-section-head > span { font-size: 14px; }
  .foundation-special-funds-theme-grid { grid-template-columns: 1fr; }
  .foundation-special-funds-theme-grid article { min-height: 310px; padding: 25px 23px; }
  .foundation-special-funds-theme-grid article > p { margin-top: 35px; }
  .foundation-special-funds-principles { padding: 74px 0 80px; }
  .foundation-special-funds-principles h2 { font-size: 39px; }
  .foundation-special-funds-principles ol { grid-template-columns: 1fr; margin-top: 40px; }
  .foundation-special-funds-principles li { min-height: 0; border-left: 0; border-bottom: 1px solid #e5ddd5; padding: 28px 14px 27px 34px; }
  .foundation-special-funds-principles li:last-child { border-bottom: 0; }
  .foundation-special-funds-principles li > span { margin-bottom: 16px; }
  .foundation-special-funds-archive { padding: 75px 0 84px; }
  .foundation-special-funds-grid { grid-template-columns: 1fr; }
  .foundation-special-fund-card { border-radius: 23px; }
  .foundation-special-fund-card > div { min-height: 0; padding: 24px 22px; }
  .foundation-special-fund-card-action { margin-top: 27px; }
  .foundation-special-funds-footer .foundation-special-funds-shell { align-items: flex-start; flex-direction: column; gap: 9px; }
  .foundation-special-funds-footer p { margin: 3px 0; }
}

/* Dedicated designated-donation service page */
.foundation-designated-donations-page {
  --designated-red: #ea1034;
  --designated-yellow: #ffce37;
  --designated-green: #aaf7a9;
  --designated-cream: #fff4d7;
  --designated-ink: #25211e;
  --designated-muted: #756d67;
  overflow-x: clip;
  color: var(--designated-ink);
  background: #fffdf8;
}

.foundation-designated-donations-page *,
.foundation-designated-donations-page *::before,
.foundation-designated-donations-page *::after { box-sizing: border-box; }
.foundation-designated-donations-page a { color: inherit; }
.foundation-designated-shell { width: min(1216px, calc(100% - 64px)); margin: 0 auto; }
.foundation-designated-hero { position: relative; overflow: hidden; background: linear-gradient(120deg, #fff9e9 0%, var(--designated-cream) 57%, #ffedbd 100%); }
.foundation-designated-hero::before { position: absolute; right: -90px; bottom: -170px; width: 470px; height: 470px; border: 92px solid rgba(234, 16, 52, .08); border-radius: 50%; content: ""; }
.foundation-designated-breadcrumb { display: flex; gap: 10px; align-items: center; padding-top: 34px; color: #897e75; font-size: 13px; }
.foundation-designated-breadcrumb strong { color: var(--designated-red); }
.foundation-designated-hero-grid { position: relative; z-index: 1; display: grid; min-height: 650px; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: 72px; align-items: center; padding: 54px 0 76px; }
.foundation-designated-hero-copy > p,
.foundation-designated-ways header > p,
.foundation-designated-process header > p,
.foundation-designated-contact-copy > p { margin: 0; color: var(--designated-red); font-size: 11px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.foundation-designated-hero-copy h1 { margin: 15px 0 0; font-size: clamp(62px, 7vw, 96px); line-height: .98; letter-spacing: -.07em; }
.foundation-designated-hero-copy h2 { max-width: 610px; margin: 20px 0 0; font-size: clamp(25px, 2.5vw, 37px); line-height: 1.34; letter-spacing: -.035em; }
.foundation-designated-hero-copy > div { max-width: 650px; margin-top: 24px; color: var(--designated-muted); font-size: 16px; line-height: 1.9; }
.foundation-designated-hero-copy > div p { margin: 0; }
.foundation-designated-hero-copy > nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.foundation-designated-hero-copy > nav a { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; gap: 9px; border: 1px solid rgba(37, 33, 30, .3); border-radius: 999px; padding: 0 24px; font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-designated-hero-copy > nav a:first-child { border-color: var(--designated-red); color: #fff; background: var(--designated-red); }
.foundation-designated-hero-media { position: relative; min-height: 500px; margin: 0; padding: 22px 28px 28px 18px; }
.foundation-designated-hero-media::before { position: absolute; top: 0; right: 0; width: 72%; height: 85%; border-radius: 50% 50% 22px 22px; background: var(--designated-yellow); content: ""; }
.foundation-designated-hero-media img { position: relative; z-index: 1; display: block; width: 100%; height: 480px; border: 8px solid #fff; border-radius: 170px 34px 34px 34px; object-fit: cover; box-shadow: 0 28px 65px rgba(91, 59, 35, .16); }
.foundation-designated-hero-media figcaption { position: absolute; z-index: 2; right: 0; bottom: 7px; left: 80px; display: grid; gap: 7px; border-radius: 21px 7px 21px 7px; padding: 19px 24px; color: #fff; background: var(--designated-red); box-shadow: 0 16px 34px rgba(114, 17, 39, .2); }
.foundation-designated-hero-media figcaption span { color: var(--designated-yellow); font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.foundation-designated-hero-media figcaption strong { font-size: 17px; line-height: 1.45; }
.foundation-designated-seed { position: absolute; z-index: 3; display: block; width: 25px; height: 47px; border-radius: 80% 15% 80% 15%; transform: rotate(38deg); background: var(--designated-green); }
.foundation-designated-seed.seed-a { top: 3px; left: 13px; }
.foundation-designated-seed.seed-b { right: 5px; bottom: 90px; width: 18px; height: 34px; transform: rotate(-34deg); background: var(--designated-red); }
.foundation-designated-ways { padding: 104px 0 112px; background: #fff; }
.foundation-designated-ways header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 390px); gap: 20px 70px; align-items: end; }
.foundation-designated-ways header > p { grid-column: 1 / -1; }
.foundation-designated-ways h2,
.foundation-designated-process h2,
.foundation-designated-contact h2 { margin: 0; font-size: clamp(39px, 5vw, 64px); line-height: 1.08; letter-spacing: -.055em; }
.foundation-designated-ways header > span { color: var(--designated-muted); font-size: 15px; line-height: 1.8; }
.foundation-designated-way-grid { display: grid; margin-top: 48px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.foundation-designated-way-grid article { position: relative; min-height: 350px; overflow: hidden; border-radius: 26px; padding: 28px; background: var(--designated-cream); }
.foundation-designated-way-grid article:nth-child(2) { background: var(--designated-green); }
.foundation-designated-way-grid article:nth-child(3) { background: var(--designated-yellow); }
.foundation-designated-way-grid article::after { position: absolute; right: -55px; bottom: -80px; width: 210px; height: 210px; border: 48px solid rgba(255, 255, 255, .52); border-radius: 50%; content: ""; }
.foundation-designated-way-grid b { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 14px; color: #fff; background: var(--designated-red); font-size: 11px; }
.foundation-designated-way-grid h3 { max-width: 260px; margin: 86px 0 0; font-size: 31px; letter-spacing: -.035em; }
.foundation-designated-way-grid p { position: relative; z-index: 1; max-width: 310px; margin: 17px 0 0; color: #625950; font-size: 14px; line-height: 1.8; }
.foundation-designated-process { padding: 102px 0 110px; color: #fff; background: var(--designated-ink); }
.foundation-designated-process header { display: flex; align-items: end; justify-content: space-between; gap: 25px; }
.foundation-designated-process header > p { color: var(--designated-yellow); }
.foundation-designated-process ol { display: grid; margin: 50px 0 0; padding: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
.foundation-designated-process li { min-height: 275px; border-left: 1px solid rgba(255, 255, 255, .17); padding: 9px 28px 24px; }
.foundation-designated-process li:first-child { border-left: 0; }
.foundation-designated-process li > span { color: var(--designated-red); font-size: 12px; font-weight: 900; }
.foundation-designated-process li h3 { margin: 91px 0 0; font-size: 24px; }
.foundation-designated-process li p { margin: 15px 0 0; color: rgba(255, 255, 255, .64); font-size: 13px; line-height: 1.75; }
.foundation-designated-contact { padding: 104px 0; background: var(--designated-green); }
.foundation-designated-contact > .foundation-designated-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .6fr); gap: 80px; align-items: center; }
.foundation-designated-contact-copy > div { max-width: 700px; margin-top: 25px; color: #53604f; font-size: 15px; line-height: 1.9; }
.foundation-designated-contact aside { display: grid; gap: 9px; border-radius: 28px; padding: 31px; background: #fff; box-shadow: 0 23px 54px rgba(45, 77, 44, .12); }
.foundation-designated-contact aside > span { margin-bottom: 12px; color: var(--designated-red); font-size: 12px; font-weight: 900; letter-spacing: .13em; }
.foundation-designated-contact aside > a { font-size: 17px; font-weight: 800; text-decoration: none; overflow-wrap: anywhere; }
.foundation-designated-contact aside > p { margin: 8px 0 3px; color: var(--designated-muted); font-size: 13px; line-height: 1.7; }
.foundation-designated-contact .foundation-designated-contact-action { display: flex; min-height: 50px; align-items: center; justify-content: space-between; margin-top: 13px; border-radius: 999px; padding: 0 21px; color: #fff; background: var(--designated-red); font-size: 13px; }
.foundation-designated-footer { padding: 34px 0; color: #fff; background: #26211e; }
.foundation-designated-footer .foundation-designated-shell { display: flex; align-items: center; gap: 26px; }
.foundation-designated-footer img { width: 164px; height: auto; }
.foundation-designated-footer p { flex: 1; margin: 0; color: rgba(255, 255, 255, .67); font-size: 13px; }
.foundation-designated-footer a { border-bottom: 1px solid rgba(255, 255, 255, .42); padding-bottom: 3px; font-size: 13px; text-decoration: none; }
.foundation-designated-donations-page a:focus-visible { outline: 3px solid rgba(234, 16, 52, .28); outline-offset: 3px; }

@media (max-width: 900px) {
  .foundation-designated-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); gap: 35px; }
  .foundation-designated-hero-copy h1 { font-size: 66px; }
  .foundation-designated-ways header { grid-template-columns: 1fr 310px; }
  .foundation-designated-process li { padding-inline: 18px; }
}

@media (max-width: 720px) {
  .foundation-designated-shell { width: calc(100% - 30px); }
  .foundation-designated-breadcrumb { display: none; }
  .foundation-designated-hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 36px; padding: 52px 0 61px; }
  .foundation-designated-hero-copy h1 { font-size: 54px; }
  .foundation-designated-hero-copy h2 { font-size: 25px; }
  .foundation-designated-hero-copy > div { font-size: 15px; }
  .foundation-designated-hero-copy > nav { display: grid; grid-template-columns: 1fr; }
  .foundation-designated-hero-media { min-height: 0; padding: 15px 9px 27px; }
  .foundation-designated-hero-media img { height: 350px; border-width: 6px; border-radius: 100px 25px 25px 25px; }
  .foundation-designated-hero-media figcaption { right: -2px; bottom: 0; left: 37px; }
  .foundation-designated-ways { padding: 76px 0 82px; }
  .foundation-designated-ways header { display: grid; grid-template-columns: 1fr; gap: 20px; }
  .foundation-designated-ways header > p { grid-column: auto; }
  .foundation-designated-way-grid { grid-template-columns: 1fr; margin-top: 34px; }
  .foundation-designated-way-grid article { min-height: 285px; }
  .foundation-designated-way-grid h3 { margin-top: 58px; }
  .foundation-designated-process { padding: 76px 0 82px; }
  .foundation-designated-process header { display: grid; gap: 15px; }
  .foundation-designated-process ol { grid-template-columns: 1fr; margin-top: 35px; }
  .foundation-designated-process li { min-height: 0; border-top: 1px solid rgba(255, 255, 255, .17); border-left: 0; padding: 24px 4px; }
  .foundation-designated-process li:first-child { border-top: 0; }
  .foundation-designated-process li h3 { margin-top: 15px; }
  .foundation-designated-contact { padding: 76px 0; }
  .foundation-designated-contact > .foundation-designated-shell { grid-template-columns: 1fr; gap: 35px; }
  .foundation-designated-contact aside { padding: 25px 22px; }
  .foundation-designated-footer .foundation-designated-shell { align-items: flex-start; flex-direction: column; gap: 9px; }
  .foundation-designated-footer p { margin: 3px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-special-funds-page *,
  .foundation-special-funds-page *::before,
  .foundation-special-funds-page *::after,
  .foundation-designated-donations-page *,
  .foundation-designated-donations-page *::before,
  .foundation-designated-donations-page *::after,
  .foundation-party-building-page *,
  .foundation-party-building-page *::before,
  .foundation-party-building-page *::after,
  .foundation-news-center-page *,
  .foundation-news-center-page *::before,
  .foundation-news-center-page *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Foundation business hub */
.foundation-business-page {
  --business-red: #ea1034;
  --business-yellow: #ffce37;
  --business-green: #aaf7a9;
  --business-cream: #fff4d7;
  --business-ink: #29231f;
  --business-muted: #786d63;
  color: var(--business-ink);
  background: #fff;
}
.foundation-business-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.foundation-business-hero { position: relative; overflow: hidden; padding-top: 24px; background: linear-gradient(135deg, var(--business-cream) 0%, #fffaf0 52%, #fff 100%); }
.foundation-business-hero::before { position: absolute; top: -260px; right: -210px; width: 620px; height: 620px; border: 100px solid rgba(234,16,52,.055); border-radius: 50%; content: ""; }
.foundation-business-hero::after { position: absolute; bottom: 65px; left: -90px; width: 210px; height: 210px; border-radius: 50%; background: rgba(170,247,169,.43); content: ""; }
.foundation-business-breadcrumb { position: relative; z-index: 4; display: flex; min-height: 34px; align-items: center; gap: 10px; color: #8c7f72; font-size: 13px; }
.foundation-business-breadcrumb a { color: inherit; text-decoration: none; }
.foundation-business-breadcrumb strong { color: #423a34; }
.foundation-business-hero-grid { position: relative; z-index: 2; display: grid; min-height: 620px; grid-template-columns: minmax(0,1.08fr) minmax(430px,.92fr); align-items: center; gap: 62px; padding: 36px 0 78px; }
.foundation-business-hero-copy > p { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; color: var(--business-red); font-size: 11px; font-weight: 900; letter-spacing: .2em; }
.foundation-business-hero-copy .foundation-flower-mark { position: relative; right: auto; bottom: auto; z-index: auto; width: 29px; height: 29px; flex: 0 0 auto; opacity: 1; transform: rotate(8deg); }
.foundation-business-hero-copy h1 { margin: 0; font-size: clamp(52px,5.25vw,76px); line-height: 1.08; letter-spacing: -.065em; }
.foundation-business-hero-copy h1 em { color: var(--business-red); font-style: normal; }
.foundation-business-hero-copy > div { max-width: 650px; margin-top: 28px; color: #6e635a; font-size: 16px; line-height: 1.9; }
.foundation-business-hero-copy > nav { display: flex; align-items: center; gap: 25px; margin-top: 34px; }
.foundation-business-hero-copy > nav a:first-child { display: inline-flex; min-height: 51px; align-items: center; justify-content: center; border-radius: 999px; padding: 0 25px; color: #fff; background: var(--business-red); box-shadow: 0 15px 32px rgba(234,16,52,.18); font-size: 14px; font-weight: 850; text-decoration: none; }
.foundation-business-hero-copy > nav a:last-child { border-bottom: 1px solid #b9ab9e; padding-bottom: 4px; color: #443c35; font-size: 14px; font-weight: 800; text-decoration: none; }
.foundation-business-hero-visual { position: relative; min-height: 505px; }
.foundation-business-hero-card { position: absolute; display: block; width: 62%; overflow: hidden; border: 7px solid #fff; border-radius: 26px; aspect-ratio: 4/3; color: #fff; background: #d7cfc8; box-shadow: 0 28px 58px rgba(70,48,31,.18); text-decoration: none; }
.foundation-business-hero-card.card-01 { top: 2%; left: 0; z-index: 1; transform: rotate(-5deg); }
.foundation-business-hero-card.card-02 { top: 24%; right: 0; z-index: 2; transform: rotate(4deg); }
.foundation-business-hero-card.card-03 { bottom: 0; left: 7%; z-index: 3; transform: rotate(-1.5deg); }
.foundation-business-hero-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.foundation-business-hero-card::after { position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(30,24,20,.82)); content: ""; }
.foundation-business-hero-card > span { position: absolute; right: 17px; bottom: 15px; left: 17px; z-index: 2; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.foundation-business-hero-card small { color: var(--business-yellow); font-size: 11px; font-weight: 900; }
.foundation-business-hero-card strong { font-size: 18px; }
.foundation-business-bridge { position: absolute; top: 44%; left: 44%; z-index: 5; width: 88px; height: 72px; filter: drop-shadow(0 10px 16px rgba(95,35,46,.2)); transform: rotate(-7deg); }
.foundation-business-bridge::before { position: absolute; inset: 4px 2px 17px; border: 13px solid var(--business-red); border-bottom: 0; border-radius: 70px 70px 0 0; background: var(--business-yellow); content: ""; }
.foundation-business-bridge b { position: absolute; bottom: 0; width: 13px; height: 35px; border-radius: 8px 8px 2px 2px; background: var(--business-red); }
.foundation-business-bridge b:nth-child(1) { left: 3px; }.foundation-business-bridge b:nth-child(2) { left: 38px; }.foundation-business-bridge b:nth-child(3) { right: 3px; }
.foundation-business-facts { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; overflow: hidden; border: 1px solid #eee2cf; border-radius: 26px 26px 0 0; background: rgba(255,255,255,.95); box-shadow: 0 -8px 35px rgba(74,56,39,.07); }
.foundation-business-facts > div { min-height: 112px; border-right: 1px solid #eee7dc; padding: 25px 30px; box-sizing: border-box; }
.foundation-business-facts > div:last-child { border-right: 0; }
.foundation-business-facts dt { color: var(--business-red); font-size: 31px; font-weight: 900; letter-spacing: -.04em; }
.foundation-business-facts > div:last-child dt { font-size: 22px; }
.foundation-business-facts dd { margin: 8px 0 0; color: #8a7e73; font-size: 13px; }
.foundation-business-sections { padding: 110px 0 120px; }
.foundation-business-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(340px,.68fr); align-items: end; gap: 70px; margin-bottom: 52px; }
.foundation-business-section-head p,.foundation-business-principles header > p,.foundation-business-contact p { margin: 0 0 12px; color: var(--business-red); font-size: 11px; font-weight: 900; letter-spacing: .2em; }
.foundation-business-section-head h2,.foundation-business-principles h2,.foundation-business-contact h2 { margin: 0; font-size: clamp(40px,4.4vw,60px); line-height: 1.1; letter-spacing: -.055em; }
.foundation-business-section-head > span { color: var(--business-muted); font-size: 14px; line-height: 1.9; }
.foundation-business-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.foundation-business-card { overflow: hidden; border: 1px solid #ece6df; border-radius: 28px; background: #fff; box-shadow: 0 18px 45px rgba(55,39,26,.07); }
.foundation-business-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16/9; background: #e7dfd7; }
.foundation-business-card-media::after { position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(24,20,17,.45)); content: ""; }
.foundation-business-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.foundation-business-card-media > span { position: absolute; right: 20px; bottom: 16px; z-index: 2; display: grid; width: 46px; height: 46px; place-items: center; border-radius: 15px; color: #fff; background: var(--business-red); font-size: 11px; font-weight: 900; }
.foundation-business-card.yellow .foundation-business-card-media > span { color: #3b2f12; background: var(--business-yellow); }
.foundation-business-card.green .foundation-business-card-media > span { color: #264329; background: var(--business-green); }
.foundation-business-card.cream .foundation-business-card-media > span { color: var(--business-red); background: var(--business-cream); }
.foundation-business-card-copy { padding: 29px 30px 27px; }
.foundation-business-card-copy > p { margin: 0; color: var(--business-red); font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.foundation-business-card-copy h3 { margin: 11px 0 0; font-size: 31px; letter-spacing: -.035em; }
.foundation-business-card-copy h3 a,.foundation-business-card-copy footer a { color: inherit; text-decoration: none; }
.foundation-business-card-copy > div { min-height: 52px; margin-top: 15px; color: var(--business-muted); font-size: 14px; line-height: 1.85; }
.foundation-business-card-copy aside { display: grid; gap: 7px; margin-top: 23px; border-top: 1px solid #eee8e1; padding-top: 18px; }
.foundation-business-card-copy aside span { color: #9a8e84; font-size: 11px; }
.foundation-business-card-copy aside a { overflow: hidden; color: #4b423b; font-size: 13px; font-weight: 750; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.foundation-business-card-copy footer { display: flex; justify-content: flex-end; margin-top: 22px; }
.foundation-business-card-copy footer a { display: inline-flex; align-items: center; gap: 18px; border-bottom: 1px solid #bcaea2; padding-bottom: 4px; font-size: 13px; font-weight: 850; }
.foundation-business-principles { padding: 102px 0 110px; color: #fff; background: var(--business-ink); }
.foundation-business-principles > .foundation-business-shell { display: grid; grid-template-columns: minmax(340px,.8fr) minmax(0,1.2fr); gap: 85px; }
.foundation-business-principles header > p { color: var(--business-yellow); }
.foundation-business-principles h2 { color: #fff; }
.foundation-business-principles ol { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.16); list-style: none; }
.foundation-business-principles li { display: grid; grid-template-columns: 55px 1fr; gap: 17px; border-bottom: 1px solid rgba(255,255,255,.16); padding: 26px 0; }
.foundation-business-principles li > span { color: var(--business-red); font-size: 12px; font-weight: 900; }
.foundation-business-principles h3 { margin: 0; font-size: 21px; }
.foundation-business-principles li p { margin: 9px 0 0; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.75; }
.foundation-business-updates { padding: 108px 0 116px; background: #fffaf1; }
.foundation-business-update-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.foundation-business-update { overflow: hidden; border: 1px solid #eadfd2; border-radius: 23px; background: #fff; }
.foundation-business-update-media { display: block; overflow: hidden; aspect-ratio: 4/3; background: #ddd3ca; }
.foundation-business-update-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.foundation-business-update > div { padding: 21px 20px 23px; }
.foundation-business-update > div > p { display: flex; justify-content: space-between; gap: 10px; margin: 0; color: #968a80; font-size: 10px; }
.foundation-business-update > div > p span { color: var(--business-red); font-weight: 850; }
.foundation-business-update h3 { min-height: 56px; margin: 13px 0 0; font-size: 18px; line-height: 1.55; }
.foundation-business-update h3 a { color: inherit; text-decoration: none; }
.foundation-business-update > div > div { display: -webkit-box; min-height: 63px; overflow: hidden; margin-top: 11px; color: var(--business-muted); font-size: 12px; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.foundation-business-update > div > a { display: inline-flex; gap: 14px; margin-top: 20px; color: #51473f; border-bottom: 1px solid #c8bcb2; padding-bottom: 3px; font-size: 12px; font-weight: 800; text-decoration: none; }
.foundation-business-contact { padding: 76px 0; background: var(--business-green); }
.foundation-business-contact > .foundation-business-shell { display: flex; align-items: end; justify-content: space-between; gap: 55px; }
.foundation-business-contact h2 { max-width: 760px; font-size: clamp(38px,4vw,55px); }
.foundation-business-contact nav { display: flex; flex: 0 0 auto; align-items: center; gap: 17px; }
.foundation-business-contact nav a { display: inline-flex; min-height: 49px; align-items: center; border-radius: 999px; padding: 0 21px; color: var(--business-ink); background: #fff; font-size: 13px; font-weight: 850; text-decoration: none; }
.foundation-business-contact nav a:last-child { color: #fff; background: var(--business-red); }
.foundation-business-footer { padding: 33px 0; color: #fff; background: #211c18; }
.foundation-business-footer > div { display: flex; align-items: center; gap: 24px; }
.foundation-business-footer img { width: 166px; height: auto; }
.foundation-business-footer p { flex: 1; margin: 0; color: rgba(255,255,255,.64); font-size: 13px; }
.foundation-business-footer a { border-bottom: 1px solid rgba(255,255,255,.4); padding-bottom: 3px; color: #fff; font-size: 13px; text-decoration: none; }
.foundation-business-page a { transition: color .18s ease, background-color .18s ease, transform .18s ease; }
.foundation-business-page a:focus-visible { outline: 3px solid rgba(234,16,52,.28); outline-offset: 3px; }
.foundation-business-card:hover .foundation-business-card-media img,.foundation-business-update:hover .foundation-business-update-media img { transform: scale(1.035); }
.foundation-business-hero-card:hover { z-index: 7; transform: rotate(0) translateY(-4px); }
.foundation-business-empty { grid-column: 1 / -1; display: grid; min-height: 180px; place-content: center; gap: 8px; border: 1px dashed #d8cbbb; border-radius: 24px; color: #8b7e72; text-align: center; }

@media (max-width: 980px) {
  .foundation-business-hero-grid { grid-template-columns: minmax(0,1fr) 390px; gap: 34px; }
  .foundation-business-update-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .foundation-business-contact > .foundation-business-shell { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 720px) {
  .foundation-business-shell { width: calc(100% - 30px); }
  .foundation-business-breadcrumb { display: none; }
  .foundation-business-hero-grid { display: block; min-height: 0; padding: 52px 0 38px; }
  .foundation-business-hero-copy h1 { font-size: 48px; }
  .foundation-business-hero-copy > div { font-size: 15px; }
  .foundation-business-hero-copy > nav { align-items: flex-start; flex-direction: column; gap: 18px; }
  .foundation-business-hero-visual { min-height: 405px; margin-top: 40px; }
  .foundation-business-hero-card { width: 64%; border-width: 5px; border-radius: 20px; }
  .foundation-business-hero-card strong { font-size: 15px; }
  .foundation-business-bridge { width: 70px; height: 59px; }
  .foundation-business-facts { grid-template-columns: repeat(2,minmax(0,1fr)); border-radius: 21px 21px 0 0; }
  .foundation-business-facts > div { min-height: 91px; border-bottom: 1px solid #eee7dc; padding: 18px; }
  .foundation-business-facts > div:nth-child(2) { border-right: 0; }
  .foundation-business-facts > div:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .foundation-business-facts dt { font-size: 27px; }
  .foundation-business-facts > div:last-child dt { font-size: 20px; }
  .foundation-business-sections,.foundation-business-updates { padding: 74px 0 80px; }
  .foundation-business-section-head { display: block; margin-bottom: 33px; }
  .foundation-business-section-head h2,.foundation-business-principles h2 { font-size: 38px; }
  .foundation-business-section-head > span { display: block; margin-top: 17px; }
  .foundation-business-grid,.foundation-business-update-grid { grid-template-columns: 1fr; gap: 18px; }
  .foundation-business-card { border-radius: 22px; }
  .foundation-business-card-copy { padding: 23px 21px; }
  .foundation-business-card-copy h3 { font-size: 27px; }
  .foundation-business-principles { padding: 73px 0 78px; }
  .foundation-business-principles > .foundation-business-shell { display: block; }
  .foundation-business-principles ol { margin-top: 38px; }
  .foundation-business-update h3,.foundation-business-update > div > div { min-height: 0; }
  .foundation-business-contact { padding: 65px 0; }
  .foundation-business-contact nav { width: 100%; align-items: stretch; flex-direction: column; }
  .foundation-business-contact nav a { justify-content: center; }
  .foundation-business-footer > div { align-items: flex-start; flex-direction: column; gap: 8px; }
  .foundation-business-footer p { margin: 4px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-business-page *,
  .foundation-business-page *::before,
  .foundation-business-page *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Keep volunteer news cards concise even when an imported article carries a full-length summary. */
.foundation-volunteer-news article p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* Volunteer acknowledgments are a real honor roll; news remains a separate section. */
.foundation-volunteer-roster { padding: 88px 0 94px; background: #fff; }
.foundation-volunteer-roster-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.foundation-volunteer-roster-head p { margin: 0; color: #ea1034; font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.foundation-volunteer-roster-head h2 { margin: 8px 0 0; color: #171d2a; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; letter-spacing: -.045em; }
.foundation-volunteer-roster-head > strong { display: flex; align-items: baseline; color: #6d665d; font-size: 14px; gap: 8px; white-space: nowrap; }
.foundation-volunteer-roster-head > strong b { color: #ea1034; font-size: 34px; line-height: 1; }
.foundation-volunteer-roster-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: 70px; margin: 34px 0 30px; padding: 28px; border: 1px solid #e7e1d7; border-radius: 24px; background: #fffaf0; }
.foundation-volunteer-roster-intro > p { margin: 0; color: #625b52; line-height: 1.85; }
.foundation-volunteer-roster-intro form label { display: block; margin-bottom: 8px; color: #36332e; font-size: 13px; font-weight: 800; }
.foundation-volunteer-roster-intro form > div { display: flex; min-width: 0; gap: 8px; }
.foundation-volunteer-roster-intro input { min-width: 0; flex: 1; padding: 12px 14px; border: 1px solid #d9d0c4; border-radius: 12px; background: #fff; color: #171d2a; font: inherit; }
.foundation-volunteer-roster-intro button,.foundation-volunteer-roster-intro form a { display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border: 0; border-radius: 12px; background: #ea1034; color: #fff; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.foundation-volunteer-roster-intro form a { background: #171d2a; }
.foundation-volunteer-roster-result { margin: 0 0 16px; color: #8a8177; font-size: 13px; }
.foundation-volunteer-roster-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.foundation-volunteer-roster-grid li { display: flex; min-width: 0; min-height: 76px; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid #ece6dc; border-radius: 17px; background: #fff; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.foundation-volunteer-roster-grid li:hover { border-color: #ffce37; box-shadow: 0 10px 28px rgba(45,35,23,.07); transform: translateY(-2px); }
.foundation-volunteer-roster-grid li > span { display: grid; width: 42px; height: 42px; border-radius: 14px 14px 14px 5px; background: #aaf7a9; color: #171d2a; font-size: 17px; font-weight: 900; flex: 0 0 auto; place-items: center; }
.foundation-volunteer-roster-grid li:nth-child(3n+2) > span { background: #ffce37; }
.foundation-volunteer-roster-grid li:nth-child(3n) > span { background: #fff4d7; color: #ea1034; }
.foundation-volunteer-roster-grid li > div { min-width: 0; }
.foundation-volunteer-roster-grid strong { display: block; overflow: hidden; color: #171d2a; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.foundation-volunteer-roster-grid small { display: block; margin-top: 5px; overflow: hidden; color: #8a8177; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.foundation-volunteer-pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-top: 28px; gap: 16px; }
.foundation-volunteer-pagination a { width: fit-content; padding: 10px 17px; border-radius: 999px; background: #171d2a; color: #fff; font-size: 13px; font-weight: 800; text-decoration: none; }
.foundation-volunteer-pagination a:last-child { justify-self: end; }
.foundation-volunteer-pagination strong { color: #756d64; font-size: 13px; }
.foundation-volunteer-empty { padding: 48px 24px; border-radius: 22px; background: #ededed; text-align: center; }
.foundation-volunteer-empty strong { color: #171d2a; font-size: 20px; }
.foundation-volunteer-empty p { color: #726b62; }
.foundation-volunteer-empty a { color: #ea1034; font-weight: 800; }

@media (max-width: 900px) {
  .foundation-volunteer-roster-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .foundation-volunteer-roster-intro { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 620px) {
  .foundation-volunteer-roster { padding: 56px 0 60px; }
  .foundation-volunteer-roster-head { align-items: flex-start; flex-direction: column; gap: 16px; }
  .foundation-volunteer-roster-head > strong b { font-size: 30px; }
  .foundation-volunteer-roster-intro { min-width: 0; margin-top: 25px; padding: 20px; border-radius: 19px; }
  .foundation-volunteer-roster-intro form > div { flex-wrap: wrap; }
  .foundation-volunteer-roster-intro input { flex-basis: 100%; }
  .foundation-volunteer-roster-intro button,.foundation-volunteer-roster-intro form a { min-height: 42px; flex: 1; }
  .foundation-volunteer-roster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .foundation-volunteer-roster-grid li { min-height: 68px; padding: 10px; gap: 9px; }
  .foundation-volunteer-roster-grid li > span { width: 36px; height: 36px; border-radius: 12px 12px 12px 4px; font-size: 15px; }
  .foundation-volunteer-roster-grid strong { font-size: 14px; }
  .foundation-volunteer-roster-grid small { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-volunteer-roster-grid li { transition: none; }
}

/* Volunteer page v4: historical recognition, teams and source archives. */
.foundation-volunteer-hero-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 24px; }
.foundation-volunteer-hero-stats span { padding: 13px 12px; border: 1px solid rgba(23,29,42,.13); border-radius: 15px; background: rgba(255,255,255,.42); color: #4f564f; font-size: 11px; line-height: 1.4; }
.foundation-volunteer-hero-stats b { display: block; margin-bottom: 2px; color: #171d2a; font-size: 22px; line-height: 1; }
.foundation-volunteer-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.68fr); align-items: end; gap: 50px; margin-bottom: 34px; }
.foundation-volunteer-section-head > div > p { margin: 0; color: #ea1034; font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.foundation-volunteer-section-head h2 { margin: 8px 0 0; color: #171d2a; font-size: clamp(34px,4vw,54px); line-height: 1.08; letter-spacing: -.045em; }
.foundation-volunteer-section-head > p { margin: 0; color: #69635b; line-height: 1.8; }
.foundation-volunteer-honors { padding: 92px 0; background: #fff4d7; }
.foundation-volunteer-honor-year,.foundation-volunteer-ambassadors,.foundation-volunteer-service-group { margin-top: 20px; padding: 28px; border: 1px solid rgba(23,29,42,.1); border-radius: 26px; background: rgba(255,255,255,.72); }
.foundation-volunteer-honor-year > header,.foundation-volunteer-ambassadors > header,.foundation-volunteer-service-group > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.foundation-volunteer-honor-year header span,.foundation-volunteer-ambassadors header span,.foundation-volunteer-service-group header span { color: #ea1034; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.foundation-volunteer-honor-year h3,.foundation-volunteer-ambassadors h3,.foundation-volunteer-service-group h3 { margin: 5px 0 0; color: #171d2a; font-size: 27px; }
.foundation-volunteer-honor-year > header > strong,.foundation-volunteer-ambassadors > header > strong,.foundation-volunteer-service-group > header > strong { color: #81786c; font-size: 13px; white-space: nowrap; }
.foundation-volunteer-honor-year ul { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.foundation-volunteer-honor-year li { display: flex; min-width: 0; align-items: center; gap: 9px; padding: 9px; border-radius: 13px; background: #fff; }
.foundation-volunteer-honor-year li i { display: grid; width: 30px; height: 30px; border-radius: 10px 10px 10px 3px; background: #ffce37; color: #171d2a; font-size: 12px; font-style: normal; font-weight: 900; flex: 0 0 auto; place-items: center; }
.foundation-volunteer-honor-year li strong { min-width: 0; overflow: hidden; color: #292d37; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.foundation-volunteer-ambassadors { background: #ea1034; }
.foundation-volunteer-ambassadors header span,.foundation-volunteer-ambassadors h3,.foundation-volunteer-ambassadors > header > strong { color: #fff; }
.foundation-volunteer-ambassadors > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.foundation-volunteer-ambassadors article { display: flex; align-items: center; gap: 14px; padding: 17px; border-radius: 17px; background: #fff; }
.foundation-volunteer-ambassadors article i { display: grid; width: 46px; height: 46px; border-radius: 16px 16px 16px 5px; background: #ffce37; color: #171d2a; font-style: normal; font-weight: 900; flex: 0 0 auto; place-items: center; }
.foundation-volunteer-ambassadors h4 { margin: 0; color: #171d2a; font-size: 18px; }
.foundation-volunteer-ambassadors article p { margin: 5px 0 0; color: #776f65; font-size: 11px; }
.foundation-volunteer-service-group ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.foundation-volunteer-service-group li { padding: 16px; border-left: 4px solid #aaf7a9; border-radius: 12px; background: #fff; }
.foundation-volunteer-service-group li strong,.foundation-volunteer-service-group li span { display: block; }
.foundation-volunteer-service-group li strong { color: #171d2a; }
.foundation-volunteer-service-group li span { margin-top: 5px; color: #81786e; font-size: 11px; line-height: 1.55; }
.foundation-volunteer-teams { padding: 90px 0; background: #aaf7a9; }
.foundation-volunteer-team-groups { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.foundation-volunteer-team-groups > article { min-width: 0; padding: 22px; border-radius: 22px; background: #fff; }
.foundation-volunteer-team-groups > article:last-child { grid-column: 1 / -1; }
.foundation-volunteer-team-groups > article:last-child ul { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: 22px; }
.foundation-volunteer-team-groups header span { color: #ea1034; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.foundation-volunteer-team-groups h3 { margin: 6px 0 18px; color: #171d2a; font-size: 19px; line-height: 1.35; }
.foundation-volunteer-team-groups ul { margin: 0; padding: 0; list-style: none; }
.foundation-volunteer-team-groups li { padding: 9px 0; border-top: 1px solid #ece8df; color: #4f514f; font-size: 13px; line-height: 1.55; }
.foundation-volunteer-community-link { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; margin-top: 18px; padding: 24px 26px; border-radius: 22px; background: #171d2a; color: #fff; text-decoration: none; }
.foundation-volunteer-community-link span { display: flex; align-items: baseline; gap: 8px; color: #ffce37; font-size: 12px; }
.foundation-volunteer-community-link span b { font-size: 34px; line-height: 1; }
.foundation-volunteer-community-link strong { font-size: 18px; }
.foundation-volunteer-community-link i { color: #aaf7a9; font-size: 13px; font-style: normal; font-weight: 800; }
.foundation-volunteer-archives { padding: 86px 0; background: #ededed; }
.foundation-volunteer-archives .foundation-thanks-shell > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.foundation-volunteer-archives article { display: flex; min-height: 260px; padding: 24px; border-radius: 22px; background: #fff; flex-direction: column; }
.foundation-volunteer-archives time { color: #ea1034; font-size: 12px; font-weight: 800; }
.foundation-volunteer-archives h3 { margin: 16px 0 10px; color: #171d2a; font-size: 21px; line-height: 1.45; }
.foundation-volunteer-archives article p { display: -webkit-box; overflow: hidden; margin: 0; color: #736c63; font-size: 13px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.foundation-volunteer-archives article a { margin-top: auto; padding-top: 20px; color: #ea1034; font-weight: 800; text-decoration: none; }

@media (max-width: 980px) {
  .foundation-volunteer-honor-year ul { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .foundation-volunteer-ambassadors > div,.foundation-volunteer-team-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .foundation-volunteer-service-group ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .foundation-volunteer-team-groups > article:last-child ul { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .foundation-volunteer-hero-stats { grid-template-columns: 1fr; }
  .foundation-volunteer-section-head { grid-template-columns: 1fr; gap: 14px; }
  .foundation-volunteer-honors,.foundation-volunteer-teams,.foundation-volunteer-archives { padding: 58px 0; }
  .foundation-volunteer-honor-year,.foundation-volunteer-ambassadors,.foundation-volunteer-service-group { padding: 20px; border-radius: 20px; }
  .foundation-volunteer-honor-year h3,.foundation-volunteer-ambassadors h3,.foundation-volunteer-service-group h3 { font-size: 22px; }
  .foundation-volunteer-honor-year ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .foundation-volunteer-ambassadors > div,.foundation-volunteer-service-group ul,.foundation-volunteer-team-groups,.foundation-volunteer-archives .foundation-thanks-shell > div { grid-template-columns: 1fr; }
  .foundation-volunteer-team-groups > article:last-child { grid-column: auto; }
  .foundation-volunteer-team-groups > article:last-child ul { grid-template-columns: 1fr; }
  .foundation-volunteer-community-link { grid-template-columns: 1fr; gap: 8px; }
  .foundation-volunteer-community-link i { margin-top: 4px; }
}

/* Admin dashboard: compact workbench with two rows of shortcuts. */
body.admin-body.admin-dashboard-body .admin-main {
  padding-bottom: 56px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-head {
  align-items: center;
  margin-bottom: 16px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-head h1 {
  font-size: 32px;
  letter-spacing: -.025em;
}

body.admin-body.admin-dashboard-body .admin-dashboard-head p:last-child {
  max-width: 620px;
  margin: 0;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick {
  margin-top: 0;
  padding: 16px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick > .admin-panel-head {
  align-items: center;
  margin-bottom: 12px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick > .admin-panel-head > small,
body.admin-body.admin-dashboard-body .admin-dashboard-section-head > span {
  color: var(--admin-muted);
  font-size: 12px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick-link {
  display: flex;
  min-width: 0;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  padding: 12px 14px;
  background: var(--admin-panel-2);
  color: var(--admin-text);
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick-link:hover,
body.admin-body.admin-dashboard-body .admin-dashboard-quick-link:focus-visible {
  border-color: rgba(255, 206, 55, .62);
  background: rgba(255, 206, 55, .08);
  color: #fff;
  transform: translateY(-1px);
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick-link span,
body.admin-body.admin-dashboard-body .admin-dashboard-quick-link b,
body.admin-body.admin-dashboard-body .admin-dashboard-quick-link small {
  display: block;
  min-width: 0;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick-link b {
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick-link small {
  margin-top: 4px;
  overflow: hidden;
  color: var(--admin-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-dashboard-body .admin-dashboard-quick-link i {
  color: #ffce37;
  font-size: 17px;
  font-style: normal;
  flex: 0 0 auto;
}

body.admin-body.admin-dashboard-body .admin-dashboard-section {
  margin-top: 24px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-section-head h2 {
  margin: 0;
  font-size: 20px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-stat-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--admin-line);
  border-radius: 8px;
  padding: 17px 18px 15px;
  background: var(--admin-panel);
}

body.admin-body.admin-dashboard-body .admin-dashboard-stat-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: #4f9cf9;
  content: "";
  opacity: .45;
}

body.admin-body.admin-dashboard-body .admin-dashboard-stat-card.accent-red::before { background: #ea1034; opacity: 1; }
body.admin-body.admin-dashboard-body .admin-dashboard-stat-card.accent-yellow::before { background: #ffce37; opacity: 1; }
body.admin-body.admin-dashboard-body .admin-dashboard-stat-card.accent-green::before { background: #aaf7a9; opacity: 1; }

body.admin-body.admin-dashboard-body .admin-dashboard-stat-card > span,
body.admin-body.admin-dashboard-body .admin-dashboard-stat-card > small {
  display: block;
  overflow: hidden;
  color: var(--admin-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-dashboard-body .admin-dashboard-stat-card > span { font-size: 12px; }
body.admin-body.admin-dashboard-body .admin-dashboard-stat-card > small { font-size: 11px; }

body.admin-body.admin-dashboard-body .admin-dashboard-stat-card > strong {
  display: block;
  overflow: hidden;
  margin: 9px 0 5px;
  color: var(--admin-text);
  font-size: 28px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-dashboard-body .admin-dashboard-stat-card > strong.admin-dashboard-money {
  font-size: clamp(19px, 1.8vw, 28px);
}

body.admin-body.admin-dashboard-body .admin-dashboard-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-two-column .admin-panel {
  margin-top: 0;
}

body.admin-body.admin-dashboard-body .admin-dashboard-compact-panel,
body.admin-body.admin-dashboard-body .admin-dashboard-table-panel {
  padding: 18px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-attention-list {
  display: grid;
}

body.admin-body.admin-dashboard-body .admin-dashboard-attention-list a {
  display: flex;
  min-height: 60px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--admin-line);
  color: var(--admin-text);
  text-decoration: none;
}

body.admin-body.admin-dashboard-body .admin-dashboard-attention-list a:first-child { border-top: 0; }
body.admin-body.admin-dashboard-body .admin-dashboard-attention-list span,
body.admin-body.admin-dashboard-body .admin-dashboard-attention-list small { display: block; }
body.admin-body.admin-dashboard-body .admin-dashboard-attention-list span { font-size: 13px; font-weight: 800; }
body.admin-body.admin-dashboard-body .admin-dashboard-attention-list small { margin-top: 3px; color: var(--admin-muted); font-size: 11px; font-weight: 400; }
body.admin-body.admin-dashboard-body .admin-dashboard-attention-list strong { min-width: 34px; color: #ffce37; font-size: 21px; text-align: right; }
body.admin-body.admin-dashboard-body strong.danger { color: var(--admin-danger); }

body.admin-body.admin-pending-body .admin-main {
  display: grid;
  align-content: start;
  gap: 18px;
}

body.admin-body.admin-pending-body .admin-pending-head {
  margin-bottom: 0;
}

body.admin-body.admin-pending-body .admin-pending-summary {
  display: grid;
  grid-template-columns: 1.25fr repeat(5, minmax(0, 1fr));
  gap: 10px;
}

body.admin-body.admin-pending-body .admin-pending-summary article {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--admin-line);
  border-radius: 12px;
  padding: 18px;
  background: #fff;
}

body.admin-body.admin-pending-body .admin-pending-summary article::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: #ffce37;
  content: "";
}

body.admin-body.admin-pending-body .admin-pending-summary article.admin-pending-total {
  background: #171717;
  color: #fff;
}

body.admin-body.admin-pending-body .admin-pending-summary article.admin-pending-total::before {
  background: #ea1034;
}

body.admin-body.admin-pending-body .admin-pending-summary article.danger::before {
  background: var(--admin-danger);
}

body.admin-body.admin-pending-body .admin-pending-summary span,
body.admin-body.admin-pending-body .admin-pending-summary small {
  display: block;
  overflow: hidden;
  color: var(--admin-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.admin-body.admin-pending-body .admin-pending-summary .admin-pending-total span,
body.admin-body.admin-pending-body .admin-pending-summary .admin-pending-total small {
  color: rgba(255, 255, 255, .65);
}

body.admin-body.admin-pending-body .admin-pending-summary strong {
  display: block;
  margin: 9px 0 6px;
  color: #171717;
  font-size: 30px;
  line-height: 1;
}

body.admin-body.admin-pending-body .admin-pending-summary .admin-pending-total strong { color: #fff; }
body.admin-body.admin-pending-body .admin-pending-summary article.danger strong { color: var(--admin-danger); }

body.admin-body.admin-pending-body .admin-pending-queue {
  margin: 0;
  padding: 20px;
}

body.admin-body.admin-pending-body .admin-pending-list {
  display: grid;
  border-top: 1px solid var(--admin-line);
}

body.admin-body.admin-pending-body .admin-pending-list > a {
  display: grid;
  min-height: 86px;
  grid-template-columns: 42px minmax(0, 1fr) 52px 140px;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--admin-line);
  color: var(--admin-text);
  text-decoration: none;
}

body.admin-body.admin-pending-body .admin-pending-list > a:hover {
  background: #fffaf0;
}

body.admin-body.admin-pending-body .admin-pending-index {
  color: #a1a1aa;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
}

body.admin-body.admin-pending-body .admin-pending-copy strong,
body.admin-body.admin-pending-body .admin-pending-copy small {
  display: block;
}

body.admin-body.admin-pending-body .admin-pending-copy strong {
  color: #18181b;
  font-size: 14px;
}

body.admin-body.admin-pending-body .admin-pending-copy small {
  margin-top: 5px;
  color: var(--admin-muted);
  font-size: 12px;
}

body.admin-body.admin-pending-body .admin-pending-count {
  color: #171717;
  font-size: 24px;
  font-weight: 900;
  text-align: center;
}

body.admin-body.admin-pending-body .admin-pending-list > a.danger .admin-pending-count {
  color: var(--admin-danger);
}

body.admin-body.admin-pending-body .admin-pending-action {
  color: #8a6a00;
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}

body.admin-body.admin-pending-body .admin-pending-system-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body.admin-body.admin-pending-body .admin-pending-system-grid .admin-panel {
  margin: 0;
  padding: 20px;
}

body.admin-body.admin-pending-body .admin-pending-health {
  margin: 0;
}

body.admin-body.admin-pending-body .admin-pending-health > div {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--admin-line);
}

body.admin-body.admin-pending-body .admin-pending-health dt { color: var(--admin-muted); font-size: 13px; }
body.admin-body.admin-pending-body .admin-pending-health dd { margin: 0; }
body.admin-body.admin-pending-body .admin-pending-health strong.danger { color: var(--admin-danger); }

body.admin-body.admin-pending-body .admin-pending-guide ol {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding-left: 20px;
  color: #52525b;
  font-size: 13px;
  line-height: 1.65;
}

@media (max-width: 1180px) {
  body.admin-body.admin-pending-body .admin-pending-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.admin-body.admin-pending-body .admin-pending-summary .admin-pending-total {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  body.admin-body.admin-pending-body .admin-pending-summary,
  body.admin-body.admin-pending-body .admin-pending-system-grid {
    grid-template-columns: 1fr;
  }

  body.admin-body.admin-pending-body .admin-pending-list > a {
    grid-template-columns: 32px minmax(0, 1fr) 40px;
    gap: 10px;
    padding: 12px 0;
  }

  body.admin-body.admin-pending-body .admin-pending-action {
    display: none;
  }
}

body.admin-body.admin-dashboard-body .admin-dashboard-health-list {
  margin: 0;
}

body.admin-body.admin-dashboard-body .admin-dashboard-health-list > div {
  display: grid;
  min-height: 60px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border-top: 1px solid var(--admin-line);
}

body.admin-body.admin-dashboard-body .admin-dashboard-health-list > div:first-child { border-top: 0; }
body.admin-body.admin-dashboard-body .admin-dashboard-health-list dt { color: var(--admin-muted); font-size: 13px; }
body.admin-body.admin-dashboard-body .admin-dashboard-health-list dd { margin: 0; color: var(--admin-text); font-size: 13px; }
body.admin-body.admin-dashboard-body .admin-dashboard-health-list dd strong { font-size: 17px; }

body.admin-body.admin-dashboard-body .admin-dashboard-table-panel {
  margin-top: 16px;
}

body.admin-body.admin-dashboard-body .admin-dashboard-table-panel .admin-table {
  min-width: 680px;
}

@media (max-width: 1120px) {
  body.admin-body.admin-dashboard-body .admin-dashboard-quick-grid,
  body.admin-body.admin-dashboard-body .admin-dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  body.admin-body.admin-dashboard-body .admin-dashboard-two-column { grid-template-columns: 1fr; }
  body.admin-body.admin-dashboard-body .admin-dashboard-head { align-items: flex-start; }
}

@media (max-width: 560px) {
  body.admin-body.admin-dashboard-body .admin-dashboard-quick-grid,
  body.admin-body.admin-dashboard-body .admin-dashboard-stat-grid { grid-template-columns: 1fr; }
  body.admin-body.admin-dashboard-body .admin-dashboard-section-head { align-items: flex-start; flex-direction: column; }
  body.admin-body.admin-dashboard-body .admin-dashboard-head .admin-head-actions,
  body.admin-body.admin-dashboard-body .admin-dashboard-head .admin-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body.admin-body.admin-dashboard-body .admin-dashboard-quick-link { transition: none; }
}

/* Account login uses the same visual shell as QR login. */
.account-login-unified-body .account-login-v2-card {
  min-height: 0;
  padding-bottom: 26px;
}

.account-login-v2-card .account-login-tabs {
  min-height: 42px;
  margin-top: 23px;
}

.account-login-v2-card .account-login-tabs a.active {
  background: #fff;
  color: #ff3038;
}

.account-login-v2-card .account-login-tabs a.active::after {
  height: 2px;
  background: #ff3038;
}

.account-login-v2-security {
  width: 100%;
  margin-top: 17px;
  border-top: 1px solid #e6e9ef;
  padding-top: 13px;
}

.account-login-v2-security h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: #121827;
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
}

.account-login-v2-security h2 i {
  width: 3px;
  height: 17px;
  border-radius: 2px;
  background: #ff343b;
}

.account-login-v2-security ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-login-v2-security li {
  display: grid;
  min-height: 42px;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border: 1px solid #e8eaf0;
  border-radius: 6px;
  padding: 5px 10px;
  background: #fff;
  color: #3c4453;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 650;
}

.account-login-v2-security li span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #fff0f1;
  color: #ff3740;
  font-size: 10px;
  font-weight: 850;
}

.account-login-v2-form-panel {
  display: grid;
  width: 100%;
  gap: 18px;
  margin-top: 22px;
}

.account-login-v2-form-panel .auth-login-form {
  gap: 18px;
}

.account-login-v2-form-panel .account-login-field {
  gap: 8px;
  color: #121827;
  font-size: 14px;
}

.account-login-v2-form-panel .auth-login-form .account-login-field input {
  min-height: 52px;
  border-color: #d8dce5;
  padding-left: 48px;
  padding-right: 48px;
  font-size: 15px;
}

.account-login-v2-form-panel .auth-login-form .account-login-field:first-of-type input {
  padding-right: 16px;
}

.account-login-v2-form-panel .auth-login-form .account-login-field input:focus {
  border-color: #ff4a51;
  box-shadow: 0 0 0 4px rgba(234, 16, 52, .1);
}

.account-login-v2-form-panel .account-login-field i,
.account-login-v2-form-panel .account-login-password-toggle {
  bottom: 14px;
  width: 24px;
  height: 24px;
}

.account-login-v2-form-panel .account-login-field i { left: 15px; }
.account-login-v2-form-panel .account-login-password-toggle { right: 15px; }
.account-login-v2-form-panel .account-login-field svg { width: 21px; height: 21px; }

.account-login-v2-form-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: -2px;
}

.account-login-v2-form-meta .account-login-remember {
  gap: 8px !important;
  margin: 0;
  color: #4d5666;
  font-size: 13px;
  font-weight: 700;
}

.account-login-v2-form-meta .account-login-remember input {
  width: 18px;
  height: 18px;
  accent-color: #ea1034;
}

.account-login-v2-form-meta > a {
  color: #ea1034;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

.account-login-v2-form-panel .auth-primary-action {
  min-height: 50px;
  border: 0;
  border-radius: 7px;
  background: #ea1034;
  color: #fff;
  font-size: 16px;
  font-weight: 850;
  box-shadow: 0 12px 24px rgba(234, 16, 52, .18);
}

.account-login-v2-links {
  display: flex;
  justify-content: center;
  gap: 7px;
  border-top: 1px dashed #dfe3ea;
  padding-top: 16px;
  color: #7a8496;
  font-size: 12px;
}

.account-login-v2-links a {
  color: #ea1034;
  font-weight: 800;
}

.account-login-v2-alert {
  margin: 0;
  border: 1px solid rgba(234, 16, 52, .22);
  border-radius: 7px;
  padding: 11px 12px;
  background: rgba(234, 16, 52, .07);
  color: #c4102f;
  font-size: 13px;
  line-height: 1.5;
}

@media (min-width: 821px) {
  .account-login-unified-body .account-login-v2-card {
    grid-template-columns: minmax(330px, 1fr) 360px;
    grid-template-rows: auto auto auto auto 1fr;
    min-height: 590px;
  }

  .account-login-v2-card .account-login-v2-security {
    grid-column: 1;
    grid-row: 5;
    align-self: start;
    margin-top: 26px;
  }

  .account-login-v2-card .account-login-v2-form-panel {
    grid-column: 2;
    grid-row: 1 / 6;
    align-self: center;
    justify-self: stretch;
    margin-top: 0;
  }
}

@media (max-width: 820px) {
  .account-login-unified-body .account-login-v2 {
    padding-bottom: max(28px, env(safe-area-inset-bottom));
  }

  .account-login-unified-body .account-login-v2-card {
    width: min(calc(100% - 32px), 430px);
    margin-top: max(24px, env(safe-area-inset-top));
    padding: 28px 18px 22px;
  }

  .account-login-v2-form-panel { margin-top: 20px; }
  .account-login-v2-security { order: 2; }
  .account-login-v2-form-panel { order: 1; }
  .account-login-v2-links { flex-wrap: wrap; }
}

@media (max-width: 380px) {
  .account-login-v2-form-meta { align-items: flex-start; flex-direction: column; gap: 10px; }
}

/* Public service application workflow */
body.admin-body.admin-public-services-body .admin-main { max-width: 1540px; }

.public-service-admin-summary {
  display: grid;
  margin-bottom: 18px;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 12px;
}

.public-service-admin-summary article {
  display: grid;
  min-height: 132px;
  border: 1px solid var(--admin-line);
  border-radius: 14px;
  padding: 18px;
  align-content: space-between;
  background: var(--admin-panel);
}

.public-service-admin-summary article.warning { border-color: rgba(245, 158, 11, .45); }
.public-service-admin-summary article.success { border-color: rgba(34, 197, 94, .4); }
.public-service-admin-summary span,
.public-service-admin-summary small { color: var(--admin-muted); font-size: 12px; }
.public-service-admin-summary strong { color: var(--admin-text); font-size: 34px; line-height: 1; }

.public-service-admin-filter {
  margin: 18px 0;
  grid-template-columns: minmax(160px, .7fr) minmax(260px, 1.8fr) auto auto;
}

.public-service-application-list { display: grid; gap: 14px; }

.public-service-application-row {
  overflow: hidden;
  border: 1px solid var(--admin-line);
  border-radius: 14px;
  background: var(--admin-panel-2);
}

.public-service-application-row > header {
  display: flex;
  border-bottom: 1px solid var(--admin-line);
  padding: 18px 20px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  background: var(--admin-panel);
}

.public-service-application-row h3 { margin: 5px 0 4px; font-size: 21px; }
.public-service-application-row header small,
.public-service-application-row header p { margin: 0; color: var(--admin-muted); font-size: 12px; }

.public-service-application-content {
  display: grid;
  padding: 20px;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: 24px;
}

.public-service-application-content dl {
  display: grid;
  margin: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 12px;
}

.public-service-application-content dl div {
  min-width: 0;
  border-radius: 10px;
  padding: 12px 14px;
  background: var(--admin-panel);
}

.public-service-application-content dt { color: var(--admin-muted); font-size: 11px; font-weight: 800; }
.public-service-application-content dd { margin: 6px 0 0; color: var(--admin-text); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; white-space: pre-wrap; }
.public-service-review-form { align-content: start; }
.public-service-review-form > small { color: var(--admin-muted); font-size: 11px; }

.public-service-builder { gap: 18px; }
.public-service-enabled { align-self: center; }
.public-service-fields-panel > .admin-panel-head p { margin: 6px 0 0; color: var(--admin-muted); font-size: 12px; }
.public-service-field-list { display: grid; gap: 14px; }

.public-service-field-card {
  display: grid;
  border: 1px solid var(--admin-line);
  border-radius: 12px;
  padding: 18px;
  gap: 15px;
  background: var(--admin-panel-2);
}

.public-service-field-card > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.public-service-field-card > header button { border: 0; padding: 4px 0; background: transparent; color: #dc2626; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.public-service-field-card textarea { resize: vertical; }
.public-service-field-card [data-field-setting][hidden] { display: none !important; }
.public-service-field-card[data-field-type="select"] { border-color: color-mix(in srgb, var(--admin-accent) 34%, var(--admin-line)); }
.public-service-builder-actions { position: sticky; bottom: 14px; z-index: 5; display: flex; border: 1px solid var(--admin-line); border-radius: 14px; padding: 14px; gap: 10px; background: color-mix(in srgb, var(--admin-panel) 94%, transparent); box-shadow: 0 12px 30px rgba(15, 23, 42, .12); backdrop-filter: blur(12px); }

@media (max-width: 980px) {
  .public-service-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-service-application-content { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .public-service-admin-summary { grid-template-columns: 1fr 1fr; }
  .public-service-admin-filter { grid-template-columns: 1fr; }
  .public-service-application-row > header { flex-direction: column; }
  .public-service-application-content dl { grid-template-columns: 1fr; }
  .public-service-builder-actions { flex-direction: column; }
}

/* Donation display settings */
.donation-data-note > p { max-width: 900px; margin: 0; color: var(--admin-muted); line-height: 1.75; }
.donation-system-stats { display: grid; margin-top: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.donation-system-stats article { display: grid; border: 1px solid var(--admin-line); border-radius: 12px; padding: 17px; gap: 6px; background: var(--admin-panel-2); }
.donation-system-stats span, .donation-system-stats small { color: var(--admin-muted); font-size: 12px; }
.donation-system-stats strong { font-size: 25px; }
.donation-amount-toggle { margin-top: 18px; }
.donation-custom-metrics { display: grid; gap: 12px; }
.donation-custom-metrics article { border: 1px solid var(--admin-line); border-radius: 12px; padding: 16px; background: var(--admin-panel-2); }
.donation-record-create { border-top: 1px solid var(--admin-line); padding-top: 20px; }
.donation-record-options { display: flex; flex-wrap: wrap; gap: 18px; }
.donation-record-list { display: grid; margin-top: 18px; gap: 16px; }
.donation-record-card { position: relative; }
.donation-record-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.donation-record-card-head h2 { margin: 5px 0 0; }
.donation-status { border-radius: 999px; padding: 6px 10px; background: #e5e7eb; color: #475569; font-size: 11px; font-weight: 800; }
.donation-status--published { background: #dcfce7; color: #166534; }
.donation-status--archived { background: #f1f5f9; color: #64748b; }
.donation-record-delete { position: absolute; right: 22px; bottom: 23px; }
.donation-record-delete button { border: 0; padding: 6px; background: transparent; color: #dc2626; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }

@media (max-width: 900px) {
  .foundation-donation-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .foundation-donation-heading, .foundation-donation-latest-head { align-items: flex-start; flex-direction: column; }
  .foundation-donation-totals, .foundation-donation-record-grid, .donation-system-stats { grid-template-columns: 1fr; }
  .foundation-donation-totals article { min-height: 150px; padding: 24px 18px; }
  .foundation-donation-record-grid > article { min-height: 0; padding: 22px 0; border-right: 0; }
  .donation-record-delete { position: static; margin-top: 12px; }
}

/* Independent display data */
.display-data-list { display: grid; margin-top: 18px; gap: 16px; }
.display-data-card { position: relative; }
.display-data-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.display-data-card-head h2 { margin: 5px 0 0; }
.display-data-derived-value { display: flex; align-items: baseline; flex-wrap: wrap; margin-top: 22px; gap: 10px 18px; }
.display-data-derived-value strong { color: var(--admin-text); font-size: clamp(32px, 4vw, 52px); line-height: 1; letter-spacing: -.04em; }
.display-data-derived-value span { color: var(--admin-muted); font-size: 13px; }
.display-data-derived-source { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--admin-line); gap: 14px; }
.display-data-derived-source small { color: var(--admin-muted); }
@media (max-width: 680px) { .display-data-derived-source { align-items: flex-start; flex-direction: column; } }
.display-data-delete { position: absolute; right: 22px; bottom: 23px; }
.display-data-delete button { border: 0; padding: 6px; background: transparent; color: #dc2626; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }

/* Partner teams */
.partner-team-table { table-layout: fixed; }
.partner-team-table th:nth-child(1) { width: 28%; }
.partner-team-table th:nth-child(2) { width: 14%; }
.partner-team-table th:nth-child(3) { width: 22%; }
.partner-team-table th:nth-child(4) { width: 17%; }
.partner-team-table th:nth-child(5) { width: 10%; }
.partner-team-table th:nth-child(6) { width: 9%; }
.partner-team-table td { overflow-wrap: anywhere; }
.partner-team-name-cell { display: flex; min-width: 0; align-items: center; gap: 12px; }
.partner-team-name-cell > div { display: grid; min-width: 0; gap: 3px; }
.partner-team-name-cell strong { overflow-wrap: anywhere; }
.partner-team-name-cell small { color: var(--admin-muted); font-size: 11px; }
.partner-team-logo { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 12px; background: #fff; }
.partner-team-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.partner-team-logo--empty { border-color: rgba(234, 16, 52, .13); background: rgba(234, 16, 52, .055); color: #c80d2e; font-size: 15px; font-weight: 900; }
.partner-team-logo-field { padding: 16px; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-panel-2); }
.partner-team-logo-field .upload-dropzone { min-height: 112px; background: #fff; }
.partner-team-logo-preview { max-width: 180px; }
.partner-team-logo-preview img { aspect-ratio: 1; object-fit: contain; background: #fff; }

/* Platform and organization directory */
.organization-summary { display: grid; margin: 18px 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.organization-summary article { display: grid; border: 1px solid var(--admin-line); border-radius: 12px; padding: 17px; gap: 6px; background: var(--admin-panel-2); }
.organization-summary span, .organization-summary small { color: var(--admin-muted); font-size: 12px; }
.organization-summary strong { font-size: 25px; }
.organization-type-grid { display: grid; margin-bottom: 18px; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.organization-type-grid a { display: grid; min-height: 170px; border: 1px solid var(--admin-line); border-radius: 14px; padding: 18px; gap: 8px; color: var(--admin-text); background: var(--admin-panel); text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.organization-type-grid a:hover { border-color: rgba(234, 16, 52, .35); transform: translateY(-2px); }
.organization-type-grid span { color: var(--admin-muted); font-size: 12px; font-weight: 800; }
.organization-type-grid strong { color: #d70d30; font-size: 34px; line-height: 1; }
.organization-type-grid p { margin: 0; color: var(--admin-muted); font-size: 12px; line-height: 1.55; }
.organization-type-grid b { margin-top: auto; font-size: 12px; }
.organization-boundary-note { margin-top: 0; }
.organization-type-switch { display: flex; margin: 18px 0; gap: 8px; overflow-x: auto; }
.organization-type-switch a { display: inline-flex; min-width: max-content; align-items: center; gap: 9px; border: 1px solid var(--admin-line); border-radius: 999px; padding: 8px 12px; color: var(--admin-muted); background: var(--admin-panel); text-decoration: none; font-size: 12px; font-weight: 800; }
.organization-type-switch a.active { border-color: rgba(234, 16, 52, .24); color: #b50929; background: rgba(234, 16, 52, .065); }
.organization-type-switch b { display: grid; min-width: 22px; height: 22px; place-items: center; border-radius: 999px; background: var(--admin-panel-2); font-size: 11px; }
.organization-directory-table { min-width: 860px; table-layout: fixed; }
.organization-directory-table th:nth-child(1) { width: 24%; }
.organization-directory-table th:nth-child(2) { width: 10%; }
.organization-directory-table th:nth-child(3) { width: 21%; }
.organization-directory-table th:nth-child(4) { width: 27%; }
.organization-directory-table th:nth-child(5) { width: 10%; }
.organization-directory-table th:nth-child(6) { width: 8%; }
.organization-directory-table td { overflow-wrap: anywhere; }
.organization-name-cell { display: flex; min-width: 0; align-items: center; gap: 12px; }
.organization-name-cell > div { display: grid; min-width: 0; gap: 3px; }
.organization-name-cell strong { overflow-wrap: anywhere; }
.organization-name-cell small, .organization-directory-table td > small { display: block; margin-top: 4px; color: var(--admin-muted); font-size: 11px; line-height: 1.5; }
.organization-thumb { display: grid; width: 50px; height: 50px; flex: 0 0 50px; place-items: center; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 12px; background: #fff; }
.organization-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.organization-thumb--reference img { object-fit: cover; }
.organization-thumb--empty { border-color: rgba(234, 16, 52, .13); background: rgba(234, 16, 52, .055); color: #c80d2e; font-weight: 900; }
.organization-source { display: inline-block; border-radius: 999px; padding: 4px 8px; color: #555; background: #f4f4f5; font-size: 11px; font-weight: 800; }
.organization-image-field { align-content: start; border: 1px solid var(--admin-line); border-radius: 12px; padding: 16px; background: var(--admin-panel-2); }
.organization-image-field .upload-dropzone { min-height: 120px; background: #fff; }
.organization-image-preview { max-width: 220px; }
.organization-image-preview img { aspect-ratio: 1; object-fit: contain; background: #fff; }
.organization-editor-source { display: grid; align-self: end; border: 1px solid var(--admin-line); border-radius: 12px; padding: 14px; gap: 5px; background: var(--admin-panel-2); }
.organization-editor-source span { color: var(--admin-muted); font-size: 11px; font-weight: 800; }
.organization-editor-source strong { font-size: 12px; line-height: 1.55; }
.organization-editor-source a { color: #b50929; font-size: 12px; font-weight: 800; }
@media (max-width: 980px) { .organization-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .organization-summary { grid-template-columns: 1fr; } .organization-type-grid { grid-template-columns: 1fr; } .organization-type-grid a { min-height: 140px; } }

/* Coverage regions */
.coverage-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.coverage-summary article { position: relative; overflow: hidden; padding: 20px; border: 1px solid #eceef1; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(17, 24, 39, .045); }
.coverage-summary article::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #ea1034; content: ""; }
.coverage-summary span, .coverage-summary small { display: block; color: #71717a; }
.coverage-summary strong { display: block; margin: 7px 0 2px; color: #ea1034; font-size: clamp(26px, 3vw, 40px); line-height: 1; }
.coverage-summary small { font-size: 12px; }
.coverage-map-panel { overflow: hidden; }
.coverage-map-legend { display: flex; gap: 14px; align-items: center; color: #71717a; font-size: 12px; font-weight: 750; }
.coverage-map-legend span { display: inline-flex; align-items: center; gap: 6px; }
.coverage-map-legend i { width: 9px; height: 9px; border: 2px solid rgba(234, 16, 52, .28); border-radius: 50%; background: #ea1034; box-shadow: 0 0 0 3px rgba(234, 16, 52, .08); }
.coverage-map-legend i.draft { border-color: rgba(173, 122, 0, .28); background: #ffce37; box-shadow: 0 0 0 3px rgba(255, 206, 55, .12); }
.coverage-map-shell { position: relative; height: clamp(420px, 58vw, 680px); border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; background: #fafafa; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .76); }
.coverage-map-shell svg { display: block; width: 100%; height: 100%; }
.coverage-map-loading { position: absolute; inset: 0; display: grid; place-items: center; color: #71717a; font-weight: 750; }
.coverage-map-loading.error { color: #b50929; }
.coverage-province { fill: #ededed; stroke: rgba(234, 16, 52, .58); stroke-width: 1.4; vector-effect: non-scaling-stroke; cursor: pointer; transition: fill .2s ease, fill-opacity .2s ease, opacity .2s ease, stroke .2s ease; }
.coverage-province:hover, .coverage-province:focus { fill: #f27b8f; fill-opacity: 1; outline: none; }
.coverage-province.active { fill: #f5a7b4; fill-opacity: 1; }
.coverage-province.selected { fill: #ea1034; fill-opacity: 1; stroke: #8f001b; stroke-width: 2; }
.coverage-map-boundary-line { fill: #ea1034; stroke: #b50929; stroke-width: 2.4; vector-effect: non-scaling-stroke; opacity: .95; pointer-events: none; }
.coverage-province.muted, .coverage-city-marker.muted { opacity: .16; }
.coverage-city-marker { cursor: default; transition: opacity .2s ease; }
.coverage-city-dot { fill: #ea1034; stroke: #fff; stroke-width: 2; vector-effect: non-scaling-stroke; filter: drop-shadow(0 2px 3px rgba(150, 4, 29, .22)); }
.coverage-city-ring { fill: none; stroke: #ea1034; stroke-width: 2; stroke-dasharray: 4 2.5; vector-effect: non-scaling-stroke; transform: none; animation: coverage-ring-breathe 2.4s ease-in-out infinite; }
.coverage-city-marker.draft .coverage-city-dot { fill: #ffce37; stroke: #7a5d00; }
.coverage-city-marker.draft .coverage-city-ring { stroke: #ad7a00; }
.coverage-city-marker.selected .coverage-city-dot { fill: #fff; stroke: #ea1034; }
.coverage-city-marker.selected .coverage-city-ring { stroke: #ffce37; stroke-width: 2.3; }
.coverage-city-label { fill: #171717; font-size: 12px; font-weight: 850; opacity: 0; paint-order: stroke; pointer-events: none; stroke: rgba(255, 253, 247, .96); stroke-width: 3px; stroke-linejoin: round; transition: opacity .18s ease; }
.coverage-city-marker.selected .coverage-city-label { fill: #fff; stroke: #ea1034; }
.coverage-city-label.is-prominent, .coverage-city-marker:hover .coverage-city-label, .coverage-city-marker:focus .coverage-city-label { opacity: 1; }
.coverage-map-tooltip { position: absolute; z-index: 4; min-width: 150px; padding: 10px 12px; border: 1px solid rgba(23, 23, 23, .12); border-radius: 12px; transform: translate(-50%, calc(-100% - 16px)); background: rgba(255, 255, 255, .97); box-shadow: 0 14px 34px rgba(23, 23, 23, .13); pointer-events: none; }
.coverage-map-tooltip strong, .coverage-map-tooltip span { display: block; }
.coverage-map-tooltip strong { color: #171717; }
.coverage-map-tooltip span { margin-top: 3px; color: #71717a; font-size: 12px; }
.coverage-map-source { margin: 12px 2px 0; color: #71717a; font-size: 12px; }
.coverage-region-table code { white-space: nowrap; font-size: 12px; }
.coverage-region-table .donation-status { border: 1px solid #eceef1; }
.coverage-region-table .donation-status--published { border-color: rgba(234, 16, 52, .18); background: rgba(234, 16, 52, .08); color: #b50929; }
.coverage-region-table .donation-status--draft { border-color: rgba(255, 206, 55, .5); background: #fff4d7; color: #7a5d00; }
.coverage-region-table .donation-status--archived { background: #f4f4f5; color: #71717a; }
.coverage-region-editor { gap: 0; }
body.admin-body .coverage-region-editor-panel { margin-top: 0; padding: 0; overflow: hidden; border-radius: 14px; }
.coverage-region-editor-panel > .admin-panel-head { padding: 22px 24px; border-bottom: 1px solid #eceef1; background: #fff; }
.coverage-region-editor-panel > .admin-panel-head h2 { margin: 0 0 6px; }
.coverage-region-editor-panel > .admin-panel-head p { margin: 0; }
.coverage-region-editor-body { padding: 24px; }
.coverage-region-editor-body .admin-form-grid { align-items: start; gap: 20px; }
.coverage-region-editor-body label > span { color: #3f3f46; }
.coverage-region-editor-body label > small { color: #8a8a93; font-size: 12px; font-weight: 500; line-height: 1.5; }
body.admin-body .coverage-region-editor-body select,
body.admin-body .coverage-region-editor-body input { min-height: 46px; background: #fff; }
.coverage-region-location-status { display: flex; min-height: 70px; align-items: center; gap: 13px; border: 1px solid #eceef1; border-radius: 12px; padding: 14px 16px; background: #fafafa; }
.coverage-region-location-icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: rgba(234, 16, 52, .09); color: #d70d30; font-size: 22px; font-weight: 900; }
.coverage-region-location-status strong, .coverage-region-location-status small { display: block; }
.coverage-region-location-status strong { color: #3f3f46; font-size: 14px; }
.coverage-region-location-status small { margin-top: 3px; color: #71717a; font-size: 12px; }
.coverage-region-location-status.is-ready { border-color: rgba(234, 16, 52, .24); background: rgba(234, 16, 52, .035); }
.coverage-region-location-status.is-ready strong { color: #b50929; }
.coverage-region-location-status.is-error { border-color: rgba(181, 9, 41, .3); background: #fff4f5; }
.coverage-region-editor-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; border-top: 1px solid #eceef1; padding: 18px 24px; background: #fafafa; }
.coverage-region-editor-actions .admin-button { min-width: 108px; }
.coverage-region-delete { margin-top: 16px; }
.coverage-region-delete button { border: 0; background: transparent; color: #b50929; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
@keyframes coverage-ring-breathe { 0%, 100% { opacity: .78; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .coverage-city-ring { animation: none; opacity: .9; } }
@media (max-width: 900px) { .coverage-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .coverage-map-shell { height: clamp(390px, 68vw, 560px); } .coverage-city-label { font-size: 15px; } }
@media (max-width: 560px) { .coverage-summary { grid-template-columns: 1fr 1fr; } .coverage-summary article { padding: 15px; } .coverage-map-shell { height: clamp(300px, 74vw, 390px); margin-inline: -8px; } .coverage-map-legend { align-items: flex-start; flex-direction: column; gap: 6px; } .coverage-city-label { display: none; } }
@media (max-width: 560px) { .coverage-region-editor-panel > .admin-panel-head, .coverage-region-editor-body { padding: 18px; } .coverage-region-editor-actions { padding: 16px 18px; } .coverage-region-editor-actions .admin-button { flex: 1; } }

/* Public homepage coverage map */
.foundation-partner-map {
  min-height: 0;
  padding: clamp(30px, 4vw, 54px);
  background: #f2eee7;
}
.foundation-partner-map::before,
.foundation-partner-map::after { display: none; }
.foundation-partner-map-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 28px;
}
.foundation-partner-map-heading .foundation-eyebrow { color: var(--foundation-red); }
.foundation-partner-map-heading h2 { margin-top: 14px; font-size: clamp(34px, 3.6vw, 54px); }
.foundation-partner-map-heading > div:first-child > div {
  max-width: 620px;
  margin-top: 18px;
  color: rgba(23, 23, 23, .7);
  line-height: 1.8;
}
.foundation-coverage-totals {
  display: grid;
  flex: 0 0 auto;
  gap: 8px;
  padding-bottom: 4px;
}
.foundation-coverage-totals span {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
  color: rgba(23, 23, 23, .62);
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}
.foundation-coverage-totals strong {
  color: var(--foundation-red);
  font-family: var(--font-brand);
  font-size: 27px;
  line-height: 1;
}
.foundation-coverage-map-shell {
  height: clamp(410px, 40vw, 560px);
  margin-top: 34px;
  border-color: rgba(181, 9, 41, .16);
  border-radius: 24px;
  background: rgba(255, 253, 248, .78);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .72);
}
.foundation-coverage-map-shell .coverage-province {
  fill: #eeeae4;
  stroke: rgba(181, 9, 41, .66);
  stroke-width: 1.45;
}
.foundation-coverage-map-shell .coverage-province:hover,
.foundation-coverage-map-shell .coverage-province:focus { fill: #ef8ea0; }
.foundation-coverage-map-shell .coverage-province.active { fill: #eeb0bb; }
.foundation-coverage-map-shell .coverage-province.selected { fill: var(--foundation-red); stroke: #7f0018; }
.foundation-coverage-map-shell .coverage-map-boundary-line { fill: var(--foundation-red); stroke: #7f0018; }
.foundation-coverage-map-shell .coverage-city-ring { animation: none; opacity: .96; }
.foundation-coverage-map-shell .coverage-city-label { stroke: rgba(255, 253, 248, .96); }
.foundation-coverage-note {
  position: relative;
  z-index: 1;
  margin: 14px 2px 0;
  color: rgba(23, 23, 23, .58);
  font-size: 12px;
  line-height: 1.7;
}
.foundation-coverage-directory {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(23, 23, 23, .1);
  border-radius: 32px;
  background: #fffdf8;
}
.foundation-coverage-directory > header { padding: 38px 36px 28px; border-bottom: 1px solid var(--foundation-line); }
.foundation-coverage-directory > header .foundation-eyebrow { color: var(--foundation-red); }
.foundation-coverage-directory > header h3 { margin-top: 12px; font-size: 30px; letter-spacing: -.03em; }
.foundation-coverage-directory > header > p:last-child { margin-top: 12px; color: var(--foundation-muted); font-size: 13px; line-height: 1.7; }
.foundation-coverage-province-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  column-gap: 24px;
  padding: 10px 36px 18px;
}
.foundation-coverage-province-list article { min-width: 0; padding: 15px 0; border-bottom: 1px solid var(--foundation-line); }
.foundation-coverage-province-list article[hidden] { display: none; }
.foundation-coverage-province-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.foundation-coverage-province-list h4 { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.foundation-coverage-province-list article > div > span { flex: 0 0 auto; color: var(--foundation-red); font-size: 10px; font-weight: 850; }
.foundation-coverage-province-list article > p { display: flex; margin-top: 8px; flex-wrap: wrap; gap: 3px 9px; }
.foundation-coverage-province-list article > p span { color: var(--foundation-muted); font-size: 11px; line-height: 1.5; }
.foundation-coverage-network-summary {
  display: grid;
  margin-top: 0;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px 20px;
  border-top: 1px solid var(--foundation-line);
  padding: 22px 36px;
  background: var(--foundation-red);
  color: #fff;
  text-decoration: none;
  transition: background .18s ease;
}
.foundation-coverage-network-summary:hover { background: #b50929; }
.foundation-coverage-network-summary > span { font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.foundation-coverage-network-summary strong { font-size: 17px; }
.foundation-coverage-network-summary i { color: #ffce37; font-size: 11px; font-style: normal; font-weight: 850; white-space: nowrap; }
.foundation-coverage-network-links { display: grid; margin-top: auto; }
@media (max-width: 900px) {
  .foundation-partner-map { padding: 38px 30px; }
  .foundation-partner-map-heading { grid-template-columns: 1fr; gap: 18px; }
  .foundation-coverage-totals { display: flex; gap: 18px; }
  .foundation-coverage-totals span { justify-content: flex-start; }
  .foundation-coverage-map-shell { height: clamp(360px, 66vw, 520px); margin-top: 28px; }
  .foundation-coverage-directory > header { padding: 30px; }
  .foundation-coverage-province-list { padding-inline: 30px; }
}
@media (max-width: 560px) {
  .foundation-partner-map { padding: 28px 20px; border-radius: 24px; }
  .foundation-partner-map-heading h2 { font-size: 34px; }
  .foundation-coverage-totals { gap: 13px; }
  .foundation-coverage-totals strong { font-size: 23px; }
  .foundation-coverage-map-shell { height: clamp(280px, 78vw, 350px); margin: 24px 0 0; border-radius: 18px; }
  .foundation-coverage-note { margin-top: 11px; }
  .foundation-coverage-directory { border-radius: 24px; }
  .foundation-coverage-directory > header { padding: 26px 22px 22px; }
  .foundation-coverage-directory > header h3 { font-size: 26px; }
  .foundation-coverage-province-list { grid-template-columns: 1fr; padding: 8px 22px 16px; }
  .foundation-coverage-network-summary { grid-template-columns: 1fr; padding: 20px 22px; }
}

/* Public partner team directory */
.foundation-partner-teams-page { background: #f4f0e9; }
.foundation-partner-teams-hero { padding-bottom: 76px; background: #fff4d7; }
.foundation-partner-teams-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .55fr);
  align-items: end;
  gap: 70px;
  padding-top: 58px;
}
.foundation-partner-teams-hero-grid > div:first-child > p,
.foundation-partner-teams-directory > .foundation-thanks-shell > header > div > p { color: #ea1034; font-size: 12px; font-weight: 900; letter-spacing: .18em; }
.foundation-partner-teams-hero h1 { margin: 16px 0 12px; color: #171d2a; font-size: clamp(54px, 7vw, 94px); line-height: .95; letter-spacing: -.06em; }
.foundation-partner-teams-hero h2 { max-width: 720px; margin: 0; color: #71695f; font-size: clamp(19px, 2.2vw, 29px); font-weight: 500; line-height: 1.55; }
.foundation-partner-teams-hero-grid > div:last-child { padding: 32px; border-radius: 28px; background: #ea1034; color: #fff; }
.foundation-partner-teams-hero-grid > div:last-child strong { display: block; font-family: var(--font-brand); font-size: 72px; line-height: .9; }
.foundation-partner-teams-hero-grid > div:last-child span { display: block; margin-top: 8px; color: #ffce37; font-size: 14px; font-weight: 850; }
.foundation-partner-teams-hero-grid > div:last-child p { margin: 22px 0 0; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.7; }
.foundation-partner-page-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 42px; }
.foundation-partner-page-index a { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 20px; border: 1px solid rgba(23,29,42,.12); border-radius: 16px; background: rgba(255,255,255,.54); color: #171d2a; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.foundation-partner-page-index a:hover { background: #fff; transform: translateY(-2px); }
.foundation-partner-page-index strong { font-size: 14px; }
.foundation-partner-page-index span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #171d2a; color: #fff; font-size: 11px; font-weight: 900; }
.foundation-partner-teams-directory { padding: 88px 0 100px; }
.foundation-partner-teams-directory > .foundation-thanks-shell > header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr); align-items: end; gap: 60px; margin-bottom: 36px; }
.foundation-partner-teams-directory h2 { margin: 9px 0 0; color: #171d2a; font-size: clamp(38px, 4.6vw, 60px); line-height: 1; letter-spacing: -.05em; }
.foundation-partner-teams-directory > .foundation-thanks-shell > header > p { margin: 0; color: #71695f; font-size: 14px; line-height: 1.8; }
.foundation-partner-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.foundation-partner-team-grid > article {
  display: flex;
  min-width: 0;
  min-height: 240px;
  flex-direction: column;
  padding: 24px;
  border: 1px solid rgba(23,29,42,.09);
  border-radius: 24px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.foundation-partner-team-grid > article:hover { border-color: rgba(234,16,52,.28); box-shadow: 0 18px 42px rgba(45,35,23,.08); transform: translateY(-3px); }
.foundation-partner-team-mark { display: grid; width: 64px; height: 64px; overflow: hidden; place-items: center; border-radius: 21px 21px 21px 7px; background: #fff4d7; }
.foundation-partner-team-mark img { width: 100%; height: 100%; object-fit: contain; }
.foundation-partner-team-mark span { color: #ea1034; font-size: 24px; font-weight: 900; }
.foundation-partner-team-copy { margin-top: auto; padding-top: 30px; }
.foundation-partner-team-copy > p { margin: 0 0 7px; color: #ea1034; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.foundation-partner-team-copy h3 { margin: 0; color: #171d2a; font-size: 17px; line-height: 1.45; }
.foundation-partner-team-copy > span { display: block; margin-top: 10px; color: #7b7369; font-size: 11px; line-height: 1.6; }
.foundation-partner-organizations-intro { scroll-margin-top: 92px; padding: 72px 0 54px; background: #aaf7a9; }
.foundation-partner-organizations-intro header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr); align-items: end; gap: 60px; }
.foundation-partner-organizations-intro header > div > p { margin: 0; color: #b50929; font-size: 11px; font-weight: 900; letter-spacing: .18em; }
.foundation-partner-organizations-intro h2 { margin: 9px 0 0; color: #171d2a; font-size: clamp(40px, 5vw, 62px); line-height: 1; letter-spacing: -.055em; }
.foundation-partner-organizations-intro header > p { margin: 0; color: #4d574f; font-size: 14px; line-height: 1.8; }
.foundation-partner-organizations-intro .foundation-organization-type-nav { margin-top: 34px; }
@media (max-width: 980px) {
  .foundation-partner-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .foundation-partner-teams-hero { padding-bottom: 52px; }
  .foundation-partner-teams-hero-grid { grid-template-columns: 1fr; gap: 28px; padding-top: 34px; }
  .foundation-partner-teams-hero h1 { font-size: 54px; }
  .foundation-partner-teams-hero-grid > div:last-child { padding: 25px; border-radius: 22px; }
  .foundation-partner-teams-hero-grid > div:last-child strong { font-size: 56px; }
  .foundation-partner-teams-directory { padding: 58px 0 66px; }
  .foundation-partner-teams-directory > .foundation-thanks-shell > header { grid-template-columns: 1fr; gap: 15px; margin-bottom: 26px; }
  .foundation-partner-page-index { margin-top: 30px; }
  .foundation-partner-organizations-intro { padding: 54px 0 38px; }
  .foundation-partner-organizations-intro header { grid-template-columns: 1fr; gap: 14px; }
  .foundation-partner-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .foundation-partner-team-grid > article { min-height: 220px; padding: 19px; border-radius: 20px; }
}
@media (max-width: 480px) {
  .foundation-partner-page-index { grid-template-columns: 1fr; }
  .foundation-partner-team-grid { grid-template-columns: 1fr; }
  .foundation-partner-team-grid > article { min-height: 0; flex-direction: row; align-items: center; gap: 16px; }
  .foundation-partner-team-mark { width: 54px; height: 54px; flex: 0 0 auto; border-radius: 18px 18px 18px 6px; }
  .foundation-partner-team-copy { margin-top: 0; padding-top: 0; }
}

/* Public platform and organization directory */
.foundation-partner-organizations-page { background: #f4f0e9; }
.foundation-organizations-hero { padding-bottom: 52px; background: #aaf7a9; }
.foundation-organizations-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .55fr);
  align-items: end;
  gap: 70px;
  padding-top: 52px;
}
.foundation-organizations-hero-grid > div:first-child > p { color: #b50929; font-size: 12px; font-weight: 900; letter-spacing: .18em; }
.foundation-organizations-hero h1 { margin: 16px 0 14px; color: #171d2a; font-size: clamp(50px, 6.5vw, 88px); line-height: .98; letter-spacing: -.065em; }
.foundation-organizations-hero h2 { max-width: 680px; margin: 0; color: #4c554d; font-size: clamp(19px, 2.1vw, 28px); font-weight: 500; line-height: 1.55; }
.foundation-organizations-hero-grid > div:last-child { padding: 32px; border-radius: 28px; background: #171d2a; color: #fff; }
.foundation-organizations-hero-grid > div:last-child strong { display: block; font-family: var(--font-brand); font-size: 72px; line-height: .9; }
.foundation-organizations-hero-grid > div:last-child span { display: block; margin-top: 8px; color: #aaf7a9; font-size: 14px; font-weight: 850; }
.foundation-organizations-hero-grid > div:last-child p { margin: 22px 0 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.7; }
.foundation-organization-type-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 46px; }
.foundation-organization-type-nav a { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 17px; border: 1px solid rgba(23,29,42,.13); border-radius: 15px; background: rgba(255,255,255,.48); color: #171d2a; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.foundation-organization-type-nav a:hover { background: #fff; transform: translateY(-2px); }
.foundation-organization-type-nav strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.foundation-organization-type-nav span { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #ea1034; color: #fff; font-size: 10px; font-weight: 900; }
.foundation-organization-group { scroll-margin-top: 92px; padding: 82px 0; }
.foundation-organization-group:nth-child(even) { background: #fff4d7; }
.foundation-organization-group > .foundation-thanks-shell > header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr); align-items: end; gap: 60px; margin-bottom: 30px; }
.foundation-organization-group header > div:first-child > p { margin: 0; color: #ea1034; font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.foundation-organization-group h2 { margin: 8px 0 0; color: #171d2a; font-size: clamp(36px, 4.4vw, 56px); line-height: 1; letter-spacing: -.05em; }
.foundation-organization-group header > div:last-child { display: flex; align-items: center; gap: 15px; }
.foundation-organization-group header > div:last-child strong { color: #ea1034; font-family: var(--font-brand); font-size: 38px; line-height: 1; }
.foundation-organization-group header > div:last-child span { color: #736c63; font-size: 12px; line-height: 1.6; }
.foundation-organization-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.foundation-organization-grid article { display: flex; min-width: 0; min-height: 146px; align-items: flex-start; gap: 18px; padding: 21px; border: 1px solid rgba(23,29,42,.09); border-radius: 22px; background: rgba(255,255,255,.86); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.foundation-organization-grid article:hover { border-color: rgba(234,16,52,.25); box-shadow: 0 14px 34px rgba(45,35,23,.07); transform: translateY(-2px); }
.foundation-organization-mark { display: grid; width: 58px; height: 58px; overflow: hidden; flex: 0 0 auto; place-items: center; border-radius: 19px 19px 19px 6px; background: #ededed; }
.foundation-organization-mark img { width: 100%; height: 100%; padding: 7px; object-fit: contain; }
.foundation-organization-mark span { color: #ea1034; font-size: 21px; font-weight: 900; }
.foundation-organization-grid article > div:last-child { min-width: 0; }
.foundation-organization-grid h3 { margin: 2px 0 0; color: #171d2a; font-size: 16px; line-height: 1.45; }
.foundation-organization-grid small { display: block; margin-top: 6px; color: #ea1034; font-size: 10px; }
.foundation-organization-grid p { display: -webkit-box; overflow: hidden; margin: 9px 0 0; color: #776f65; font-size: 11px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
@media (max-width: 900px) {
  .foundation-organization-type-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .foundation-organization-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .foundation-organizations-hero { padding-bottom: 38px; }
  .foundation-organizations-hero-grid { grid-template-columns: 1fr; gap: 28px; padding-top: 30px; }
  .foundation-organizations-hero h1 { font-size: 50px; }
  .foundation-organizations-hero-grid > div:last-child { padding: 24px; border-radius: 22px; }
  .foundation-organizations-hero-grid > div:last-child strong { font-size: 56px; }
  .foundation-organization-type-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; }
  .foundation-organization-group { padding: 58px 0; }
  .foundation-organization-group > .foundation-thanks-shell > header { grid-template-columns: 1fr; gap: 14px; margin-bottom: 24px; }
  .foundation-organization-grid { grid-template-columns: 1fr; }
  .foundation-organization-grid article { min-height: 0; padding: 18px; border-radius: 19px; }
}

@media (max-width: 680px) {
  .display-data-delete { position: static; margin-top: 12px; }
}

/* File resources keep every column available through horizontal scrolling. */
body.admin-body .admin-table-scroll-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: #71717a;
  font-size: 12px;
}

body.admin-body .admin-table-scroll-hint::before {
  color: #b50929;
  content: "↔";
  font-size: 16px;
  font-weight: 900;
}

body.admin-body .upload-resource-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: visible;
  border: 1px solid #eceef1;
  border-radius: 12px;
  background: #fff;
  scrollbar-color: #c4c7ce #f4f4f5;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

body.admin-body .upload-resource-table-wrap:focus-visible {
  outline: 3px solid rgba(234, 16, 52, .2);
  outline-offset: 3px;
}

body.admin-body .upload-resource-table-wrap::-webkit-scrollbar {
  height: 10px;
}

body.admin-body .upload-resource-table-wrap::-webkit-scrollbar-track {
  background: #f4f4f5;
}

body.admin-body .upload-resource-table-wrap::-webkit-scrollbar-thumb {
  border: 2px solid #f4f4f5;
  border-radius: 999px;
  background: #b8bcc5;
}

body.admin-body .upload-resource-table {
  width: 1460px !important;
  min-width: 1460px !important;
  table-layout: fixed !important;
}

body.admin-body .upload-resource-table .upload-resource-col-id { width: 70px; }
body.admin-body .upload-resource-table .upload-resource-col-file { width: 300px; }
body.admin-body .upload-resource-table .upload-resource-col-purpose { width: 160px; }
body.admin-body .upload-resource-table .upload-resource-col-driver { width: 120px; }
body.admin-body .upload-resource-table .upload-resource-col-size { width: 110px; }
body.admin-body .upload-resource-table .upload-resource-col-url { width: 460px; }
body.admin-body .upload-resource-table .upload-resource-col-detail { width: 240px; }

body.admin-body .upload-resource-table th {
  white-space: nowrap;
}

body.admin-body .upload-resource-table th,
body.admin-body .upload-resource-table td {
  overflow: visible;
  padding: 13px 14px;
}

body.admin-body .upload-resource-table .upload-resource-file strong,
body.admin-body .upload-resource-table .upload-resource-purpose,
body.admin-body .upload-resource-table .upload-resource-url a {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.admin-body .upload-resource-table .admin-row-detail dl {
  width: 205px;
  min-width: 0;
  grid-template-columns: 76px minmax(0, 1fr);
}

/* Private WeChat account archive. */
body.admin-body .wechat-account-list,
body.admin-body .wechat-collection-list {
  display: grid;
  gap: 14px;
}

body.admin-body .wechat-account-card,
body.admin-body .wechat-collection-card {
  min-width: 0;
  border: 1px solid var(--admin-line);
  border-radius: 16px;
  padding: 20px;
  background: var(--admin-panel);
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.035);
}

body.admin-body .wechat-account-card > header,
body.admin-body .wechat-collection-card > header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

body.admin-body .wechat-account-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

body.admin-body .wechat-account-title h2,
body.admin-body .wechat-collection-card h2 {
  margin: 0;
  font-size: 20px;
}

body.admin-body .wechat-account-card header p,
body.admin-body .wechat-collection-card header p {
  max-width: 680px;
  margin: 6px 0 0;
  color: var(--admin-muted);
  overflow-wrap: anywhere;
}

body.admin-body .wechat-account-count {
  display: grid;
  flex: 0 0 auto;
  justify-items: end;
  font-size: 28px;
  line-height: 1;
}

body.admin-body .wechat-account-count small {
  margin-top: 7px;
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 700;
}

body.admin-body .wechat-account-facts,
body.admin-body .wechat-collection-card dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 18px 0 0;
  overflow: hidden;
  border: 1px solid var(--admin-line);
  border-radius: 12px;
  background: var(--admin-line);
}

body.admin-body .wechat-collection-card dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.admin-body .wechat-account-facts > div,
body.admin-body .wechat-collection-card dl > div {
  min-width: 0;
  padding: 14px;
  background: var(--admin-panel-2);
}

body.admin-body .wechat-account-facts dt,
body.admin-body .wechat-collection-card dt {
  margin-bottom: 7px;
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 800;
}

body.admin-body .wechat-account-facts dd,
body.admin-body .wechat-collection-card dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

body.admin-body .wechat-account-facts dd small {
  display: block;
  margin-top: 6px;
  color: var(--admin-muted);
  line-height: 1.45;
}

body.admin-body .wechat-ops-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}

body.admin-body .wechat-account-card > .wechat-ops-actions,
body.admin-body .wechat-collection-card > .wechat-ops-actions {
  margin-top: 16px;
}

body.admin-body .wechat-ops-actions form {
  margin: 0;
}

body.admin-body .wechat-ops-actions .admin-button {
  min-height: 38px;
  padding: 8px 13px;
  white-space: nowrap;
}

body.admin-body .wechat-sync-log-list,
body.admin-body .wechat-article-list {
  overflow: hidden;
  border: 1px solid var(--admin-line);
  border-radius: 14px;
  background: var(--admin-panel);
}

body.admin-body .wechat-sync-log-item {
  display: grid;
  grid-template-columns: 160px 92px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--admin-line);
}

body.admin-body .wechat-sync-log-item:last-child,
body.admin-body .wechat-article-row:last-child {
  border-bottom: 0;
}

body.admin-body .wechat-sync-log-time,
body.admin-body .wechat-sync-log-result {
  display: grid;
  min-width: 0;
  gap: 5px;
}

body.admin-body .wechat-sync-log-time small,
body.admin-body .wechat-sync-log-result p {
  margin: 0;
  color: var(--admin-muted);
}

body.admin-body .wechat-sync-log-result details {
  min-width: 0;
}

body.admin-body .wechat-sync-log-result pre {
  max-height: 220px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

body.admin-body .wechat-article-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  align-items: center;
  gap: 12px 20px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--admin-line);
}

body.admin-body .wechat-article-row .wechat-archive-title-cell {
  min-width: 0;
}

body.admin-body .wechat-article-row > .wechat-ops-actions {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
}

body.admin-body .wechat-article-row-meta {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 12px;
  padding-left: 70px;
  color: var(--admin-muted);
  font-size: 12px;
}

body.admin-body .wechat-article-row-meta > span:not(.admin-status):not(.admin-badge),
body.admin-body .wechat-article-row-meta > time {
  position: relative;
}

body.admin-body .wechat-article-row-meta > span:not(.admin-status):not(.admin-badge) + span:not(.admin-status):not(.admin-badge)::before,
body.admin-body .wechat-article-row-meta > time::before {
  content: "·";
  margin-right: 12px;
  color: #d1d5db;
}

body.admin-body .wechat-article-placeholder {
  display: grid !important;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 10px;
  background: #f3f4f6;
  color: #9ca3af;
  font-weight: 900;
}

body.admin-body .wechat-article-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  color: var(--admin-muted);
  font-size: 13px;
}

body.admin-body .wechat-archive-title-cell {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

body.admin-body .wechat-archive-title-cell > img {
  width: 58px;
  height: 58px;
  border-radius: 10px;
  object-fit: cover;
  background: #f4f4f5;
}

body.admin-body .wechat-archive-title-cell > span {
  display: grid;
  min-width: 0;
  gap: 5px;
}

body.admin-body .wechat-archive-title-cell strong,
body.admin-body .wechat-archive-title-cell small {
  overflow-wrap: anywhere;
}

body.admin-body .wechat-article-meta dl {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px 18px;
  margin: 0;
}

body.admin-body .wechat-article-meta dt {
  color: #71717a;
  font-weight: 800;
}

body.admin-body .wechat-article-meta dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

body.admin-body .wechat-article-meta a,
body.admin-body .wechat-article-meta code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.admin-body .wechat-article-cover {
  margin: 0 0 20px;
}

body.admin-body .wechat-article-cover img {
  display: block;
  width: min(100%, 760px);
  max-height: 420px;
  border-radius: 14px;
  object-fit: cover;
}

body.admin-body .wechat-article-body {
  max-width: 860px;
  margin: 0 auto;
  line-height: 1.85;
}

body.admin-body .wechat-article-body img {
  max-width: 100%;
  height: auto;
}

body.admin-body .wechat-collection-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0;
  border: 1px solid #e4e4e7;
  border-radius: 12px;
  padding: 14px 16px;
}

body.admin-body .wechat-collection-checks legend {
  padding: 0 6px;
  color: #4b5563;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 680px) {
  body.admin-body .wechat-account-card,
  body.admin-body .wechat-collection-card {
    padding: 16px;
  }

  body.admin-body .wechat-account-card > header,
  body.admin-body .wechat-collection-card > header {
    flex-direction: column;
  }

  body.admin-body .wechat-account-count {
    justify-items: start;
  }

  body.admin-body .wechat-account-facts,
  body.admin-body .wechat-collection-card dl {
    grid-template-columns: 1fr;
  }

  body.admin-body .wechat-sync-log-item,
  body.admin-body .wechat-article-row {
    grid-template-columns: 1fr;
  }

  body.admin-body .wechat-article-row-meta {
    grid-column: auto;
    padding-left: 0;
  }

  body.admin-body .wechat-article-row > .wechat-ops-actions {
    grid-column: auto;
    grid-row: auto;
    justify-self: stretch;
  }

  body.admin-body .wechat-article-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  body.admin-body .wechat-ops-actions > *,
  body.admin-body .wechat-ops-actions form,
  body.admin-body .wechat-ops-actions .admin-button {
    width: 100%;
  }

  body.admin-body .wechat-ops-actions .admin-button,
  body.admin-body .wechat-ops-actions .admin-link-button {
    width: 100%;
    justify-content: center;
  }

  body.admin-body .wechat-article-meta dl {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  body.admin-body .wechat-article-detail-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  body.admin-body .wechat-article-detail-metrics article {
    min-width: 0;
    padding: 12px 8px;
    text-align: center;
  }

  body.admin-body .wechat-article-detail-metrics .admin-metric span {
    margin: 0 0 4px;
    overflow-wrap: anywhere;
    font-size: 17px;
  }

  body.admin-body .wechat-article-detail-metrics .admin-metric p {
    font-size: 11px;
  }
}

@media (min-width: 681px) and (max-width: 1120px) {
  body.admin-body .wechat-account-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  body.admin-body .upload-resource-table {
    width: 1240px !important;
    min-width: 1240px !important;
  }

  body.admin-body .upload-resource-table .upload-resource-col-file { width: 250px; }
  body.admin-body .upload-resource-table .upload-resource-col-purpose { width: 140px; }
  body.admin-body .upload-resource-table .upload-resource-col-url { width: 340px; }
  body.admin-body .upload-resource-table .upload-resource-col-detail { width: 210px; }
}

/* Footer logo lockup: keep the flower in its brand colors and whiten only the wordmark. */
.foundation-footer-brand-lockup {
  --foundation-footer-brand-height: 53px;
  --foundation-footer-brand-width: 209px;
  --foundation-footer-brand-mark-width: 54px;
  display: inline-flex !important;
  position: relative;
  width: var(--foundation-footer-brand-width);
  height: var(--foundation-footer-brand-height);
  margin: 0 !important;
  flex: 0 0 auto;
  align-items: stretch;
  border: 0 !important;
  color: #fff !important;
  text-decoration: none !important;
}

.foundation-footer-brand-lockup > span {
  display: block;
  position: relative;
  height: var(--foundation-footer-brand-height);
  overflow: hidden;
}

.foundation-footer-brand-mark {
  width: var(--foundation-footer-brand-mark-width);
  flex: 0 0 var(--foundation-footer-brand-mark-width);
}

.foundation-footer-brand-copy {
  width: calc(var(--foundation-footer-brand-width) - var(--foundation-footer-brand-mark-width));
  flex: 0 0 calc(var(--foundation-footer-brand-width) - var(--foundation-footer-brand-mark-width));
}

.foundation-footer-brand-lockup img {
  display: block !important;
  position: absolute;
  top: 0;
  left: 0;
  width: auto !important;
  max-width: none !important;
  height: var(--foundation-footer-brand-height) !important;
  object-fit: initial !important;
  transform: none !important;
}

.foundation-footer-brand-mark img {
  filter: none !important;
}

.foundation-footer-brand-copy img {
  left: calc(-1 * var(--foundation-footer-brand-mark-width));
  filter: brightness(0) invert(1) !important;
}

.foundation-footer-lead .foundation-footer-brand-lockup {
  --foundation-footer-brand-height: 66px;
  --foundation-footer-brand-width: 261px;
  --foundation-footer-brand-mark-width: 67px;
}

@media (max-width: 560px) {
  .foundation-footer-brand-lockup {
    --foundation-footer-brand-height: 46px;
    --foundation-footer-brand-width: 182px;
    --foundation-footer-brand-mark-width: 47px;
  }
}
