/* Event Lifecycle Hub */
body.twe-lifecycle-site {
	--hub-purple: #25102f;
	--hub-purple-deep: #120719;
	--hub-purple-soft: #4b2859;
	--hub-lilac: #f0e8f4;
	--hub-green: #2f7a5c;
	--hub-green-soft: #e4f2eb;
	--hub-red: #a13c4f;
	--hub-red-soft: #f8e9ec;
	--hub-amber: #9b6719;
	--hub-amber-soft: #fbf2dc;
	background: #f5efe5;
}
body.twe-lifecycle-site .twe-section { padding: 78px 0; }

.twe-lifecycle-hero {
	position: relative;
	min-height: 680px;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: 150px 0 86px;
	color: #fff;
	background:
		radial-gradient(circle at 78% 22%, rgba(200,164,91,.22), transparent 24%),
		linear-gradient(135deg, #0d0512 0%, #23102d 52%, #120719 100%);
}
.twe-lifecycle-glow { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.twe-lifecycle-glow.glow-one { width: 440px; height: 440px; right: -190px; top: 80px; border: 1px solid rgba(235,211,158,.24); box-shadow: 0 0 120px rgba(200,164,91,.11) inset; }
.twe-lifecycle-glow.glow-two { width: 260px; height: 260px; right: 16%; bottom: -150px; border: 1px solid rgba(255,255,255,.1); }
.twe-lifecycle-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(430px,.98fr); align-items: center; gap: 70px; }
.twe-lifecycle-hero-copy h1 { max-width: 760px; margin: 18px 0 24px; font-family: var(--twe-serif); font-size: clamp(3.4rem,6.1vw,6.5rem); font-weight: 400; line-height: .91; letter-spacing: -.06em; }
.twe-lifecycle-hero-copy h1 em { color: var(--twe-gold-light); font-weight: 400; }
.twe-lifecycle-hero-copy p { max-width: 680px; margin-bottom: 30px; color: rgba(255,255,255,.76); font-size: 1.08rem; line-height: 1.8; }
.twe-lifecycle-hero .twe-eyebrow { color: var(--twe-gold-light); }
.twe-lifecycle-hero .twe-host-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.twe-lifecycle-map { position: relative; min-height: 430px; padding: 44px 20px; }
.twe-lifecycle-map::before { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 44px; background: linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.015)); box-shadow: 0 40px 100px rgba(0,0,0,.25); backdrop-filter: blur(12px); transform: rotate(2deg); }
.twe-lifecycle-map-line { position: absolute; left: 50%; top: 72px; bottom: 72px; width: 2px; background: linear-gradient(var(--twe-gold-light),rgba(235,211,158,.18)); transform: translateX(-50%); }
.twe-lifecycle-map span { position: absolute; left: 0; top: calc(48px + (var(--step) * 51px)); width: 100%; display: flex; align-items: center; gap: 20px; padding-left: calc(50% - 21px); }
/* CSS cannot use arithmetic conditionals; alternate the labels by child position. */
.twe-lifecycle-map span i { position: relative; z-index: 2; width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #17100a; background: linear-gradient(135deg,var(--twe-gold-light),var(--twe-gold)); font-style: normal; font-size: .78rem; font-weight: 950; box-shadow: 0 9px 22px rgba(200,164,91,.25); }
.twe-lifecycle-map span b { width: 170px; color: rgba(255,255,255,.84); font-size: .72rem; letter-spacing: .15em; }
.twe-lifecycle-map span:nth-of-type(even) { flex-direction: row-reverse; justify-content: flex-end; padding-left: 0; padding-right: calc(50% - 21px); text-align: right; }

.twe-lifecycle-overview { position: relative; margin-top: -48px; padding-top: 0 !important; }
.twe-lifecycle-overview .twe-container { position: relative; z-index: 3; padding: 42px; border: 1px solid rgba(37,16,47,.08); border-radius: 34px; background: rgba(255,253,248,.97); box-shadow: 0 28px 80px rgba(37,16,47,.13); }
.twe-lifecycle-overview-head, .twe-lifecycle-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 34px; margin-bottom: 32px; }
.twe-lifecycle-overview-head h2, .twe-lifecycle-section-head h2 { margin: 10px 0 0; font-family: var(--twe-serif); font-size: clamp(2.3rem,4vw,4.2rem); font-weight: 400; line-height: .98; letter-spacing: -.05em; }
.twe-lifecycle-overview-head h2 em, .twe-lifecycle-section-head h2 em { color: var(--twe-gold-dark); font-weight: 400; }
.twe-lifecycle-safety { max-width: 390px; display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px solid rgba(47,122,92,.16); border-radius: 18px; background: var(--hub-green-soft); }
.twe-lifecycle-safety > span { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--hub-green); font-weight: 900; }
.twe-lifecycle-safety p { display: grid; margin: 0; line-height: 1.25; }
.twe-lifecycle-safety strong { font-size: .84rem; }
.twe-lifecycle-safety small { margin-top: 4px; color: #50695e; }
.twe-lifecycle-scorecards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.twe-lifecycle-scorecards article { min-height: 155px; display: flex; flex-direction: column; justify-content: center; padding: 24px; border: 1px solid rgba(37,16,47,.08); border-radius: 22px; background: #faf7f1; }
.twe-lifecycle-scorecards article.has-alert { border-color: rgba(161,60,79,.2); background: var(--hub-red-soft); }
.twe-lifecycle-scorecards span { color: #766d76; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.twe-lifecycle-scorecards strong { margin: 5px 0 0; color: var(--hub-purple); font-family: var(--twe-serif); font-size: 3rem; font-weight: 400; line-height: 1; }
.twe-lifecycle-scorecards small { margin-top: 10px; color: #756e70; }
.twe-lifecycle-approval-strip { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; margin-top: 18px; padding: 18px 22px; border-radius: 20px; color: #fff; background: linear-gradient(135deg,var(--hub-purple),#4c265b); }
.twe-lifecycle-approval-strip > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: var(--hub-purple); background: var(--twe-gold-light); font-weight: 950; }
.twe-lifecycle-approval-strip p { display: grid; margin: 0; line-height: 1.3; }
.twe-lifecycle-approval-strip small { margin-top: 4px; color: rgba(255,255,255,.67); }
.twe-lifecycle-approval-strip b { color: var(--twe-gold-light); font-size: .82rem; }

.twe-lifecycle-attention { padding-top: 28px !important; background: #efe7da; }
.twe-lifecycle-section-head button { padding: 10px 16px; border: 1px solid rgba(37,16,47,.14); border-radius: 999px; color: var(--hub-purple); background: transparent; font-size: .76rem; font-weight: 900; cursor: pointer; }
.twe-lifecycle-attention-list { display: grid; gap: 10px; }
.twe-lifecycle-attention-list[hidden] { display: none; }
.twe-lifecycle-attention-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 20px 22px; border: 1px solid rgba(37,16,47,.08); border-left-width: 5px; border-radius: 20px; background: #fffdf8; transition: transform .2s ease,box-shadow .2s ease; }
.twe-lifecycle-attention-item:hover { transform: translateY(-2px); box-shadow: 0 15px 35px rgba(37,16,47,.09); }
.twe-lifecycle-attention-item.is-error { border-left-color: var(--hub-red); }
.twe-lifecycle-attention-item.is-warning { border-left-color: var(--hub-amber); }
.twe-lifecycle-attention-item.is-info { border-left-color: var(--hub-purple-soft); }
.twe-lifecycle-attention-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--hub-purple); font-weight: 950; }
.twe-lifecycle-attention-item.is-error .twe-lifecycle-attention-icon { background: var(--hub-red); }
.twe-lifecycle-attention-item.is-warning .twe-lifecycle-attention-icon { background: var(--hub-amber); }
.twe-lifecycle-attention-item div { display: grid; }
.twe-lifecycle-attention-item div small { color: #897f82; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.twe-lifecycle-attention-item div strong { margin: 3px 0 2px; color: var(--hub-purple); font-size: 1rem; }
.twe-lifecycle-attention-item div p { margin: 0; color: #71696c; font-size: .9rem; }
.twe-lifecycle-attention-item > b { color: var(--hub-purple); font-size: .78rem; white-space: nowrap; }

.twe-lifecycle-workspaces { background: #f7f2e9; }
.twe-lifecycle-workspace-head { align-items: center; }
.twe-lifecycle-workspace-head p { max-width: 690px; margin: 16px 0 0; color: #746d6f; }
.twe-lifecycle-search { width: min(360px,100%); display: grid; gap: 7px; }
.twe-lifecycle-search span { color: #756d72; font-size: .67rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.twe-lifecycle-search input { width: 100%; min-height: 52px; padding: 0 17px; border: 1px solid rgba(37,16,47,.13); border-radius: 16px; color: var(--hub-purple); background: #fffdf8; outline: none; }
.twe-lifecycle-search input:focus { border-color: var(--twe-gold-dark); box-shadow: 0 0 0 3px rgba(200,164,91,.13); }
.twe-lifecycle-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.twe-lifecycle-filters button { display: inline-flex; align-items: center; gap: 9px; min-height: 43px; padding: 0 15px; border: 1px solid rgba(37,16,47,.1); border-radius: 999px; color: #6e6670; background: #fffdf8; font-size: .75rem; font-weight: 900; cursor: pointer; }
.twe-lifecycle-filters button span { min-width: 23px; height: 23px; display: grid; place-items: center; padding: 0 6px; border-radius: 999px; background: rgba(37,16,47,.07); font-size: .66rem; }
.twe-lifecycle-filters button.is-active { color: #fff; border-color: var(--hub-purple); background: var(--hub-purple); }
.twe-lifecycle-filters button.is-active span { color: var(--hub-purple); background: var(--twe-gold-light); }
.twe-lifecycle-event-list { display: grid; gap: 26px; }
.twe-lifecycle-event-card { overflow: hidden; border: 1px solid rgba(37,16,47,.1); border-radius: 30px; background: #fffdf8; box-shadow: 0 18px 55px rgba(37,16,47,.09); }
.twe-lifecycle-event-card.is-selected { border-color: rgba(200,164,91,.75); box-shadow: 0 0 0 4px rgba(200,164,91,.13),0 18px 55px rgba(37,16,47,.12); }
.twe-lifecycle-event-card[hidden] { display: none; }
.twe-lifecycle-event-summary { display: grid; grid-template-columns: 220px minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 24px; }
.twe-lifecycle-event-image { position: relative; height: 140px; overflow: hidden; border-radius: 20px; background: linear-gradient(135deg,var(--hub-purple),var(--hub-purple-soft)); }
.twe-lifecycle-event-image img { width: 100%; height: 100%; object-fit: cover; }
.twe-lifecycle-event-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(18,7,25,.75),transparent 60%); }
.twe-lifecycle-event-image > span { position: absolute; z-index: 2; left: 13px; bottom: 11px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; background: rgba(18,7,25,.65); backdrop-filter: blur(8px); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.twe-lifecycle-event-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.twe-lifecycle-event-meta > span { color: var(--twe-gold-dark); font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.twe-lifecycle-event-meta > b { padding: 5px 9px; border-radius: 999px; color: var(--hub-red); background: var(--hub-red-soft); font-size: .65rem; }
.twe-lifecycle-event-meta > b.is-clear { color: var(--hub-green); background: var(--hub-green-soft); }
.twe-lifecycle-event-identity h3 { margin: 10px 0 5px; color: var(--hub-purple); font-family: var(--twe-serif); font-size: clamp(1.8rem,3.2vw,3rem); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.twe-lifecycle-event-identity p { margin: 0; color: #776f74; font-size: .88rem; }
.twe-lifecycle-overall-progress { min-width: 120px; display: grid; justify-items: end; }
.twe-lifecycle-overall-progress strong { color: var(--hub-purple); font-family: var(--twe-serif); font-size: 2.1rem; font-weight: 400; line-height: 1; }
.twe-lifecycle-overall-progress span { margin: 3px 0 9px; color: #837b80; font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.twe-lifecycle-overall-progress i { width: 110px; height: 6px; overflow: hidden; border-radius: 999px; background: #e9e1e7; }
.twe-lifecycle-overall-progress i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--hub-purple-soft),var(--twe-gold)); }

.twe-lifecycle-next-action { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 26px 30px; color: #fff; background: linear-gradient(135deg,var(--hub-purple-deep),var(--hub-purple)); }
.twe-lifecycle-next-action > div > span { color: var(--twe-gold-light); font-size: .68rem; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.twe-lifecycle-next-action h4 { margin: 5px 0 6px; font-family: var(--twe-serif); font-size: clamp(1.6rem,2.8vw,2.45rem); font-weight: 400; line-height: 1.05; }
.twe-lifecycle-next-action p { max-width: 770px; margin: 0; color: rgba(255,255,255,.68); font-size: .92rem; }
.twe-lifecycle-next-action .twe-btn { white-space: nowrap; }

.twe-lifecycle-stage-track { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); padding: 24px 20px; border-bottom: 1px solid rgba(37,16,47,.08); background: #faf7f2; }
.twe-lifecycle-stage { position: relative; display: grid; justify-items: center; gap: 8px; padding: 0 8px; text-align: center; }
.twe-lifecycle-stage:not(:last-child)::after { content: ""; position: absolute; top: 18px; left: calc(50% + 25px); right: calc(-50% + 25px); height: 2px; background: #ded6df; }
.twe-lifecycle-stage.is-complete:not(:last-child)::after { background: linear-gradient(90deg,var(--hub-green),#90bda8); }
.twe-lifecycle-stage > span { position: relative; z-index: 2; width: 37px; height: 37px; display: grid; place-items: center; border: 2px solid #d8ceda; border-radius: 50%; color: #8f8590; background: #fff; font-size: .74rem; font-weight: 950; }
.twe-lifecycle-stage.is-complete > span { color: #fff; border-color: var(--hub-green); background: var(--hub-green); }
.twe-lifecycle-stage.is-active > span { color: var(--hub-purple); border-color: var(--twe-gold); background: var(--twe-gold-light); box-shadow: 0 0 0 5px rgba(200,164,91,.13); }
.twe-lifecycle-stage.is-attention > span { color: #fff; border-color: var(--hub-red); background: var(--hub-red); box-shadow: 0 0 0 5px rgba(161,60,79,.11); }
.twe-lifecycle-stage.is-waiting > span { border-style: dashed; }
.twe-lifecycle-stage > div { display: grid; }
.twe-lifecycle-stage strong { color: var(--hub-purple); font-size: .72rem; }
.twe-lifecycle-stage small { margin-top: 2px; color: #8a8287; font-size: .61rem; line-height: 1.3; }

.twe-lifecycle-event-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: rgba(37,16,47,.09); }
.twe-lifecycle-event-metrics article { min-height: 142px; display: flex; flex-direction: column; justify-content: center; padding: 22px 24px; background: #fffdf8; }
.twe-lifecycle-event-metrics article > span { color: #80787e; font-size: .65rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.twe-lifecycle-event-metrics article > strong { margin: 6px 0; color: var(--hub-purple); font-family: var(--twe-serif); font-size: 2rem; font-weight: 400; line-height: 1; }
.twe-lifecycle-event-metrics article > strong small { font-family: var(--twe-sans); font-size: .68rem; font-weight: 800; }
.twe-lifecycle-event-metrics article p { margin: 0; color: #817a7d; font-size: .72rem; }
.twe-lifecycle-event-metrics article i { height: 5px; overflow: hidden; margin: 4px 0 8px; border-radius: 999px; background: #e9e1e7; }
.twe-lifecycle-event-metrics article i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--hub-purple-soft),var(--twe-gold)); }

.twe-lifecycle-event-attention { border-top: 1px solid rgba(37,16,47,.08); background: #fff8f0; }
.twe-lifecycle-event-attention summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 17px 24px; cursor: pointer; list-style: none; }
.twe-lifecycle-event-attention summary::-webkit-details-marker { display: none; }
.twe-lifecycle-event-attention summary > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--hub-red); font-weight: 950; }
.twe-lifecycle-event-attention summary strong { color: var(--hub-red); font-size: .82rem; }
.twe-lifecycle-event-attention summary small { color: #7f7477; font-size: .7rem; font-weight: 900; }
.twe-lifecycle-event-attention > div { display: grid; gap: 1px; border-top: 1px solid rgba(161,60,79,.1); background: rgba(161,60,79,.08); }
.twe-lifecycle-event-attention > div > a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 15px 24px; background: #fffdf8; }
.twe-lifecycle-event-attention > div > a > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--hub-purple); font-size: .68rem; font-weight: 950; }
.twe-lifecycle-event-attention > div > a.is-error > span { background: var(--hub-red); }
.twe-lifecycle-event-attention > div > a.is-warning > span { background: var(--hub-amber); }
.twe-lifecycle-event-attention > div > a p { display: grid; margin: 0; }
.twe-lifecycle-event-attention > div > a p strong { color: var(--hub-purple); font-size: .78rem; }
.twe-lifecycle-event-attention > div > a p small { margin-top: 2px; color: #7d7579; font-size: .69rem; }
.twe-lifecycle-event-attention > div > a > b { color: var(--hub-purple); font-size: .7rem; white-space: nowrap; }

.twe-lifecycle-tool-dock { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; padding: 18px 24px; border-top: 1px solid rgba(37,16,47,.08); background: #f6f0e8; }
.twe-lifecycle-tool-dock > span { color: #777075; font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.twe-lifecycle-tool-dock > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.twe-lifecycle-tool-dock a { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 12px; border: 1px solid rgba(37,16,47,.1); border-radius: 999px; color: var(--hub-purple); background: #fffdf8; font-size: .69rem; font-weight: 900; }
.twe-lifecycle-tool-dock a:hover { border-color: rgba(200,164,91,.7); }
.twe-lifecycle-tool-dock a i { color: var(--twe-gold-dark); font-style: normal; font-size: .62rem; }

.twe-lifecycle-empty { max-width: 760px; margin: 40px auto; padding: 58px 44px; border: 1px solid rgba(37,16,47,.1); border-radius: 28px; text-align: center; background: #fffdf8; box-shadow: 0 20px 55px rgba(37,16,47,.08); }
.twe-lifecycle-empty > span { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: var(--hub-purple); background: var(--twe-gold-light); font-size: 1.5rem; font-weight: 900; }
.twe-lifecycle-empty h2 { margin-bottom: 12px; color: var(--hub-purple); font-family: var(--twe-serif); font-size: clamp(2rem,4vw,3.4rem); font-weight: 400; line-height: 1; }
.twe-lifecycle-empty p { max-width: 580px; margin: 0 auto 25px; color: #746d72; }
.twe-lifecycle-no-results { padding: 50px 20px; text-align: center; }
.twe-lifecycle-no-results h3 { margin-bottom: 6px; color: var(--hub-purple); font-family: var(--twe-serif); font-size: 2rem; font-weight: 400; }
.twe-lifecycle-no-results p { color: #7d7579; }

@media (max-width: 1100px) {
	.twe-lifecycle-hero-grid { grid-template-columns: 1fr; }
	.twe-lifecycle-map { min-height: 390px; max-width: 680px; width: 100%; margin-inline: auto; }
	.twe-lifecycle-scorecards { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.twe-lifecycle-event-summary { grid-template-columns: 180px minmax(0,1fr); }
	.twe-lifecycle-overall-progress { grid-column: 1 / -1; display: grid; grid-template-columns: auto auto 1fr; align-items: center; justify-items: start; gap: 8px; }
	.twe-lifecycle-overall-progress i { width: 100%; }
	.twe-lifecycle-stage-track { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px 0; }
	.twe-lifecycle-stage:nth-child(4)::after { display: none; }
	.twe-lifecycle-stage:nth-child(n+5)::before { content: ""; }
	.twe-lifecycle-event-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.twe-lifecycle-tool-dock { grid-template-columns: 1fr; }
	.twe-lifecycle-tool-dock > div { justify-content: flex-start; }
}

@media (max-width: 782px) {
	body.twe-lifecycle-site .twe-section { padding: 58px 0; }
	.twe-lifecycle-hero { min-height: auto; padding: 128px 0 75px; }
	.twe-lifecycle-hero-copy h1 { font-size: clamp(3rem,13vw,5.2rem); }
	.twe-lifecycle-map { min-height: 365px; padding-inline: 0; }
	.twe-lifecycle-map span { top: calc(42px + (var(--step) * 46px)); }
	.twe-lifecycle-map span b { width: 120px; font-size: .61rem; }
	.twe-lifecycle-map span i { width: 37px; height: 37px; }
	.twe-lifecycle-map-line { top: 61px; bottom: 61px; }
	.twe-lifecycle-overview { margin-top: -30px; }
	.twe-lifecycle-overview .twe-container { padding: 28px 20px; border-radius: 26px; }
	.twe-lifecycle-overview-head, .twe-lifecycle-section-head { align-items: flex-start; flex-direction: column; }
	.twe-lifecycle-safety { max-width: none; width: 100%; }
	.twe-lifecycle-scorecards { grid-template-columns: 1fr 1fr; }
	.twe-lifecycle-scorecards article { min-height: 130px; padding: 18px; }
	.twe-lifecycle-scorecards strong { font-size: 2.45rem; }
	.twe-lifecycle-approval-strip { grid-template-columns: auto 1fr; }
	.twe-lifecycle-approval-strip > b { grid-column: 2; }
	.twe-lifecycle-attention-item { grid-template-columns: auto 1fr; }
	.twe-lifecycle-attention-item > b { grid-column: 2; }
	.twe-lifecycle-search { width: 100%; }
	.twe-lifecycle-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
	.twe-lifecycle-filters::-webkit-scrollbar { display: none; }
	.twe-lifecycle-filters button { flex: 0 0 auto; }
	.twe-lifecycle-event-card { border-radius: 24px; }
	.twe-lifecycle-event-summary { grid-template-columns: 1fr; padding: 18px; }
	.twe-lifecycle-event-image { height: 190px; }
	.twe-lifecycle-overall-progress { grid-template-columns: auto auto 1fr; grid-column: auto; }
	.twe-lifecycle-next-action { grid-template-columns: 1fr; padding: 24px 20px; }
	.twe-lifecycle-next-action .twe-btn { width: 100%; }
	.twe-lifecycle-stage-track { display: flex; overflow-x: auto; gap: 0; padding: 22px 14px; scroll-snap-type: x proximity; }
	.twe-lifecycle-stage { min-width: 132px; scroll-snap-align: start; }
	.twe-lifecycle-stage:not(:last-child)::after { left: calc(50% + 22px); right: calc(-50% + 22px); }
	.twe-lifecycle-event-metrics { grid-template-columns: 1fr 1fr; }
	.twe-lifecycle-event-metrics article { min-height: 128px; padding: 18px; }
	.twe-lifecycle-event-attention > div > a { grid-template-columns: auto 1fr; padding: 14px 18px; }
	.twe-lifecycle-event-attention > div > a > b { grid-column: 2; }
	.twe-lifecycle-tool-dock { padding: 18px; }
	.twe-lifecycle-tool-dock > div { display: grid; grid-template-columns: 1fr 1fr; }
	.twe-lifecycle-tool-dock a { justify-content: center; border-radius: 14px; }
}

@media (max-width: 520px) {
	.twe-lifecycle-scorecards { grid-template-columns: 1fr; }
	.twe-lifecycle-event-metrics { grid-template-columns: 1fr; }
	.twe-lifecycle-tool-dock > div { grid-template-columns: 1fr; }
	.twe-lifecycle-map span b { width: 92px; font-size: .55rem; }
	.twe-lifecycle-map span:nth-of-type(even) { padding-right: calc(50% - 18px); }
	.twe-lifecycle-map span { padding-left: calc(50% - 18px); }
	.twe-lifecycle-empty { padding: 42px 22px; }
}

/* v1.21.83 — soften the Live / Event Day filter so it stays active without reading nearly black. */
.twe-lifecycle-filters button[data-lifecycle-filter="live"].is-active{color:#fff;border-color:#7b4a86;background:#7b4a86}
.twe-lifecycle-filters button[data-lifecycle-filter="live"].is-active span{color:#5b2c64;background:#f5e6b8}
