.brand { display: inline-flex; align-items: center; gap: var(--rc-space-2); color: var(--rc-color-text-primary); font-size: var(--rc-font-size-16); font-weight: 600; text-decoration: none; letter-spacing: -.015em; }
.brand-mark { color: var(--rc-color-brand); }
.btn { display: inline-flex; height: var(--rc-control-height); min-height: var(--rc-control-height); align-self: center; align-items: center; justify-content: center; gap: var(--rc-space-2); padding: 0 var(--rc-space-4); border: 1px solid transparent; border-radius: var(--rc-radius-control); background: transparent; color: var(--rc-color-text-primary); font-size: var(--rc-font-size-14); font-weight: 500; line-height: var(--rc-line-20); text-decoration: none; vertical-align: middle; white-space: nowrap; transition: background-color var(--rc-transition-fast), border-color var(--rc-transition-fast), color var(--rc-transition-fast); }
.btn-small { height: var(--rc-control-height-small); min-height: var(--rc-control-height-small); padding-inline: var(--rc-space-3); font-size: var(--rc-font-size-13); }
.btn-large { height: var(--rc-control-height-touch); min-height: var(--rc-control-height-touch); padding-inline: var(--rc-space-5); }
.btn-primary { background: var(--rc-color-brand); color: var(--rc-color-surface); }
.btn-primary:hover { background: var(--rc-color-brand-hover); color: var(--rc-color-surface); }
.btn-primary:active { background: var(--rc-color-brand-active); }
.btn-secondary { border-color: var(--rc-color-border-strong); background: var(--rc-color-surface); }
.btn-secondary:hover { border-color: var(--rc-color-text-tertiary); background: var(--rc-color-surface-hover); color: var(--rc-color-text-primary); }
.btn-tertiary { height: auto; min-height: var(--rc-control-height-small); padding: var(--rc-space-1) 0; border: 0; color: var(--rc-color-brand); }
.btn-tertiary:hover { color: var(--rc-color-brand-hover); text-decoration: underline; }
.btn-ghost:hover { background: var(--rc-color-surface-hover); color: var(--rc-color-text-primary); }
.btn-danger { background: var(--rc-color-danger); color: var(--rc-color-surface); }
.btn-danger:hover { background: var(--rc-color-danger-hover); color: var(--rc-color-surface); }
.btn-icon { width: var(--rc-control-height); padding: 0; }
.btn-icon.btn-small { width: var(--rc-control-height-small); }
.btn-icon.btn-large { width: var(--rc-control-height-touch); }
.btn-loading::before { width: .875rem; height: .875rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; content: ""; animation: rc-spin .8s linear infinite; }
.btn.is-hovered { filter: brightness(.94); }
.btn.is-focused, .input.is-focused, .select.is-focused, .search-input.is-focused, .page-link.is-focused { border-color: var(--rc-color-focus); box-shadow: var(--rc-focus-ring); }
.btn.is-active { transform: translateY(1px); filter: brightness(.88); }
.surface { background: var(--rc-color-surface); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); }
.panel { background: var(--rc-color-surface); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); }
.card { padding: var(--rc-space-5); background: var(--rc-color-surface); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); }
.card-interactive { transition: background-color var(--rc-transition-fast), border-color var(--rc-transition-fast); }
.card-interactive:hover { border-color: var(--rc-color-border-strong); background: var(--rc-color-surface-hover); }
.card-visual { overflow: hidden; }
.card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--rc-space-4); }
.card-header > :first-child { min-width: 0; }
.card-header > :first-child > :last-child { margin-bottom: 0; }
.card-footer { margin-top: var(--rc-space-4); padding-top: var(--rc-space-4); border-top: 1px solid var(--rc-color-border); }
.field { display: grid; min-width: 0; gap: var(--rc-space-2); }
.field label, .field-label { color: var(--rc-color-text-primary); font-size: var(--rc-font-size-13); font-weight: 500; line-height: var(--rc-line-18); }
.field-hint, .field-error { font-size: var(--rc-font-size-12); line-height: var(--rc-line-16); }
.field-hint { color: var(--rc-color-text-secondary); }
.field-error { color: var(--rc-color-danger); }
.input, .select, .textarea, .search-input,
.field > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"]),
.field > select, .field > textarea { width: 100%; min-height: var(--rc-control-height); padding: 0 var(--rc-space-3); border: 1px solid var(--rc-color-border-strong); border-radius: var(--rc-radius-control); background: var(--rc-color-surface); color: var(--rc-color-text-primary); font-size: var(--rc-font-size-14); transition: border-color var(--rc-transition-fast), box-shadow var(--rc-transition-fast); }
.input, .select, .search-input,
.field > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"]),
.field > select { height: var(--rc-control-height); }
.select { padding-right: 2.5rem; appearance: none; }
.input:hover, .select:hover, .textarea:hover, .search-input:hover,
.field > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,
.field > select:hover, .field > textarea:hover { border-color: var(--rc-color-text-tertiary); }
.input:focus, .select:focus, .textarea:focus, .search-input:focus,
.field > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.field > select:focus, .field > textarea:focus { outline: 0; border-color: var(--rc-color-focus); box-shadow: var(--rc-focus-ring); }
.input[aria-invalid="true"], .select[aria-invalid="true"], .textarea[aria-invalid="true"],
.field > input[aria-invalid="true"], .field > select[aria-invalid="true"], .field > textarea[aria-invalid="true"] { border-color: var(--rc-color-danger); }
.input.is-success, .select.is-success, .search-input.is-success { border-color: var(--rc-color-success); }
.textarea, .field > textarea { min-height: 6rem; padding-block: var(--rc-space-3); resize: vertical; }
.textarea-large { min-height: 10rem; }
.field-required { color: var(--rc-color-danger); }
.select-wrap { position: relative; }
.select-icon { position: absolute; top: 50%; right: var(--rc-space-3); color: var(--rc-color-text-secondary); transform: translateY(-50%); pointer-events: none; }
.input-wrap { position: relative; }
.input-wrap .input { padding-right: 2.75rem; }
.input-action { position: absolute; top: 50%; right: .125rem; width: calc(var(--rc-control-height) - .25rem); height: calc(var(--rc-control-height) - .25rem); min-height: calc(var(--rc-control-height) - .25rem); transform: translateY(-50%); }
.search-field { min-width: 0; }
.search-control { position: relative; }
.search-control .search-input { padding-inline: 2.25rem 2.5rem; }
.search-leading, .search-trailing { position: absolute; z-index: 1; top: 50%; transform: translateY(-50%); }
.search-leading { left: var(--rc-space-3); color: var(--rc-color-text-secondary); pointer-events: none; }
.search-trailing { right: var(--rc-space-3); }
.search-clear { position: absolute; top: 50%; right: .125rem; width: calc(var(--rc-control-height) - .25rem); height: calc(var(--rc-control-height) - .25rem); min-height: calc(var(--rc-control-height) - .25rem); transform: translateY(-50%); }
.search-compact { --rc-control-height: 2.25rem; }
.search-public { --rc-control-height: 2.75rem; }
.control-spinner { display: inline-block; width: 1rem; height: 1rem; border: 2px solid var(--rc-color-border-strong); border-right-color: var(--rc-color-brand); border-radius: 50%; animation: rc-spin .8s linear infinite; }
.form-grid { display: grid; align-content: start; gap: var(--rc-form-gap, var(--rc-space-4)); }
.form-content { width: min(100%, var(--rc-form-content-width)); justify-self: start; }
.form-content-wide { width: min(100%, var(--rc-form-content-width-wide)); justify-self: start; }
.form-grid-semantic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-content: start; gap: var(--rc-form-gap, var(--rc-space-4)); }
.form-grid-semantic > * { min-width: 0; }
.field-compact { grid-column: span 4; }
.field-standard { grid-column: span 6; }
.field-wide { grid-column: span 8; } /* Legacy alias retained for existing 2A views; do not use on new forms. */
.field-full { grid-column: 1 / -1; }
.form-section { display: grid; align-content: start; gap: var(--rc-space-4); }
.form-section + .form-section { padding-top: var(--rc-space-5); border-top: 1px solid var(--rc-color-border); }
.form-section-heading { display: grid; gap: var(--rc-space-1); }
.form-section-heading > :is(h2, h3, p) { margin-bottom: 0; }
.form-section-heading > :is(h2, h3) { font-size: var(--rc-font-size-16); line-height: var(--rc-line-24); }
.section-subgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--rc-card-stack-gap); }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rc-action-gap, var(--rc-space-3)); padding-top: var(--rc-space-2); }
.form-actions-separated { margin-top: var(--rc-space-2); padding-top: var(--rc-space-5); border-top: 1px solid var(--rc-color-border); }
.filter-disclosure { border-top: 1px solid var(--rc-color-border); border-bottom: 1px solid var(--rc-color-border); }
.filter-disclosure > summary { min-height: var(--rc-control-height); display: flex; align-items: center; color: var(--rc-color-text-primary); font-size: var(--rc-font-size-14); font-weight: 600; cursor: pointer; }
.filter-disclosure[open] > summary { margin-bottom: var(--rc-space-4); }
.filter-disclosure > .form-grid { padding-bottom: var(--rc-space-4); }
.read-only-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rc-space-4) var(--rc-space-6); margin: 0; }
.read-only-list > div { display: grid; align-content: start; gap: var(--rc-space-1); min-width: 0; }
.read-only-list dt { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); font-weight: 500; line-height: var(--rc-line-16); }
.read-only-list dd { margin: 0; color: var(--rc-color-text-primary); font-size: var(--rc-font-size-14); font-weight: 600; line-height: var(--rc-line-20); overflow-wrap: anywhere; }
.compound-control { display: grid; grid-template-columns: minmax(11rem, 14rem) minmax(14rem, 1fr); align-items: start; gap: var(--rc-space-2); }
.destructive-action { display: grid; align-content: start; justify-items: start; gap: var(--rc-space-4); }
.destructive-action > :is(h2, h3, p) { margin-bottom: 0; }
.danger-zone { display: grid; align-content: start; justify-items: start; gap: var(--rc-space-4); padding: var(--rc-space-5); border: 1px solid var(--rc-color-danger); border-radius: var(--rc-radius-card); background: var(--rc-color-danger-subtle); }
.danger-zone > :is(h2, h3, p) { margin-bottom: 0; }
.danger-zone h2 { color: var(--rc-color-danger); }
.choice { display: flex; min-height: 2.25rem; align-items: flex-start; gap: var(--rc-space-2); padding-block: var(--rc-space-2); color: var(--rc-color-text-primary); font-size: var(--rc-font-size-14); line-height: var(--rc-line-20); }
.choice input { width: 1rem; height: 1rem; margin: .125rem 0 0; accent-color: var(--rc-color-brand); }
.selection-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.selection-group > legend:not(.sr-only) { margin: 0 0 var(--rc-space-1); padding: 0; color: var(--rc-color-text-primary); font-size: var(--rc-font-size-16); font-weight: 600; line-height: var(--rc-line-24); }
.selection-group-hint { margin: 0 0 var(--rc-space-3); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-13); line-height: var(--rc-line-18); }
.selection-options { display: grid; align-content: start; gap: var(--rc-space-1) var(--rc-space-4); }
.selection-options-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.selection-options-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.selection-options-scroll { max-height: 28rem; padding-right: var(--rc-space-2); overflow-y: auto; scrollbar-gutter: stable; }
.selection-well { padding: var(--rc-space-3) var(--rc-space-4); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-control); background: var(--rc-color-surface-subtle); }
.otp-input { max-width: 15rem; font-size: var(--rc-font-size-20); font-variant-numeric: tabular-nums; letter-spacing: .42em; text-align: center; }
.badge { display: inline-flex; align-items: center; gap: var(--rc-space-1); width: max-content; min-height: 1.375rem; padding: 0 var(--rc-space-2); border-radius: var(--rc-radius-pill); background: var(--rc-color-surface-hover); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); font-weight: 500; line-height: var(--rc-line-16); white-space: nowrap; }
.status-pill { display: inline-flex; align-items: center; gap: var(--rc-space-1); width: max-content; min-height: 1.5rem; padding: 0 var(--rc-space-2); border-radius: var(--rc-radius-pill); font-size: var(--rc-font-size-12); font-weight: 500; line-height: var(--rc-line-16); white-space: nowrap; }
.status-neutral { background: var(--rc-color-surface-hover); color: var(--rc-color-text-secondary); }
.status-success { background: var(--rc-color-success-subtle); color: var(--rc-color-success); }
.status-warning { background: var(--rc-color-warning-subtle); color: var(--rc-color-warning); }
.status-info { background: var(--rc-color-info-subtle); color: var(--rc-color-info); }
.status-danger { background: var(--rc-color-danger-subtle); color: var(--rc-color-danger); }
.alert { display: flex; align-items: flex-start; gap: var(--rc-space-3); padding: var(--rc-space-3) var(--rc-space-4); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-control); font-size: var(--rc-font-size-13); line-height: var(--rc-line-20); }
.alert > .ui-icon { flex: none; margin-top: .125rem; }
.alert > :last-child { margin-bottom: 0; }
.alert-success { border-color: color-mix(in srgb, var(--rc-color-success) 24%, var(--rc-color-border)); background: var(--rc-color-success-subtle); color: var(--rc-color-success); }
.alert-warning { border-color: color-mix(in srgb, var(--rc-color-warning) 24%, var(--rc-color-border)); background: var(--rc-color-warning-subtle); color: var(--rc-color-warning); }
.alert-danger { border-color: color-mix(in srgb, var(--rc-color-danger) 24%, var(--rc-color-border)); background: var(--rc-color-danger-subtle); color: var(--rc-color-danger); }
.alert-info { border-color: color-mix(in srgb, var(--rc-color-info) 24%, var(--rc-color-border)); background: var(--rc-color-info-subtle); color: var(--rc-color-info); }
.avatar { display: grid; flex: none; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid var(--rc-color-border); border-radius: 50%; background: var(--rc-color-surface-subtle); color: var(--rc-color-navy); font-size: var(--rc-font-size-13); font-weight: 600; }
.avatar-small { width: 2rem; height: 2rem; }
.avatar-large { width: 3rem; height: 3rem; }
.meta-row { display: flex; flex-wrap: wrap; gap: var(--rc-space-2); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-13); }
.meta-row span { display: inline-flex; align-items: center; gap: var(--rc-space-1); }
.meta-row span + span::before { margin-right: var(--rc-space-1); color: var(--rc-color-text-tertiary); content: "·"; }
.metadata-line { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rc-space-2); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-13); }
.metadata-line > span { display: inline-flex; align-items: center; }
.metadata-line > span + span::before { margin-right: var(--rc-space-2); color: var(--rc-color-text-tertiary); content: "·"; }
.job-result { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--rc-space-4); padding-block: var(--rc-space-4); border-bottom: 1px solid var(--rc-color-border); }
.job-result:last-child { border-bottom: 0; }
.job-result h3, .talent-result h3, .resort-card h3 { margin-bottom: var(--rc-space-1); }
.result-title { color: var(--rc-color-text-primary); text-decoration: none; }
.result-title:hover { color: var(--rc-color-brand); text-decoration: underline; }
.talent-result { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--rc-space-4); padding: var(--rc-space-4); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); background: var(--rc-color-surface); }
.talent-skills { display: flex; flex-wrap: wrap; gap: var(--rc-space-2); margin-top: var(--rc-space-2); }
.resort-card { display: grid; min-height: 13rem; align-content: end; padding: var(--rc-space-5); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); background: var(--rc-color-surface-subtle); }
.property-switcher { display: inline-flex; min-width: 11rem; height: var(--rc-control-height-touch); align-items: center; justify-content: space-between; gap: var(--rc-space-3); padding: var(--rc-space-1) var(--rc-space-3); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-control); background: var(--rc-color-surface); color: var(--rc-color-text-primary); text-align: left; }
.property-switcher strong, .property-switcher small { display: block; }
.property-switcher strong { font-size: var(--rc-font-size-13); font-weight: 500; line-height: var(--rc-line-18); }
.property-switcher small { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); line-height: var(--rc-line-16); }
.metric-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); background: var(--rc-color-border); }
.metric { display: grid; align-content: start; gap: var(--rc-space-1); min-width: 0; padding: var(--rc-space-4); background: var(--rc-color-surface); }
.metric dt { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); }
.metric dd { margin: 0; overflow-wrap: anywhere; font-size: var(--rc-font-size-20); font-weight: 600; font-variant-numeric: tabular-nums; line-height: var(--rc-line-28); }
.metric small { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); line-height: var(--rc-line-16); }
.toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rc-action-gap, var(--rc-space-2)); }
.toolbar .search-field { flex: 1 1 15rem; }
.toolbar > .select { width: auto; min-width: 10rem; }
.toolbar > .desktop-filter { min-width: 10rem; }
.chip { display: inline-flex; align-items: center; gap: var(--rc-space-1); min-height: 1.75rem; padding: 0 var(--rc-space-2); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-pill); background: var(--rc-color-surface); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); }
.table-wrap { overflow: auto; border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); background: var(--rc-color-surface); }
table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
th, td { height: 2.875rem; padding: var(--rc-space-2) var(--rc-space-3); border-bottom: 1px solid var(--rc-color-border); text-align: left; vertical-align: middle; }
th { background: var(--rc-color-surface-subtle); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); font-weight: 600; }
td { font-size: var(--rc-font-size-13); }
tbody tr:last-child td { border-bottom: 0; }
.cell-actions { width: 3rem; text-align: right; }
.tabs { display: flex; gap: var(--rc-space-5); overflow-x: auto; border-bottom: 1px solid var(--rc-color-border); }
.tab { min-height: 2.5rem; padding: 0; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-13); font-weight: 500; white-space: nowrap; }
.tab[aria-selected="true"] { border-color: var(--rc-color-brand); color: var(--rc-color-text-primary); }
.tab-panel { padding-block: var(--rc-space-5); }
.breadcrumb { display: flex; flex-wrap: wrap; gap: var(--rc-space-2); margin: 0 0 var(--rc-space-4); padding: 0; list-style: none; color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); }
.breadcrumb li + li::before { margin-right: var(--rc-space-2); color: var(--rc-color-text-tertiary); content: "/"; }
.pagination { display: flex; align-items: center; gap: var(--rc-space-1); }
.pagination:has(*) { margin-top: var(--rc-card-stack-gap); }
.pagination .page-link { display: inline-flex; width: auto; padding-inline: var(--rc-space-2); gap: var(--rc-space-1); }
.page-current { padding-inline: var(--rc-space-2); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-13); }
.page-link { display: grid; min-width: 2rem; height: 2rem; place-items: center; border: 1px solid transparent; border-radius: var(--rc-radius-small); color: var(--rc-color-text-secondary); text-decoration: none; }
.page-link:hover { background: var(--rc-color-surface-hover); color: var(--rc-color-text-primary); }
.page-link[aria-current="page"] { border-color: var(--rc-color-border-strong); background: var(--rc-color-surface); color: var(--rc-color-text-primary); }
.page-link[aria-disabled="true"] { cursor: not-allowed; opacity: .48; pointer-events: none; }
.dropdown { position: relative; }
.dropdown-menu { position: absolute; z-index: 50; top: calc(100% + var(--rc-space-2)); right: 0; min-width: 12rem; padding: var(--rc-space-1); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-control); background: var(--rc-color-surface); box-shadow: var(--rc-shadow-elevation-1); }
.dropdown-menu[hidden] { display: none; }
.menu-item { display: flex; width: 100%; min-height: 2.25rem; align-items: center; gap: var(--rc-space-2); padding: 0 var(--rc-space-2); border: 0; border-radius: var(--rc-radius-small); background: transparent; color: var(--rc-color-text-primary); font-size: var(--rc-font-size-13); text-decoration: none; }
.menu-item:hover { background: var(--rc-color-surface-hover); }
.dialog { width: min(32rem, calc(100% - 2rem)); padding: 0; border: 0; border-radius: var(--rc-radius-panel); background: var(--rc-color-surface); box-shadow: var(--rc-shadow-elevation-2); }
.dialog::backdrop { background: var(--rc-color-overlay); }
.dialog-header, .dialog-body, .dialog-actions { padding: var(--rc-space-5); }
.dialog-header { padding-bottom: 0; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--rc-space-2); border-top: 1px solid var(--rc-color-border); }
.drawer-backdrop { position: fixed; z-index: 80; inset: 0; background: var(--rc-color-overlay); }
.drawer-backdrop[hidden] { display: none; }
.drawer { position: fixed; z-index: 90; top: 0; bottom: 0; left: 0; width: min(20rem, 90vw); padding: var(--rc-space-4); overflow-y: auto; border-right: 1px solid var(--rc-color-border); background: var(--rc-color-surface); box-shadow: var(--rc-shadow-elevation-2); transform: translateX(-105%); transition: transform var(--rc-transition-overlay); }
.drawer-detail { right: 0; left: auto; width: min(var(--rc-detail-width), 100vw); border-right: 0; border-left: 1px solid var(--rc-color-border); transform: translateX(105%); }
.drawer.is-open { transform: none; }
.drawer-header { display: flex; align-items: center; justify-content: space-between; gap: var(--rc-space-3); margin-bottom: var(--rc-space-5); }
.empty-state { width: min(100%, 32rem); margin-inline: auto; padding: var(--rc-space-8) var(--rc-space-5); text-align: center; }
.empty-icon { display: grid; width: 2rem; height: 2rem; margin: 0 auto var(--rc-space-3); place-items: center; color: var(--rc-color-text-secondary); }
.empty-state h2, .empty-state h3 { margin-bottom: var(--rc-space-2); }
.empty-state p { margin-bottom: var(--rc-space-4); color: var(--rc-color-text-secondary); }
.empty-state > :last-child { margin-bottom: 0; }
.empty-state-compact, .compact-empty { padding-block: var(--rc-space-5); }
.empty-state-panel { width: 100%; max-width: none; border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); background: var(--rc-color-surface); }
.skeleton { min-height: .75rem; border-radius: var(--rc-radius-small); background: var(--rc-color-border); animation: rc-pulse 1.6s ease-in-out infinite; }
.skeleton + .skeleton { margin-top: var(--rc-space-2); }
.skeleton-short { width: 45%; }
.combobox-field { position: relative; }
.combobox-control { position: relative; }
.combobox-input.has-leading { padding-left: 2.25rem; }
.combobox-leading { position: absolute; z-index: 1; top: 50%; left: var(--rc-space-3); color: var(--rc-color-text-secondary); transform: translateY(-50%); pointer-events: none; }
.combobox-clear { position: absolute; top: 50%; right: .125rem; width: calc(var(--rc-control-height) - .25rem); height: calc(var(--rc-control-height) - .25rem); min-height: calc(var(--rc-control-height) - .25rem); transform: translateY(-50%); }
.combobox-control:has(.combobox-clear) .combobox-input { padding-right: 2.75rem; }
.combobox-popover { position: absolute; z-index: 45; top: calc(var(--rc-line-18) + var(--rc-control-height) + var(--rc-space-4)); left: 0; right: 0; max-height: 13rem; padding: var(--rc-space-1); overflow-y: auto; border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-control); background: var(--rc-color-surface); box-shadow: var(--rc-shadow-elevation-1); }
.combobox-popover[hidden] { display: none; }
.combobox-option { display: flex; min-height: 2.5rem; align-items: center; gap: var(--rc-space-2); padding: 0 var(--rc-space-3); border-radius: var(--rc-radius-small); color: var(--rc-color-text-primary); font-size: var(--rc-font-size-14); cursor: pointer; }
.combobox-option .ui-icon { color: var(--rc-color-text-tertiary); }
.combobox-option:hover, .combobox-option.is-active, .combobox-option[aria-selected="true"] { background: var(--rc-color-brand-subtle); color: var(--rc-color-brand); }
.combobox-message { display: flex; min-height: 3rem; align-items: center; justify-content: center; gap: var(--rc-space-2); padding: var(--rc-space-3); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-13); text-align: center; }
.uploader { border: 1px dashed var(--rc-color-border-strong); border-radius: var(--rc-radius-card); background: var(--rc-color-surface-subtle); }
.uploader.is-dragging { border-color: var(--rc-color-brand); background: var(--rc-color-brand-subtle); }
.uploader:has(.file-input:focus-visible) { border-color: var(--rc-color-focus); box-shadow: var(--rc-focus-ring); }
.uploader-empty { display: grid; place-items: center; gap: var(--rc-space-3); min-height: 10rem; padding: var(--rc-space-5); text-align: center; }
.uploader-empty[hidden], .uploader-record[hidden] { display: none; }
.uploader-icon { color: var(--rc-color-brand); }
.uploader-record { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--rc-space-3); min-height: 5.5rem; padding: var(--rc-space-4); }
.uploader-file-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: var(--rc-radius-control); background: var(--rc-color-surface); color: var(--rc-color-text-secondary); }
.uploader[data-state="success"] .uploader-file-icon { background: var(--rc-color-success-subtle); color: var(--rc-color-success); }
.uploader[data-state="error"] { border-style: solid; border-color: var(--rc-color-danger); background: var(--rc-color-danger-subtle); }
.uploader[data-state="error"] .uploader-file-icon { color: var(--rc-color-danger); }
.uploader-file-copy { display: grid; gap: var(--rc-space-1); min-width: 0; }
.uploader-file-name { overflow: hidden; font-size: var(--rc-font-size-14); font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.uploader-file-meta { display: block; }
.uploader-actions { display: flex; align-items: center; gap: var(--rc-space-2); }
.uploader-progress, .step-mobile-progress { width: 100%; height: .375rem; border: 0; border-radius: var(--rc-radius-pill); overflow: hidden; accent-color: var(--rc-color-brand); }
.uploader-progress::-webkit-progress-bar, .step-mobile-progress::-webkit-progress-bar { background: var(--rc-color-border); }
.uploader-progress::-webkit-progress-value, .step-mobile-progress::-webkit-progress-value { background: var(--rc-color-brand); }
.step-form { width: 100%; }
.step-form-list { display: flex; margin: 0; padding: 0; list-style: none; }
.step-form-item { position: relative; display: grid; flex: 1 1 0; justify-items: center; gap: var(--rc-space-2); color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-13); text-align: center; }
.step-form-item::before { position: absolute; z-index: 0; top: .75rem; right: 50%; left: -50%; height: 1px; background: var(--rc-color-border-strong); content: ""; }
.step-form-item:first-child::before { display: none; }
.step-marker { z-index: 1; display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border: 1px solid var(--rc-color-border-strong); border-radius: 50%; background: var(--rc-color-surface); font-size: var(--rc-font-size-12); }
.step-form-item.is-complete .step-marker { border-color: var(--rc-color-brand); background: var(--rc-color-brand); color: var(--rc-color-surface); }
.step-form-item.is-current { color: var(--rc-color-text-primary); font-weight: 500; }
.step-form-item.is-current .step-marker { border: 2px solid var(--rc-color-brand); color: var(--rc-color-brand); }
.step-form-item.is-error { color: var(--rc-color-danger); }
.step-form-item.is-error .step-marker { border-color: var(--rc-color-danger); background: var(--rc-color-danger-subtle); }
.step-mobile-count, .step-mobile-title, .step-mobile-progress { display: none; }
.step-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--rc-space-3); padding-top: var(--rc-space-5); border-top: 1px solid var(--rc-color-border); }
.step-actions-end { display: flex; align-items: center; gap: var(--rc-space-2); }
.mobile-record { padding: var(--rc-space-4); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); background: var(--rc-color-surface); }
.mobile-record-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--rc-space-3); padding-bottom: var(--rc-space-3); border-bottom: 1px solid var(--rc-color-border); }
.mobile-record-header h3, .mobile-record-header p { margin-bottom: 0; }
.mobile-record-header p { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-13); }
.mobile-record-fields { display: grid; gap: var(--rc-space-3); margin: var(--rc-space-3) 0 0; }
.mobile-record-fields > div { display: grid; grid-template-columns: minmax(6rem, .65fr) minmax(0, 1fr); gap: var(--rc-space-3); align-items: center; }
.mobile-record-fields dt { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); }
.mobile-record-fields dd { margin: 0; font-size: var(--rc-font-size-13); font-weight: 500; }
.combobox-demo { min-height: 16rem; }
.uploader-state-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.state-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rc-space-2); padding-block: var(--rc-space-3); border-bottom: 1px solid var(--rc-color-border); }
.state-row:last-child { border-bottom: 0; }
.state-label { flex: 0 0 6rem; color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.state-control { width: min(10rem, 100%); }
.toast-region { position: fixed; z-index: 100; right: var(--rc-space-4); bottom: var(--rc-space-4); }
.toast { display: flex; align-items: center; gap: var(--rc-space-2); padding: var(--rc-space-3) var(--rc-space-4); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-control); background: var(--rc-color-surface); box-shadow: var(--rc-shadow-elevation-1); font-size: var(--rc-font-size-13); }
.passport-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--rc-space-3); padding-block: var(--rc-space-3); border-bottom: 1px solid var(--rc-color-border); }
.passport-row:last-child { border-bottom: 0; }
.passport-row dt { color: var(--rc-color-text-secondary); }
.passport-row dd { margin: 0; font-weight: 500; }
.profile-form, .profile-form-section { display: grid; align-content: start; gap: var(--rc-space-5); }
.profile-form-section { padding: var(--rc-space-6); }
.field-group { display: block; min-width: 0; margin: 0; }
.field-group > legend { float: left; width: 100%; margin: 0 0 var(--rc-space-4); padding: 0; color: var(--rc-color-text-primary); font-size: var(--rc-font-size-16); font-weight: 600; line-height: var(--rc-line-24); }
.field-group > legend + * { clear: both; }
.field-group > .checkbox-grid { padding: 0; border: 0; }
.form-grid.two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-span { grid-column: 1 / -1; }
.profile-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .36fr); align-items: center; gap: var(--rc-space-6); padding: var(--rc-space-6); }
.profile-identity, .completeness { display: grid; gap: var(--rc-space-2); }
.profile-identity { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--rc-space-4); }
.profile-identity h2, .profile-identity p, .completeness p { margin-bottom: 0; }
.profile-photo { display: grid; width: 5rem; height: 5rem; place-items: center; overflow: hidden; border: 1px solid var(--rc-color-border); border-radius: 50%; background: var(--rc-color-surface-subtle); color: var(--rc-color-text-secondary); }
.profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.profile-photo-large { width: 7rem; height: 7rem; }
.profile-photo-placeholder { width: 5rem; height: 5rem; font-size: var(--rc-font-size-20); }
.completeness progress { width: 100%; height: .5rem; accent-color: var(--rc-color-brand); }
.profile-next-actions { margin-top: var(--rc-space-2); }
.career-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--rc-space-5); }
.profile-section { display: grid; gap: var(--rc-space-5); padding: var(--rc-space-6); }
.profile-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rc-space-4); margin: 0; }
.profile-facts > div { display: grid; gap: var(--rc-space-1); }
.profile-facts dt { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); }
.profile-facts dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.profile-summary { margin: 0; white-space: pre-line; }
.record-list, .mobile-record-list { display: grid; gap: var(--rc-record-stack-gap); margin: 0; padding: 0; list-style: none; }
.billing-property-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.billing-property-grid .record-card { align-items: start; }
.invoice-document .invoice-header { align-items: flex-start; }
.invoice-meta, .bank-details .read-only-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rc-space-4); }
.invoice-meta > div, .bank-details .read-only-grid > div { display: grid; gap: var(--rc-space-1); min-width: 0; }
.invoice-meta dt, .bank-details dt { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-14); }
.invoice-meta dd, .bank-details dd { margin: 0; overflow-wrap: anywhere; }
.invoice-lines tfoot th, .invoice-lines tfoot td { border-top: 2px solid var(--rc-color-border-strong); }
@media print {
  @page { margin: 14mm; }
  .sidebar, .app-topbar, .drawer, .drawer-backdrop, .no-print { display: none !important; }
  .app-shell, .app-area, .app-main, .invoice-document { display: block; width: 100%; max-width: none; margin: 0; padding: 0; }
  .surface { border: 1px solid #777; box-shadow: none; break-inside: avoid; }
  body { color: #000; background: #fff; }
  a { color: inherit; text-decoration: none; }
}
.career-record { display: grid; gap: var(--rc-space-3); padding: var(--rc-space-4); }
.compact-records .career-record { padding: var(--rc-space-3) var(--rc-space-4); }
.quiet-list { display: flex; flex-wrap: wrap; gap: var(--rc-space-2); margin: 0; padding: 0; list-style: none; }
.quiet-list li { display: inline-flex; align-items: baseline; gap: var(--rc-space-2); padding: var(--rc-space-1) var(--rc-space-3); border-radius: var(--rc-radius-pill); background: var(--rc-color-surface-subtle); font-size: var(--rc-font-size-13); }
.quiet-list li > :not(:first-child)::before { margin-right: var(--rc-space-2); color: var(--rc-color-text-tertiary); content: "·"; }
.date-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rc-space-3); }
.phone-input { grid-template-columns: minmax(11rem, 14rem) minmax(14rem, 1fr); }
.danger-inline { padding-top: var(--rc-space-4); border-top: 1px solid var(--rc-color-border); }
.privacy-setting { display: grid; grid-template-columns: minmax(0,1fr) minmax(16rem,.4fr); gap: var(--rc-space-8); align-items: start; padding: var(--rc-space-6); }
.privacy-setting-copy, .privacy-setting-action, .privacy-setting-action form { display: grid; gap: var(--rc-space-3); }
.privacy-setting-copy h2, .privacy-setting-copy p { margin-bottom: 0; }
.eligibility-list ul { margin: var(--rc-space-2) 0 0; }
.share-link-box { display: grid; gap: var(--rc-space-2); margin-top: var(--rc-space-3); padding: var(--rc-space-4); border: 1px solid var(--rc-color-brand); border-radius: var(--rc-radius-control); background: var(--rc-color-brand-subtle); }
.share-link-control { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--rc-space-2); }
.passport-container { width: min(calc(100% - 2rem), 58rem); margin-inline: auto; }
.passport-document { display: grid; gap: var(--rc-space-8); padding-block: var(--rc-space-10); }
.passport-hero { display: grid; grid-template-columns: auto minmax(0,1fr); gap: var(--rc-space-6); align-items: center; padding: var(--rc-space-8); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-panel); background: var(--rc-color-surface); }
.passport-photo { width: 7.5rem; height: 7.5rem; object-fit: cover; border: 1px solid var(--rc-color-border); border-radius: 50%; background: var(--rc-color-surface-subtle); }
.passport-photo-placeholder { display: grid; place-items: center; color: var(--rc-color-brand); font-size: var(--rc-font-size-28); font-weight: 600; }
.passport-identity { display: grid; justify-items: start; gap: var(--rc-space-3); }
.passport-identity h1, .passport-identity p { margin-bottom: 0; }
.passport-headline { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-16); }
.passport-location { display: flex; align-items: center; gap: var(--rc-space-2); color: var(--rc-color-text-secondary); }
.passport-section { display: grid; gap: var(--rc-space-4); padding: var(--rc-space-6); border-top: 1px solid var(--rc-color-border); }
.passport-section h2, .passport-section p { margin-bottom: 0; }
.passport-prose { max-width: 46rem; white-space: pre-line; }
.passport-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--rc-space-4); margin: 0; }
.passport-facts > div { display: grid; gap: var(--rc-space-1); }
.passport-facts dt { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-12); }
.passport-facts dd { margin: 0; font-weight: 500; }
.passport-timeline { display: grid; gap: var(--rc-space-4); }
.passport-record { display: grid; gap: var(--rc-space-2); padding-left: var(--rc-space-4); border-left: 2px solid var(--rc-color-border-strong); }
.passport-record h3, .passport-record p { margin-bottom: 0; }
.passport-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--rc-space-5); }
.passport-columns .passport-section { border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); }
.passport-list { display: grid; gap: var(--rc-space-2); margin: 0; padding: 0; list-style: none; }
.passport-list li { display: flex; justify-content: space-between; gap: var(--rc-space-3); padding-bottom: var(--rc-space-2); border-bottom: 1px solid var(--rc-color-border); }
@keyframes rc-spin { to { transform: rotate(360deg); } }
@keyframes rc-pulse { 50% { opacity: .52; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
.media-management-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 24rem); gap: var(--rc-card-stack-gap); align-items: start; padding-block: var(--rc-space-4); border-bottom: 1px solid var(--rc-color-border); }
.profile-form-section > *, .media-management-row > *, .media-management-row form { min-width: 0; }
.profile-form-section input[type="file"]:not(.file-input) { width: 100%; min-width: 0; max-width: 100%; }
.property-media-preview { display: block; width: min(100%, 18rem); max-height: 10rem; object-fit: cover; border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); margin-top: var(--rc-space-3); }
.property-media-grid, .property-photo-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--rc-card-stack-gap); }
.property-media-grid article { display: grid; gap: var(--rc-space-2); align-content: start; }
.property-media-grid img, .property-photo-gallery img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--rc-radius-card); border: 1px solid var(--rc-color-border); }
.property-cover { max-height: 28rem; overflow: hidden; background: var(--rc-color-surface-subtle); }
.property-cover img { width: 100%; height: min(32vw,28rem); min-height: 14rem; object-fit: cover; }
.property-public-heading { display: flex; align-items: center; gap: var(--rc-space-4); }
.property-logo, .property-logo-fallback { width: 5rem; height: 5rem; flex: 0 0 5rem; border-radius: var(--rc-radius-card); border: 1px solid var(--rc-color-border); background: var(--rc-color-surface); object-fit: contain; }
.property-logo-fallback { display: grid; place-items: center; color: var(--rc-color-text-secondary); }
.structured-list { display: grid; gap: var(--rc-space-2); padding-left: 1.25rem; }
.structured-list-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.filter-toolbar { display: grid; gap: var(--rc-action-gap); padding: var(--rc-space-4); }
.filter-grid { display: grid; grid-template-columns: minmax(14rem,2fr) repeat(4,minmax(10rem,1fr)); gap: var(--rc-space-3); align-items: end; }
.filter-grid > * { min-width: 0; }
.responsive-filter-toggle { display: none; }
.responsive-filter-body { display: grid; gap: var(--rc-form-gap, var(--rc-space-4)); }
.snapshot-record { display: grid; gap: var(--rc-space-3); padding: var(--rc-space-4); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); background: var(--rc-color-surface); }
.snapshot-record h3, .snapshot-record p { margin-bottom: 0; }
.chip-list { display: flex; flex-wrap: wrap; gap: var(--rc-space-2); }
.review-action-grid { display: grid; gap: var(--rc-card-stack-gap); }
.review-action { display: flex; align-items: center; justify-content: space-between; gap: var(--rc-space-5); padding: var(--rc-space-4); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); }
.review-action h3, .review-action p { margin-bottom: 0; }
.review-action > div { display: grid; gap: var(--rc-space-1); }
.eligibility-list { display: grid; gap: var(--rc-space-2); margin: 0; padding: var(--rc-space-4); border: 1px solid var(--rc-color-warning); border-radius: var(--rc-radius-control); background: var(--rc-color-warning-subtle); list-style: none; }
/* Employer recruitment analytics */
.analytics-filter { display: flex; align-items: end; justify-content: space-between; gap: var(--rc-space-5); padding: var(--rc-space-5); }
.analytics-filter form { display: grid; gap: var(--rc-space-2); min-width: min(100%, 18rem); }
.analytics-filter .cluster { flex-wrap: nowrap; }
.analytics-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--rc-space-3); }
.analytics-kpi-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.analytics-kpi { display: grid; align-content: start; gap: var(--rc-space-2); min-width: 0; padding: var(--rc-space-4); border: 1px solid var(--rc-color-border); border-radius: var(--rc-radius-card); background: var(--rc-color-surface); }
.analytics-kpi dt, .analytics-kpi h3 { color: var(--rc-color-text-secondary); font-size: var(--rc-font-size-14); font-weight: 600; }
.analytics-kpi dd, .analytics-kpi .metric-value { margin: 0; color: var(--rc-color-text-primary); font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 700; line-height: 1.2; }
.analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rc-section-stack-gap); }
.analytics-grid > .surface { padding: var(--rc-space-5); }
.data-bar-list { display: grid; gap: var(--rc-space-4); }
.data-bar { display: grid; gap: var(--rc-space-2); }
.data-bar > div { display: flex; justify-content: space-between; gap: var(--rc-space-3); }
.data-bar progress { width: 100%; height: .55rem; overflow: hidden; border: 0; border-radius: var(--rc-radius-pill); accent-color: var(--rc-color-brand); }
.analytics-insights { display: grid; gap: var(--rc-space-3); margin: 0; padding: 0; list-style: none; }
.analytics-insights li { display: flex; align-items: start; justify-content: space-between; gap: var(--rc-space-4); padding-bottom: var(--rc-space-3); border-bottom: 1px solid var(--rc-color-border); }
.analytics-insights li:last-child { padding-bottom: 0; border-bottom: 0; }
.compact-definition-list { display: grid; gap: var(--rc-space-3); margin: 0; }
.compact-definition-list > div { display: flex; justify-content: space-between; gap: var(--rc-space-4); padding-bottom: var(--rc-space-2); border-bottom: 1px solid var(--rc-color-border); }
.compact-definition-list > div:last-child { padding-bottom: 0; border-bottom: 0; }
.compact-definition-list dd { margin: 0; font-weight: 700; }
.privacy-note { padding: var(--rc-space-4); }
/* Public careers discovery */
.public-main .career-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--rc-card-stack-gap); }
.career-card { display:grid; align-content:space-between; gap:var(--rc-space-5); min-width:0; padding:var(--rc-space-5); border:1px solid var(--rc-color-border); border-radius:var(--rc-radius-card); background:var(--rc-color-surface); color:var(--rc-color-text-primary); }
.career-card h2,.career-card h3,.career-card p { margin-bottom:0; }
.career-card > div:first-child { display:grid; gap:var(--rc-space-2); }
.career-card-link { text-decoration:none; transition:border-color .15s ease,box-shadow .15s ease; }
.career-card-link:hover { border-color:var(--rc-color-brand); box-shadow:var(--rc-shadow-elevation-1); }
.career-card-link > span,.career-card-footer > span { color:var(--rc-color-text-secondary); font-size:var(--rc-font-size-13); }
.career-card-footer { display:flex; align-items:center; justify-content:space-between; gap:var(--rc-space-3); padding-top:var(--rc-space-3); border-top:1px solid var(--rc-color-border); }
.career-level-list { display:grid; gap:var(--rc-space-2); }
.career-level-list a { display:flex; align-items:center; justify-content:space-between; gap:var(--rc-space-4); padding:var(--rc-space-4); border:1px solid var(--rc-color-border); border-radius:var(--rc-radius-control); background:var(--rc-color-surface); text-decoration:none; }
.career-level-list span { color:var(--rc-color-text-secondary); font-size:var(--rc-font-size-13); text-align:right; }
.career-opportunity-list { display:grid; gap:var(--rc-space-3); }
.career-opportunity { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(10rem,.8fr) auto; gap:var(--rc-space-5); align-items:center; padding:var(--rc-space-5); border:1px solid var(--rc-color-border); border-radius:var(--rc-radius-card); background:var(--rc-color-surface); }
.career-opportunity h3,.career-opportunity p { margin-bottom:0; }
.career-opportunity > div:first-child { display:grid; gap:var(--rc-space-1); min-width:0; }
.career-search { display:grid; grid-template-columns:minmax(16rem,1.6fr) repeat(2,minmax(12rem,1fr)) auto; gap:var(--rc-space-3); align-items:end; padding:var(--rc-space-4); }
.career-search-actions { display:flex; gap:var(--rc-space-2); align-items:center; }
.career-detail-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(18rem,.75fr); gap:var(--rc-section-stack-gap); align-items:start; }
.career-detail-section { display:grid; gap:var(--rc-space-4); padding:var(--rc-space-5); }
.career-detail-section h2,.career-detail-section h3,.career-detail-section p { margin-bottom:0; }
.career-path-list,.career-related-list { display:grid; gap:var(--rc-space-2); margin:0; padding:0; list-style:none; }
.career-path-list li { display:grid; gap:var(--rc-space-1); padding:var(--rc-space-3); border-left:2px solid var(--rc-color-brand); background:var(--rc-color-surface-subtle); }
.career-path-list span { color:var(--rc-color-text-secondary); font-size:var(--rc-font-size-12); }
