/* SPG Resume Match: growth tools (7.50.0). Same palette as the empty-seat calculator. */
.spgrm-tool { --t-blue: #05769f; --t-navy: #0f2742; --t-ink: #14263d; --t-muted: #5a6778; --t-line: #d4dce5; --t-mist: #eef4f7; --t-orange: #ff6306; max-width: 1000px; margin: 2rem auto; color: var(--t-ink); }
.spgrm-tool * { box-sizing: border-box; }
.spgrm-tool [hidden] { display: none !important; }
.spgrm-tool .spgrm-tool__intro { font-size: 1.15rem; line-height: 1.6; color: var(--t-ink); max-width: none; margin: 0 0 1.5rem; }
.spgrm-tool__card { background: #fff; border: 1px solid var(--t-line); border-radius: 14px; padding: 1.5rem; margin: 0 0 1.25rem; box-shadow: 0 1px 2px rgba(15, 39, 66, .04); }
.spgrm-tool__card h3 { margin: 0 0 .5rem; font-size: 1.25rem; color: var(--t-navy); }
.spgrm-tool__card > p { margin: 0 0 1rem; color: var(--t-muted); }
.spgrm-tool__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .9rem 1rem; margin-bottom: 1rem; }
.spgrm-tool label { display: flex; flex-direction: column; gap: .35rem; font-weight: 600; font-size: .92rem; color: var(--t-ink); margin-bottom: .75rem; }
.spgrm-tool__grid label { margin-bottom: 0; }
.spgrm-tool input[type=text], .spgrm-tool input[type=email], .spgrm-tool input[type=tel], .spgrm-tool input[type=url], .spgrm-tool input[type=number], .spgrm-tool select, .spgrm-tool textarea { width: 100%; padding: .65rem .75rem; border: 1px solid var(--t-line); border-radius: 8px; font: inherit; font-weight: 400; color: var(--t-ink); background: #fff; min-height: 44px; }
.spgrm-tool textarea { min-height: 0; resize: vertical; }
.spgrm-tool input:focus-visible, .spgrm-tool select:focus-visible, .spgrm-tool textarea:focus-visible, .spgrm-tool button:focus-visible, .spgrm-tool a:focus-visible { outline: 3px solid var(--t-blue); outline-offset: 2px; }
.spgrm-tool .spgrm-tool__check { flex-direction: row; align-items: center; gap: .5rem; font-weight: 400; }
.spgrm-tool__check input { width: 18px; height: 18px; }
.spgrm-tool .spgrm-tool__btn, .spgrm-tool a.spgrm-tool__btn { display: inline-block; border: 0; cursor: pointer; padding: .8rem 1.6rem; border-radius: 25px; background: var(--t-orange); color: #fff; font: inherit; font-weight: 700; text-decoration: none; min-height: 44px; }
.spgrm-tool .spgrm-tool__btn:hover { background: #e55500; color: #fff; }
.spgrm-tool .spgrm-tool__btn:disabled { opacity: .65; cursor: progress; }
.spgrm-tool .spgrm-tool__btn--ghost { background: #fff; color: var(--t-blue); border: 2px solid var(--t-blue); }
.spgrm-tool .spgrm-tool__btn--ghost:hover { background: var(--t-mist); color: var(--t-blue); }
.spgrm-tool__status { margin: .75rem 0 0; min-height: 1.2em; font-weight: 600; color: var(--t-blue); }
.spgrm-tool__status.is-error { color: #b32d2e; }
.spgrm-tool__ok { background: #e7f6ec; border-left: 4px solid #1a7f37; padding: .75rem 1rem; border-radius: 6px; font-weight: 600; }
.spgrm-tool__small { font-size: .85rem; color: var(--t-muted); }
.spgrm-tool__admin { border: 2px solid #d63638; padding: 10px; background: #fff5f5; }
.spgrm-tool__note { color: var(--t-muted); }

/* Stats */
.spgrm-tool__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1rem 0 1.5rem; }
.spgrm-tool__stat { background: var(--t-mist); border-radius: 12px; padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: .25rem; }
.spgrm-tool__stat span { font-size: .85rem; color: var(--t-muted); }
.spgrm-tool__stat strong { font-size: 1.5rem; color: var(--t-navy); }
.spgrm-tool__stat--main { background: var(--t-navy); }
.spgrm-tool__stat--main span { color: rgba(255, 255, 255, .8); }
.spgrm-tool__stat--main strong { color: #fff; font-size: 2rem; }
.spgrm-bench__head { font-size: 1.4rem; margin: 0 0 .25rem; color: var(--t-navy); }
.spgrm-bench__note { background: #fff7e6; border-left: 4px solid #f0a020; padding: .5rem .75rem; border-radius: 6px; }

/* Links under guides and tools */
.spgrm-tool__pair, .spgrm-salary .spgrm-tool__pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.spgrm-tool__link { display: flex; flex-direction: column; gap: .3rem; padding: 1rem 1.25rem; border: 1px solid #d4dce5; border-radius: 12px; text-decoration: none; color: #14263d; background: #fff; }
.spgrm-tool__link strong { color: #05769f; }
.spgrm-tool__link span { color: #5a6778; font-size: .92rem; }
.spgrm-tool__link:hover { border-color: #05769f; box-shadow: 0 2px 8px rgba(5, 118, 159, .12); }

/* Job alerts box under a job */
.spgrm-alerts--compact { margin: 2rem 0; }
.spgrm-alerts--compact .spgrm-tool__card { background: var(--t-mist); border: 0; }

/* Add-ons */
.spgrm-addons { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; margin: 1rem 0; }
.spgrm-addons__title { grid-column: 1 / -1; margin: 1rem 0 0; color: var(--t-navy, #0f2742); }
.spgrm-addon { background: #fff; border: 1px solid #d4dce5; border-radius: 14px; padding: 1.25rem; display: flex; flex-direction: column; gap: .5rem; }
.spgrm-tool .spgrm-addon__name { font-weight: 700; font-size: 1.15rem; margin: 0; color: #0f2742; }
.spgrm-addon__price { font-size: 1.8rem; font-weight: 800; margin: 0; color: #05769f; }
.spgrm-tool .spgrm-addon__pitch { margin: 0; color: #5a6778; font-size: 1rem; line-height: 1.5; }
.spgrm-tool .spgrm-addon ul { margin: .25rem 0 .75rem 1.1rem; padding: 0; }
.spgrm-tool .spgrm-addon li { font-size: .95rem; line-height: 1.5; margin: 0 0 .3rem; color: #14263d; }
.spgrm-addon .spgrm-tool__btn { margin-top: auto; align-self: flex-start; }
.spgrm-addons--compact .spgrm-addon__pitch { font-size: .92rem; }

/* Calculators */
.spgrm-tool__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 1.25rem; align-items: start; }
.spgrm-tool__result { background: var(--t-navy); color: #fff; border: 0; }
.spgrm-tool__result .spgrm-tool__note { color: rgba(255, 255, 255, .85); }
.spgrm-tool .spgrm-tool__result, .spgrm-tool .spgrm-tool__result p, .spgrm-tool .spgrm-tool__result th, .spgrm-tool .spgrm-tool__result td, .spgrm-tool .spgrm-tool__result strong { color: #fff; }
.spgrm-tool .spgrm-tool__result .spgrm-tool__note { color: rgba(255, 255, 255, .88); }
.spgrm-tool .spgrm-tool__result td.is-best { color: #7ee2a8; }
.spgrm-offer [data-o=verdict] { font-size: 1.15rem; font-weight: 700; opacity: 1; margin-bottom: .75rem; }
.spgrm-tool__label { margin: 0; font-size: .9rem; opacity: .85; }
.spgrm-tool__big { margin: 0 0 .25rem; font-size: clamp(2rem, 1.5rem + 2vw, 2.8rem); font-weight: 800; line-height: 1.1; }
.spgrm-tool__mid { margin: 0 0 .5rem; font-size: 1.5rem; font-weight: 700; }
.spgrm-tool__table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.spgrm-tool__table th, .spgrm-tool__table td { padding: .5rem .6rem; text-align: left; border-bottom: 1px solid rgba(212, 220, 229, .6); }
.spgrm-tool__result .spgrm-tool__table th, .spgrm-tool__result .spgrm-tool__table td { border-bottom-color: rgba(255, 255, 255, .15); }
.spgrm-tool__table tr.is-target td { background: rgba(255, 255, 255, .1); font-weight: 700; }
.spgrm-tool__table td.is-best { color: #7ee2a8; font-weight: 700; }
.spgrm-offer__in input { min-width: 0; }
.spgrm-offer__in { table-layout: fixed; }
.spgrm-offer__in th { font-weight: 600; font-size: .9rem; }
.spgrm-offer__in th[scope=row], .spgrm-offer__in thead th:first-child { width: 40%; }
.spgrm-tool__math { margin: 1rem 0; color: var(--t-muted); }
.spgrm-tool__math summary { cursor: pointer; font-weight: 600; color: var(--t-blue); }

/* Results from a code */
.spgrm-redeem__out { background: #fff; border: 1px solid var(--t-line); border-radius: 14px; padding: 1.5rem; }
.spgrm-redeem__result h2 { margin-top: 0; color: var(--t-navy); }
.spgrm-redeem__result h3 { color: var(--t-navy); margin: 1.5rem 0 .5rem; }
.spgrm-redeem__actions { text-align: right; margin: 0; }

@media (max-width: 760px) {
	.spgrm-tool__split { grid-template-columns: 1fr; }
	.spgrm-tool__card { padding: 1.1rem; }
	.spgrm-offer__in th[scope=row], .spgrm-offer__in thead th:first-child { width: 44%; }
	.spgrm-tool__table { font-size: .88rem; }
}
@media print {
	body * { visibility: hidden; }
	.spgrm-redeem__out, .spgrm-redeem__out * { visibility: visible; }
	.spgrm-redeem__out { position: absolute; left: 0; top: 0; width: 100%; border: 0; }
	.spgrm-redeem__actions { display: none; }
}

/* Code box on Career Services */
.spgrm-services__redeem { margin-top: 2rem; }
.spgrm-services__redeem > h3 { color: var(--t-navy); margin: 0 0 .25rem; }
.spgrm-services__redeem .spgrm-tool { margin: .75rem 0 0; }
.spgrm-services__redeem .spgrm-redeem__code { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; }
.spgrm-services__redeem .spgrm-redeem__code label { flex: 1 1 220px; margin: 0; }
.spgrm-services__redeem .spgrm-redeem__code .spgrm-tool__status { flex-basis: 100%; margin: 0; min-height: 0; }

/* Book a call box */
.spgrm-tool .spgrm-bookcall { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; background: var(--t-mist); border: 0; }
.spgrm-tool .spgrm-bookcall h3 { margin: 0 0 .25rem; }
.spgrm-tool .spgrm-bookcall p { margin: 0; color: var(--t-ink); }
.spgrm-tool .spgrm-bookcall > div { flex: 1 1 320px; }
