/* The component library (ARCHITECTURE 14.4, 14.5; Admin 1 Components).

   Every selector starts with a scope class, written once as
   :is(.gc-admin, .gc-portal, .gc-range) so a component looks the same on
   every surface, then a gc- class. Values are the tokens; the numbers that
   remain are the frames' own sizes. One block per component, in C order. */

/* ---------- Shared pieces: text, labels, cards, buttons, pills ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-label {
	font: var(--type-data);
	font-size: 11px;
	letter-spacing: .14em;
	color: var(--slate-500);
	text-transform: uppercase;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-text { font: 400 13.5px/1.45 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-meta { font: 500 11px/1.4 var(--font-mono); color: var(--slate-500); padding-top: 4px; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
	overflow: hidden;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-card--pad { padding: 14px 16px; overflow: visible; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-card--navy { background: var(--navy-900); border-color: var(--navy-900); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid transparent;
	border-radius: var(--gc-radius);
	font: 700 13.5px/1 var(--font-body);
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
}
/* A button's colors, and every color rule below for a class a portal button
   or link wears, carry a twin under #gc-portal (the portal's root,
   Ui\Portal\Router::ROOT_ID): inside the club's theme, a rule that outranks
   one class (Twenty Twenty-One's button:not(:hover):not(:active):not(.has-background))
   would otherwise paint them (decision m10_themes 4). The twins rank among
   themselves as the rules they copy. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn, #gc-portal .gc-btn { background: var(--white); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn:hover { text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--primary { border-color: var(--action-primary); padding: 0 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--primary, #gc-portal .gc-btn--primary { background: var(--action-primary); color: var(--action-on-primary, var(--white)); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--primary:hover { border-color: var(--action-primary-hover); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--primary:hover, #gc-portal .gc-btn--primary:hover { background: var(--action-primary-hover); color: var(--action-on-primary, var(--white)); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--secondary { border-color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--secondary, #gc-portal .gc-btn--secondary { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--secondary:hover, #gc-portal .gc-btn--secondary:hover { color: var(--navy-900); background: var(--paper); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--quiet { border-color: var(--line-strong); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--quiet, #gc-portal .gc-btn--quiet { color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--quiet:hover { border-color: var(--slate-400); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--quiet:hover, #gc-portal .gc-btn--quiet:hover { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--on-dark { border-color: var(--on-dark-line); font-weight: 600; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--on-dark, #gc-portal .gc-btn--on-dark { background: transparent; color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--on-dark:hover, #gc-portal .gc-btn--on-dark:hover { background: var(--on-dark-hover); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--banner { border-color: currentColor; color: inherit; font-size: 13px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--lg { height: 42px; padding: 0 16px; font-size: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--sm { height: 34px; padding: 0 12px; font-size: 13px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn--xs { height: 30px; padding: 0 12px; font-size: 12.5px; font-weight: 600; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn[disabled], :is(.gc-admin, .gc-portal, .gc-range) .gc-btn[aria-busy="true"] { opacity: .55; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn[aria-busy="true"] { cursor: progress; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-iconbtn {
	width: 34px;
	height: 34px;
	flex: none;
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
	background: var(--white);
	color: var(--slate-700);
}

:is(.gc-admin, .gc-portal, .gc-range) .gc-pill {
	height: 28px;
	padding: 0 12px;
	border: 1px solid var(--line-strong);
	border-radius: var(--gc-radius-pill);
	font: 600 12px/26px var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-pill, #gc-portal .gc-pill { background: var(--white); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pill.is-current { border-color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pill.is-current, #gc-portal .gc-pill.is-current { background: var(--navy-900); color: var(--white); }

/* Custom dropdown over links or options (README: white, 10px radius,
   #BFC8D6 border, chevron, menu shadow, a check on the picked option). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu { position: relative; display: inline-flex; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0 10px 0 12px;
	border: 1px solid var(--line-strong);
	border-radius: var(--gc-radius);
	background: var(--white);
	color: var(--slate-700);
	font: 600 13px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__button--sm { height: 28px; padding: 0 6px 0 8px; border-radius: var(--gc-radius-small); font-size: 12.5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__list {
	position: absolute;
	z-index: 30;
	top: calc(100% + 6px);
	left: 0;
	min-width: 200px;
	display: grid;
	gap: 2px;
	padding: 6px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
	box-shadow: var(--gc-shadow-menu);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__list--up { top: auto; bottom: calc(100% + 6px); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__list--end { left: auto; right: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__option {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px 8px 28px;
	border-radius: var(--gc-radius-small);
	color: var(--slate-700);
	font: 600 13px/1.2 var(--font-body);
	cursor: pointer;
	position: relative;
	white-space: nowrap;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__option:hover,
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__option:focus-visible { background: var(--paper); color: var(--navy-900); text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) [aria-selected="true"] > .gc-menu__option,
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__option[aria-selected="true"] { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) [aria-selected="true"] > .gc-menu__option::before,
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__option[aria-selected="true"]::before { content: "\2713"; position: absolute; left: 10px; color: var(--red-500); font-weight: 700; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__check { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: var(--gc-radius-small); font: 600 13px/1.2 var(--font-body); color: var(--slate-700); cursor: pointer; white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__check:hover { background: var(--paper); }

/* Form fields used by the dialog (C8 grows this in M2). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-field { display: grid; gap: 7px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__label { font: 600 13px/1 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__req { color: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__textarea {
	width: 100%;
	min-height: 70px;
	padding: 10px 12px;
	border: 1px solid var(--line-strong);
	border-radius: var(--gc-radius);
	background: var(--white);
	color: var(--text-strong);
	font: 400 16px/1.4 var(--font-body);
	resize: none;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-field.has-error .gc-field__textarea { border-color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__help { font: 400 12px/1.4 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__error { font: 600 12.5px/1.4 var(--font-body); color: var(--gc-error); }

/* ---------- C1 Admin chrome ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-header {
	background: var(--white);
	border-bottom: 1px solid var(--line);
	padding: 12px 24px;
	display: flex;
	align-items: center;
	gap: 14px;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__title { display: grid; gap: 4px; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__eyebrow {
	font: 500 10px/1 var(--font-mono);
	letter-spacing: .14em;
	color: var(--slate-500);
	text-transform: uppercase;
	white-space: nowrap;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__heading { font: 700 26px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-search {
	margin-left: 24px;
	flex: 1;
	max-width: 460px;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 40px;
	padding: 0 12px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
	color: var(--slate-500);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-search:focus-within { outline: var(--gc-focus); outline-offset: var(--gc-focus-offset); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-search .gc-search__input {
	flex: 1;
	min-width: 0;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--navy-900);
	font: 400 16px/1 var(--font-body);
	outline: none;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-search__input::placeholder { color: var(--slate-500); opacity: 1; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-search__key {
	font: 500 11px/1 var(--font-mono);
	border: 1px solid var(--line-strong);
	border-radius: var(--gc-radius-tag);
	padding: 3px 5px;
	background: transparent;
	color: var(--slate-500);
	box-shadow: none;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__attention {
	margin-left: auto;
	position: relative;
	width: 40px;
	height: 40px;
	flex: none;
	display: grid;
	place-items: center;
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
	background: var(--white);
	color: var(--slate-700);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__action { margin-left: auto; flex: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__action + .gc-header__attention { margin-left: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__attention:hover { color: var(--navy-900); border-color: var(--line-strong); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__count {
	position: absolute;
	top: -5px;
	right: -5px;
	padding: 3px 5px;
	border-radius: var(--gc-radius-pill);
	background: var(--red-500);
	color: var(--white);
	font: 700 10px/1 var(--font-mono);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__club {
	height: 40px;
	max-width: 260px;
	padding: 0 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
	background: var(--white);
	color: var(--slate-700);
	font: 600 13px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__club-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) button.gc-header__club { cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-header__staff {
	font: 500 10px/1 var(--font-mono);
	color: var(--red-700);
	background: var(--red-tint);
	padding: 3px 5px;
	border-radius: var(--gc-radius-tag);
}

:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs {
	background: var(--white);
	border-bottom: 1px solid var(--line);
	padding: 0 24px;
	display: flex;
	gap: 4px;
	overflow-x: auto;
	scrollbar-width: thin;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs__tab {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 13px 12px;
	color: var(--slate-600);
	font: 600 14px/1 var(--font-body);
	white-space: nowrap;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs__tab:hover { color: var(--navy-900); text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs__tab.is-current { color: var(--navy-900); box-shadow: inset 0 -3px 0 var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs__tab:focus-visible { outline-offset: -3px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs__tab.is-later { color: var(--slate-400); cursor: default; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs__badge {
	font: 700 10.5px/1 var(--font-mono);
	background: var(--navy-900);
	color: var(--white);
	padding: 3px 6px;
	border-radius: var(--gc-radius-pill);
}

:is(.gc-admin, .gc-portal, .gc-range) .gc-crumbs {
	background: var(--white);
	border-bottom: 1px solid var(--line);
	padding: 10px 24px;
	display: flex;
	align-items: center;
	gap: 10px;
	font: 600 13px/1.4 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-crumbs__sep { color: var(--slate-400); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-crumbs__here { color: var(--slate-700); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-notices:not(:empty) { padding: 18px 24px 0; display: grid; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-body { padding: 20px 24px 26px; display: grid; gap: 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-body > * { min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-noscript { margin: 18px 24px 0; font: 600 14px/1.5 var(--font-body); color: var(--gc-error); }

/* ---------- C3 Data table ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-table { position: relative; display: flex; flex-direction: column; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__scroll { overflow: auto; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__grid { width: 100%; min-width: 900px; table-layout: fixed; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--check { width: 40px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--xs { width: 80px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--s { width: 96px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--sm { width: 100px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--m { width: 110px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--l { width: 120px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--xl { width: 160px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--xxl { width: 190px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--xxxl { width: 220px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-col--wide { width: 30%; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 11px 8px;
	background: var(--paper);
	border-bottom: 1px solid var(--line);
	color: var(--slate-600);
	font: 600 11.5px/1 var(--font-body);
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: left;
	white-space: nowrap;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-table th.is-sorted, :is(.gc-admin, .gc-portal, .gc-range) .gc-table th.is-sorted a, #gc-portal .gc-table th.is-sorted, #gc-portal .gc-table th.is-sorted a { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__sort { color: inherit; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__sort:hover { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table .is-right { text-align: right; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table .gc-table__check { width: 40px; padding: 9px 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table thead .gc-table__check { padding: 11px 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__row { border-bottom: 1px solid var(--line-soft); background: var(--white); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__row:hover, :is(.gc-admin, .gc-portal, .gc-range) .gc-table__row.is-current { background: var(--paper); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__row.is-selected { background: var(--gc-row-selected); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__td {
	padding: 9px 8px;
	color: var(--slate-700);
	font: 400 13.5px/1.2 var(--font-body);
	vertical-align: middle;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell--name { display: grid; gap: 2px; min-width: 0; white-space: normal; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell__name { font: 600 14px/1.2 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) a.gc-cell__name:hover { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell__sub { font: 400 12px/1.2 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell--mono { font: 500 12.5px/1.2 var(--font-mono); }
:is(.gc-admin, .gc-portal, .gc-range) .is-right .gc-cell--mono { font-size: 13px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell--alert { color: var(--gc-error); font-weight: 700; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell--muted { color: var(--slate-500); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-bulkbar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 14px;
	background: var(--navy-900);
	color: var(--white);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-bulkbar__count { font: 700 13px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-bulkbar__all { font: 500 12.5px/1 var(--font-body); color: var(--on-dark-3); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-bulkbar__all:hover { color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-bulkbar__actions { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-bulkbar .gc-btn { height: 32px; font-size: 12.5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-bulkbar .gc-btn--primary { padding: 0 14px; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-table__foot {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	padding: 9px 14px;
	border-top: 1px solid var(--line);
	color: var(--slate-600);
	font: 400 13px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__range b { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__rows { display: flex; align-items: center; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__rows-button {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 26px;
	padding: 0 6px;
	border: 1px solid var(--line-strong);
	border-radius: var(--gc-radius-small);
	background: var(--white);
	color: var(--navy-900);
	font: 500 13px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__rows .gc-menu__list { min-width: 90px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pages { margin-left: auto; display: flex; gap: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pages__page {
	min-width: 30px;
	height: 30px;
	padding: 0 6px;
	display: grid;
	place-items: center;
	border: 1px solid var(--line);
	border-radius: var(--gc-radius-small);
	background: var(--white);
	color: var(--slate-700);
	font: 400 13px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-pages__page:hover { text-decoration: none; border-color: var(--line-strong); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pages__page.is-current { background: var(--navy-900); border-color: var(--navy-900); color: var(--white); font-weight: 600; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pages__page.is-off { color: var(--slate-300); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-tablestate { display: grid; gap: 10px; justify-items: start; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__scroll > .gc-tablestate { padding: 18px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tablestate--loading { justify-items: stretch; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tablestate__text { font: 600 14px/1.4 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tablestate__note { font: 400 12.5px/1.4 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-skeleton { height: 12px; border-radius: var(--gc-radius-tag); background: var(--surface-muted); animation: gc-pulse-dot 1.6s ease-in-out infinite; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-skeleton--80 { width: 80%; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-skeleton--90 { width: 90%; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-skeleton--70 { width: 70%; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress {
	width: 100%;
	height: 8px;
	appearance: none;
	border: 0;
	border-radius: var(--gc-radius-pill);
	background: var(--surface-muted);
	overflow: hidden;
	color: var(--red-500);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress::-webkit-progress-bar { background: var(--surface-muted); border-radius: var(--gc-radius-pill); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress::-webkit-progress-value { background: var(--red-500); border-radius: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress::-moz-progress-bar { background: var(--red-500); }

/* ---------- C4 Filter bar ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--line-soft);
	background: var(--white);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__view {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 34px;
	padding: 0 12px;
	border: 1px solid var(--line-strong);
	border-radius: var(--gc-radius);
	background: var(--white);
	color: var(--slate-700);
	font: 600 13px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__view b { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__rule { width: 1px; height: 22px; margin: 0 4px; background: var(--line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 30px;
	padding: 0 6px 0 12px;
	border-radius: var(--gc-radius-pill);
	background: var(--navy-900);
	color: var(--white);
	font: 600 12.5px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__chip:hover { color: var(--white); text-decoration: none; background: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__x { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--on-dark-hover); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__add {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 12px;
	border: 1px dashed var(--slate-400);
	border-radius: var(--gc-radius-pill);
	color: var(--slate-700);
	font: 600 12.5px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__add:hover { color: var(--navy-900); text-decoration: none; border-color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__clear { margin-left: 4px; font: 600 12.5px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__quick { margin-left: auto; display: flex; flex-wrap: wrap; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__pill {
	height: 30px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: var(--gc-radius-pill);
	background: var(--paper);
	color: var(--slate-700);
	font: 600 12px/28px var(--font-body);
	white-space: nowrap;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__pill:hover { color: var(--navy-900); border-color: var(--line-strong); text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__pill.is-current { background: var(--navy-900); border-color: var(--navy-900); color: var(--white); }

/* ---------- C5 Record drawer ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer { position: fixed; inset: 0; z-index: 100000; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__scrim { position: absolute; inset: 0; background: var(--gc-overlay); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 420px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	background: var(--white);
	border-left: 1px solid var(--line);
	box-shadow: var(--gc-shadow-drawer);
	outline: none;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer--inline { position: relative; inset: auto; z-index: auto; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer--inline .gc-drawer__panel { position: relative; height: 100%; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border-bottom: 1px solid var(--line-soft);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__initials {
	width: 52px;
	height: 52px;
	flex: none;
	display: grid;
	place-items: center;
	border-radius: var(--gc-radius);
	background: var(--navy-800);
	color: var(--white);
	font: 700 20px/1 var(--font-display);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__who { flex: 1; min-width: 0; display: grid; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__name { font: 700 24px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__line { display: flex; align-items: center; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__number { font: 500 11px/1 var(--font-mono); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__body { padding: 18px 20px; display: grid; gap: 14px; align-content: start; overflow: auto; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__sentence { font: 400 15px/1.55 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__body .gc-pairs { font-size: 13.5px; line-height: 1.35; gap: 10px 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__body .gc-pairs--2 { grid-template-columns: 1fr 1fr; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__body .gc-pairs dd { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__actions .gc-btn { font-size: 13.5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__link { font: 600 14px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__loading { padding: 24px 20px; display: grid; gap: 10px; }

/* ---------- C6 Profile layout and panels ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-profile { display: grid; gap: 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__head {
	display: grid;
	grid-template-columns: 84px 1fr auto;
	gap: 18px;
	align-items: center;
	padding: 18px 20px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__photo { width: 84px; height: 100px; border-radius: var(--gc-radius); object-fit: cover; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__photo--empty {
	display: grid;
	place-items: center;
	background: repeating-linear-gradient(135deg, var(--surface-muted) 0 6px, var(--paper) 6px 12px);
	color: var(--slate-400);
	font: 500 10px/1 var(--font-mono);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__who { display: grid; gap: 8px; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__line { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__name { font: 700 36px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__number { font: 500 12px/1 var(--font-mono); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__sentence { max-width: 74ch; font: 400 16px/1.5 var(--font-body); color: var(--slate-700); text-wrap: pretty; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__actions { display: flex; gap: 8px; align-self: start; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__cols { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__main, :is(.gc-admin, .gc-portal, .gc-range) .gc-profile__side { display: grid; gap: 12px; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-row3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 16px;
	border: 1px solid;
	border-radius: var(--gc-radius);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-banner__text { font: 400 14px/1.5 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-banner__actions { display: flex; gap: 8px; flex: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-banner--info { background: var(--gc-info-tint); color: var(--gc-banner-info-ink); border-color: var(--gc-banner-info-line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-banner--bad { background: var(--red-tint); color: var(--gc-banner-bad-ink); border-color: var(--gc-banner-bad-line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-banner--wait { background: var(--amber-tint); color: var(--gc-banner-wait-ink); border-color: var(--gc-banner-wait-line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-banner--done { background: var(--surface-muted); color: var(--gc-banner-done-ink); border-color: var(--gc-banner-done-line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-banner .gc-btn--banner:hover { color: inherit; background: var(--paper-white); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); overflow: hidden; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__heading { margin: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border: 0;
	background: var(--white);
	color: var(--navy-900);
	text-align: left;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__toggle:focus-visible { outline-offset: -3px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__title { font: 700 18px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__state { font: 600 13px/1 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__heading--fixed { padding: 14px 16px 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__body { padding: 4px 16px 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__heading--fixed + .gc-panel__body { padding-top: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel--small .gc-panel__heading--fixed { padding: 12px 16px 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel--small .gc-panel__body { padding: 6px 16px 12px; }
/* A header with actions (Club roles' Give a role, Admin 18 frame 3r): the toggle or title takes the row, the buttons stand at its right. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__head { display: flex; align-items: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__head > .gc-panel__heading { flex: 1; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__head .gc-panel__toggle { padding-right: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__actions { flex: none; padding-right: 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__head:has(> .gc-panel__heading--fixed) { align-items: end; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-panel__head:has(> .gc-panel__heading--fixed) + .gc-panel__body { padding-top: 10px; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs { display: grid; gap: 10px 14px; font: 400 14px/1.45 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs--1 { grid-template-columns: 1fr; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs--2 { grid-template-columns: 150px 1fr; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs--4 { grid-template-columns: 150px 1fr 150px 1fr; line-height: 1.4; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs__pair { display: contents; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs dt { color: var(--slate-500); font-weight: 400; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs dd { margin: 0; color: var(--navy-900); min-width: 0; overflow-wrap: anywhere; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs dd.is-mono { font-family: var(--font-mono); font-size: 13px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs dd.is-alert { color: var(--gc-error); font-weight: 700; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs dd.is-wide { grid-column: 2 / -1; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs dt.is-control { align-self: center; }

/* Frame S4b, "Club news emails": on the profile, the portal's approved switch row as a card (Member 1 Portal, 25's Renew automatically); on the record, the switch and its help across the row. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-clubnews--card { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--gc-radius); background: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-clubnews__name { font: 600 14px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-clubnews--card .gc-clubnews__help { grid-column: 1 / -1; font: 400 12.5px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-clubnews--row { display: flex; gap: 12px; align-items: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-clubnews--row .gc-clubnews__help { font: 400 12.5px/1.4 var(--font-body); color: var(--slate-500); }

/* ---------- C7 Status chip ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 24px;
	padding: 0 10px;
	border-radius: var(--gc-radius-pill);
	font: 700 12px/1 var(--font-body);
	white-space: nowrap;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip__dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: currentColor; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--good { background: var(--gc-green-tint); color: var(--gc-green-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--good .gc-chip__dot { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--wait { background: var(--amber-tint); color: var(--gc-amber-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--wait .gc-chip__dot { background: var(--amber-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--bad { background: var(--red-tint); color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--bad .gc-chip__dot { background: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--done { background: var(--surface-muted); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--done .gc-chip__dot { background: var(--slate-400); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--info { background: var(--gc-info-tint); color: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--info .gc-chip__dot { background: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--good { background: var(--gc-dark-good-tint); color: var(--gc-dark-good-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--good .gc-chip__dot { background: var(--green-live); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--wait { background: var(--gc-dark-wait-tint); color: var(--gc-dark-wait-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--wait .gc-chip__dot { background: var(--gc-dark-wait-dot); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--bad { background: var(--gc-dark-bad-tint); color: var(--gc-dark-bad-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--bad .gc-chip__dot { background: var(--gc-dark-bad-dot); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--done { background: var(--gc-dark-done-tint); color: var(--on-dark-3); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--done .gc-chip__dot { background: var(--on-dark-6); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--info { background: var(--gc-dark-info-tint); color: var(--gc-dark-info-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-chip--dark.gc-chip--info .gc-chip__dot { background: var(--on-dark-3); }

/* ---------- C9 Step sequence ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step { position: relative; display: grid; gap: 8px; justify-items: center; align-content: start; text-align: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step + .gc-steps__step::before {
	content: "";
	position: absolute;
	top: 14px;
	right: 50%;
	width: 100%;
	height: 2px;
	background: var(--line);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step.after-done::before { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__dot {
	position: relative;
	z-index: 1;
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--navy-900);
	color: var(--white);
	font: 700 13px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step--done .gc-steps__dot { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step--current .gc-steps__dot { background: var(--navy-900); box-shadow: var(--gc-ring-current); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step--waiting-applicant .gc-steps__dot { background: var(--amber-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step--waiting-club .gc-steps__dot { background: var(--white); color: var(--navy-800); border: 2px solid var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step--blocked .gc-steps__dot { background: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__label { font: 600 13px/1.25 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__sub { font: 400 12px/1.3 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step--blocked .gc-steps__sub { color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--line-soft);
	color: var(--slate-600);
	font: 400 12.5px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__legend li { display: flex; align-items: center; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__key { width: 12px; height: 12px; border-radius: 50%; background: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__key--done { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__key--waiting-applicant { background: var(--amber-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__key--waiting-club { background: var(--white); border: 2px solid var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__key--blocked { background: var(--red-500); }

/* ---------- C26 Checklist ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist { display: grid; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__title { font: 700 18px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__count { font: 500 12px/1 var(--font-mono); color: var(--slate-600); white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__sub { font: 400 13px/1.4 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__item { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; margin: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__box {
	width: 22px;
	height: 22px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 2px solid var(--slate-400);
	border-radius: var(--gc-radius-small);
	background: var(--white);
	color: var(--white);
	font: 700 12px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) button.gc-checklist__box { cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) button.gc-checklist__box:hover { border-color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__item.is-done .gc-checklist__box { border: 0; background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__item.is-locked .gc-checklist__box { border-color: var(--line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__words { display: grid; gap: 2px; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__text { font: 600 13.5px/1.35 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__item.is-done .gc-checklist__text { font-weight: 400; color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__item.is-locked .gc-checklist__text { color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__meta { font: 400 12px/1.3 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist--rules { gap: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist--rules .gc-checklist__title { font-size: 20px; margin-bottom: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist--rules .gc-checklist__sub { margin-bottom: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist--rules .gc-checklist__list { gap: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist--rules .gc-checklist__item { grid-template-columns: 24px minmax(0, 1fr); padding: 10px 0; border-top: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist--rules .gc-checklist__item.is-done .gc-checklist__text { font-weight: 500; text-decoration: line-through; text-decoration-color: var(--slate-300); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-checklist__foot { display: grid; gap: 6px; padding-top: 4px; }

/* ---------- C10 Money display ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-money { font-family: var(--font-mono); font-weight: 600; color: var(--navy-900); text-align: right; white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-money--md { font-size: 15px; line-height: 1.3; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-money--sm { font-size: 13px; font-weight: 500; line-height: 1.2; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-money--neg { color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-moneylist__row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 14px;
	padding: 13px 16px;
	border-bottom: 1px solid var(--line-soft);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-moneylist__what { font: 600 14px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-moneylist__meta { font: 400 12.5px/1.4 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-moneylist__end { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-moneylist__link { font: 600 12.5px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-moneylist__card { padding: 12px 16px; background: var(--paper); color: var(--slate-600); font: 400 12.5px/1.5 var(--font-body); }

/* ---------- C11 Timeline ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__kinds { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__item { display: grid; grid-template-columns: 14px 1fr; gap: 12px; padding-bottom: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__rail { display: flex; flex-direction: column; align-items: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__rail::after { content: ""; flex: 1; width: 2px; min-height: 30px; background: var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__dot { width: 12px; height: 12px; flex: none; margin-top: 3px; border-radius: 50%; background: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__dot--good { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__dot--bad { background: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__dot--wait { background: var(--amber-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__dot--done { background: var(--slate-400); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__body { display: grid; gap: 4px; align-content: start; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__what { font: 600 14px/1.35 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__diff { display: flex; align-items: center; gap: 8px; font: 500 12px/1 var(--font-mono); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__before { padding: 4px 6px; border-radius: var(--gc-radius-tag); background: var(--red-tint); color: var(--gc-error); text-decoration: line-through; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__after { padding: 4px 6px; border-radius: var(--gc-radius-tag); background: var(--gc-green-tint); color: var(--gc-green-ink); text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__who { font: 400 12px/1.3 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 2px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__title { font: 700 18px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline--compact .gc-timeline__list { display: grid; gap: 10px; margin-top: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline--compact .gc-timeline__item { grid-template-columns: 10px 1fr; gap: 10px; padding: 8px 0 0; border-top: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline--compact .gc-timeline__rail::after { content: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline--compact .gc-timeline__dot { width: 8px; height: 8px; margin-top: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline--compact .gc-timeline__body { gap: 3px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline--compact .gc-timeline__what { font-size: 13.5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline__detail { font: 400 12.5px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-timeline--compact .gc-timeline__who { font: 500 11px/1.3 var(--font-mono); }

/* ---------- C12 Empty state ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-empty {
	display: grid;
	gap: 12px;
	justify-items: center;
	padding: 34px 26px;
	text-align: center;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-empty__icon {
	width: 52px;
	height: 52px;
	display: grid;
	place-items: center;
	border-radius: 12px;
	background: var(--paper);
	color: var(--slate-600);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-empty__title { font: 700 22px/1.05 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-empty__text { max-width: 32ch; font: 400 14px/1.5 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-empty .gc-btn--lg { padding: 0 18px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-empty--compact { padding: 0; gap: 10px; justify-items: start; text-align: left; border: 0; background: transparent; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-empty--compact .gc-empty__title { font: 600 15px/1.4 var(--font-body); text-transform: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-empty--compact .gc-btn--sm { height: 36px; padding: 0 14px; font-weight: 700; }

/* ---------- C13 Confirm dialog ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog {
	width: min(520px, calc(100vw - 32px));
	padding: 0;
	border: 0;
	border-radius: var(--gc-radius-dialog);
	background: var(--white);
	color: var(--navy-900);
	box-shadow: var(--gc-shadow-dialog);
	overflow: hidden;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog::backdrop { background: var(--gc-overlay-dialog); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog--inline { width: auto; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog__head { display: grid; gap: 8px; padding: 20px 22px 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog__title { font: 700 24px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog__text { font: 400 14.5px/1.55 var(--font-body); color: var(--slate-700); }
/* A confirm with no sentence (Add a role, 18c's Remove from role) adds no gap under its title; a sentence put in by its script (cards.js, waitlist.js) shows. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog__text:empty { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog__reason { padding: 16px 22px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog__error { padding: 0 22px 14px; font: 600 13px/1.4 var(--font-body); color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog__foot {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	padding: 14px 22px;
	background: var(--paper);
	border-top: 1px solid var(--line-soft);
}

/* ---------- C14 Toast and inline result ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-toast {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	border-radius: var(--gc-radius);
	background: var(--navy-900);
	color: var(--white);
	box-shadow: var(--gc-shadow-toast);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-toast__mark {
	width: 22px;
	height: 22px;
	flex: none;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--green-600);
	font: 700 12px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-toast--bad .gc-toast__mark { background: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toast__spin {
	width: 22px;
	height: 22px;
	flex: none;
	border: 3px solid var(--on-dark-line);
	border-top-color: var(--white);
	border-radius: 50%;
	animation: gc-spin 1s linear infinite;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-toast__text { flex: 1; font: 500 14px/1.4 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toast__undo { padding: 0; border: 0; background: none; color: var(--on-dark-3); font: 600 13px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toast__undo:hover { color: var(--white); text-decoration: underline; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toasts {
	position: fixed;
	z-index: 100001;
	right: 24px;
	bottom: 24px;
	width: min(420px, calc(100vw - 32px));
	display: grid;
	gap: 10px;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-toasts:empty { display: none; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-result {
	display: grid;
	gap: 6px;
	padding: 13px 16px;
	background: var(--white);
	border: 1px solid var(--line);
	border-left-width: 4px;
	border-radius: var(--gc-radius);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-result--bad { border-color: var(--gc-error-line); border-left-color: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-result--wait { border-left-color: var(--amber-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-result__title { font: 700 14px/1.3 var(--font-body); color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-result__text { font: 400 13px/1.45 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-result__links { display: flex; flex-wrap: wrap; gap: 12px; font: 600 13px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-result__inline-link { font-weight: 600; }

/* ---------- Screen pieces for screens 1, 2, 3 and 6 (Admin 2 People) ---------- */

/* Actions and text links. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-links { display: flex; flex-wrap: wrap; gap: 14px; font: 600 13px/1.2 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-link, #gc-portal .gc-link { color: var(--text-link); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-link.is-off { cursor: not-allowed; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-link.is-off, #gc-portal .gc-link.is-off { color: var(--slate-400); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-link--button { padding: 0; border: 0; font: inherit; cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-link--button, #gc-portal .gc-link--button { background: transparent; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-btn[disabled] { cursor: not-allowed; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-caption { font: 400 12.5px/1.5 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-caption--body { font-size: 13px; line-height: 1.45; color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-text--lead { font-size: 14.5px; line-height: 1.5; color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell--warn { color: var(--gc-amber-ink); font-weight: 700; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell--chip { display: inline-grid; gap: 3px; justify-items: start; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell__remark { font: 600 11.5px/1.2 var(--font-body); color: var(--gc-amber-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell--links { display: flex; gap: 10px; flex-wrap: wrap; }
/* A link longer than its column (a file's name on 15b) is cut with an ellipsis; its title carries the whole name. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-cell--links > .gc-linkbtn { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-table__pagelabel { font: 500 12px/1 var(--font-mono); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dot--bad { background: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dot--wait { background: var(--amber-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dot--info { background: var(--navy-800); }

/* Cards with a heading row (Needs attention, Today and this week, Notes). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-card__title { margin: 0; font: 700 20px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-card--pad > .gc-card__title { font-size: 18px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-card__count { font: 500 12px/1 var(--font-mono); color: var(--slate-500); }

/* Dashboard tile. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile { display: grid; gap: 6px; padding: 14px 14px 12px; background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); color: var(--navy-900); text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile:hover { border-color: var(--line-strong); text-decoration: none; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile__label { font: 600 12px/1.2 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile__value { font: 700 40px/1 var(--font-display); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile__value.is-long { font-size: 30px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile__value.is-bad { color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile__sub { font: 400 12px/1.35 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile--w .gc-tile__sub { font-weight: 600; color: var(--gc-amber-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tile--b .gc-tile__sub { font-weight: 600; color: var(--gc-error); }

/* Callout: the broken banner and a group's renewal. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid; border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--stack { grid-template-columns: 1fr; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout__words { display: grid; gap: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--stack .gc-callout__words { gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout__title { font: 700 15px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout__title.is-display { font: 700 18px/1 var(--font-display); text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout__text { font: 400 14px/1.5 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--stack .gc-callout__text { font-size: 13.5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--bad { background: var(--red-tint); border-color: var(--gc-banner-bad-line); color: var(--gc-banner-bad-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--good { background: var(--gc-green-tint); border-color: var(--gc-green-line); color: var(--gc-green-deep); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--wait { background: var(--amber-tint); border-color: var(--gc-banner-wait-line); color: var(--gc-banner-wait-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--info { background: var(--gc-info-tint); border-color: var(--gc-banner-info-line); color: var(--gc-banner-info-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--bad .gc-btn--quiet { border-color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-callout--bad .gc-btn--quiet, #gc-portal .gc-callout--bad .gc-btn--quiet { color: var(--gc-banner-bad-ink); }

/* Needs attention. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__list { margin: 0; padding: 0; list-style: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__row { display: grid; grid-template-columns: 10px 1fr auto; gap: 12px; align-items: center; padding: 11px 16px; border-top: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__row:first-child { border-top: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__words { display: grid; gap: 3px; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__title { font: 600 14px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__text { font: 400 13px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__cta { font: 600 13px/1 var(--font-body); white-space: nowrap; }
/* A money item settled outside the site: Mark done beside Open (decision p10_s2gaps 6). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__row:has(.gc-attention__done) { grid-template-columns: 10px 1fr auto auto; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__done { padding: 0; border: 0; background: none; color: var(--slate-600); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__quiet { display: grid; gap: 6px; justify-items: start; padding: 26px 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__quiet-title { font: 600 15px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-attention__quiet-text { font: 400 13.5px/1.5 var(--font-body); color: var(--slate-600); }

/* Range strip. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-strip__item { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: var(--gc-radius); background: var(--paper); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-strip__name { font: 600 13.5px/1 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-strip__msg, :is(.gc-admin, .gc-portal, .gc-range) .gc-strip__none { font: 400 12.5px/1.2 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-strip__state { font: 600 12.5px/1 var(--font-body); color: var(--slate-600); min-width: 46px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-strip__end { margin-left: auto; display: flex; align-items: center; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-strip__note { font: 600 12.5px/1.2 var(--font-body); color: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-strip__note:empty { display: none; }

/* Today and this week. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-events__list { margin: 0; padding: 0; list-style: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-events__row { display: grid; grid-template-columns: 62px 1fr auto; gap: 12px; align-items: center; padding: 10px 16px; border-top: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-events__when { font: 500 12px/1.3 var(--font-mono); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-events__words { display: grid; gap: 2px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-events__name { font: 600 14px/1.25 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-events__sub { font: 400 12.5px/1.3 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-events__none { margin: 0; padding: 26px 16px; font: 400 13.5px/1.5 var(--font-body); color: var(--slate-600); }

/* A slot kept for v1.x. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-slot { display: grid; gap: 8px; padding: 14px; border: 1.5px dashed var(--line-strong); border-radius: var(--gc-radius); background: var(--gc-later-surface); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-slot__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-slot__label { font: 600 13px/1.2 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-slot__tag { padding: 4px 6px; border-radius: var(--gc-radius-tag); background: var(--surface-muted); color: var(--slate-600); font: 700 10.5px/1 var(--font-mono); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-slot__value { font: 700 40px/1 var(--font-display); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-slot__text { font: 400 12.5px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-slot--pill { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px; font: 600 13px/1 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-slot--pill .gc-slot__tag { padding: 3px 5px; font-size: 10px; }

/* Rows with a chip (C6 panels). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows--lines { gap: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows--lines .gc-rows__row { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows__name { font: 600 14px/1.25 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows__name.is-mono { font: 500 14px/1.2 var(--font-mono); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows__sub { font: 400 12px/1.35 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows__sub--wide { grid-column: 1 / -1; font-size: 12.5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows--boxed .gc-rows__row { display: grid; grid-template-columns: 200px 1fr auto; gap: 14px; align-items: center; padding: 10px 12px; border: 1px solid var(--line-soft); border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows__who { display: grid; gap: 3px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows__text { font: 400 13.5px/1.45 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows--people .gc-rows__row { display: grid; grid-template-columns: 180px 160px auto 1fr; gap: 12px; align-items: center; padding: 8px 10px; border-radius: var(--gc-radius); background: var(--paper); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows--people .gc-rows__row.is-current { background: var(--gc-row-selected); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows--people a.gc-rows__name:hover { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows__role { font: 400 13px/1.3 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-rows__note { font: 400 12.5px/1.4 var(--font-body); color: var(--gc-amber-ink); }

/* C10 Our orders beside processor charges. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney { display: grid; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__grid { border: 1px solid var(--line-soft); border-radius: var(--gc-radius); overflow: hidden; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__row { display: grid; grid-template-columns: 1fr 1fr; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__head { padding: 8px 12px; background: var(--paper); color: var(--slate-600); font: 700 11.5px/1.2 var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__head + .gc-pairsmoney__head, :is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__cell + .gc-pairsmoney__cell { border-left: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__cell { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-content: start; padding: 9px 12px; border-top: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__what { font: 600 13.5px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__ref { font: 500 12.5px/1.3 var(--font-mono); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__sub { font: 400 12px/1.35 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__sub--wide { grid-column: 1 / -1; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__cell .gc-chip { justify-self: end; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__cell .gc-money { justify-self: end; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__none { grid-template-columns: 1fr; color: var(--slate-500); font: 400 13px/1.4 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__asof { margin: 0; font: 400 12px/1.35 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__saved { font: 400 13.5px/1.4 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pairsmoney__foot .gc-actions { margin-left: auto; }

/* Notes (C6 right column). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-notes { display: grid; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-notes__form { display: grid; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-notes__box { height: 64px; min-height: 64px; resize: vertical; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-notes__save { justify-self: end; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-notes__note { display: grid; gap: 4px; padding-top: 8px; border-top: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-notes__text { margin: 0; font: 400 14px/1.45 var(--font-body); color: var(--slate-700); }

/* Bulk progress row. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-progressrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 10px 14px; border-radius: var(--gc-radius); background: var(--navy-900); color: var(--white); font: 600 12.5px/1.4 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progressrow[hidden] { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress--bulk { width: 200px; background: var(--on-dark-line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress--bulk::-webkit-progress-bar { background: var(--on-dark-line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress--bulk::-webkit-progress-value { background: var(--gc-progress-green); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress--bulk::-moz-progress-bar { background: var(--gc-progress-green); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progressrow__lines { flex-basis: 100%; margin: 0; padding-left: 18px; font-weight: 400; color: var(--on-dark-3); }

/* C8 inputs, selects and amounts (the dialogs' fields). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__input, :is(.gc-admin, .gc-portal, .gc-range) .gc-field__select {
	width: 100%;
	height: 44px;
	border: 1px solid var(--line-strong);
	border-radius: var(--gc-radius);
	background: var(--white);
	color: var(--text-strong);
	font: 400 16px/1 var(--font-body);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__input { padding: 0 12px; }
/* The C8 select (Admin 18, 18a and 18b), the import mapper's (Admin 12)
   and the board step's draw the frames' mark: --gc-select-chevron, its
   triangle 12px in from the right, the words stopping 10px short of it
   (padding-right 28px). wp-admin's forms.css and a theme draw their own
   arrow or none. */
:is(.gc-admin, .gc-portal, .gc-range) :is(.gc-field__select, .gc-mapper__select, .gc-onb-select) { appearance: none; background-image: var(--gc-select-chevron); background-repeat: no-repeat; background-position: right 12px center; background-size: 12px 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__select { padding: 0 28px 0 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__input.is-mono { font-family: var(--font-mono); font-weight: 500; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field.has-error .gc-field__input, :is(.gc-admin, .gc-portal, .gc-range) .gc-field.has-error .gc-field__select, :is(.gc-admin, .gc-portal, .gc-range) .gc-field.has-error .gc-field__money { border: 2px solid var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__money { display: flex; align-items: center; height: 44px; border: 1px solid var(--line-strong); border-radius: var(--gc-radius); overflow: hidden; background: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__unit { padding: 0 12px; align-self: stretch; display: grid; place-items: center; background: var(--paper); border-right: 1px solid var(--line); color: var(--slate-600); font: 500 15px/1 var(--font-mono); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__amount { flex: 1; min-width: 0; height: 100%; padding: 0 12px; border: 0; background: transparent; color: var(--text-strong); font: 500 16px/1 var(--font-mono); text-align: right; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field--wide { grid-column: 1 / -1; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog__fields { display: grid; gap: 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog--wide { width: min(720px, calc(100vw - 32px)); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dialog--wide .gc-dialog__fields { grid-template-columns: 1fr 1fr; gap: 16px 18px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__list--scroll { max-height: 360px; overflow-y: auto; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__sep { border-top: 1px solid var(--line-soft); margin-top: 4px; padding-top: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-menu__option--action { width: 100%; border: 0; background: transparent; text-align: left; }

/* ---------- Screen pieces for screen 14 and C21 (Admin 10 Messages) ---------- */

/* The automatic messages list. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table { width: 100%; border-collapse: collapse; table-layout: fixed; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table th { padding: 11px 8px; background: var(--paper); border-bottom: 1px solid var(--line); color: var(--slate-600); font: 600 11.5px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; text-align: left; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table th:first-child { padding-left: 14px; width: 30%; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table th:nth-child(2) { width: auto; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table th:nth-child(3) { width: 90px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table th:nth-child(4) { width: 150px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table th:nth-child(5) { width: 90px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table td { padding: 10px 8px; border-bottom: 1px solid var(--gc-row-rule); vertical-align: middle; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table td:first-child { padding-left: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__message { display: grid; gap: 2px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__name { font: 600 14px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__kind { font: 400 12px/1.3 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__when { font: 400 13px/1.4 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__last { font: 500 12.5px/1.3 var(--font-mono); color: var(--slate-700); white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__edit .gc-link { font: 600 13px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__foot { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding: 10px 14px; background: var(--gc-later-surface); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__add { padding: 0; border: 0; font: 600 13px/1.3 var(--font-body); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__add, #gc-portal .gc-auto__add { background: transparent; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__sentence { font: 400 12.5px/1.45 var(--font-body); color: var(--slate-600); }

/* C21 Template editor. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-editor { display: grid; grid-template-columns: minmax(0, 1fr) 480px; gap: 16px; align-items: start; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-editor__form { display: grid; gap: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-editor__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-editor__title { margin: 0; font: 700 22px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-editor__body { height: 230px; min-height: 120px; padding: 12px; font: 400 15px/1.6 var(--font-mono); resize: vertical; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-editor__chips { display: flex; flex-wrap: wrap; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mergefield { height: 30px; padding: 0 10px; border: 1px solid var(--gc-banner-info-line); border-radius: var(--gc-radius-pill); background: var(--gc-info-tint); color: var(--navy-800); font: 600 12.5px/1 var(--font-mono); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mergefield:hover { border-color: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mergefield[disabled] { opacity: .55; cursor: not-allowed; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-editor__side { display: grid; gap: 10px; }

/* C21 preview. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview { display: grid; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__pills { display: flex; flex-wrap: wrap; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__pills .gc-pill { height: 30px; font-size: 12.5px; line-height: 28px; cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__missing { gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__missing .gc-callout__title { font-size: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__fallback { height: 40px; border-color: var(--gc-banner-wait-line); font-size: 15px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__bar { display: flex; justify-content: space-between; gap: 10px; padding: 10px 14px; background: var(--paper); border-bottom: 1px solid var(--line-soft); color: var(--slate-500); font: 500 11px/1.3 var(--font-mono); letter-spacing: .1em; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__who { text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__body { display: grid; gap: 10px; padding: 16px 18px; color: var(--slate-700); font: 400 15px/1.6 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__subject { font: 700 20px/1.1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__line { margin: 0; white-space: pre-wrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__line.is-out { color: var(--gc-struck); text-decoration: line-through; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preview__button { justify-self: start; padding: 11px 16px; border-radius: var(--gc-radius); background: var(--red-500); color: var(--white); font: 700 15px/1 var(--font-body); }

/* Broadcast composer and its Send to. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer { display: grid; gap: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-card--pad > .gc-card__title.gc-composer__title { font-size: 22px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__body { height: 120px; min-height: 90px; font: 400 15px/1.55 var(--font-body); resize: vertical; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__go { display: flex; gap: 6px; margin-left: auto; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__when { height: 40px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--gc-radius); background: var(--white); color: var(--slate-700); font: 600 13px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__preview:not([hidden]) { display: grid; }
/* Frame 14a, the Range notice tick under Send to: Admin 16's tick with a line under it (20px column, 8px gap, label 600 13.5px navy), C8's 18px box, C8's field help. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__tick { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 3px 8px; align-items: center; cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__tickbox { width: 18px; height: 18px; margin: 0; accent-color: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__tickname { font: 600 13.5px/1.35 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__tickhelp { grid-column: 2; font: 400 12.5px/1.4 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-audience { display: grid; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-audience__chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-segchip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 6px 0 12px; border-radius: var(--gc-radius-pill); background: var(--navy-900); color: var(--white); font: 600 13px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-segchip__x { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--on-dark-3); font: 700 15px/1 var(--font-body); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-segchip__x:hover { background: var(--on-dark-hover); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-segchip--add { padding: 0 12px; border: 1px dashed var(--slate-400); background: transparent; color: var(--slate-700); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-audience__sentence { font: 400 13px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-audience__sentence b { color: var(--navy-900); }

/* The sent log and the partly failed card. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__title { font-size: 22px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__all { font: 600 13px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__list { margin: 0; padding: 0; list-style: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__row { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; padding: 10px 16px; border-top: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__name { font: 600 14px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__when { font: 500 11.5px/1.3 var(--font-mono); color: var(--slate-500); justify-self: end; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__out { font: 400 12.5px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__row .gc-chip { justify-self: end; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__cancel { margin-left: 8px; padding: 0; border: 0; font: 600 12.5px/1 var(--font-body); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sentlog__cancel, #gc-portal .gc-sentlog__cancel { background: transparent; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure { display: grid; gap: 10px; padding: 12px 16px; background: var(--red-tint); border-bottom: 1px solid var(--gc-banner-bad-line); color: var(--gc-bad-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure__title { font: 700 14.5px/1.3 var(--font-body); color: var(--gc-banner-bad-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure__when { font: 500 11.5px/1 var(--font-mono); color: var(--gc-banner-bad-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; font: 400 12px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure__value { display: block; font: 700 20px/1.1 var(--font-display); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure__text { font: 400 13.5px/1.5 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure .gc-btn--quiet { border-color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-failure .gc-btn--quiet, #gc-portal .gc-failure .gc-btn--quiet { color: var(--gc-banner-bad-ink); }

/* Bounces and Unsubscribed lists. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-msglist__list { margin: 0; padding: 0; list-style: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-msglist__row { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; align-items: center; padding: 10px 16px; border-top: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-msglist__row--plain { padding: 9px 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-msglist__name { font: 600 14px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-msglist__why { grid-column: 1 / -1; font: 400 12.5px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-msglist__when { font: 500 12px/1 var(--font-mono); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-msglist__note { margin: 12px 16px; padding: 10px 12px; border-radius: var(--gc-radius); background: var(--gc-info-tint); color: var(--navy-800); font: 400 13px/1.5 var(--font-body); }
/* C24 Health tile (Admin 1, C24; Admin 12 Setup, frame 19 tile row). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-health { display: grid; gap: 8px; align-content: start; padding: 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health.is-bad { border-color: var(--gc-banner-bad-line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__name { font: 700 15px/1 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__sub { font: 400 12.5px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__last { font: 500 11.5px/1.3 var(--font-mono); color: var(--slate-500); text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health > .gc-actions { justify-self: start; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health--row { padding: 14px 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health--row .gc-health__name { font: 700 18px/1 var(--font-display); text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__run { padding: 0; border: 0; background: none; color: var(--red-600); font: 700 12.5px/1.3 var(--font-body); text-decoration: none; cursor: pointer; white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__run:hover { text-decoration: underline; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__run:disabled { color: var(--slate-400); cursor: default; text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-health__run[aria-busy="true"] { opacity: .6; }

/* The review queue's list of open items (Admin 13 Oversight, frame 20). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-reviewlist { display: grid; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-reviewlist__item { display: grid; gap: 5px; justify-items: start; padding: 12px 14px; border-top: 1px solid var(--gc-row-rule); background: var(--white); color: var(--navy-900); text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-reviewlist__item:first-child { border-top: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-reviewlist__item:hover { background: var(--paper); color: var(--navy-900); text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-reviewlist__item.is-current { background: var(--paper); box-shadow: inset 3px 0 0 var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-reviewlist__title { font: 600 14px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-reviewlist__sub { font: 400 12.5px/1.35 var(--font-body); color: var(--slate-600); }

/* Two records side by side with a decision (Admin 13 Oversight, frame 20). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare { display: grid; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__head { display: grid; gap: 6px; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__title { margin: 0; font: 700 24px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__why { margin: 0; font: 400 14px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__table { width: 100%; border-collapse: collapse; table-layout: fixed; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__table thead th { padding: 10px 8px; background: var(--paper); font: 600 11.5px/1.2 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--slate-600); text-align: left; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__table thead th:first-child { width: 170px; padding-left: 18px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__row { border-top: 1px solid var(--gc-row-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__field { padding: 10px 18px; font: 600 13px/1.35 var(--font-body); color: var(--slate-600); text-align: left; vertical-align: top; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__value { padding: 10px 8px; font: 400 14px/1.35 var(--font-body); color: var(--slate-700); overflow-wrap: anywhere; vertical-align: top; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__row.is-same .gc-compare__value { color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__value.is-kept { background: var(--gc-green-tint); color: var(--gc-green-ink); font-weight: 700; box-shadow: inset 0 0 0 2px var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 18px; background: var(--paper); border-top: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__hint { flex: 1 1 260px; font: 400 13px/1.45 var(--font-body); color: var(--slate-600); }

/* An integration log (Admin 12 Setup, frame 19 "Logs"). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-log { margin: 0; padding: 0; list-style: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__item { display: grid; grid-template-columns: 150px 150px minmax(0, 1fr) auto auto; gap: 6px 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--gc-row-rule); font: 400 13.5px/1.35 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__item:first-child { border-top: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__when, :is(.gc-admin, .gc-portal, .gc-range) .gc-log__meta { font: 500 12px/1.3 var(--font-mono); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__what { font-weight: 600; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__details { grid-column: 1 / -1; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__details summary { cursor: pointer; font: 600 12.5px/1.3 var(--font-body); color: var(--red-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__label { display: block; margin-top: 8px; font: 600 11.5px/1.2 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__json { margin: 4px 0 0; padding: 10px 12px; max-height: 320px; overflow: auto; background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--gc-radius-small); font: 400 12px/1.5 var(--font-mono); color: var(--slate-700); white-space: pre-wrap; overflow-wrap: anywhere; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-log__none { padding: 14px; color: var(--slate-500); font: 400 13px/1.4 var(--font-body); }
@media (max-width: 782px) {
	:is(.gc-admin, .gc-portal, .gc-range) .gc-log__item { grid-template-columns: 1fr auto; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__table thead th:first-child { width: 110px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-compare__field { padding-left: 12px; }
}

/* ---------- Narrow screens and phones (14.5) ---------- */

/* Screen 16 Imports and C22, the import mapper (Admin 12 Setup, 16 · C22). */
:is(.gc-admin) .gc-import__body { display: grid; gap: 14px; }
:is(.gc-admin) .gc-import__head { display: grid; gap: 12px; padding: 12px 24px; overflow: visible; }
:is(.gc-admin) .gc-import__file { justify-self: end; font: 500 12px/1 var(--font-mono); color: var(--slate-700); }
:is(.gc-admin) .gc-import__steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin: 0; padding: 0; list-style: none; }
:is(.gc-admin) .gc-import__step { display: grid; gap: 5px; }
:is(.gc-admin) .gc-import__bar { height: 6px; border-radius: var(--gc-radius-pill); background: var(--line); }
:is(.gc-admin) .gc-import__stepname { font: 600 12.5px/1.2 var(--font-body); color: var(--slate-500); }
:is(.gc-admin) .gc-import__step.is-done .gc-import__bar { background: var(--green-600); }
:is(.gc-admin) .gc-import__step.is-done .gc-import__stepname { color: var(--gc-green-ink); }
:is(.gc-admin) .gc-import__step.is-current .gc-import__bar { background: var(--red-500); }
:is(.gc-admin) .gc-import__step.is-current .gc-import__stepname { font-weight: 700; color: var(--navy-900); }
:is(.gc-admin) .gc-import__upload { display: grid; gap: 14px; }
:is(.gc-admin) .gc-import__question { font: 600 14px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin) .gc-import__sources { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
/* What is on the list: members, a waiting list or cards (decision p10_join 9). */
:is(.gc-admin) .gc-import__kinds { display: flex; flex-wrap: wrap; gap: 8px; }
:is(.gc-admin) .gc-import__kinds .gc-pill { display: inline-flex; align-items: center; cursor: pointer; }
:is(.gc-admin) .gc-import__kinds .gc-pill:focus-within { outline: var(--gc-focus); outline-offset: var(--gc-focus-offset); }
:is(.gc-admin) .gc-source { display: grid; gap: 8px; align-content: start; padding: 16px; background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); cursor: pointer; }
:is(.gc-admin) .gc-source.is-picked { border: 2px solid var(--red-500); padding: 15px; }
:is(.gc-admin) .gc-source:focus-within { outline: var(--gc-focus); outline-offset: var(--gc-focus-offset); }
:is(.gc-admin) .gc-source__name { font: 700 20px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin) .gc-source__sub { font: 400 13.5px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-drop { display: grid; gap: 6px; justify-items: center; padding: 30px; background: var(--white); border: 2px dashed var(--line-strong); border-radius: 12px; cursor: pointer; text-align: center; }
:is(.gc-admin) .gc-drop.is-over, :is(.gc-admin) .gc-drop:focus-within { border-color: var(--red-500); }
:is(.gc-admin) .gc-drop__title { font: 600 15px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin) .gc-drop__sub, :is(.gc-admin) .gc-drop__busy { font: 400 13px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-import__recent { overflow: hidden; }
:is(.gc-admin) .gc-import__recenthead, :is(.gc-admin) .gc-import__badhead { padding: 10px 14px; border-bottom: 1px solid var(--line-soft); font: 700 17px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin) .gc-import__recentrow { display: grid; grid-template-columns: 1fr 120px 200px; gap: 10px; padding: 9px 14px; border-top: 1px solid var(--gc-row-rule); font: 400 13px/1.4 var(--font-body); color: var(--slate-700); text-decoration: none; }
:is(.gc-admin) .gc-import__recentrow:hover { background: var(--paper); color: var(--navy-900); text-decoration: none; }
:is(.gc-admin) .gc-import__working { display: grid; gap: 10px; }
:is(.gc-admin) .gc-import__workingtext { font: 400 14px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin) .gc-import__tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
:is(.gc-admin) .gc-dry { display: grid; gap: 4px; align-content: start; padding: 14px; border-radius: var(--gc-radius); }
:is(.gc-admin) .gc-dry__n { font: 700 36px/1 var(--font-display); }
:is(.gc-admin) .gc-dry__label { font: 600 13px/1.3 var(--font-body); }
:is(.gc-admin) .gc-dry__sub { font: 400 12.5px/1.4 var(--font-body); }
:is(.gc-admin) .gc-dry--good { background: var(--gc-green-tint); color: var(--gc-green-ink); }
:is(.gc-admin) .gc-dry--info { background: var(--gc-info-tint); color: var(--navy-800); }
:is(.gc-admin) .gc-dry--wait { background: var(--amber-tint); color: var(--gc-amber-ink); }
:is(.gc-admin) .gc-dry--bad { background: var(--red-tint); color: var(--gc-error); }
:is(.gc-admin) .gc-import__bad { overflow: hidden; }
:is(.gc-admin) .gc-import__badrow { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 10px; padding: 9px 14px; border-top: 1px solid var(--gc-row-rule); font: 400 13px/1.4 var(--font-body); color: var(--slate-700); }
:is(.gc-admin) .gc-import__badrow--note { grid-template-columns: 70px 1fr; }
:is(.gc-admin) .gc-import__badno { font: 500 12.5px/1.4 var(--font-mono); }
:is(.gc-admin) .gc-import__badwhy { color: var(--gc-error); }
:is(.gc-admin) .gc-import__buttons { display: flex; gap: 8px; justify-content: flex-end; }
:is(.gc-admin) .gc-import__refused { flex: 1 1 260px; max-width: 70ch; margin: 0; font: 400 13px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-result { display: grid; gap: 10px; justify-items: start; padding: 24px; overflow: visible; }
:is(.gc-admin) .gc-result__check { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--green-600); color: var(--white); font: 700 24px/1 var(--font-body); }
:is(.gc-admin) .gc-result__title { font: 700 28px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin) .gc-result__text { max-width: 70ch; font: 400 15px/1.55 var(--font-body); color: var(--slate-700); }
:is(.gc-admin) .gc-result__actions { flex-wrap: wrap; gap: 10px; }
:is(.gc-admin) .gc-mapper { display: grid; gap: 10px; }
:is(.gc-admin) .gc-mapper__sentence { margin: 0; font: 400 14px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin) .gc-mapper__table { background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); overflow: hidden; }
:is(.gc-admin) .gc-mapper__head, :is(.gc-admin) .gc-mapper__row { display: grid; grid-template-columns: minmax(0, 1.1fr) 40px minmax(0, 1.1fr) 110px minmax(0, 2fr); align-items: center; }
:is(.gc-admin) .gc-mapper__head { background: var(--paper); border-bottom: 1px solid var(--line); font: 600 11.5px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--slate-600); }
:is(.gc-admin) .gc-mapper__head > span { padding: 11px 8px; }
:is(.gc-admin) .gc-mapper__head > span:first-child { padding-left: 14px; }
:is(.gc-admin) .gc-mapper__row { border-bottom: 1px solid var(--gc-row-rule); background: var(--white); }
:is(.gc-admin) .gc-mapper__row:last-child { border-bottom: 0; }
:is(.gc-admin) .gc-mapper__row.is-amber { background: var(--gc-amber-row); }
:is(.gc-admin) .gc-mapper__src { padding: 9px 14px; font: 500 13px/1.3 var(--font-mono); color: var(--navy-900); overflow-wrap: anywhere; }
:is(.gc-admin) .gc-mapper__arrow { text-align: center; color: var(--slate-400); }
:is(.gc-admin) .gc-mapper__dst { padding: 6px 8px; }
:is(.gc-admin) .gc-mapper__select { width: 100%; height: 36px; padding: 0 28px 0 8px; border: 1px solid var(--line-strong); border-radius: var(--gc-radius-small); background-color: var(--white); color: var(--navy-900); font: 600 13.5px/1 var(--font-body); }
:is(.gc-admin) .gc-mapper__row.is-amber .gc-mapper__select { border: 2px solid var(--amber-500); }
:is(.gc-admin) .gc-mapper__match { padding: 9px 8px; }
:is(.gc-admin) .gc-mapper__samples { padding: 9px 8px; font: 400 12.5px/1.3 var(--font-mono); color: var(--slate-600); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:is(.gc-admin) .gc-mapper__dropped { margin: 0; font: 400 13px/1.5 var(--font-body); color: var(--slate-600); }
/* "This file continues" under a renamed spreadsheet's mapping (decision p10_join 10). */
:is(.gc-admin) .gc-mapper__continues { display: grid; grid-template-columns: max-content minmax(0, 320px); gap: 6px 12px; align-items: center; }
:is(.gc-admin) .gc-mapper__continueslabel { font: 600 13.5px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin) .gc-mapper__continues .gc-field__error { grid-column: 1 / -1; }
:is(.gc-admin) .gc-mapper__actions { display: flex; justify-content: flex-end; }

/* Screen 20, the review queue's side-by-side comparison (Admin 13 Oversight, 20; flow 7). */
:is(.gc-admin) .gc-review__side { display: grid; gap: 12px; }
:is(.gc-admin) .gc-review__list { overflow: hidden; }
:is(.gc-admin) .gc-review__item { display: grid; gap: 5px; padding: 12px 14px; border-top: 1px solid var(--gc-row-rule); color: var(--navy-900); text-decoration: none; }
:is(.gc-admin) .gc-review__item:first-child { border-top: 0; }
:is(.gc-admin) .gc-review__item:hover { background: var(--paper); color: var(--navy-900); text-decoration: none; }
:is(.gc-admin) .gc-review__item.is-current { background: var(--paper); box-shadow: inset 3px 0 0 var(--red-500); }
:is(.gc-admin) .gc-review__title { font: 600 14px/1.3 var(--font-body); }
:is(.gc-admin) .gc-review__sub { font: 400 12.5px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-review__done { display: grid; gap: 6px; }
:is(.gc-admin) .gc-review__donehead { font: 700 16px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin) .gc-review__doneline { font: 400 12.5px/1.5 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-review__main { overflow: hidden; }
:is(.gc-admin) .gc-compare__top { display: grid; gap: 6px; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); }
:is(.gc-admin) .gc-compare__title { font: 700 24px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin) .gc-compare__why { font: 400 14px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin) .gc-compare__head, :is(.gc-admin) .gc-compare__row { display: grid; grid-template-columns: 170px minmax(0, 1fr) minmax(0, 1fr); }
:is(.gc-admin) .gc-compare__head { background: var(--paper); font: 600 11.5px/1.2 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--slate-600); }
:is(.gc-admin) .gc-compare__head > span { padding: 10px 8px; }
:is(.gc-admin) .gc-compare__head > span:first-child { padding-left: 18px; }
:is(.gc-admin) .gc-compare__row { border-top: 1px solid var(--gc-row-rule); align-items: stretch; }
:is(.gc-admin) .gc-compare__field { padding: 10px 18px; font: 600 13px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-compare__cell { padding: 10px 8px; font: 400 14px/1.4 var(--font-body); color: var(--slate-700); overflow-wrap: anywhere; }
:is(.gc-admin) .gc-compare__cell.is-plain { color: var(--slate-600); }
:is(.gc-admin) .gc-compare__row.is-same .gc-compare__cell { color: var(--slate-600); }
:is(.gc-admin) .gc-compare__cell.is-kept { background: var(--gc-green-tint); color: var(--gc-green-ink); font-weight: 700; box-shadow: inset 0 0 0 2px var(--green-600); }
:is(.gc-admin) .gc-compare__pick { cursor: pointer; }
:is(.gc-admin) .gc-compare__pick:hover { background: var(--paper); }
:is(.gc-admin) .gc-compare__pick:has(input:checked) { background: var(--gc-green-tint); color: var(--gc-green-ink); font-weight: 700; box-shadow: inset 0 0 0 2px var(--green-600); }
:is(.gc-admin) .gc-compare__pick:focus-within { outline: var(--gc-focus); outline-offset: -3px; }
:is(.gc-admin) .gc-compare__fix { display: grid; gap: 4px; padding: 6px 8px; }
:is(.gc-admin) .gc-compare__fix .gc-field__input, :is(.gc-admin) .gc-compare__fix .gc-field__select { height: 36px; }
:is(.gc-admin) .gc-compare__foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 14px 18px; background: var(--paper); border-top: 1px solid var(--line-soft); }
:is(.gc-admin) .gc-compare__hint { font: 400 13px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-compare__foot .gc-field__error { flex-basis: 100%; margin: 0; }
:is(.gc-admin) .gc-compare__foot .gc-actions { margin-left: auto; }


@media (max-width: 1100px) {
	:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__cols { grid-template-columns: 1fr; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-editor { grid-template-columns: 1fr; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs--4 { grid-template-columns: 150px 1fr; }
}
@media (max-width: 782px) {
	:is(.gc-admin, .gc-portal, .gc-range) .gc-header { flex-wrap: wrap; padding: 12px 16px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-search { order: 3; flex-basis: 100%; max-width: none; margin-left: 0; height: 44px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-search__key { display: none; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs, :is(.gc-admin, .gc-portal, .gc-range) .gc-crumbs { padding: 0 16px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-tabs__tab { padding: 15px 10px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-body { padding: 16px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-notices:not(:empty) { padding: 16px 16px 0; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-btn { min-height: 44px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-filters__quick { margin-left: 0; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__head { grid-template-columns: 60px 1fr; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__photo { width: 60px; height: 72px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__name { font-size: 28px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-profile__actions { grid-column: 1 / -1; flex-wrap: wrap; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-banner { flex-direction: column; align-items: flex-start; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs--2, :is(.gc-admin, .gc-portal, .gc-range) .gc-pairs--4 { grid-template-columns: 1fr; gap: 2px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs dd { margin-bottom: 8px; }
	/* One column on a phone: a wide value stays in it, so it makes no second column beside the labels. */
	:is(.gc-admin, .gc-portal, .gc-range) .gc-pairs dd.is-wide { grid-column: auto; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-row3 { grid-template-columns: 1fr; }
	/* C9 runs vertically on phones. */
	:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__list { grid-auto-flow: row; gap: 18px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step { grid-template-columns: 30px 1fr; justify-items: start; text-align: left; gap: 2px 12px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__dot { grid-row: span 2; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-steps__step + .gc-steps__step::before { top: auto; bottom: 100%; left: 14px; right: auto; width: 2px; height: 18px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-drawer__panel { width: 100%; border-left: 0; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-table__foot { gap: 10px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-pages { margin-left: 0; }
	:is(.gc-admin) .gc-import__sources, :is(.gc-admin) .gc-import__tiles, :is(.gc-admin) .gc-mapper__continues { grid-template-columns: 1fr; }
	:is(.gc-admin) .gc-mapper__head { display: none; }
	:is(.gc-admin) .gc-mapper__row { grid-template-columns: 1fr auto; gap: 4px 8px; padding: 8px 0; }
	:is(.gc-admin) .gc-mapper__arrow { display: none; }
	:is(.gc-admin) .gc-mapper__dst, :is(.gc-admin) .gc-mapper__samples { grid-column: 1 / -1; }
	:is(.gc-admin) .gc-compare__head, :is(.gc-admin) .gc-compare__row { grid-template-columns: 96px minmax(0, 1fr) minmax(0, 1fr); }
	:is(.gc-admin) .gc-compare__field { padding: 10px 8px 10px 12px; }
	:is(.gc-admin) .gc-import__recentrow, :is(.gc-admin) .gc-import__badrow { grid-template-columns: 1fr; gap: 2px; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-toasts { right: 16px; bottom: 16px; }
	/* C15 stacks on phones; C16's rows stack under their own rule, after it (below). */
	:is(.gc-admin, .gc-portal, .gc-range) .gc-presets { grid-template-columns: 1fr; }

	:is(.gc-admin, .gc-portal, .gc-range) .gc-composer__go { margin-left: 0; flex-basis: 100%; }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table th:nth-child(4), :is(.gc-admin, .gc-portal, .gc-range) .gc-auto__table td:nth-child(4) { display: none; }
}

/* C15 Preset picker (Admin 1, C15). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset { display: grid; gap: 10px; align-content: start; padding: 20px; border: 1px solid var(--line); border-radius: var(--gc-radius); background: var(--white); text-align: left; cursor: pointer; font: inherit; color: inherit; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset:hover { border-color: var(--line-strong); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset.is-current { border: 2px solid var(--red-500); box-shadow: var(--gc-shadow-picked); padding: 19px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset__input { position: absolute; opacity: 0; pointer-events: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset__name { font: 700 22px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset__radio { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line-strong); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset.is-current .gc-preset__radio { border: 6px solid var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset__desc { font: 400 14px/1.5 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-preset__meta { font: 500 11px/1 var(--font-mono); letter-spacing: .08em; color: var(--slate-500); }

/* C16 Settings panel (Admin 1, C16; Admin 12, screen 17). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel { background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); overflow: hidden; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__head { display: grid; gap: 4px; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__head--action { display: flex; align-items: flex-start; gap: 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__head--action .gc-btn, :is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__add { margin-left: auto; white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__add { padding: 0; border: 0; font: 600 13px/1.4 var(--font-body); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__add, #gc-portal .gc-setpanel__add { background: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__words { display: grid; gap: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__title { margin: 0; font: 700 22px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__desc { margin: 0; max-width: 80ch; font: 400 13.5px/1.5 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__body { padding: 14px 18px 16px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow { display: grid; grid-template-columns: minmax(0, 1.4fr) 240px 180px; gap: 16px; align-items: center; padding: 12px 18px; border-top: 1px solid var(--gc-row-rule); background: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel__head + .gc-setrow, :is(.gc-admin, .gc-portal, .gc-range) .gc-setpanel > .gc-setrow:first-child { border-top: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow.is-locked { background: var(--gc-later-surface); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__words { display: grid; gap: 3px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__label { font: 600 14px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__help { font: 400 12.5px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__control { display: grid; gap: 6px; margin: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__control .gc-field__input, :is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__control .gc-field__select { height: 40px; font-size: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__control .gc-setrow__money { height: 40px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__control > .gc-toggle { justify-self: start; min-height: 40px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__field { display: flex; align-items: center; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__field .gc-field__input { flex: 1; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__unit { font: 500 13px/1 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__static { display: flex; align-items: center; height: 40px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--gc-radius); font: 500 14px/1 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow.is-locked :is(.gc-field__input, .gc-field__select, .gc-field__money, .gc-field__textarea) { background: var(--paper); border-color: var(--line); color: var(--slate-400); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__checks { display: grid; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__check { display: flex; align-items: center; gap: 8px; font: 500 13.5px/1.3 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__wording { min-height: 72px; font-size: 13.5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__fees { display: grid; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__fee { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 6px 8px; align-items: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__feelabel { font: 600 13px/1.3 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__feeamount { grid-column: 2; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__feeamount[hidden] { display: none; }
/* Phase 10 stage 1's forms: residency's places, the guest fee's amount, the emergency block's lines. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__control .gc-setrow__input[hidden], :is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__control .gc-setrow__money[hidden] { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__line { display: grid; gap: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__note { font: 400 12px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__mark { font: 600 12px/1.35 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__mark--open { color: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__mark--locked { color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__mark a { text-decoration: underline; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow__mark a, #gc-portal .gc-setrow__mark a { color: inherit; }
/* On a phone a C16 row stacks: the words, the control, then who set it. After the row's own rule, so it wins. */
@media (max-width: 782px) {
	:is(.gc-admin, .gc-portal, .gc-range) .gc-setrow { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	:is(.gc-admin, .gc-portal, .gc-range) .gc-toast__spin, :is(.gc-admin, .gc-portal, .gc-range) .gc-skeleton { animation: none; }
}

/* ---------- Bottom tabs (C1 range-mode chrome, C2 portal on phones) ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-tabbar {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	padding: 6px 2px calc(10px + env(safe-area-inset-bottom, 0px));
	background: var(--white);
	border-top: 1px solid var(--line);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabbar__tab {
	display: grid;
	justify-items: center;
	align-content: center;
	gap: 5px;
	min-height: 52px;
	color: var(--slate-600);
	font: 600 11px/1 var(--font-body);
	text-decoration: none;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabbar__tab:hover { color: var(--navy-900); text-decoration: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-tabbar__tab.is-current { color: var(--action-primary-ink, var(--action-primary)); }

/* ---------- C18 Member card ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard {
	width: 100%;
	max-width: 340px;
	display: grid;
	gap: 16px;
	padding: 20px;
	border-radius: 18px;
	background: var(--club-primary);
	color: var(--white);
	box-shadow: var(--gc-shadow-card);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__club { display: flex; align-items: center; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__mark { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 9px; background: var(--white); color: var(--club-primary); font: 700 15px/1 var(--font-display); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__clubname { font: 700 17px/1.05 var(--font-display); text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__who { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__photo { width: 64px; height: 78px; border-radius: 8px; background: repeating-linear-gradient(135deg, var(--navy-800) 0 6px, var(--gc-card-photo) 6px 12px); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__names { display: grid; gap: 5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__name { font: 700 26px/1 var(--font-display); text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__line { font: 500 13px/1.3 var(--font-body); color: var(--on-dark-2); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__qrbox { display: grid; justify-items: center; gap: 8px; padding: 14px; border-radius: 12px; background: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__qr { width: 196px; height: 196px; display: grid; place-items: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__qr svg { width: 100%; height: 100%; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__refresh { font: 500 10.5px/1 var(--font-mono); letter-spacing: .08em; color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__sentence { font: 400 15px/1.45 var(--font-body); color: var(--gc-card-text); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__sentence b { color: var(--white); }
/* "Show on the member's card" answers (15a; decision p8_family 7). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__answers { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; font: 400 13px/1.4 var(--font-body); color: var(--gc-card-text); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__answers b { color: var(--white); font-weight: 600; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__foot { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--gc-card-rule); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-mcard__cardno { font: 700 15px/1 var(--font-mono); letter-spacing: .12em; }

/* ---------- C19 QR scanner ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-scan { display: flex; flex-direction: column; height: 100%; min-height: 480px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__camera { flex: 1; display: flex; flex-direction: column; background: var(--gc-scan-ground); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__bar { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 14px; font: 600 13px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__bar--light { background: var(--white); border-bottom: 1px solid var(--line); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__close, :is(.gc-admin, .gc-portal, .gc-range) .gc-scan__link { min-width: 44px; min-height: 44px; padding: 0; border: 0; background: none; color: inherit; font: 600 13px/1 var(--font-body); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__baracts { display: flex; align-items: center; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__view { position: relative; flex: 1; display: grid; place-items: center; overflow: hidden; background: repeating-linear-gradient(135deg, var(--gc-scan-stripe-1) 0 8px, var(--gc-scan-stripe-2) 8px 16px); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__square { position: relative; width: 190px; height: 190px; border: 3px solid var(--white); border-radius: 18px; box-shadow: 0 0 0 999px var(--gc-scan-dim); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__line { position: absolute; top: 50%; left: 50%; width: 190px; height: 2px; transform: translateX(-50%); background: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__foot { display: grid; gap: 8px; padding: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__hint { font: 400 13.5px/1.4 var(--font-body); color: var(--on-dark-2); text-align: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__ghost { min-height: 48px; border: 1px solid var(--gc-scan-ghost-line); border-radius: var(--gc-radius); background: transparent; color: var(--white); font: 700 14px/1 var(--font-body); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__manual { flex: 1; background: var(--paper); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__body { display: grid; gap: 10px; padding: 16px 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__field { display: grid; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__label { font: 600 13px/1.2 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__input { width: 100%; min-width: 0; height: 56px; padding: 0 14px; border: 2px solid var(--navy-900); border-radius: var(--gc-radius); background: var(--white); color: var(--navy-900); font: 500 24px/1 var(--font-mono); letter-spacing: .1em; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__note { font: 400 13px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__error { font: 600 13px/1.4 var(--font-body); color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__result { flex: 1; display: flex; flex-direction: column; background: var(--paper); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__head { display: grid; gap: 6px; padding: 22px 16px; color: var(--white); background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__result--warn .gc-scan__head { background: var(--amber-500); color: var(--amber-deep); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__result--stop .gc-scan__head { background: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__title { font: 700 30px/1 var(--font-display); text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__sub { font: 400 14px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__facts { display: grid; gap: 10px; padding: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-scan__lines { display: grid; gap: 8px; font: 400 14px/1.45 var(--font-body); }

/* ---------- C23 Offline banner and sync queue ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-offline { display: grid; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-offline[data-state="hidden"] { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-offline__card { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid var(--gc-offline-line); border-radius: var(--gc-radius); background: var(--amber-tint); color: var(--gc-offline-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-offline__title { font: 700 14px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-offline__text { font: 400 13px/1.4 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-offline__synced { padding: 12px 14px; border: 1px solid var(--gc-synced-line); border-radius: var(--gc-radius); background: var(--gc-green-tint); color: var(--gc-green-ink); font: 700 14px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-offline__pill { justify-self: start; display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border-radius: var(--gc-radius-pill); background: var(--navy-900); color: var(--white); font: 600 12.5px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-offline__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gc-dark-wait-dot); }

/* ---------- Guest check-in steps (Member 4 frame 42; range mode "Check in guest") ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-gform { display: grid; gap: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__bar { height: 4px; background: var(--line); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__fill { display: block; width: 20%; height: 100%; background: var(--action-primary); transition: width .2s; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__step { display: grid; gap: 10px; align-content: start; padding: 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__title { font: 700 22px/1.05 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__field { display: grid; gap: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__label { font: 600 12.5px/1.2 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__input { height: 44px; padding: 0 10px; border: 1px solid var(--border-input); border-radius: var(--gc-radius); background: var(--white); color: var(--navy-900); font: 400 16px var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__sign { height: 48px; font-style: italic; font-size: 17px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__note { font: 400 12.5px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__small { font: 400 12px/1.4 var(--font-body); color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__text { font: 400 14.5px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__keep { padding-top: 8px; border-top: 1px solid var(--line); font: 600 13px/1.45 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__equal { min-height: 48px; padding: 0 8px; border: 2px solid var(--navy-900); border-radius: var(--gc-radius); background: var(--white); color: var(--navy-900); font: 700 15px/1.1 var(--font-body); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__go { height: 50px; font-size: 15px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__camera { position: relative; height: 150px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: var(--navy-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__frame { position: relative; width: 180px; height: 96px; border: 3px solid var(--white); border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__hint { position: absolute; bottom: 8px; font: 600 12px var(--font-body); color: var(--on-dark-2); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__result { display: grid; gap: 3px; padding: 10px 12px; border-radius: var(--gc-radius); background: var(--gc-green-tint); color: var(--gc-green-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__result--bad { background: var(--red-tint); color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__resulttitle { font: 700 14px var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__resulttext { font: 400 13px var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__resulttext:empty { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__filled { display: grid; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__waiver { max-height: 160px; overflow-y: auto; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--gc-radius); background: var(--white); font: 400 13px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__waiver p + p { margin-top: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__agree { display: flex; gap: 10px; align-items: center; min-height: 44px; font: 400 14px var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__agree input { width: 22px; height: 22px; accent-color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__error { padding: 8px 10px; border-radius: var(--gc-radius-small); background: var(--red-tint); color: var(--gc-error); font: 600 13px/1.4 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__tick { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: var(--green-600); color: var(--white); font: 700 26px var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__box { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--gc-radius); background: var(--white); font: 400 13px var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__muted { color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; font: 700 24px var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__icon--wait { background: var(--amber-tint); color: var(--gc-amber-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__icon--info { background: var(--gc-info-tint); color: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__icon--bad { background: var(--red-tint); color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__icon--good { background: var(--green-600); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__rso { display: grid; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__pills { display: flex; gap: 6px; flex-wrap: wrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-gform__override { display: grid; gap: 8px; padding-top: 8px; border-top: 1px solid var(--line); }

/* C9, the bars variant: Applications draws an application's steps as a thin bar over each label (Admin 3, 4). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__list { gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step { justify-items: stretch; text-align: left; gap: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step + .gc-steps__step::before { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__dot { width: 100%; height: 6px; border: 0; border-radius: var(--gc-radius-pill); font-size: 0; color: transparent; background: var(--line); box-shadow: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step--done .gc-steps__dot { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step--current .gc-steps__dot,
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step--waiting-club .gc-steps__dot { background: var(--navy-800); border: 0; box-shadow: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step--waiting-applicant .gc-steps__dot { background: var(--amber-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step--blocked .gc-steps__dot { background: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__label { font: 600 12.5px/1.25 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__sub { font: 400 11.5px/1.3 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars :is(.gc-steps__step--current, .gc-steps__step--waiting-club) .gc-steps__sub { font-weight: 700; color: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step--waiting-applicant .gc-steps__sub { font-weight: 700; color: var(--gc-amber-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step--blocked .gc-steps__sub { font-weight: 700; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--bars .gc-steps__step--done .gc-steps__sub { color: var(--gc-green-ink); }

/* C25 Payment step (Admin 1, C25): the in-frame and redirect variants and the return's three states. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep { display: grid; gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: var(--gc-radius); background: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__lines { display: grid; grid-template-columns: 1fr auto; padding-bottom: 8px; border-bottom: 1px solid var(--line-soft); font: 400 14px/1.8 var(--font-body); color: var(--text-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__amount { font-family: var(--font-mono); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__muted { color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__totallabel { font-weight: 700; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__total { font-weight: 700; font-size: 15px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__frame { display: grid; gap: 8px; min-height: 120px; padding: 14px; border: 2px dashed var(--line-strong); border-radius: var(--gc-radius); background: var(--surface-muted); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__eyebrow { font: 500 10.5px/1 var(--font-mono); letter-spacing: .1em; color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__go { width: 100%; justify-content: center; min-height: 48px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__go--navy { border-color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__go--navy, #gc-portal .gc-paystep__go--navy { background: var(--navy-900); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__box { display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__box--bad { border: 0; background: var(--red-tint); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__box--good { border: 0; background: var(--gc-green-tint); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__box--wait { border: 0; background: var(--amber-tint); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__box .gc-paystep__go { justify-self: start; width: auto; min-height: 40px; margin-top: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__title { font: 700 15px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__box--bad .gc-paystep__title { color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__box--good .gc-paystep__title { color: var(--gc-green-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__box--wait .gc-paystep__title { color: var(--gc-amber-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__text { font: 400 13.5px/1.5 var(--font-body); color: var(--text-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__text--strong { font-weight: 600; font-size: 14.5px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__wait { display: grid; place-items: center; gap: 10px; min-height: 130px; align-content: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__spinner { width: 32px; height: 32px; border-radius: 50%; border: 4px solid var(--line-soft); border-top-color: var(--red-500); animation: gc-spin 1s linear infinite; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__check { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--green-600); color: var(--white); font: 700 22px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__big { font: 700 22px/1.05 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__line { margin: 0; font: 400 12.5px/1.5 var(--font-body); color: var(--slate-700); }
/* The club's refund policy above the button, in its own words (Phase 10 stage 2). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__policy { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid var(--line-soft); border-radius: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__policytitle { font: 700 12.5px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__policytext { margin: 0; font: 400 12.5px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paystep__error { margin: 0; font: 600 13px/1.4 var(--font-body); color: var(--gc-error); }

/* ---------- C8 Forms, complete (Admin 1, C8) ----------
   Inputs 16px and 44px tall, labels above, a red * on required fields,
   error words in a plain sentence, help in slate, "Why we ask" on every
   sensitive field. */

:is(.gc-admin, .gc-portal, .gc-range) .gc-field--set { border: 0; margin: 0; padding: 0; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field--set > .gc-field__label { padding: 0; margin-bottom: 9px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__label:has(.gc-why) { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px; line-height: 1.2; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-why { display: contents; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-why__link { font: 600 12.5px/1 var(--font-body); color: var(--text-link); cursor: pointer; list-style: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-why__link::-webkit-details-marker { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-why__text { flex-basis: 100%; max-width: 100%; order: 3; font: 400 12.5px/1.45 var(--font-body); color: var(--slate-600); background: var(--paper); border-radius: var(--gc-radius-small); padding: 9px 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__range { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__range .gc-field__input { flex: 1 1 130px; width: auto; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__to { color: var(--slate-500); font: 400 14px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__address { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__address .gc-field__input { min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__checks { display: grid; gap: 8px; }
/* Checks drawn as tags (frame 15a's Who fills it and Required for; decision p8_forms 4): the box stays for the keyboard, the tag turns navy when ticked. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__checks--tags { display: flex; flex-wrap: wrap; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__checks--tags .gc-check { align-items: center; gap: 6px; height: 30px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); font: 600 12.5px/1 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__checks--tags .gc-check:has(.gc-check__box:checked) { border-color: var(--navy-900); background: var(--paper); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__checks--tags .gc-check__box { width: 14px; height: 14px; margin: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__file { font: 400 14px/1.4 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field__textarea.gc-field__textarea { font-size: 16px; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-check { display: flex; gap: 10px; align-items: flex-start; font: 400 15px/1.4 var(--font-body); color: var(--slate-700); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-check__box { width: 18px; height: 18px; margin: 1px 0 0; flex: none; accent-color: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-check--boxed { background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--gc-radius); padding: 12px; font-weight: 600; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field.has-error .gc-check--boxed { border: 2px solid var(--red-500); }

/* C8 toggle: a checkbox in a form (label, track, the words), or a button (role=switch) that runs a command at once (screen 14's On column). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle--run { padding: 0; border: 0; font: inherit; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle--run, #gc-portal .gc-toggle--run { background: none; color: inherit; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__track { position: relative; width: 40px; height: 24px; flex: none; border-radius: var(--gc-radius-pill); background: var(--line-strong); transition: background .15s; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--white); transition: transform .15s; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__input:checked + .gc-toggle__track, :is(.gc-admin, .gc-portal, .gc-range) .gc-toggle[aria-checked="true"] .gc-toggle__track { background: var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__input:checked + .gc-toggle__track::after, :is(.gc-admin, .gc-portal, .gc-range) .gc-toggle[aria-checked="true"] .gc-toggle__track::after { transform: translateX(16px); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__input:focus-visible + .gc-toggle__track, :is(.gc-admin, .gc-portal, .gc-range) .gc-toggle--run:focus-visible .gc-toggle__track { outline: var(--gc-focus); outline-offset: var(--gc-focus-offset); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__words { font: 400 14px/1.4 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__input:checked ~ .gc-toggle__words .gc-toggle__off,
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle__input:not(:checked) ~ .gc-toggle__words .gc-toggle__on { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle[disabled] { opacity: .55; cursor: not-allowed; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-toggle[aria-busy="true"] { opacity: .7; cursor: progress; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-choice { display: flex; flex-wrap: wrap; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-choice__pill { position: relative; cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-choice__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-choice__label { display: inline-block; height: 36px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: var(--gc-radius-pill); background: var(--white); color: var(--slate-700); font: 600 13.5px/34px var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-choice__input:checked + .gc-choice__label { background: var(--navy-900); border-color: var(--navy-900); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-choice__input:focus-visible + .gc-choice__label { outline: var(--gc-focus); outline-offset: var(--gc-focus-offset); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-sign { display: grid; align-content: end; min-height: 92px; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: var(--gc-radius); background: var(--paper); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sign__input,
:is(.gc-admin, .gc-portal, .gc-range) .gc-sign__name { width: 100%; padding: 0 0 6px; border: 0; border-bottom: 1px solid var(--slate-400); border-radius: 0; background: transparent; color: var(--navy-900); font: italic 400 26px/1.2 Georgia, serif; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sign__meta { margin-top: 4px; font: 500 10.5px/1.6 var(--font-mono); color: var(--slate-500); text-transform: uppercase; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field.has-error .gc-sign { border: 2px solid var(--red-500); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-stepper { display: inline-flex; align-items: center; border: 1px solid var(--line-strong); border-radius: var(--gc-radius-small); overflow: hidden; background: var(--white); }
/* padding 0: a theme's bare button padding (Twenty Twenty-One's 24px a side) would widen the 44px buttons (decision m10_acceptance 6). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-stepper__btn { width: 44px; height: 44px; padding: 0; border: 0; font: 700 16px/1 var(--font-body); cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stepper__btn, #gc-portal .gc-stepper__btn { background: transparent; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stepper__n { width: 34px; height: 44px; border: 0; padding: 0; text-align: center; font: 600 14px/1 var(--font-mono); color: var(--navy-900); background: transparent; -moz-appearance: textfield; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stepper__n::-webkit-inner-spin-button { -webkit-appearance: none; }

/* ---------- C9 Step sequence, list (Member 2, 36: the status page) ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__list { grid-auto-flow: row; gap: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step { grid-template-columns: 28px 1fr; justify-items: start; text-align: left; gap: 2px 10px; padding-bottom: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step + .gc-steps__step::before { display: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__dot { grid-row: span 2; width: 24px; height: 24px; font: 700 11px/1 var(--font-body); color: var(--white); border: 0; box-shadow: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step--done .gc-steps__dot { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step--waiting-applicant .gc-steps__dot { background: var(--amber-500); border: 3px solid var(--gc-amber-ring); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list :is(.gc-steps__step--waiting-club, .gc-steps__step--current) .gc-steps__dot { background: var(--navy-800); border: 3px solid var(--on-dark-3); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step--blocked .gc-steps__dot { background: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step--todo .gc-steps__dot { background: var(--white); border: 2px solid var(--line-strong); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__label { font: 600 14.5px/1.25 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step--todo .gc-steps__label { font-weight: 400; color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__sub { font: 400 12.5px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step--done .gc-steps__sub { color: var(--gc-green-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step--waiting-applicant .gc-steps__sub { font-weight: 600; color: var(--gc-amber-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list :is(.gc-steps__step--waiting-club, .gc-steps__step--current) .gc-steps__sub { font-weight: 600; color: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-steps--list .gc-steps__step--blocked .gc-steps__sub { font-weight: 600; color: var(--gc-error); }

/* C10 Money display, one order's card (components/order-card.php; Admin 5 Money, frame 7). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard { display: grid; gap: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__head { display: grid; gap: 6px; padding: 16px 16px 14px; border-bottom: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__ident { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__number { font: 600 12.5px/1 var(--font-mono); color: var(--slate-600); letter-spacing: .02em; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__title { margin: 2px 0 0; font: 700 24px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__sentence { margin: 0; font: 400 13.5px/1.5 var(--font-body); color: var(--slate-600); text-wrap: pretty; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__body { display: grid; gap: 12px; padding: 12px 16px 14px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__lines { display: grid; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 400 13.5px/1.4 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__line.is-muted { color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__what { min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__total { margin-top: 2px; padding-top: 8px; border-top: 1px solid var(--line-soft); font-weight: 600; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__sum { font: 700 15px/1.3 var(--font-mono); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__facts { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 4px 12px; margin: 0; padding-top: 10px; border-top: 1px solid var(--line-soft); font: 400 12.5px/1.4 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__facts dt { color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__facts dd { margin: 0; color: var(--navy-900); overflow-wrap: anywhere; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__facts dd.is-mono { font-family: var(--font-mono); font-size: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__special { display: grid; gap: 6px; margin: 0 16px 4px; padding: 12px 14px; border-radius: var(--gc-radius); font: 400 12.5px/1.45 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__special-title { font-weight: 700; font-size: 13px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__special--bad { background: var(--red-tint); color: var(--gc-banner-bad-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__special--wait { background: var(--amber-tint); color: var(--gc-banner-wait-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__special--info { background: var(--gc-info-tint); color: var(--gc-banner-info-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__special--good { background: var(--gc-green-tint); color: var(--gc-green-deep); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-ordercard__actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 16px 16px; }

/* ---------- Screen 15 and portal 30: waivers (Admin 10 Messages, Member 1 Portal) ---------- */

:is(.gc-admin, .gc-portal, .gc-range) .gc-progress--good { color: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress--good::-webkit-progress-value { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress--good::-moz-progress-bar { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-progress--thick { height: 10px; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist { display: grid; gap: 10px; align-content: start; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist__item {
	display: grid;
	gap: 6px;
	padding: 12px 14px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
	color: var(--text-strong);
	text-decoration: none;
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist__item:hover { border-color: var(--line-strong); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist__item.is-current { border: 2px solid var(--red-500); padding: 11px 13px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist__name { font: 600 14.5px/1.3 var(--font-body); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist__ver { font: 500 12px/1 var(--font-mono); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist__sub { font: 400 12.5px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist .gc-progress { height: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-doclist__pct { font: 600 12px/1.3 var(--font-body); color: var(--slate-700); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stats__stat { background: var(--paper); border-radius: var(--gc-radius); padding: 10px 12px; display: grid; gap: 3px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stats__value { font: 700 28px/1 var(--font-display); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stats__label { font: 600 12px/1.3 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stats__label--good { color: var(--gc-green-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stats__label--wait { color: var(--gc-amber-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-stats__label--bad { color: var(--gc-error); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-pdfsheet {
	max-width: 620px;
	display: grid;
	gap: 8px;
	padding: 18px;
	background: var(--white);
	border: 1px solid var(--line-strong);
	border-radius: var(--gc-radius-tag);
	box-shadow: var(--gc-shadow-admin);
	font: 400 12px/1.55 var(--font-body);
	color: var(--slate-700);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-pdfsheet__eyebrow { font: 500 10px/1.3 var(--font-mono); letter-spacing: .12em; color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pdfsheet__title { font: 700 16px/1.2 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pdfsheet__pairs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border-top: 1px solid var(--navy-900); padding-top: 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pdfsheet__pairs b { color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pdfsheet__link { justify-self: start; font-size: 13px; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-versions { list-style: none; margin: 0; padding: 0; display: grid; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-versions__row { display: grid; grid-template-columns: 44px auto 1fr auto; gap: 4px 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-versions__row:first-child { border-top: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-versions__name { font: 600 13px/1 var(--font-mono); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-versions__sub { font: 400 13px/1.4 var(--font-body); color: var(--slate-600); min-width: 0; }

:is(.gc-admin, .gc-portal, .gc-range) .gc-field__static { height: 42px; border: 1px solid var(--line-strong); border-radius: var(--gc-radius); padding: 0 10px; display: flex; align-items: center; font: 400 15px/1.2 var(--font-body); color: var(--text-strong); background: var(--white); }

:is(.gc-admin, .gc-portal, .gc-range) .gc-campaign { display: grid; gap: 6px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-campaign__head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font: 600 13px/1.3 var(--font-body); color: var(--text-strong); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-campaign__counts { font-family: var(--font-mono); }

/* Portal 30's sign card (components/waiver-sign): the banner, the version, the text in a scrolling box, the C8 signature and tick box. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-signcard { display: grid; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-signcard__title { font: 700 22px/1.05 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-signcard__text {
	max-height: 180px;
	overflow-y: auto;
	padding: 14px;
	background: var(--gc-later-surface);
	border: 1px solid var(--line);
	border-radius: var(--gc-radius);
	font: 400 14px/1.6 var(--font-body);
	color: var(--slate-700);
}
:is(.gc-admin, .gc-portal, .gc-range) .gc-signcard__text p { margin: 0 0 10px; }

/* Signing that holds up (frames 15a, 15d, 30a, 30b; decision p8_signing). A segmented choice: joined options, the picked one navy. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-seg { display: inline-flex; flex-wrap: wrap; justify-self: start; max-width: 100%; border: 1px solid var(--line-strong); border-radius: var(--gc-radius); overflow: hidden; background: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-seg__opt { position: relative; cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-seg__opt + .gc-seg__opt { border-left: 1px solid var(--line-strong); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-seg__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-seg__label { display: block; padding: 9px 14px; font: 600 13.5px/1 var(--font-body); color: var(--slate-700); background: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-seg__input:checked + .gc-seg__label { background: var(--navy-900); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-seg__input:focus-visible + .gc-seg__label { outline: var(--gc-focus); outline-offset: -3px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-seg__input:disabled + .gc-seg__label { opacity: .55; cursor: not-allowed; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field--seg { border: 0; padding: 0; margin: 0; min-width: 0; }

/* The signature: "Sign", Type or Draw, the typed name, the pad (30a). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-signblock { display: grid; gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-signblock__head { padding-top: 6px; font: 600 11.5px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sigpad { position: relative; height: 120px; background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--gc-radius); touch-action: none; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-field.has-error .gc-sigpad { border: 2px solid var(--red-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sigpad__canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: crosshair; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sigpad__clear { position: absolute; top: 8px; right: 10px; padding: 0; border: 0; background: transparent; color: var(--text-link); font: 600 12px/1 var(--font-body); cursor: pointer; }
#gc-portal .gc-sigpad__clear { background: transparent; color: var(--text-link); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-sigpad__clear:focus-visible { outline: var(--gc-focus); outline-offset: var(--gc-focus-offset); }

/* Signing online (30b): the club's words, I agree, Continue, the paper link. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-esign__text { margin: 0; font: 400 14px/1.55 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-esign__paper { justify-self: center; padding: 6px 0; border: 0; background: transparent; color: var(--text-link); font: 600 14px/1.3 var(--font-body); cursor: pointer; }
#gc-portal .gc-esign__paper { background: transparent; color: var(--text-link); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-esign__note { font: 400 13px/1.45 var(--font-body); color: var(--slate-500); }

/* Signed (30c): the green check, "Signed", the form and the day, the PDF and the way back. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-signed { display: grid; gap: 12px; text-align: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-signed__mark { justify-self: center; display: grid; place-items: center; width: 64px; height: 64px; margin-top: 24px; border-radius: 50%; background: var(--gc-green-tint); color: var(--gc-green-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-signed__title { font: 700 22px/1.05 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-signed__text { margin: 0; font: 400 14px/1.55 var(--font-body); color: var(--slate-700); }
/* ---------- Payment processors (Admin 12 Setup, frame 19; Admin 14 flow 9) ---------- */

/* A connected processor's card (admin only: the portal's own .gc-pcard is its plain card, portal.css). */
.gc-admin .gc-pcard { display: grid; gap: 8px; align-content: start; padding: 14px 16px; background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); min-width: 0; }
.gc-admin .gc-pcard--done { border: 1px dashed var(--line-strong); }
.gc-admin .gc-pcard--bad { border: 2px solid var(--red-500); }
.gc-admin .gc-pcard__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.gc-admin .gc-pcard__name { font: 700 20px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
.gc-admin .gc-pcard__acct { font: 400 12.5px/1.4 var(--font-body); color: var(--slate-600); }
.gc-admin .gc-pcard__mode { margin-left: 4px; font: 600 11px/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--gc-amber-ink); }
.gc-admin .gc-pcard__pills { display: flex; flex-wrap: wrap; gap: 4px; }
.gc-admin .gc-pcard__pill { height: 22px; padding: 0 8px; border-radius: var(--gc-radius-pill); background: var(--paper); border: 1px solid var(--line); font: 600 11.5px/20px var(--font-body); color: var(--slate-700); }
/* How the account's notices reach the site: made for the club, or the address to paste at the processor (decision p10_proc 3). */
.gc-admin .gc-pcard__hook { display: grid; gap: 4px; padding-top: 8px; border-top: 1px solid var(--line-soft); font: 400 12.5px/1.4 var(--font-body); color: var(--slate-600); }
.gc-admin .gc-pcard__url { display: block; padding: 6px 8px; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; font: 500 11.5px/1.4 var(--font-mono); color: var(--navy-900); overflow-wrap: anywhere; user-select: all; }
.gc-admin .gc-pcard__key { display: grid; gap: 6px; }

/* The routing table. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes { background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); overflow: hidden; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line-soft); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__title { margin: 0; font: 700 18px/1 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__sub { font: 400 13px/1.3 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__note { margin: 0; padding: 10px 16px; background: var(--gc-info-tint); font: 400 13px/1.5 var(--font-body); color: var(--gc-banner-info-ink); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__row { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)); align-items: center; border-top: 1px solid var(--gc-row-rule); font: 400 13.5px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__row--head { border-top: 0; background: var(--paper); font: 600 11.5px/1.2 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__where { padding: 9px 16px; font-weight: 600; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__row--head .gc-routes__where { font-weight: 600; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__cell { padding: 6px 8px; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__row--head .gc-routes__cell { padding: 9px 8px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__form { display: inline-grid; gap: 4px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__box { display: inline-flex; align-items: center; height: 30px; max-width: 100%; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--white); font: 600 13px/1 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) select.gc-routes__box { padding-right: 26px; cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__box.is-paused { color: var(--gc-error); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__box:empty { width: 22px; padding: 0; }
:is(.gc-admin, .gc-portal, .gc-range) select.gc-routes__box { min-width: 22px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__error { font: 400 12px/1.3 var(--font-body); color: var(--gc-error); }

/* "Add a processor". */
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__item { display: grid; gap: 8px; align-content: space-between; min-height: 130px; padding: 12px; background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__logo { display: grid; place-items: center; height: 34px; border-radius: 6px; background: repeating-linear-gradient(135deg, var(--surface-muted) 0 6px, var(--paper) 6px 12px); font: 500 9.5px/1 var(--font-mono); color: var(--slate-400); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__name { font: 700 14px/1.2 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__cta { display: grid; place-items: center; min-height: 32px; padding: 4px 6px; border: 0; border-radius: 8px; font: 700 11.5px/1.2 var(--font-body); text-align: center; text-decoration: none; cursor: pointer; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__cta--dark { background: var(--navy-900); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__cta--dark:hover { background: var(--navy-800); color: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__cta--outline { background: var(--white); border: 1px solid var(--navy-900); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__cta--outline:hover { background: var(--paper); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__cta--on { background: var(--gc-green-tint); color: var(--gc-green-ink); cursor: default; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__cta--ask { cursor: default; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid__cta[aria-busy="true"] { opacity: .6; }

/* Two fields and a test. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-connect { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; max-width: 880px; padding: 14px 16px; background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-connect__field { flex: 1 1 200px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-connect__help { flex: 1 0 100%; margin: 0; font: 400 13.5px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-connect__input { font-family: var(--font-mono); font-weight: 500; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-connect__test { height: 44px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-connect__error { flex: 1 0 100%; margin: 0; font: 400 13px/1.4 var(--font-body); color: var(--gc-error); }

/* Starting a switch (flow 9, step 2). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch { display: grid; gap: 10px; max-width: 420px; padding: 14px; border: 1px solid var(--line); border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch, #gc-portal .gc-switch { background: var(--white); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__eyebrow, :is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__eyebrow { font: 500 10.5px/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--slate-500); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__pair { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; font: 600 14px/1.2 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__box { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); font: inherit; color: inherit; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__box--to { border: 2px solid var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__arrow { color: var(--slate-400); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__lines { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; font: 400 13px/1.5 var(--font-body); color: var(--slate-700); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__lines li::before { content: "\00B7\00A0"; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__go { height: 40px; justify-content: center; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-switch__error { margin: 0; font: 400 13px/1.4 var(--font-body); color: var(--gc-error); }

/* A switch's progress (flow 9, step 5). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog { display: grid; gap: 10px; max-width: 420px; padding: 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--gc-radius); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__count { font: 700 40px/1 var(--font-display); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__of { font-size: 22px; color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__bar { width: 100%; height: 12px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__bar::-webkit-progress-value { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__bar::-moz-progress-bar { background: var(--green-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__rows { display: grid; grid-template-columns: 1fr auto; gap: 5px; margin: 0; font: 400 13px/1.3 var(--font-body); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__rows dd { margin: 0; font: 500 12.5px/1.3 var(--font-mono); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-swprog__note { margin: 0; font: 400 12.5px/1.45 var(--font-body); color: var(--slate-600); }

@media (max-width: 1100px) {
	:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
	:is(.gc-admin, .gc-portal, .gc-range) .gc-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	:is(.gc-admin, .gc-portal, .gc-range) .gc-routes__row { grid-template-columns: 1fr 1fr 1fr; font-size: 13px; }
}

/* C8 on-brand dropdown (components/form/dropdown.php). */
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd { display: grid; gap: 6px; min-width: 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd__menu { display: block; width: 100%; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd__button { width: 100%; min-width: 0; height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--gc-radius); font: 600 13.5px/1.2 var(--font-body); cursor: pointer; text-align: left; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd__button, #gc-portal .gc-dd__button { background: var(--white); color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd__button--wrap { height: auto; min-height: 40px; padding: 8px 12px; line-height: 1.35; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd--sm .gc-dd__button { height: 36px; padding: 0 10px; border-radius: var(--gc-radius-small); font-size: 13px; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd__button--wrap .gc-dd__value { white-space: normal; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd__button[aria-expanded="true"] svg { transform: rotate(180deg); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-dd__list { left: 0; right: 0; min-width: 100%; width: max-content; max-width: 360px; }

/* The paused holding page (ARCHITECTURE 14.3, 20.6): inside the portal
   shell, on a theme page, or as a bare document. */
:is(.gc-admin, .gc-portal, .gc-range) .gc-paused { display: grid; gap: 10px; max-width: 48ch; padding: 24px 0; }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paused__title { margin: 0; font: 700 28px/1.05 var(--font-display); text-transform: uppercase; color: var(--navy-900); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paused__club { margin: 0; font: 600 16px/1.4 var(--font-body); color: var(--navy-800); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paused__text { margin: 0; font: 400 15px/1.55 var(--font-body); color: var(--slate-600); }
:is(.gc-admin, .gc-portal, .gc-range) .gc-paused__contact { margin: 0; font: 600 15px/1.4 var(--font-body); }

/* Screen 15b, Signed documents (decision p8_archive 2). */
:is(.gc-admin) .gc-stats--4, :is(.gc-admin) .gc-stats--5, :is(.gc-admin) .gc-stats--6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* 15b's strip: tiles tinted by what they ask (amber: someone has to act; green: all is well). */
:is(.gc-admin) .gc-archive .gc-stats__stat { background: var(--white); border: 1px solid var(--line-soft); justify-items: start; text-align: left; padding: 12px 14px; }
:is(.gc-admin) .gc-archive .gc-stats__stat--wait { background: var(--amber-tint); border-color: transparent; }
:is(.gc-admin) .gc-archive .gc-stats__stat--good { background: var(--gc-green-tint); border-color: transparent; }
:is(.gc-admin) .gc-archive { display: grid; gap: 14px; }
:is(.gc-admin) .gc-archive__filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
:is(.gc-admin) .gc-archive__search { position: relative; display: inline-flex; align-items: center; gap: 6px; flex: 1 1 200px; max-width: 260px; }
:is(.gc-admin) .gc-archive__search .gc-field__input { width: 100%; }
:is(.gc-admin) .gc-archive__pick .gc-field__select { min-width: 140px; }
:is(.gc-admin) .gc-archive__dates { display: inline-flex; align-items: center; gap: 6px; font: 500 13px/1 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-archive__tags { display: inline-flex; gap: 6px; margin-left: auto; }
:is(.gc-admin) .gc-archive__tag { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; font: 600 12px/1 var(--font-body); color: var(--slate-700); text-decoration: none; background: var(--white); }
:is(.gc-admin) .gc-archive__tag.is-on { background: var(--paper); border-color: var(--navy-900); color: var(--navy-900); }
:is(.gc-admin) .gc-archive__go { display: none; }
:is(.gc-admin) .gc-archive__downloads { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
:is(.gc-admin) .gc-archive__keep { margin: 0; font: 400 13px/1.5 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-archive__making { font: 400 13px/1.4 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) a.gc-linkbtn { text-decoration: none; }
/* Screen 14, Messages, Club mail: who gets each of the club's own emails (decision p10_mail 1). */
:is(.gc-admin) .gc-clubmail__table { width: 100%; border-collapse: collapse; table-layout: fixed; }
:is(.gc-admin) .gc-clubmail__table th { padding: 11px 8px; background: var(--paper); border-bottom: 1px solid var(--line); color: var(--slate-600); font: 600 11.5px/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; text-align: left; }
:is(.gc-admin) .gc-clubmail__table th:first-child { padding-left: 14px; width: 32%; }
:is(.gc-admin) .gc-clubmail__table th:nth-child(3) { width: 130px; }
:is(.gc-admin) .gc-clubmail__table td { padding: 12px 8px; border-bottom: 1px solid var(--gc-row-rule); vertical-align: top; }
:is(.gc-admin) .gc-clubmail__table td:first-child { padding-left: 14px; }
:is(.gc-admin) .gc-clubmail__chips { margin-bottom: 6px; }
:is(.gc-admin) .gc-clubmail__chip { height: 28px; font-size: 12.5px; }
:is(.gc-admin) .gc-clubmail__today { display: block; font: 400 12.5px/1.45 var(--font-body); color: var(--slate-600); }
:is(.gc-admin) .gc-clubmail__today--nobody { color: var(--amber-ink); font-weight: 600; }
:is(.gc-admin) .gc-clubmail__on { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
:is(.gc-admin) .gc-clubmail__edit { font: 600 13px/1 var(--font-body); }
@media (max-width: 720px) {
	:is(.gc-admin) .gc-clubmail__table th:first-child { width: 40%; }
	:is(.gc-admin) .gc-clubmail__table th:nth-child(3) { width: 90px; }
}
