/* MCGS client portal — matches the site: dark ground, gold accent. */
.mcgs-portal {
	--p-bg: #FCFCFD;
	--p-surface: #F1F1F5;
	--p-surface-2: #FFFFFF;
	--p-border: rgba(21, 20, 26, .12);
	--p-gold: #146B6B;
	--p-gold-light: #146B6B;
	--p-wa: #6B1E2E; /* Workforce Australia line accent (deep wine) */
	--p-glow: #5FE8E3;
	--p-text: #15141A;
	--p-dim: #5C6B6B;
	--p-muted: #5C6B6B;
	background: var(--p-bg);
	background-attachment: fixed;
	color: var(--p-text);
	min-height: 70vh;
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	padding: 2.5rem 1.2rem 5rem;
}
.mcgs-portal__wrap { max-width: 1160px; margin: 0 auto; }

.mcgs-portal__bar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 1rem; padding-bottom: 1rem; margin-bottom: 1.3rem;
	border-bottom: 1px solid var(--p-border);
}
.mcgs-portal__brand {
	display: inline-flex; align-items: center; gap: .55rem;
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600; color: var(--p-text); text-decoration: none; font-size: 1.15rem;
	line-height: 1;
}
.mcgs-portal__gem { display: inline-flex; line-height: 0; }
.mcgs-portal__gem svg { width: 30px; height: auto; display: block; }
.mcgs-portal__brand-word { letter-spacing: .09em; }
.mcgs-portal__brand-sub { font-weight: 500; color: var(--p-gold); letter-spacing: .04em; }
.mcgs-portal__nav { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1.1rem; font-size: .9rem; }
.mcgs-portal__lang { display: inline-flex; align-items: center; }
.mcgs-portal__navlink { color: var(--p-dim); text-decoration: none; }
.mcgs-portal__navlink.is-on, .mcgs-portal__navlink:hover { color: var(--p-text); }
.mcgs-portal__logout button {
	background: none; border: 1px solid var(--p-border); color: var(--p-dim);
	border-radius: 3px; padding: .3rem .8rem; cursor: pointer; font: inherit; font-size: .84rem;
}

.mcgs-portal h1, .mcgs-portal h2, .mcgs-portal h3, .mcgs-portal h4 {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 500;
	letter-spacing: 0;
}
.mcgs-portal h1 { color: var(--p-gold-light); font-size: 1.75rem; line-height: 1.15; margin: 0 0 .3rem; }
.mcgs-portal h2 { font-size: 1.25rem; margin: 0 0 .8rem; }
.mcgs-portal h3.mcgs-portal__sec {
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif); font-weight: 600;
	font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; color: var(--p-gold);
	margin: 2rem 0 .8rem; padding-bottom: .4rem; border-bottom: 1px solid var(--p-border);
}
.mcgs-portal h4.mcgs-portal__subhead {
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif); font-weight: 600;
	font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--p-gold);
	margin: 1.8rem 0 .5rem;
}
.mcgs-portal__reclist { list-style: none; margin: 0 0 .8rem; padding: 0; }
.mcgs-portal__reclist li { padding: .5rem 0; border-bottom: 1px solid var(--p-border); font-size: .92rem; }
.mcgs-portal__reclist li:last-child { border-bottom: none; }

.mcgs-portal__docs { display: flex; flex-direction: column; gap: .8rem; }
.mcgs-portal__doc { padding: .9rem; border: 1px solid rgba(255,255,255,.7); border-radius: 4px; background: rgba(255,255,255,.5); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 8px 24px -14px rgba(21,20,26,.14); }
.mcgs-portal__doc-head { font-size: .92rem; margin-bottom: .5rem; }
.mcgs-portal__doc-head b { color: var(--p-text); }
.mcgs-portal__doc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.mcgs-portal__doc-actions form { display: flex; align-items: center; gap: .4rem; margin: 0; }
.mcgs-portal__doc-actions input[type="file"] { font-size: .82rem; max-width: 190px; }
.mcgs-portal__doc-actions .mcgs-btn { padding: .35rem .8rem; font-size: .82rem; }
.mcgs-portal__doc-del { background: none; border: none; color: #B23B3B; font-size: .82rem; cursor: pointer; text-decoration: underline; padding: .35rem 0; }
.mcgs-portal__lead { color: var(--p-dim); margin: 0 0 1.6rem; }
.mcgs-portal__pid, .mcgs-portal code { font-family: ui-monospace, "SF Mono", monospace; color: var(--p-gold); font-size: .9em; }
.mcgs-portal a { color: var(--p-gold-light); }
.mcgs-portal__alt { margin-top: 1.4rem; font-size: .9rem; color: var(--p-dim); }
.mcgs-portal__hint { color: var(--p-dim); font-size: .9rem; }

.mcgs-portal__flash { border-radius: 4px; padding: .8rem 1rem; margin-bottom: 1.4rem; font-size: .92rem; border: 1px solid var(--p-border); }
.mcgs-portal__flash.is-ok { background: rgba(111, 159, 106, .13); border-color: rgba(111, 159, 106, .4); color: #2E7D46; }
.mcgs-portal__flash.is-error { background: rgba(190, 66, 48, .13); border-color: rgba(190, 66, 48, .4); color: #B23B3B; }

.mcgs-portal__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.1rem; margin: 1.6rem 0; }
.mcgs-portal__card {
	display: block; text-decoration: none; color: var(--p-text); position: relative;
	background: rgba(255, 255, 255, .55);
	border: 1px solid rgba(255, 255, 255, .7);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 10px 30px -14px rgba(21, 20, 26, .16);
	border-radius: 4px;
	padding: 1.5rem 1.5rem 1.4rem;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.mcgs-portal__card:hover {
	border-color: rgba(20, 107, 107, .45);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 12px 34px -14px rgba(21, 20, 26, .2), 0 0 16px -4px rgba(20, 107, 107, .3);
	transform: translateY(-2px);
}
.mcgs-portal__card b {
	display: block; font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif); font-weight: 600;
	font-size: 1.15rem; margin-bottom: .35rem;
	background: linear-gradient(100deg, var(--p-gold-light, #146B6B), var(--p-gold, #146B6B));
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--p-gold-light);
}
.mcgs-portal__card span { display: block; font-size: .89rem; color: var(--p-dim); line-height: 1.5; }
.mcgs-portal__card-cta { display: block; margin-top: 1rem; font-weight: 600; color: var(--p-gold, #146B6B) !important; }

/* The one dark moment per portal tab — same language as the portal landing.
   Everything else on the page stays light. */
.mcgs-portal__feature {
	background:
		radial-gradient(130% 120% at 12% 0%, rgba(20, 107, 107, .28), transparent 55%),
		linear-gradient(180deg, #0F5254, #071D1E 55%, #050F10);
	border: 1px solid rgba(95, 232, 227, .16);
	border-radius: 6px;
	padding: clamp(1.5rem, 3.4vw, 2.2rem);
	margin: 1.6rem 0;
	box-shadow: 0 30px 80px -40px rgba(7, 24, 25, .6);
}
.mcgs-portal__feature h2 {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: 1.22rem;
	color: #FCFCFD;
	margin: 0 0 1rem;
}
.mcgs-portal__feature p { margin: 0; color: rgba(252, 252, 253, .84); font-size: .96rem; line-height: 1.55; }
.mcgs-portal__feature .mcgs-portal__ticks { margin: 0; gap: .6rem; }
.mcgs-portal__feature .mcgs-portal__ticks + .mcgs-btn--solid { margin-top: 1.4rem; }
.mcgs-portal__feature .mcgs-portal__ticks li { color: rgba(252, 252, 253, .84); font-size: .93rem; padding-left: 1.4rem; }
.mcgs-portal__feature .mcgs-portal__ticks li::before { background: var(--p-glow, #5FE8E3); width: .45rem; height: .45rem; top: .5em; }
.mcgs-portal__feature .mcgs-btn--solid {
	display: inline-flex;
	background: #FCFCFD;
	color: #15141A;
	border-color: #FCFCFD;
	box-shadow: none;
}
.mcgs-portal__feature .mcgs-btn--solid:hover,
.mcgs-portal__feature .mcgs-btn--solid:focus {
	background: #FCFCFD;
	color: #15141A;
	transform: translateY(-1px);
	box-shadow: 0 0 18px -2px rgba(95, 232, 227, .55);
}
.mcgs-portal__feature--slim { padding: clamp(1.1rem, 2.6vw, 1.5rem) clamp(1.3rem, 3vw, 1.8rem); }

/* cross-sell (the other line), below My processes: collapsed to one line */
.mcgs-portal__xsell {
	margin: 2.6rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--p-border);
}
.mcgs-portal__xsell > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .25rem 0;
	font-size: .92rem;
	color: var(--p-text-dim, #5C6B6B);
}
.mcgs-portal__xsell > summary::-webkit-details-marker { display: none; }
.mcgs-portal__xsell > summary::after {
	content: "\2212"; /* minus sign shown as a plus until open */
	margin-left: auto;
	font-size: 1.05rem;
	line-height: 1;
	color: var(--p-gold);
}
.mcgs-portal__xsell:not([open]) > summary::after { content: "+"; }
.mcgs-portal__xsell > summary:hover { color: var(--p-text); }
.mcgs-portal__xsell > summary:focus-visible { outline: 2px solid var(--p-gold); outline-offset: 3px; }
.mcgs-portal__xsell-body { padding-top: .85rem; max-width: 60ch; }
.mcgs-portal__xsell-body p { margin: 0 0 1rem; color: var(--p-text); line-height: 1.6; font-size: .94rem; }

.mcgs-portal__form { display: grid; gap: .9rem; max-width: 520px; margin: 1.4rem 0; }
.mcgs-portal__fld { display: grid; gap: .35rem; font-size: .9rem; }
.mcgs-portal__fld > span { color: var(--p-dim); }
.mcgs-portal__fld input,
.mcgs-portal__fld textarea,
.mcgs-portal__fld select,
.mcgs-portal select:not(.mcgs-ff__input),
.mcgs-staff select:not(.mcgs-ff__input) {
	width: 100%; box-sizing: border-box;
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(21, 20, 26, .14); border-radius: 4px;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	color: var(--p-text); font: inherit; padding: .6rem .8rem;
	-webkit-appearance: none; appearance: none;
}
.mcgs-portal__fld select,
.mcgs-portal select:not(.mcgs-ff__input),
.mcgs-staff select:not(.mcgs-ff__input) {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%235C6B6B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .85rem center;
	padding-right: 2.2rem;
	cursor: pointer;
}
.mcgs-portal option, .mcgs-staff option { background: #FFFFFF; color: var(--p-text); }
.mcgs-portal__fld input:focus,
.mcgs-portal__fld textarea:focus,
.mcgs-portal__fld select:focus,
.mcgs-portal select:not(.mcgs-ff__input):focus,
.mcgs-staff select:not(.mcgs-ff__input):focus { outline: none; border-color: rgba(20, 107, 107, .55); }
.mcgs-portal__form .mcgs-btn { justify-self: start; margin-top: .4rem; }

.mcgs-portal__table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 1rem 0; }
.mcgs-portal__table th, .mcgs-portal__table td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--p-border); vertical-align: top; }
.mcgs-portal__table thead th { color: var(--p-dim); font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.mcgs-portal__table tbody th { color: var(--p-dim); font-weight: 500; width: 38%; }
.mcgs-portal__state {
	display: inline-block; font-size: .74rem; padding: .18em .6em; border-radius: 999px;
	background: rgba(20, 107, 107, .16); color: var(--p-gold-light);
}

/* the embedded mcgs-forms request forms sit on the dark ground already */
.mcgs-portal .mcgs-lineforms--bare { margin-top: 1.2rem; }

/* buttons (theme .mcgs-btn styles are not loaded on this standalone page) */
.mcgs-portal .mcgs-btn, .mcgs-portal button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	box-sizing: border-box;
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600; font-size: .92rem; cursor: pointer; text-decoration: none;
	border-radius: 3px; padding: .7rem 1.5rem; border: 1px solid transparent; line-height: 1.2;
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.mcgs-portal .mcgs-btn--solid, .mcgs-portal .mcgs-portal__form button[type="submit"] {
	background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 42%), #146B6B;
	color: #FCFCFD; border-color: var(--p-gold);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 22px -10px rgba(20, 107, 107, .5);
}
.mcgs-portal .mcgs-btn--solid:hover, .mcgs-portal .mcgs-portal__form button[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 10px 26px -10px rgba(20, 107, 107, .6), 0 0 16px -2px rgba(95, 232, 227, .4);
}
.mcgs-portal .mcgs-btn--ghost {
	background: rgba(20, 107, 107, .06); color: var(--p-gold-light); border-color: rgba(20, 107, 107, .3);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}
.mcgs-portal .mcgs-btn--ghost:hover { border-color: rgba(20, 107, 107, .6); background: rgba(20, 107, 107, .1); box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 0 14px -3px rgba(20, 107, 107, .3); }
.mcgs-portal .mcgs-portal__logout button {
	font-family: inherit; font-weight: 400; padding: .3rem .8rem; border-radius: 3px;
	background: none; border: 1px solid var(--p-border); color: var(--p-dim); font-size: .84rem;
}

/* F4 — quote + agreement */
.mcgs-portal__quote { background: var(--p-surface); border: 1px solid var(--p-border); border-radius: 4px; padding: 1.2rem 1.3rem; margin: 1rem 0; }
.mcgs-portal__fee { font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif); font-weight: 500; font-size: 1.6rem; color: var(--p-gold-light); margin: 0 0 .5rem; }
.mcgs-portal__agree { border: 1px solid rgba(20, 107, 107,.3); border-radius: 4px; padding: .9rem 1rem; margin: 1rem 0; }
.mcgs-portal__check { display: flex; gap: .6rem; align-items: flex-start; margin-top: .7rem; font-size: .9rem; }
.mcgs-portal__check input { margin-top: .2rem; accent-color: var(--p-gold); }
.mcgs-portal__legal { white-space: pre-wrap; font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif); font-size: .86rem; line-height: 1.7; color: var(--p-text); background: var(--p-surface); border: 1px solid var(--p-border); border-radius: 4px; padding: 1.3rem 1.4rem; margin-top: 1rem; }
.mcgs-portal__form .mcgs-portal__check + button, .mcgs-portal__quote button { margin-top: 1rem; }

/* ---- process tracker + shortlist (F7) ---- */
.mcgs-portal__track { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: .8rem 0 1.4rem; counter-reset: s; }
.mcgs-portal__track li { position: relative; padding: .35rem .7rem .35rem 1.9rem; border-radius: 999px; font-size: .8rem; background: var(--p-surface); border: 1px solid var(--p-border); color: var(--p-muted); counter-increment: s; }
.mcgs-portal__track li::before { content: counter(s); position: absolute; left: .5rem; top: 50%; transform: translateY(-50%); width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--p-border); color: var(--p-bg); font-size: .7rem; display: flex; align-items: center; justify-content: center; }
.mcgs-portal__track li.is-done { color: var(--p-text); border-color: rgba(111,159,106,.5); }
.mcgs-portal__track li.is-done::before { content: "\2713"; background: #6f9f6a; color: #fff; }
.mcgs-portal__track li.is-cur { color: var(--p-text); border-color: var(--p-gold); background: rgba(20, 107, 107,.12); }
.mcgs-portal__track li.is-cur::before { background: var(--p-gold); color: #FCFCFD; }

.mcgs-portal__cands { display: grid; gap: 1rem; margin-top: 1rem; }
.mcgs-portal__cand { border: 1px solid var(--p-border); border-radius: 4px; padding: 1.1rem 1.2rem; background: var(--p-surface); }
.mcgs-portal__cand-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.mcgs-portal__id { font-size: .78rem; color: var(--p-muted); font-weight: 400; }
.mcgs-portal__aff { text-align: center; flex-shrink: 0; }
.mcgs-portal__aff span { display: block; font-size: 1.35rem; font-weight: 700; line-height: 1; }
.mcgs-portal__aff small { font-size: .68rem; color: var(--p-muted); text-transform: uppercase; letter-spacing: .05em; }
.mcgs-portal__aff.b-hi span { color: #2E7D46; }
.mcgs-portal__aff.b-md span { color: #C2610C; }
.mcgs-portal__aff.b-lo span { color: #B23B3B; }
.mcgs-portal__cand-line { font-size: .86rem; margin: .5rem 0 0; color: var(--p-text); }
.mcgs-portal__vid { margin-top: .8rem; }
.mcgs-portal__vid video { width: 100%; max-width: 420px; border-radius: 4px; background: #000; margin-top: .3rem; }

/* ---- landing: the three ways in — three stacked panels, alternating ground ----
   Dark ground is reserved for one panel (Companies), the rest stay light with
   the line's own accent (petróleo for Talent Acquisition, wine for Workforce).
   Card component (radius, 1px border, no rest shadow, accent border+glow on
   hover) is the same across all three; only the ground + accent change. */
.mcgs-portal__choose {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	align-items: stretch;
	margin: 1.5rem 0 1.3rem;
}
.mcgs-portal__choice {
	display: flex;
	flex-direction: column;
	border-radius: 4px;
	border: 1px solid var(--p-border);
	padding: 1.5rem 1.4rem;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
/* fixed-height head so the first bullet lines up across all three cards */
.mcgs-portal__choice-head { min-height: 6.4rem; margin-bottom: .2rem; }
.mcgs-portal__choice-kicker {
	display: block;
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	font-weight: 600;
	font-size: .7rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--p-dim);
	margin-bottom: .35rem;
}
.mcgs-portal__choice-head h2 {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: 1.22rem;
	line-height: 1.2;
	margin: 0;
	color: var(--p-text);
	text-wrap: balance;
}
.mcgs-portal__choice-tag {
	font-style: italic;
	font-size: .95rem;
	line-height: 1.4;
	margin: .5rem 0 0;
}
.mcgs-portal__choice .mcgs-portal__ticks { margin: 0 0 1.1rem; gap: .5rem; flex: 1; }
.mcgs-portal__choice .mcgs-portal__ticks li {
	font-size: .93rem;
	line-height: 1.4;
	padding-left: 1.3rem;
}
.mcgs-portal__choice .mcgs-portal__ticks li::before { width: .45rem; height: .45rem; top: .5em; }
.mcgs-portal__choice .mcgs-btn--solid {
	display: inline-flex;
	width: 100%;
	justify-content: center;
	margin-top: auto;
	border-radius: 3px;
	padding: .78rem 1.2rem;
	font-size: .98rem;
}
.mcgs-portal__choice--dark .mcgs-portal__choice-kicker { color: rgba(252, 252, 253, .7); }
@media (max-width: 860px) {
	.mcgs-portal__choose { grid-template-columns: 1fr; }
}

/* landing page: fill the whole viewport, everything on one screen, no scroll */
.mcgs-portal--landing {
	padding: 0 1.2rem;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
}
.mcgs-portal--landing .mcgs-portal__wrap {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 1.4rem 0 1.6rem;
}
.mcgs-portal--landing .mcgs-portal__bar { margin-bottom: 0; padding-bottom: 1rem; }
.mcgs-portal__landing-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: .2rem;
}
.mcgs-portal--landing h1 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); margin-bottom: .3rem; }
.mcgs-portal--landing .mcgs-portal__lead { margin-bottom: 0; font-size: .96rem; }
.mcgs-portal--landing .mcgs-portal__choose { margin: clamp(1.4rem, 4vh, 2.6rem) 0 clamp(1rem, 3vh, 1.8rem); }
.mcgs-portal--landing .mcgs-portal__choice { padding: clamp(1.6rem, 2.6vw, 2.4rem) clamp(1.4rem, 2vw, 1.9rem); }
.mcgs-portal--landing .mcgs-portal__alt { margin: 0; }
@media (max-width: 860px) {
	.mcgs-portal--landing { min-height: 0; display: block; }
	.mcgs-portal--landing .mcgs-portal__wrap { padding: 1.6rem 0 2.4rem; }
	.mcgs-portal__landing-body { justify-content: flex-start; }
}

/* Companies — dark ground */
.mcgs-portal__choice--dark {
	border-color: rgba(95, 232, 227, .16);
	background: linear-gradient(180deg, #0F5254, #071D1E 55%, #050F10);
}
.mcgs-portal__choice--dark .mcgs-portal__choice-head h2 { color: #FCFCFD; }
.mcgs-portal__choice--dark .mcgs-portal__choice-tag { color: var(--p-glow); }
.mcgs-portal__choice--dark .mcgs-portal__ticks li { color: rgba(252, 252, 253, .82); }
.mcgs-portal__choice--dark .mcgs-portal__ticks li::before { background: var(--p-glow); }
.mcgs-portal__choice--dark:hover {
	border-color: rgba(95, 232, 227, .4);
	box-shadow: 0 0 18px -4px rgba(95, 232, 227, .3);
}
/* dark-ground button: bone fill, dark text, glow only on hover/focus */
.mcgs-portal__choice--dark .mcgs-btn--solid {
	background: #FCFCFD;
	color: #15141A;
	border-color: #FCFCFD;
	box-shadow: none;
}
.mcgs-portal__choice--dark .mcgs-btn--solid:hover,
.mcgs-portal__choice--dark .mcgs-btn--solid:focus {
	background: #FCFCFD;
	color: #15141A;
	transform: translateY(-1px);
	box-shadow: 0 0 18px -2px rgba(95, 232, 227, .55);
}

/* Candidates — Talent Acquisition — light ground, petróleo accent */
.mcgs-portal__choice--ta {
	background: var(--p-surface);
}
.mcgs-portal__choice--ta .mcgs-portal__choice-tag { color: var(--p-gold); }
.mcgs-portal__choice--ta .mcgs-portal__ticks li { color: var(--p-text); }
.mcgs-portal__choice--ta .mcgs-portal__ticks li::before { background: var(--p-gold); }
.mcgs-portal__choice--ta:hover {
	border-color: var(--p-gold);
	box-shadow: 0 0 16px -3px rgba(20, 107, 107, .3);
}

/* Candidates — Workforce Australia — light ground, deep-wine accent */
.mcgs-portal__choice--wa {
	background: var(--p-surface);
}
.mcgs-portal__choice--wa .mcgs-portal__choice-tag { color: var(--p-wa); }
.mcgs-portal__choice--wa .mcgs-portal__ticks li { color: var(--p-text); }
.mcgs-portal__choice--wa .mcgs-portal__ticks li::before { background: var(--p-wa); }
.mcgs-portal__choice--wa:hover {
	border-color: var(--p-wa);
	box-shadow: 0 0 16px -3px rgba(107, 30, 46, .3);
}
.mcgs-portal__choice--wa .mcgs-btn--solid {
	background: linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 42%), var(--p-wa);
	border-color: var(--p-wa);
}
.mcgs-portal__choice--wa .mcgs-btn--solid:hover,
.mcgs-portal__choice--wa .mcgs-btn--solid:focus {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), 0 10px 26px -10px rgba(107, 30, 46, .6), 0 0 16px -2px rgba(95, 232, 227, .4);
}

.mcgs-portal__ticks { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: .7rem; flex: 1; }
.mcgs-portal__ticks li {
	position: relative;
	padding-left: 1.4rem;
	color: var(--p-text);
	line-height: 1.5;
	font-size: .89rem;
}
.mcgs-portal__ticks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .48em;
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
	background: var(--p-gold-light, #146B6B);
}

/* "Why register" block above the signup forms */
.mcgs-portal__intro {
	background: var(--p-surface, #F1F1F5);
	border: 1px solid var(--p-border);
	border-radius: 4px;
	padding: 1.2rem 1.3rem;
	margin: 0 0 1.8rem;
}
.mcgs-portal__intro-h {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: 1rem;
	margin: 0 0 .9rem;
	color: var(--p-text);
}
.mcgs-portal__intro .mcgs-portal__ticks { margin: 0; }
.mcgs-portal__step { color: var(--p-dim); font-size: .9rem; margin: 0 0 1rem; }

/* ---- Business -> Services -> Actions ---- */
.mcgs-portal__svc {
	background: var(--p-surface);
	border: 1px solid var(--p-border);
	border-radius: 4px;
	padding: 1.1rem 1.3rem 1.3rem;
	margin: 1rem 0;
}
.mcgs-portal__svc h3.mcgs-portal__sec { margin-top: .2rem; }
.mcgs-portal__svc-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .9rem; }
.mcgs-portal__svc-actions .mcgs-btn { margin: 0; }

/* ---- apply: vacancy body ---- */
.mcgs-portal__vacancy {
	color: var(--p-text);
	line-height: 1.65;
	font-size: .93rem;
	border-left: 2px solid var(--p-border);
	padding-left: 1rem;
	margin: 1rem 0;
}
.mcgs-portal__vacancy p { margin: 0 0 .7rem; }

/* ---- conversation thread ---- */
.mcgs-thread { display: flex; flex-direction: column; gap: .7rem; margin: .6rem 0 1.2rem; }
.mcgs-thread__msg {
	max-width: 82%;
	background: var(--p-surface);
	border: 1px solid var(--p-border);
	border-radius: 4px;
	padding: .7rem .9rem;
}
.mcgs-thread__msg.is-mine { align-self: flex-end; border-color: rgba(20, 107, 107,.35); background: rgba(20, 107, 107,.06); }
.mcgs-thread__meta { font-size: .74rem; color: var(--p-dim); margin-bottom: .25rem; display: flex; gap: .5rem; }
.mcgs-thread__meta b { color: var(--p-gold-light); font-weight: 600; }
.mcgs-thread__msg p { margin: 0; font-size: .92rem; line-height: 1.55; color: var(--p-text); }

/* ---- the 3 quote responses ---- */
.mcgs-portal__quote-actions { display: flex; flex-direction: column; gap: 1.4rem; margin-top: 1rem; }
.mcgs-portal__quote-actions form { border-top: 1px solid var(--p-border); padding-top: 1rem; }
.mcgs-portal__quote-actions form:first-child { border-top: 0; padding-top: 0; }

/* ---- full contract conditions, shown before accepting ---- */
.mcgs-portal__terms { margin: 1rem 0; border: 1px solid var(--p-border); border-radius: 4px; padding: .9rem 1.1rem; background: var(--p-surface); }
.mcgs-portal__terms summary { cursor: pointer; font-weight: 500; color: var(--p-gold-light); font-size: .95rem; }
.mcgs-portal__terms[open] summary { margin-bottom: .8rem; }
.mcgs-portal__terms .mcgs-portal__legal { max-height: 380px; overflow-y: auto; }

/* candidate home: "complete your info" call-to-action row */
.mcgs-portal__cta-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}
.mcgs-portal__cta-row .mcgs-btn { flex: 0 0 auto; }

/* ---- EN / ES switch — same control as the site header ---- */
.mcgs-langswitch,
.mcgs-langswitch:hover,
.mcgs-langswitch:focus,
.mcgs-langswitch:active {
	appearance: none; border: 0; background: none; box-shadow: none;
	margin: 0; padding: 0; cursor: pointer;
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
}
.mcgs-langswitch__track {
	position: relative; display: inline-flex; align-items: center;
	border: 1px solid rgba(20, 107, 107, .3);
	border-radius: 999px; background: var(--p-surface, #F1F1F5);
	overflow: hidden;
}
.mcgs-langswitch__opt {
	position: relative; z-index: 1; padding: .26rem .58rem;
	font-size: .7rem; font-weight: 600; letter-spacing: .08em;
	color: var(--p-dim, #5C6B6B); transition: color .2s ease;
}
.mcgs-langswitch__opt.is-active { color: var(--p-bg, #FCFCFD); }
.mcgs-langswitch__knob {
	position: absolute; top: 2px; bottom: 2px; left: 2px;
	width: calc(50% - 2px); border-radius: 999px;
	background: var(--p-gold, #146B6B); transition: transform .2s ease;
}
.mcgs-langswitch[aria-checked="true"] .mcgs-langswitch__knob { transform: translateX(calc(100% + 0px)); }
.mcgs-langswitch:hover .mcgs-langswitch__track { border-color: var(--p-gold, #146B6B); }

/* keyboard focus (§10): a clear glow ring on interactive elements */
.mcgs-portal .mcgs-btn:focus-visible,
.mcgs-portal button:focus-visible,
.mcgs-portal .mcgs-portal__card:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(95, 232, 227, .45);
}
.mcgs-portal a:focus-visible {
	outline: 2px solid var(--p-glow, #5FE8E3);
	outline-offset: 2px;
	border-radius: 2px;
}
