/* [project]/apps/customer-dashboard/app/globals.css [app-client] (css) */
:root {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --page-bg: #f8f9fa;
  --surface-0: #fff;
  --surface-1: #f8f9fa;
  --surface-2: #eef1f5;
  --surface-3: #e3e4e8;
  --text-0: #042d7c;
  --text-1: #2c3e50;
  --text-2: #637386;
  --line-0: #e3e4e8;
  --line-1: #ccd3df;
  --success-pill-bg: #eaf3de;
  --success-pill-text: #3b6d11;
  --warning-pill-bg: #faeeda;
  --warning-pill-text: #854f0b;
  --color-background-secondary: var(--surface-1);
  --color-background-tertiary: var(--surface-2);
  --color-border-secondary: var(--line-1);
  --color-border-tertiary: var(--line-0);
  --color-text-secondary: var(--text-1);
  --color-text-tertiary: var(--text-2);
  --border-radius-md: var(--radius-1);
  --brand-0: #042d7c;
  --brand-1: #053ba0;
  --primary-bg: #042d7c;
  --primary-hover: #053ba0;
  --primary-text: #fff;
  --button-text: #fff;
  --ok-0: #2f7d4f;
  --warn-0: #8a641c;
  --err-0: #a83f3f;
  --radius-1: 8px;
  --radius-2: 10px;
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 20px;
  --space-5: 24px;
}

*, :before, :after {
  box-sizing: border-box;
  min-width: 0;
}

html, body {
  max-width: 100%;
  min-height: 100%;
  margin: 0;
  overflow-x: clip;
}

html {
  scrollbar-gutter: stable;
}

body.skillgate-customer-portal {
  background: var(--page-bg);
  color: var(--text-0);
  font-family: var(--font-lato), Lato, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.45;
}

button, input, select, textarea, a {
  font: inherit;
}

button, a {
  color: inherit;
}

a {
  text-decoration: none;
}

h1, h2, h3, h4, p {
  margin: 0;
}

h1 {
  font-size: var(--font-xl);
  line-height: var(--line-tight);
  margin-top: 4px;
}

h2 {
  font-size: var(--font-lg);
}

h3 {
  font-size: var(--font-base);
}

button {
  border-radius: var(--radius-1);
  border: 1px solid var(--line-1);
  background: var(--primary-bg);
  min-height: 40px;
  color: var(--primary-text);
  cursor: pointer;
  padding: 0 14px;
  font-weight: 600;
  transition: background-color .12s, border-color .12s;
}

button:hover:enabled {
  background: var(--primary-hover);
}

button:disabled {
  cursor: not-allowed;
  opacity: .6;
}

button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #9fb4ff;
}

.button-link, .secondary-action {
  border-radius: var(--radius-1);
  border: 1px solid var(--line-1);
  background: #ffffff08;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
}

.button-link:hover, .secondary-action:hover:enabled {
  background: #5f82dc33;
  border-color: #4a66a7;
}

.danger-action {
  color: #fecdd3;
  background: #50141d66;
  border-color: #765268;
}

.danger-action:hover:enabled {
  color: #fca5a5;
  border-color: #9a3d4a;
}

.dashboard-shell {
  grid-template-rows: auto 1fr;
  min-height: 100vh;
  display: grid;
}

.login-shell {
  grid-template-columns: minmax(320px, .95fr) minmax(320px, 420px);
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  min-height: 100vh;
  padding: clamp(24px, 5vw, 72px);
  display: grid;
}

.login-brand-panel {
  align-content: center;
  gap: var(--space-4);
  border-radius: var(--radius-2);
  background: linear-gradient(145deg, #142345f5, #070f1feb),
    var(--surface-0);
  border: 1px solid #5874b86b;
  min-height: min(620px, 82vh);
  padding: clamp(24px, 5vw, 56px);
  display: grid;
  box-shadow: 0 24px 60px #00000057;
}

.login-brand-mark {
  border-radius: var(--radius-1);
  color: #f8fbff;
  background: #536fd23d;
  border: 1px solid #6f88dc;
  place-items: center;
  width: 52px;
  height: 52px;
  font-weight: 800;
  display: grid;
}

.login-brand-panel h1 {
  max-width: 720px;
  font-size: var(--font-2xl);
  line-height: var(--line-tight);
}

.login-signal-grid {
  gap: var(--space-2);
  margin-top: var(--space-3);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.login-signal-grid > div {
  border-radius: var(--radius-1);
  min-height: 96px;
  padding: var(--space-3);
  align-content: space-between;
  gap: var(--space-2);
  background: #0913279e;
  border: 1px solid #7e97d757;
  display: grid;
}

.login-signal-grid span {
  color: var(--text-2);
  font-size: var(--font-xs);
  font-weight: 800;
}

.login-signal-grid strong {
  color: var(--text-0);
  font-size: var(--font-md);
}

.login-card {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-2);
  gap: var(--space-4);
  background: #0a1326f0;
  padding: clamp(20px, 3vw, 30px);
  display: grid;
  box-shadow: 0 22px 52px #00000052;
}

.login-card-head {
  gap: 10px;
  display: grid;
}

.login-kicker {
  color: #a9bbdf;
  font-size: var(--font-xs);
  text-transform: uppercase;
  font-weight: 800;
}

.login-form {
  gap: var(--space-3);
  display: grid;
}

.login-form button {
  width: 100%;
}

.top-bar {
  z-index: 20;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line-0);
  padding: var(--space-3) var(--space-5);
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  background: linear-gradient(#0c152bf5, #0c152be6);
  flex-wrap: wrap;
  display: flex;
  position: sticky;
  top: 0;
}

.top-bar-main {
  gap: 2px;
  display: grid;
}

.brand {
  color: #a9bbdf;
  font-size: var(--font-xs);
  letter-spacing: 0;
  text-transform: uppercase;
  font-weight: 700;
}

.top-bar-actions {
  gap: var(--space-1);
  flex-wrap: wrap;
  justify-content: flex-end;
  display: flex;
}

.shell-body {
  grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
  align-items: start;
  display: grid;
}

.sidebar {
  border-right: 1px solid var(--line-0);
  max-height: none;
  padding: var(--space-4);
  gap: var(--space-3);
  display: grid;
  position: static;
}

.main-content {
  padding: var(--space-4);
  gap: var(--space-3);
  display: grid;
}

.panel {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-2);
  padding: var(--space-4);
  background: linear-gradient(#172544b8, #0d182fe6);
  box-shadow: 0 10px 24px #01040e38;
}

.controls, .stack {
  gap: var(--space-2);
  display: grid;
}

.field {
  gap: 6px;
  display: grid;
}

.field input, .field select, .field textarea {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  width: 100%;
  min-height: 40px;
  color: var(--text-0);
  background: #0a1326eb;
  padding: 10px 12px;
}

.field textarea {
  resize: vertical;
  min-height: 92px;
}

.json-editor {
  min-height: 120px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.field-error {
  color: #fca5a5;
  font-size: var(--font-xs);
}

.muted, .meta, .summary, .empty {
  color: var(--text-2);
}

.state {
  border-left: 3px solid var(--line-1);
  border-radius: 0 var(--radius-1) var(--radius-1) 0;
  font-size: var(--font-md);
  color: var(--text-1);
  overflow-wrap: anywhere;
  background: #091429e0;
  padding: 9px 10px;
}

.state.loading, .state.is-loading {
  position: relative;
  overflow: hidden;
}

.state.loading:after, .state.is-loading:after, .skeleton-line:after, .skeleton-card:after, .skeleton-avatar:after, .skeleton-pill:after {
  content: "";
  background: linear-gradient(90deg, #0000, #ffffff52, #0000);
  animation: 1.35s ease-in-out infinite shimmer-sweep;
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.state-pulse {
  vertical-align: middle;
  background: currentColor;
  border-radius: 999px;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  animation: .9s ease-in-out infinite pulse-dot;
  display: inline-block;
}

.loading-dots:after {
  content: "";
  text-align: left;
  width: 1.3em;
  animation: 1.15s steps(4, end) infinite loading-dots;
  display: inline-block;
}

.skeleton-stack, .skeleton-grid, .skeleton-card {
  position: relative;
}

.skeleton-stack {
  gap: 12px;
  display: grid;
}

.skeleton-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  display: grid;
}

.skeleton-card {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-2);
  background: var(--surface-1);
  align-content: start;
  gap: 12px;
  min-height: 172px;
  padding: 16px;
  display: grid;
  overflow: hidden;
}

.skeleton-line, .skeleton-avatar, .skeleton-pill {
  background: var(--control-bg);
  position: relative;
  overflow: hidden;
}

.skeleton-line {
  border-radius: 999px;
  width: 100%;
  height: 11px;
}

.skeleton-line.title {
  max-width: 68%;
  height: 18px;
}

.skeleton-line.short {
  max-width: 42%;
}

.skeleton-line.medium {
  max-width: 58%;
}

.skeleton-avatar {
  border-radius: 999px;
  width: 38px;
  height: 38px;
}

.skeleton-pill {
  border-radius: 999px;
  width: 82px;
  height: 28px;
}

.skeleton-metadata {
  gap: 10px;
  display: grid;
}

.skeleton-metadata-row {
  grid-template-columns: minmax(90px, .35fr) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  display: grid;
}

.skeleton-activity-row {
  pointer-events: none;
}

.session-restore-card {
  justify-items: center;
  gap: 18px;
  width: min(420px, 100vw - 36px);
  display: grid;
}

.session-restore-copy {
  gap: 10px;
  width: min(300px, 100%);
  display: grid;
}

@keyframes shimmer-sweep {
  to {
    transform: translateX(100%);
  }
}

@keyframes pulse-dot {
  0%, 100% {
    opacity: .42;
    transform: scale(.82);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes loading-dots {
  0% {
    content: "";
  }

  25% {
    content: ".";
  }

  50% {
    content: "..";
  }

  75%, 100% {
    content: "...";
  }
}

.action-row {
  gap: var(--space-1);
  flex-wrap: wrap;
  display: flex;
}

.status-strip {
  gap: var(--space-2);
  display: grid;
}

.bucket-button {
  color: var(--text-1);
  background: #0a14288c;
  flex: 130px;
  justify-content: space-between;
}

.bucket-button.active {
  color: #fff;
  background: #4765c480;
  border-color: #6a8fff;
}

.job-grid {
  gap: var(--space-3);
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  display: grid;
}

.job-card {
  gap: var(--space-3);
  display: grid;
}

.job-card-refresh {
  cursor: pointer;
  background: var(--panel-bg);
  border-left: 2px solid #0000;
}

.job-card-refresh.selected {
  background: var(--color-background-secondary);
  border-left-color: #185fa5;
}

.job-card-refresh:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #185fa5;
}

.job-card-top {
  gap: var(--space-2);
  grid-template-columns: minmax(0, 1fr) auto;
  display: grid;
}

.job-card-footer {
  color: var(--color-text-tertiary);
  justify-content: space-between;
  gap: 8px;
  font-size: 10px;
  display: flex;
}

.job-card-footer span:last-child {
  color: var(--color-text-tertiary);
}

.job-card-detail-button {
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-1);
  background: var(--panel-bg);
  width: 100%;
  min-height: 44px;
  color: var(--text-0);
  font-size: var(--font-sm);
  place-items: center;
  margin-top: -2px;
  margin-bottom: -2px;
  font-weight: 620;
  display: none;
}

.score-pill {
  background: var(--color-background-secondary);
  border: 0;
  border-radius: 99px;
  justify-content: center;
  align-items: center;
  gap: 3px;
  min-width: 48px;
  padding: 4px 8px;
  line-height: 1;
  display: inline-flex;
}

.score-pill strong {
  color: var(--text-0);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.score-pill span {
  text-transform: none;
  letter-spacing: 0;
  font-size: 10px;
  font-weight: 500;
}

.score-pill-high {
  background: var(--success-pill-bg);
  color: var(--success-pill-text);
}

.score-pill-amber {
  background: var(--warning-pill-bg);
  color: var(--warning-pill-text);
}

.score-pill-high strong, .score-pill-amber strong {
  color: currentColor;
}

.score-pill-low {
  border-color: color-mix(in srgb, var(--line-1) 60%, var(--text-2));
  background: color-mix(in srgb, var(--surface-1) 78%, transparent);
  color: var(--text-1);
}

.score-pill.score-pill-high strong, .score-pill.score-pill-high span {
  color: #3b6d11;
}

.score-pill.score-pill-amber strong, .score-pill.score-pill-amber span {
  color: #854f0b;
}

[data-theme="dark"] .score-pill.score-pill-high {
  color: #d7ffdf;
  background: #5ebe7c47;
  box-shadow: inset 0 0 0 1px #b8f0c82e;
}

[data-theme="dark"] .score-pill.score-pill-amber {
  color: #ffe1ad;
  background: #ef9f2747;
  box-shadow: inset 0 0 0 1px #ffd79b2e;
}

[data-theme="dark"] .score-pill.score-pill-high strong, [data-theme="dark"] .score-pill.score-pill-high span, [data-theme="dark"] .score-pill.score-pill-amber strong, [data-theme="dark"] .score-pill.score-pill-amber span {
  color: currentColor;
}

.signal-pill {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.chips, .chip-row {
  gap: var(--space-1);
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.badge {
  border: 1px solid var(--line-1);
  min-height: 24px;
  font-size: var(--font-xs);
  color: #c9d5ee;
  text-transform: capitalize;
  border-radius: 999px;
  align-items: center;
  padding: 0 10px;
  font-weight: 700;
  display: inline-flex;
}

.badge.decision {
  border-color: #7086d8;
}

.badge.score {
  border-color: #4f628d;
}

.badge.apply {
  color: #bbf7d0;
  border-color: #3d8858;
}

.badge.hold {
  color: #fcd34d;
  border-color: #9a7a3d;
}

.card-details {
  gap: var(--space-1);
  display: grid;
}

.card-details > div {
  gap: var(--space-1);
  grid-template-columns: 96px minmax(0, 1fr);
  display: grid;
}

.label {
  color: var(--text-1);
  font-size: var(--font-xs);
  font-weight: 700;
}

.material-hint, .action-feedback {
  color: #a8bade;
  font-size: var(--font-sm);
}

.workspace-grid {
  gap: var(--space-3);
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
  align-items: start;
  display: grid;
}

.workspace-grid.job-review-workspace {
  grid-template-columns: minmax(330px, 390px) minmax(0, 1fr);
  align-items: start;
  gap: 16px;
}

.job-review-view {
  height: calc(100vh - 106px);
  max-height: calc(100vh - 106px);
  overflow: hidden;
}

.workspace-grid.job-review-workspace {
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}

.job-review-workspace > .stack {
  min-height: 0;
  overflow: hidden;
}

.detail-panel {
  gap: var(--space-3);
  display: grid;
}

.job-review-workspace .detail-panel {
  align-self: start;
  min-width: 0;
  max-width: none;
  position: sticky;
  top: 86px;
}

.material-grid {
  gap: var(--space-3);
  grid-template-columns: 1.2fr .8fr;
  display: grid;
}

.material-box {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  padding: var(--space-3);
  background: #091328b8;
}

.material-downloads {
  gap: var(--space-2);
  display: grid;
}

.material-downloads h4 {
  margin: 0;
}

.material-downloads-list {
  gap: var(--space-2);
  flex-wrap: wrap;
  display: flex;
}

.material-downloads .button-link.disabled, .material-downloads .button-link[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
  pointer-events: none;
}

.cover-letter {
  white-space: pre-wrap;
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  background: #060f20e6;
  max-height: 260px;
  padding: 10px;
  line-height: 1.55;
  overflow: auto;
}

.answer-list {
  color: var(--text-1);
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.download-actions {
  gap: var(--space-1);
  flex-wrap: wrap;
  display: flex;
}

.profile-grid {
  gap: var(--space-2);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.metadata-list {
  gap: var(--space-1) var(--space-2);
  grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
  margin: 0;
  display: grid;
}

.metadata-list dt, .metadata-list dd {
  overflow-wrap: anywhere;
  margin: 0;
}

.metadata-list dt {
  color: var(--text-1);
  font-weight: 700;
  font-size: var(--font-xs);
}

.metadata-list dd {
  color: var(--text-0);
}

.resume-upload {
  margin-top: var(--space-2);
  gap: 10px;
  display: grid;
}

.resume-upload input[type="file"] {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  width: 100%;
  color: var(--text-1);
  background: #091225e6;
  padding: 8px;
}

.profile-artifact {
  margin-top: var(--space-2);
  gap: var(--space-1);
  display: grid;
}

.profile-artifact h3 {
  font-size: var(--font-md);
  margin: 0;
}

.profile-preview {
  white-space: pre-wrap;
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  max-height: 220px;
  color: var(--text-1);
  font-size: var(--font-xs);
  background: #060f20e6;
  padding: 10px;
  overflow: auto;
}

.profile-editor-section {
  gap: var(--space-2);
  border: 1px solid var(--line-1);
  border-radius: var(--radius-2);
  padding: clamp(14px, 2vw, 18px);
  display: grid;
}

.profile-editor-heading {
  gap: 4px;
  display: grid;
}

.profile-editor-heading h3, .structured-card-head h4 {
  color: var(--text-0);
  font-size: var(--font-lg);
  margin: 0;
  font-weight: 650;
}

.token-editor, .structured-editor, .object-editor {
  gap: var(--space-2);
  display: grid;
}

.token-input-row, .object-row, .structured-card-head {
  align-items: end;
  gap: var(--space-2);
  display: flex;
}

.token-input-row input {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  width: 100%;
  min-height: 40px;
  color: var(--text-0);
  background: #0a1326eb;
  flex: 220px;
  padding: 10px 12px;
}

.token-list {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.profile-token {
  border: 1px solid var(--line-1);
  max-width: 100%;
  min-height: 30px;
  color: var(--text-0);
  font-size: var(--font-sm);
  background: #ffffff0d;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 4px 6px 4px 11px;
  display: inline-flex;
}

.profile-token span {
  overflow-wrap: anywhere;
}

.profile-token button {
  border: 1px solid var(--line-1);
  width: 22px;
  height: 22px;
  color: var(--text-1);
  background: none;
  border-radius: 999px;
  place-items: center;
  padding: 0;
  display: inline-grid;
}

.structured-card {
  gap: var(--space-2);
  border: 1px solid var(--line-1);
  border-radius: var(--radius-2);
  padding: var(--space-3);
  display: grid;
}

.structured-card-head {
  justify-content: space-between;
}

.checkbox-field {
  align-content: start;
}

.checkbox-field input {
  width: 20px;
  min-height: 20px;
}

.object-row {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  padding: var(--space-2);
  align-items: end;
}

.object-row .field {
  flex: 180px;
}

.editor-add-action {
  justify-self: start;
}

.danger-action {
  color: #f9a8a8;
}

.compact-empty {
  font-size: var(--font-sm);
  margin: 0;
}

.parsed-section-stack {
  gap: var(--space-2);
}

.parsed-pill-group {
  gap: 7px;
  display: grid;
}

.parsed-pill-group > span {
  color: var(--text-1);
  font-size: var(--font-xs);
  font-weight: 700;
}

.job-modal-overlay {
  z-index: 50;
  padding: var(--space-3);
  background: #020610db;
  place-items: center;
  display: grid;
  position: fixed;
  inset: 0;
}

.job-modal {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-2);
  background: linear-gradient(180deg, var(--surface-2), var(--surface-0));
  grid-template-rows: auto 1fr;
  width: min(1040px, 100%);
  max-height: 92vh;
  display: grid;
  overflow: hidden;
}

.job-modal.job-modal-empty {
  width: min(560px, 100%);
}

.job-modal-header {
  padding: var(--space-3);
  border-bottom: 1px solid var(--line-0);
  justify-content: space-between;
  align-items: center;
  gap: var(--space-1);
  background: #0d1a32f2;
  display: flex;
}

.job-modal-content {
  padding: var(--space-3);
  gap: var(--space-3);
  grid-template-columns: 1.08fr .92fr;
  display: grid;
  overflow: auto;
}

.score-explanation, .score-explanation-grid {
  gap: var(--space-2);
  display: grid;
}

.score-explanation-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  .shell-body {
    grid-template-columns: 1fr;
  }

  .sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--line-0);
    max-height: none;
    position: static;
  }
}

@media (max-width: 960px) {
  .login-shell, .workspace-grid, .material-grid, .job-modal-content, .score-explanation-grid {
    grid-template-columns: 1fr;
  }

  .login-brand-panel {
    min-height: auto;
  }

  .login-signal-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .top-bar, .main-content, .sidebar {
    padding: var(--space-3);
  }

  .top-bar-actions, .action-row {
    width: 100%;
  }

  .top-bar-actions .button-link, .top-bar-actions .top-action, .action-row button, .action-row a {
    flex: 100%;
  }

  .login-shell {
    padding: var(--space-3);
  }

  .job-card-top, .profile-grid {
    grid-template-columns: 1fr;
  }
}

:root {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --page-bg: #f8f9fa;
  --surface-0: #fff;
  --surface-1: #f8f9fa;
  --surface-2: #eef1f5;
  --surface-3: #e3e4e8;
  --text-0: #042d7c;
  --text-1: #2c3e50;
  --text-2: #637386;
  --line-0: #e3e4e8;
  --line-1: #ccd3df;
  --brand-0: #042d7c;
  --brand-1: #053ba0;
  --button-text: #fff;
  --topbar-bg: #ffffffeb;
  --control-bg: #fff;
  --control-hover: #eef1f5;
  --control-pressed: #e3e4e8;
  --ok-0: #2f7d4f;
  --warn-0: #8a641c;
  --err-0: #a83f3f;
  --radius-1: 8px;
  --radius-2: 8px;
  --shadow-soft: 0 12px 30px #042d7c14, 0 1px 2px #2c3e500f;
  --shadow-control: 0 1px 2px #042d7c14, inset 0 1px 0 #ffffff9e;
  --app-bg: #f3f6fb;
  --panel-bg: #fff;
  --panel-soft: #f7f9fc;
  --panel-border: #e3e9f2;
  --panel-shadow: 0 14px 34px #042d7c0e, 0 1px 2px #2c3e500a;
  --nav-active-bg: #042d7c;
  --nav-active-text: #fff;
  --font-xs: .75rem;
  --font-sm: .8125rem;
  --font-md: .875rem;
  --font-base: .9375rem;
  --font-lg: 1rem;
  --font-xl: 1.125rem;
  --font-2xl: 1.25rem;
  --font-metric: 1.45rem;
  --line-tight: 1.28;
  --line-normal: 1.45;
}

[data-theme="dark"] {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --page-bg: #031a49;
  --surface-0: #061f58;
  --surface-1: #092866;
  --surface-2: #0c3174;
  --surface-3: #113c88;
  --color-background-secondary: var(--surface-1);
  --color-background-tertiary: var(--surface-2);
  --color-border-secondary: var(--line-1);
  --color-border-tertiary: var(--line-0);
  --color-text-secondary: var(--text-1);
  --color-text-tertiary: var(--text-2);
  --text-0: #fff;
  --text-1: #e3e4e8;
  --text-2: #b9c5d6;
  --line-0: #e3e4e82e;
  --line-1: #e3e4e852;
  --brand-0: #dbe9ff;
  --brand-1: #b8cff4;
  --primary-bg: #245aa8;
  --primary-hover: #2f6dc4;
  --primary-text: #fff;
  --button-text: #fff;
  --topbar-bg: #031a49e0;
  --control-bg: #ffffff14;
  --control-hover: #ffffff21;
  --control-pressed: #ffffff2e;
  --ok-0: #8fd8a6;
  --warn-0: #e5c16f;
  --err-0: #f29a96;
  --shadow-soft: 0 18px 38px #00000047, 0 1px 2px #0000004d;
  --shadow-control: 0 1px 2px #0003, inset 0 1px 0 #ffffff0d;
  --app-bg: #031a49;
  --panel-bg: #061f58;
  --panel-soft: #092866;
  --panel-border: #e3e4e829;
  --panel-shadow: 0 18px 42px #0000003d, 0 1px 2px #0000003d;
  --nav-active-bg: #608fdc3d;
  --nav-active-text: #fff;
  --success-pill-bg: #5ebe7c2e;
  --success-pill-text: #b8f0c8;
  --warning-pill-bg: #ef9f272e;
  --warning-pill-text: #ffd79b;
}

@media (prefers-color-scheme: dark) {
  .login-shell:not([data-theme]) {
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark;
    --page-bg: #031a49;
    --surface-0: #061f58;
    --surface-1: #092866;
    --surface-2: #0c3174;
    --surface-3: #113c88;
    --color-background-secondary: var(--surface-1);
    --color-background-tertiary: var(--surface-2);
    --color-border-secondary: var(--line-1);
    --color-border-tertiary: var(--line-0);
    --color-text-secondary: var(--text-1);
    --color-text-tertiary: var(--text-2);
    --text-0: #fff;
    --text-1: #e3e4e8;
    --text-2: #b9c5d6;
    --line-0: #e3e4e82e;
    --line-1: #e3e4e852;
    --brand-0: #dbe9ff;
    --brand-1: #b8cff4;
    --primary-bg: #245aa8;
    --primary-hover: #2f6dc4;
    --primary-text: #fff;
    --button-text: #fff;
    --topbar-bg: #031a49e0;
    --control-bg: #ffffff14;
    --control-hover: #ffffff21;
    --control-pressed: #ffffff2e;
    --ok-0: #8fd8a6;
    --warn-0: #e5c16f;
    --err-0: #f29a96;
    --shadow-soft: 0 18px 38px #00000047, 0 1px 2px #0000004d;
    --shadow-control: 0 1px 2px #0003, inset 0 1px 0 #ffffff0d;
    --success-pill-bg: #5ebe7c2e;
    --success-pill-text: #b8f0c8;
    --warning-pill-bg: #ef9f272e;
    --warning-pill-text: #ffd79b;
  }
}

* {
  letter-spacing: 0;
}

body.skillgate-customer-portal {
  background: var(--page-bg);
  color: var(--text-0);
  font-family: var(--font-lato), Lato, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: var(--font-base);
  line-height: var(--line-normal);
}

[data-theme] {
  background: var(--page-bg);
  color: var(--text-0);
}

h1 {
  font-size: var(--font-xl);
  font-family: var(--font-cormorant), "Cormorant Garamond", Georgia, serif;
  line-height: var(--line-tight);
  margin-top: 2px;
  font-weight: 800;
}

h2 {
  font-size: var(--font-lg);
  font-family: var(--font-cormorant), "Cormorant Garamond", Georgia, serif;
  font-weight: 800;
  line-height: 1.28;
}

h3 {
  font-size: var(--font-base);
  font-family: var(--font-cormorant), "Cormorant Garamond", Georgia, serif;
  font-weight: 800;
  line-height: 1.32;
}

button {
  border-radius: var(--radius-1);
  background: var(--primary-bg);
  min-height: 40px;
  color: var(--primary-text);
  font-family: var(--font-lato), Lato, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: var(--font-md);
  box-shadow: var(--shadow-control);
  border-color: #0000;
  padding-inline: 14px;
  font-weight: 750;
}

button:hover:enabled {
  background: var(--primary-hover);
  transform: translateY(-1px);
}

.button-link, .secondary-action {
  border-color: var(--line-0);
  background: var(--control-bg);
  min-height: 38px;
  color: var(--text-0);
  font-size: var(--font-md);
  box-shadow: var(--shadow-control);
  padding-inline: 14px;
  font-weight: 750;
}

.button-link:hover, .secondary-action:hover:enabled {
  border-color: var(--line-1);
  background: var(--control-hover);
  transform: translateY(-1px);
}

.danger-action {
  border-color: color-mix(in srgb, var(--err-0) 45%, var(--line-0));
  background: color-mix(in srgb, var(--err-0) 10%, var(--surface-0));
  color: #be123c;
}

.danger-action:hover:enabled {
  border-color: color-mix(in srgb, var(--err-0) 62%, var(--line-1));
  background: color-mix(in srgb, var(--err-0) 16%, var(--surface-0));
  color: #9f1239;
}

[data-theme="dark"] .danger-action, [data-theme="dark"] .danger-action:hover:enabled {
  color: #ffd1d1;
}

.brand, .eyebrow {
  color: var(--brand-0);
  font-family: var(--font-bebas), "Bebas Neue", var(--font-lato), Lato, "Segoe UI", sans-serif;
  font-size: var(--font-xs);
  text-transform: uppercase;
  font-weight: 800;
}

.brand-lockup-text {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  display: flex;
}

.brand-lockup-text span {
  color: var(--text-2);
  font-size: var(--font-xs);
  font-weight: 700;
}

.login-shell {
  background: var(--page-bg);
  min-height: 100dvh;
  color: var(--text-0);
  grid-template-columns: none;
  justify-content: center;
  align-items: center;
  padding: clamp(18px, 5vw, 48px);
  display: flex;
  position: relative;
}

.session-restore-shell {
  background: var(--page-bg);
  min-height: 100dvh;
  color: var(--text-0);
  place-items: center;
  display: grid;
  position: relative;
}

.session-restore-mark {
  border: 1px solid var(--line-0);
  background: var(--surface-0);
  width: 46px;
  height: 46px;
  box-shadow: var(--shadow-control);
  border-radius: 999px;
  place-items: center;
  display: grid;
}

.session-restore-mark span {
  background: var(--brand-0);
  border-radius: 999px;
  width: 10px;
  height: 10px;
  animation: .9s ease-in-out infinite session-pulse;
}

@keyframes session-pulse {
  0%, 100% {
    opacity: .45;
    transform: scale(.88);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

.login-page-brand {
  color: var(--text-0);
  font-size: var(--font-sm);
  align-items: center;
  gap: 10px;
  font-weight: 900;
  display: inline-flex;
  position: absolute;
  top: clamp(18px, 4vw, 34px);
  left: clamp(18px, 4vw, 34px);
}

.login-page-brand span {
  gap: 1px;
  line-height: 1.05;
  display: grid;
}

.login-page-brand small {
  color: var(--text-2);
  font-size: var(--font-xs);
  text-transform: none;
  font-weight: 700;
}

.login-brand-panel {
  display: none;
}

.login-brand-row {
  align-items: center;
  gap: 12px;
  display: flex;
}

.login-brand-mark, .login-card-logo, .portal-brand-mark {
  border-radius: var(--radius-1);
  background: var(--surface-0);
  width: 44px;
  height: 44px;
  color: var(--brand-0);
  font-family: var(--font-cormorant), "Cormorant Garamond", Georgia, serif;
  place-items: center;
  font-weight: 800;
  display: grid;
}

.login-card-logo {
  background: var(--primary-bg);
  width: 40px;
  height: 40px;
  color: var(--primary-text);
}

.login-brand-panel .brand, .login-brand-panel .muted, .login-brand-panel .login-copy {
  color: var(--text-1);
}

.login-brand-panel h1 {
  max-width: 720px;
  color: var(--text-0);
  font-size: var(--font-2xl);
  line-height: var(--line-tight);
}

.login-copy {
  max-width: 32rem;
  color: var(--text-2);
  font-size: var(--font-sm);
  line-height: var(--line-normal);
}

.login-card .login-copy {
  font-size: var(--font-sm);
  gap: 2px;
  margin-top: 6px;
  line-height: 1.36;
  display: grid;
}

.login-card h2 {
  font-size: var(--font-2xl);
  line-height: var(--line-tight);
}

.login-signal-grid > div {
  border-color: var(--line-0);
  background: var(--surface-1);
}

.login-signal-grid span, .login-signal-grid strong {
  color: var(--text-0);
}

.login-card {
  border: 1px solid var(--line-0);
  background: var(--surface-0);
  width: min(100%, 420px);
  color: var(--text-0);
  box-shadow: var(--shadow-soft);
  border-radius: var(--radius-2);
  padding: clamp(22px, 5vw, 34px);
}

.login-card .muted {
  color: var(--text-2);
}

.login-kicker {
  color: var(--brand-0);
}

.field input, .field select, .field textarea {
  border-color: var(--line-1);
  background: var(--control-bg);
  color: var(--text-0);
  font-size: var(--font-md);
  line-height: var(--line-normal);
  box-shadow: inset 0 1px 2px #0000000a;
}

.field input:focus, .field select:focus, .field textarea:focus {
  border-color: var(--brand-0);
  background: var(--surface-0);
}

.field span {
  color: var(--text-1);
  font-size: var(--font-xs);
  font-weight: 750;
}

.portal-shell {
  --sidebar-collapsed-width: 236px;
  --sidebar-expanded-width: 236px;
  grid-template-columns: var(--sidebar-expanded-width) minmax(0, 1fr);
  background: var(--app-bg);
  align-items: start;
  column-gap: 20px;
  width: 100%;
  min-height: 100vh;
  padding: 20px;
  display: grid;
  overflow-x: clip;
}

.portal-sidebar {
  z-index: 1;
  width: var(--sidebar-expanded-width);
  height: auto;
  min-width: var(--sidebar-expanded-width);
  border-right: 1px solid var(--line-0);
  background: var(--surface-0);
  flex-direction: column;
  align-items: stretch;
  gap: 18px;
  min-height: 0;
  padding: 24px 18px;
  transition: none;
  display: flex;
  position: fixed;
  top: 20px;
  bottom: 20px;
  left: 20px;
  overflow: hidden;
  box-shadow: inset 1px 0 #ffffff2e;
}

.portal-shell[data-sidebar="expanded"] .portal-sidebar {
  width: var(--sidebar-expanded-width);
}

.portal-brand {
  border-bottom: 1px solid var(--line-0);
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding-bottom: 18px;
  transition: justify-content .26s, padding-bottom .26s;
  display: flex;
}

.portal-brand-mark {
  background: var(--primary-bg);
  color: var(--primary-text);
}

.portal-brand strong {
  color: var(--brand-0);
  font-family: var(--font-cormorant), "Cormorant Garamond", Georgia, serif;
  font-size: var(--font-lg);
  line-height: var(--line-tight);
  display: block;
}

.portal-brand span {
  color: var(--text-2);
  font-size: var(--font-xs);
  display: block;
}

.portal-brand em {
  color: var(--text-1);
  font-family: var(--font-cormorant), "Cormorant Garamond", Georgia, serif;
  font-size: var(--font-xs);
  margin-top: 2px;
  font-style: italic;
  line-height: 1.1;
  display: block;
}

.portal-nav {
  gap: 6px;
  width: 100%;
  display: grid;
}

.portal-nav button {
  width: 100%;
  color: var(--text-1);
  font-size: var(--font-md);
  box-shadow: none;
  text-align: left;
  background: none;
  border-color: #0000;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  display: flex;
}

.portal-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

.portal-nav .portal-icon {
  flex-basis: 18px;
  width: 18px;
  height: 18px;
}

.icon-label {
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-width: 0;
  display: inline-flex;
}

.nav-label {
  opacity: 1;
  text-overflow: ellipsis;
  visibility: visible;
  white-space: nowrap;
  max-width: 160px;
  transition: max-width .24s, opacity .18s, transform .22s, visibility .18s;
  display: inline-block;
  overflow: hidden;
  transform: translateX(0);
}

.portal-nav button:hover:enabled, .portal-nav button.active {
  background: var(--control-bg);
  color: var(--text-0);
  box-shadow: var(--shadow-control);
  transform: none;
}

.portal-nav button.active {
  border-color: var(--line-0);
}

.portal-bottom-nav {
  display: none;
}

.portal-bottom-nav button {
  width: 100%;
  min-width: 44px;
  min-height: 44px;
  color: var(--text-1);
  font-size: var(--font-xs);
  box-shadow: none;
  text-align: center;
  background: none;
  border-color: #0000;
  grid-template-columns: auto;
  place-items: center;
  gap: 4px;
  font-weight: 640;
  line-height: 1.05;
  display: grid;
}

.portal-bottom-nav button .portal-icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}

.portal-bottom-nav button.active, .portal-bottom-nav button:hover:enabled {
  color: var(--text-0);
}

.sidebar-session {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  width: 100%;
  color: var(--text-1);
  box-shadow: none;
  grid-template-columns: 34px minmax(0, 1fr);
  place-items: center stretch;
  gap: 8px;
  min-width: 0;
  margin-top: auto;
  padding: 10px;
  transition: background .26s, border-color .26s, padding .26s;
  display: grid;
}

.session-avatar {
  border: 1px solid var(--line-0);
  background: var(--control-bg);
  width: 34px;
  height: 34px;
  color: var(--text-0);
  font-size: var(--font-xs);
  letter-spacing: 0;
  box-shadow: var(--shadow-control);
  border-radius: 999px;
  place-items: center;
  font-weight: 850;
  display: grid;
}

.session-profile {
  opacity: 1;
  visibility: visible;
  min-width: 0;
  max-width: 160px;
  transition: max-width .24s, opacity .18s, transform .22s, visibility .18s;
  display: block;
  overflow: visible;
  transform: translateX(0);
}

.session-profile strong, .session-profile span {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.session-profile strong {
  color: var(--text-0);
  font-size: var(--font-sm);
  font-weight: 800;
  line-height: 1.18;
}

.session-profile span {
  color: var(--text-2);
  font-size: var(--font-xs);
  margin-top: 2px;
  line-height: 1.2;
}

.portal-brand > div:not(.portal-brand-mark) {
  opacity: 1;
  visibility: visible;
  max-width: 170px;
  transition: max-width .24s, opacity .18s, transform .22s, visibility .18s;
  overflow: hidden;
  transform: translateX(0);
}

.portal-sidebar .portal-nav button {
  justify-content: flex-start;
  padding-inline: 14px;
}

.session-exit-button {
  border-color: var(--line-0);
  background: var(--control-bg);
  color: var(--text-0);
  gap: 8px;
}

.session-exit-button:hover:enabled {
  border-color: var(--line-1);
  background: var(--control-hover);
}

.portal-shell[data-sidebar="expanded"] .portal-sidebar {
  align-items: stretch;
  padding-inline: 18px;
  transition-delay: 0s;
}

.portal-shell[data-sidebar="expanded"] .portal-brand {
  justify-content: flex-start;
  padding-bottom: 18px;
}

.portal-shell[data-sidebar="expanded"] .portal-brand > div:not(.portal-brand-mark) {
  opacity: 1;
  visibility: visible;
  max-width: 170px;
  transform: translateX(0);
}

.portal-shell[data-sidebar="expanded"] .portal-nav button {
  justify-content: flex-start;
  padding-inline: 14px;
}

.portal-shell[data-sidebar="expanded"] .nav-label {
  opacity: 1;
  visibility: visible;
  max-width: 160px;
  transform: translateX(0);
}

.portal-shell[data-sidebar="expanded"] .sidebar-session {
  border: 1px solid var(--line-0);
  background: var(--surface-1);
  grid-template-columns: 34px minmax(0, 1fr);
  place-items: center stretch;
  padding: 10px;
}

.portal-shell[data-sidebar="expanded"] .session-profile {
  opacity: 1;
  visibility: visible;
  max-width: 160px;
  overflow: visible;
  transform: translateX(0);
}

.portal-shell[data-sidebar="expanded"] .session-profile span {
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
  line-height: 1.25;
  overflow: visible;
}

.portal-shell[data-sidebar="expanded"] .sidebar-session .secondary-action {
  width: auto;
  min-width: 0;
  font-size: var(--font-xs);
  grid-column: 2;
  justify-self: start;
  padding-inline: 10px;
}

.portal-shell[data-sidebar="expanded"] .sidebar-session .session-exit-button {
  justify-content: center;
  min-height: 34px;
  padding-inline: 10px;
}

.platform-session-card .session-exit-button {
  justify-content: flex-start;
  min-height: 36px;
}

.portal-workspace {
  grid-column: 2;
  grid-template-rows: auto 1fr;
  min-width: 0;
  display: grid;
}

.portal-shell-jobs {
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}

.portal-shell-jobs .portal-workspace {
  height: calc(100vh - 40px);
  overflow: hidden;
}

.portal-topbar {
  top: 20px;
  left: calc(20px + var(--sidebar-expanded-width) + 20px);
  z-index: 10;
  border-bottom: 1px solid var(--line-0);
  background: var(--topbar-bg);
  -webkit-backdrop-filter: blur(12px);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px clamp(16px, 3vw, 32px);
  display: flex;
  position: fixed;
  right: 20px;
  box-shadow: inset 0 1px #ffffff29;
}

.portal-topbar h1 {
  color: var(--text-0);
  font-size: var(--font-xl);
}

.topbar-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.portal-content-jobs {
  height: 100%;
  overflow: hidden;
}

.portal-shell-jobs .portal-content-jobs {
  padding-bottom: 0;
}

.view-stack, .profile-layout {
  gap: 18px;
  display: grid;
}

.portal-hero, .portal-card, .panel {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-2);
  background: var(--surface-0);
  box-shadow: var(--shadow-soft);
  padding: clamp(16px, 2vw, 24px);
  overflow: hidden;
}

.portal-hero {
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .7fr);
  align-items: center;
  gap: 20px;
  display: grid;
}

.portal-hero h2 {
  max-width: 720px;
  color: var(--text-0);
  font-size: var(--font-2xl);
  line-height: var(--line-tight);
  margin-top: 4px;
  margin-bottom: 8px;
}

.portal-hero p {
  color: var(--text-1);
}

.quick-load-form {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--control-bg);
  box-shadow: var(--shadow-control);
  gap: 12px;
  padding: 14px;
  display: grid;
}

.metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.metric-grid.two-up {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.metric-card {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-2);
  background: var(--surface-0);
  min-height: 128px;
  box-shadow: var(--shadow-soft);
  align-content: space-between;
  gap: 8px;
  padding: 18px;
  transition: border-color .14s, box-shadow .14s, transform .14s;
  display: grid;
}

.metric-card:hover {
  border-color: var(--line-1);
  transform: translateY(-1px);
}

.metric-card div {
  color: var(--brand-0);
  font-size: var(--font-metric);
  line-height: var(--line-tight);
  font-weight: 800;
}

.metric-card strong {
  color: var(--text-0);
  font-size: var(--font-md);
}

.metric-card span {
  color: var(--text-2);
  font-size: var(--font-sm);
}

.home-grid, .workspace-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
  align-items: start;
  gap: 18px;
  display: grid;
}

.section-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  display: flex;
}

.section-heading h2 {
  color: var(--text-0);
  font-size: var(--font-lg);
}

.filters-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
  display: grid;
}

.filters-grid .compact-field {
  grid-column: span 1;
}

.load-action {
  grid-column: span 2;
}

.bucket-tabs {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 6px;
  display: grid;
}

.bucket-button {
  border-color: var(--line-0);
  background: var(--control-bg);
  min-height: 48px;
  color: var(--text-1);
  box-shadow: var(--shadow-control);
}

.bucket-button.active {
  background: var(--control-pressed);
  border-color: var(--line-1);
  color: var(--text-0);
}

.job-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.compact-job-grid {
  grid-template-columns: 1fr;
}

.job-card {
  background: var(--surface-0);
  transition: border-color .14s, box-shadow .14s, transform .14s;
}

.job-card:hover {
  border-color: var(--line-1);
  transform: translateY(-1px);
}

.job-card.selected {
  border-color: var(--brand-0);
  box-shadow: 0 0 0 1px var(--brand-0), var(--shadow-soft);
}

.job-card h3, .panel h2, .panel h3 {
  color: var(--text-0);
}

.job-card h3, .panel h3 {
  font-size: var(--font-base);
}

.panel h2 {
  font-size: var(--font-lg);
}

.muted, .meta, .summary, .empty {
  color: var(--text-2);
  font-size: var(--font-md);
  line-height: var(--line-normal);
}

.badge {
  border-color: var(--line-1);
  background: var(--surface-1);
  color: var(--text-1);
  font-size: var(--font-xs);
  font-weight: 750;
}

.badge.decision, .badge.score {
  border-color: var(--line-1);
  color: var(--brand-0);
}

.state {
  border-left-color: var(--line-1);
  background: var(--surface-1);
  color: var(--text-1);
}

.state.success {
  border-left-color: var(--ok-0);
  color: var(--ok-0);
}

.state.error {
  border-left-color: var(--err-0);
  color: var(--err-0);
}

.card-details > div, .material-box {
  border-color: var(--line-0);
  background: var(--surface-1);
}

.material-box {
  border-radius: var(--radius-1);
  box-shadow: inset 0 1px #ffffff1f;
}

.cover-letter {
  border-color: var(--line-0);
  background: var(--surface-1);
  color: var(--text-0);
}

.activity-card {
  align-content: start;
  display: grid;
}

.activity-row {
  border-color: var(--line-0);
  background: var(--control-bg);
  width: 100%;
  min-height: 52px;
  color: var(--text-0);
  text-align: left;
  box-shadow: var(--shadow-control);
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  display: flex;
}

.activity-row:hover:enabled {
  border-color: var(--brand-0);
  background: var(--surface-2);
  color: var(--brand-0);
}

.activity-row strong {
  color: var(--brand-0);
}

.dashboard-metric-grid {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.monthly-stats-card, .monthly-activity-card {
  min-height: 360px;
}

.monthly-card-heading {
  align-items: center;
}

.month-pager, .activity-pager {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.month-pager .icon-button, .activity-pager .icon-button {
  border-radius: 10px;
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
}

.activity-pager {
  width: 100%;
  color: var(--text-2);
  font-size: var(--font-xs);
  justify-content: flex-end;
  margin-top: 12px;
  font-weight: 800;
}

.monthly-chart {
  gap: 18px;
  display: grid;
}

.monthly-chart-summary {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand-0) 8%, transparent), transparent 54%),
    var(--surface-1);
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  padding: 14px;
  display: flex;
}

.monthly-chart-summary strong {
  color: var(--brand-0);
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: .9;
}

.monthly-chart-summary span {
  max-width: 260px;
  color: var(--text-1);
  font-size: var(--font-sm);
  text-align: right;
  line-height: 1.35;
}

.daily-bar-chart {
  grid-template-columns: repeat(var(--days-in-month, 31), minmax(4px, 1fr));
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--line-0) 38%, transparent) 0 1px, transparent 1px 38px),
    var(--surface-0);
  align-items: end;
  gap: 5px;
  min-height: 190px;
  padding: 18px 14px 12px;
  display: grid;
}

.daily-bar {
  align-items: end;
  min-width: 0;
  height: 150px;
  display: grid;
}

.daily-bar > span {
  width: 100%;
  height: var(--bar-height);
  background: color-mix(in srgb, var(--line-1) 60%, var(--surface-1));
  border-radius: 999px 999px 4px 4px;
  min-height: 4px;
  transition: height .18s, background-color .18s, transform .18s;
  display: block;
}

.daily-bar.active > span {
  background: linear-gradient(180deg, var(--ok-0), var(--brand-0));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--brand-0) 14%, transparent);
}

.daily-bar:hover > span {
  transform: translateY(-2px);
}

.chart-axis {
  color: var(--text-2);
  font-size: var(--font-xs);
  justify-content: space-between;
  font-weight: 800;
  display: flex;
}

.monthly-activity-list {
  gap: 8px;
  display: grid;
}

.monthly-activity-row {
  align-items: center;
  margin-top: 0;
}

.monthly-activity-row span {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.monthly-activity-row span strong {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--text-0);
  font-size: var(--font-sm);
}

.monthly-activity-row small {
  color: var(--text-2);
  font-size: var(--font-xs);
}

.profile-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
  display: grid;
}

.profile-summary-grid > div {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  gap: 6px;
  padding: 14px;
  display: grid;
  box-shadow: inset 0 1px #ffffff1f;
}

.profile-summary-grid span {
  color: var(--text-2);
  font-size: var(--font-xs);
  font-weight: 700;
}

.profile-summary-grid strong {
  color: var(--text-0);
  overflow-wrap: anywhere;
}

.profile-session-summary {
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
}

.profile-session-summary strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.compact-session-panel {
  padding: 12px;
}

.platform-session-card {
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  display: grid;
}

.platform-session-identity {
  min-width: 0;
}

.platform-session-identity strong, .platform-session-identity span {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.platform-session-identity strong {
  color: var(--text-0);
  font-size: var(--font-sm);
  line-height: 1.18;
}

.platform-session-identity span {
  color: var(--text-2);
  font-size: var(--font-xs);
  margin-top: 2px;
  line-height: 1.2;
}

.platform-session-card .secondary-action {
  min-height: 34px;
  font-size: var(--font-sm);
  grid-column: 1 / -1;
}

.job-modal-overlay {
  -webkit-backdrop-filter: blur(10px);
  background: #12131485;
}

.job-modal {
  border-color: var(--line-0);
  background: var(--surface-0);
  box-shadow: 0 24px 60px #0000003d;
}

.job-modal-header {
  border-bottom-color: var(--line-0);
  background: var(--surface-0);
}

.job-modal-content {
  background: var(--page-bg);
}

.mobile-nav-backdrop {
  z-index: 60;
  background: #0f172a75;
  position: fixed;
  inset: 0;
}

.mobile-nav-drawer {
  border-right: 1px solid var(--panel-border);
  background: var(--panel-bg);
  overscroll-behavior: contain;
  align-content: start;
  gap: 18px;
  width: min(82vw, 296px);
  height: 100%;
  max-height: 100dvh;
  padding: 20px;
  display: grid;
  overflow: auto;
  box-shadow: 12px 0 34px #042d7c14;
}

.theme-toggle {
  border: 1px solid color-mix(in srgb, var(--brand-0) 24%, var(--line-1));
  background: color-mix(in srgb, var(--surface-1) 88%, var(--brand-0) 12%);
  min-width: 92px;
  min-height: 36px;
  color: var(--text-0);
  font-size: var(--font-sm);
  box-shadow: var(--shadow-control);
  isolation: isolate;
  border-radius: 999px;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
  padding: 3px 11px 3px 39px;
  font-weight: 800;
  line-height: 1;
  transition: border-color .16s, background-color .16s, color .16s, box-shadow .16s;
  display: inline-flex;
  position: relative;
  overflow: hidden;
}

.theme-toggle:before {
  content: "";
  border-radius: inherit;
  background: color-mix(in srgb, var(--surface-0) 72%, transparent);
  z-index: -2;
  position: absolute;
  inset: 3px;
}

.theme-toggle:after {
  content: "";
  background: var(--surface-0);
  border: 1px solid color-mix(in srgb, var(--brand-0) 18%, var(--line-1));
  z-index: -1;
  border-radius: 999px;
  width: 26px;
  height: 26px;
  transition: transform .18s, background-color .16s, border-color .16s;
  position: absolute;
  top: 4px;
  left: 4px;
  box-shadow: 0 4px 12px #042d7c29;
}

.theme-toggle .icon-label {
  gap: 8px;
}

.theme-toggle .portal-icon, .theme-toggle-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  transition: transform .18s, color .16s;
}

.theme-toggle:hover:enabled {
  border-color: var(--brand-0);
  background: color-mix(in srgb, var(--surface-1) 76%, var(--brand-0) 24%);
  color: var(--text-0);
}

.theme-toggle[aria-pressed="true"] {
  background: color-mix(in srgb, var(--surface-1) 76%, var(--brand-0) 24%);
  justify-content: flex-start;
  padding: 3px 39px 3px 11px;
}

.theme-toggle[aria-pressed="true"]:after {
  transform: translateX(58px);
}

.theme-toggle[aria-pressed="true"] .portal-icon, .theme-toggle[aria-pressed="true"] .theme-toggle-icon {
  transform: translateX(4px);
}

.compact-theme-toggle {
  flex: none;
}

.portal-topbar .compact-theme-toggle {
  justify-content: center;
  gap: 0;
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
}

.portal-topbar .compact-theme-toggle:before, .portal-topbar .compact-theme-toggle:after, .portal-topbar .compact-theme-toggle span {
  display: none;
}

.portal-topbar .compact-theme-toggle[aria-pressed="true"] {
  justify-content: center;
  padding: 0;
}

.portal-topbar .compact-theme-toggle .portal-icon, .portal-topbar .compact-theme-toggle .theme-toggle-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  transform: none;
}

.portal-topbar .compact-theme-toggle[aria-pressed="true"] .portal-icon, .portal-topbar .compact-theme-toggle[aria-pressed="true"] .theme-toggle-icon {
  transform: none;
}

html.theme-transition body.skillgate-customer-portal, html.theme-transition body.skillgate-customer-portal [data-theme], html.theme-transition body.skillgate-customer-portal :where(.portal-shell, .dashboard-shell, .portal-sidebar, .mobile-nav-drawer, .portal-workspace, .portal-topbar, .top-bar, .portal-content, .portal-card, .panel, .metric-card, .job-card, .job-modal, .job-modal-header, .job-modal-content, .login-card, .sidebar-session, .activity-row, .state, .badge, .portal-brand-mark, .primary-action, .load-action, button[type="submit"], .portal-nav button, .button-link, .secondary-action, .bucket-button, .theme-toggle, .icon-button, .material-box, .cover-letter, .profile-section, .resume-upload-panel, .quick-load-form, .profile-summary-grid > div, .card-details > div, .field input, .field select, .field textarea, .profile-token, .portal-icon, .theme-toggle-icon) {
  transition-property: background-color, border-color, box-shadow, color, fill, stroke;
  transition-duration: .18s;
  transition-timing-function: ease;
}

@media (prefers-reduced-motion: reduce) {
  html.theme-transition body.skillgate-customer-portal, html.theme-transition body.skillgate-customer-portal [data-theme], html.theme-transition body.skillgate-customer-portal * {
    transition: none !important;
  }
}

.dashboard-shell[data-theme] {
  background: var(--page-bg);
  min-height: 100vh;
  color: var(--text-0);
}

[data-theme] .top-bar, [data-theme] .portal-topbar {
  border-bottom-color: var(--line-0);
  background: var(--topbar-bg);
  color: var(--text-0);
}

[data-theme] .portal-sidebar, [data-theme] .mobile-nav-drawer, [data-theme] .login-card, [data-theme] .portal-card, [data-theme] .panel, [data-theme] .metric-card, [data-theme] .job-card, [data-theme] .job-modal, [data-theme] .job-modal-header, [data-theme] .card, [data-theme] .table-card, [data-theme] .form-card, [data-theme] .profile-editor, [data-theme] .resume-card, [data-theme] .timeline-card {
  border-color: var(--line-0);
  background: var(--surface-0);
  color: var(--text-0);
}

[data-theme] .portal-sidebar, [data-theme] .mobile-nav-drawer, [data-theme] .portal-card, [data-theme] .metric-card, [data-theme] .job-card {
  border-color: var(--panel-border);
  background: var(--panel-bg);
  box-shadow: var(--panel-shadow);
}

[data-theme] .quick-load-form, [data-theme] .sidebar-session, [data-theme] .profile-summary-grid > div, [data-theme] .card-details > div, [data-theme] .material-box, [data-theme] .state, [data-theme] .cover-letter, [data-theme] .activity-row, [data-theme] .field input, [data-theme] .field select, [data-theme] .field textarea, [data-theme] .profile-section, [data-theme] .resume-upload-panel {
  border-color: var(--line-0);
  background: var(--surface-1);
  color: var(--text-0);
}

[data-theme] .sidebar-session, [data-theme] .activity-row, [data-theme] .state {
  border-color: var(--panel-border);
  background: var(--panel-soft);
  box-shadow: none;
}

[data-theme] .field input, [data-theme] .field select, [data-theme] .field textarea {
  background: var(--control-bg);
}

[data-theme] .portal-brand-mark, [data-theme] .login-card-logo, [data-theme] .primary-action, [data-theme] .load-action, [data-theme] button[type="submit"] {
  border-color: var(--primary-bg);
  background: var(--primary-bg);
  color: var(--primary-text);
}

[data-theme] .portal-nav button.active, [data-theme] .portal-nav button:hover:enabled, [data-theme] .bucket-button.active {
  border-color: var(--line-0);
  background: var(--control-pressed);
  color: var(--text-0);
}

[data-theme] .button-link, [data-theme] .secondary-action, [data-theme] .bucket-button, [data-theme] .top-action, [data-theme] .menu-button {
  border-color: var(--line-0);
  background: var(--control-bg);
  color: var(--text-0);
}

[data-theme] .button-link:hover, [data-theme] .secondary-action:hover:enabled, [data-theme] .bucket-button:hover:enabled, [data-theme] .top-action:hover:enabled, [data-theme] .menu-button:hover:enabled, [data-theme] .activity-row:hover:enabled {
  border-color: var(--line-1);
  background: var(--control-hover);
  color: var(--text-0);
}

[data-theme] .job-card.selected {
  border-color: var(--brand-0);
  box-shadow: 0 0 0 1px var(--brand-0), var(--shadow-soft);
}

[data-theme] .badge, [data-theme] .badge.decision, [data-theme] .badge.score {
  border-color: var(--line-1);
  background: var(--surface-1);
  color: var(--text-1);
}

[data-theme] .brand, [data-theme] .eyebrow, [data-theme] .portal-brand strong, [data-theme] .metric-card div, [data-theme] .activity-row strong, [data-theme] .login-kicker, [data-theme] h1, [data-theme] h2, [data-theme] h3, [data-theme] strong {
  color: var(--text-0);
}

[data-theme] .muted, [data-theme] .meta, [data-theme] .summary, [data-theme] .empty, [data-theme] .portal-brand span, [data-theme] .metric-card span, [data-theme] label, [data-theme] .field span {
  color: var(--text-2);
}

[data-theme] .job-modal-overlay, [data-theme] .mobile-nav-backdrop {
  background: #0000009e;
}

body.skillgate-customer-portal {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
}

body.skillgate-customer-portal h1, body.skillgate-customer-portal h2, body.skillgate-customer-portal h3 {
  letter-spacing: 0;
}

body.skillgate-customer-portal h1 {
  font-size: var(--font-xl);
  font-weight: 650;
  line-height: 1.28;
}

body.skillgate-customer-portal h2 {
  font-size: var(--font-lg);
  font-weight: 640;
  line-height: 1.34;
}

body.skillgate-customer-portal h3 {
  font-size: var(--font-base);
  font-weight: 620;
  line-height: 1.36;
}

body.skillgate-customer-portal strong {
  font-weight: 600;
}

body.skillgate-customer-portal button, body.skillgate-customer-portal .button-link, body.skillgate-customer-portal .secondary-action {
  font-weight: 620;
}

.brand, .eyebrow {
  color: var(--brand-0);
  font-weight: 700;
}

.login-page-brand {
  text-transform: uppercase;
  font-weight: 900;
}

.login-brand-mark, .login-card-logo, .portal-brand-mark {
  font-weight: 700;
}

.login-brand-panel h1, .login-card h2, .portal-hero h2 {
  font-size: var(--font-xl);
  font-weight: 650;
  line-height: 1.3;
}

.portal-brand strong {
  color: var(--brand-0);
  font-size: var(--font-base);
  font-weight: 700;
}

.portal-topbar h1 {
  font-size: var(--font-lg);
  font-weight: 700;
}

.section-heading h2, .panel h2, .panel h3, .job-card h3 {
  font-weight: 640;
}

.section-heading h2, .panel h2 {
  font-size: var(--font-base);
}

.metric-card div {
  font-size: var(--font-metric);
  font-weight: 650;
}

.metric-card strong, .activity-row strong, .profile-summary-grid strong, .session-profile strong, .platform-session-identity strong, .badge, .profile-summary-grid span, .field span {
  font-weight: 600;
}

.portal-shell {
  column-gap: clamp(10px, 1.3vw, 18px);
}

.portal-workspace {
  min-width: 0;
}

.portal-content {
  padding: 74px 0 0;
}

.portal-topbar {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 9px 14px;
  display: grid;
}

.portal-sidebar {
  gap: 22px;
  padding-top: 26px;
  transition: none;
}

.portal-brand {
  padding-bottom: 16px;
  transition: none;
}

.portal-nav {
  gap: 8px;
  padding-top: 4px;
}

.portal-brand > div:not(.portal-brand-mark), .nav-label, .session-profile, .sidebar-session {
  transition: none;
}

.portal-nav button {
  contain: layout paint;
}

.view-stack, .profile-layout, .home-grid, .workspace-grid, .material-grid, .metric-grid, .shell-body, .dashboard-shell[data-theme] .shell-body, .dashboard-shell[data-theme] .main-content, .dashboard-shell[data-theme] .sidebar {
  gap: 24px;
}

.dashboard-shell[data-theme] .top-bar {
  padding: 20px clamp(18px, 3vw, 34px);
}

.portal-card, .panel {
  border-color: var(--panel-border);
  background: var(--panel-bg);
  box-shadow: var(--panel-shadow);
}

.portal-card .panel, .panel .panel, .portal-card .portal-card, .panel .portal-card, .portal-card .job-card, .portal-card .metric-card, .panel .metric-card, .sidebar .panel {
  box-shadow: none;
  background: none;
}

.metric-card, .job-card {
  border-color: var(--panel-border);
  background: var(--panel-soft);
  box-shadow: none;
}

.metric-card {
  min-height: 104px;
  padding: 16px;
}

.portal-card .job-grid {
  gap: 10px;
}

.job-list-panel {
  align-content: start;
  gap: 14px;
  padding: 14px;
  display: grid;
}

.job-review-workspace .job-list-panel {
  height: calc(100vh - 106px);
  max-height: calc(100vh - 106px);
  overflow: auto;
}

.portal-content-jobs .job-review-view, .portal-content-jobs .job-review-workspace, .portal-content-jobs .job-review-workspace > .stack, .portal-content-jobs .job-list-panel {
  height: 100%;
  max-height: 100%;
}

.portal-content-jobs .job-review-workspace .detail-panel {
  height: 100%;
  max-height: 100%;
  position: static;
  top: auto;
  overflow: hidden;
}

.portal-content-jobs .job-review-workspace .job-detail-panel {
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  min-height: 0;
}

.portal-content-jobs .job-review-workspace .job-detail-scroll {
  overscroll-behavior: contain;
  min-height: 0;
  overflow-y: auto;
}

.job-review-workspace .job-detail-panel {
  align-content: stretch;
  gap: var(--space-2);
  display: grid;
  position: relative;
}

.job-review-workspace .job-detail-panel:before {
  content: "";
  border-radius: var(--radius-2) var(--radius-2) 0 0;
  pointer-events: none;
  background: none;
  height: 3px;
  position: absolute;
  inset: 0 0 auto;
}

.job-review-workspace .job-detail-panel:has(.score-progress-high) {
  border-color: color-mix(in srgb, var(--success-pill-text) 24%, var(--panel-border));
  background: linear-gradient(135deg, color-mix(in srgb, var(--success-pill-text) 6%, transparent), transparent 34%),
    var(--panel-bg);
  box-shadow: var(--panel-shadow),
    inset 0 1px 0 color-mix(in srgb, var(--success-pill-text) 12%, transparent);
}

.job-review-workspace .job-detail-panel:has(.score-progress-high):before {
  background: linear-gradient(90deg, color-mix(in srgb, var(--success-pill-text) 56%, transparent), transparent 82%);
}

.job-review-workspace .job-detail-panel:has(.score-progress-amber) {
  border-color: color-mix(in srgb, #ef9f27 28%, var(--panel-border));
  background: linear-gradient(135deg, #ef9f2712, transparent 34%),
    var(--panel-bg);
  box-shadow: var(--panel-shadow),
    inset 0 1px 0 #ef9f2724;
}

.job-review-workspace .job-detail-panel:has(.score-progress-amber):before {
  background: linear-gradient(90deg, #ef9f27b8, #0000 82%);
}

.job-detail-scroll {
  align-content: start;
  gap: var(--space-2);
  display: grid;
}

.job-review-workspace .job-list-panel {
  overscroll-behavior: contain;
  scrollbar-color: color-mix(in srgb, var(--brand-0) 46%, var(--line-1)) transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.job-review-workspace .job-list-panel::-webkit-scrollbar {
  width: 10px;
}

.job-review-workspace .job-list-panel::-webkit-scrollbar-track {
  background: none;
}

.job-review-workspace .job-list-panel::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--surface-0), var(--surface-0)) padding-box,
    linear-gradient(180deg,
      color-mix(in srgb, var(--brand-0) 54%, var(--line-1)),
      color-mix(in srgb, var(--brand-1) 44%, var(--line-1))) border-box;
  border: 3px solid #0000;
  border-radius: 999px;
}

.job-review-workspace .job-list-panel:hover::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--surface-0), var(--surface-0)) padding-box,
    linear-gradient(180deg,
      color-mix(in srgb, var(--brand-0) 70%, var(--line-1)),
      color-mix(in srgb, var(--brand-1) 62%, var(--line-1))) border-box;
}

.job-review-workspace, .job-review-workspace .stack, .job-review-workspace .portal-card, .job-review-workspace .panel, .job-review-workspace .job-card, .job-review-workspace .detail-panel, .job-review-workspace .job-list-panel {
  transform: none !important;
}

.job-review-workspace .portal-card, .job-review-workspace .panel, .job-review-workspace .job-card {
  transition-property: border-color, background-color, box-shadow;
}

.job-review-workspace .job-list-sticky-header {
  z-index: 10;
  background: var(--panel-bg);
  isolation: isolate;
  gap: 14px;
  margin: -14px -14px 0;
  padding: 0 14px 14px;
  display: grid;
  position: sticky;
  top: 0;
}

.job-review-workspace .job-list-sticky-header:before {
  content: "";
  background: var(--panel-bg);
  pointer-events: none;
  z-index: -1;
  height: 14px;
  position: absolute;
  inset: -14px 0 auto;
}

.job-review-workspace .job-list-panel .section-heading {
  gap: 8px;
  margin-bottom: 0;
}

.job-review-workspace .job-list-panel .section-heading h2 {
  font-size: var(--font-lg);
}

.job-review-workspace .job-list-panel .section-heading .muted {
  font-size: var(--font-xs);
}

.job-review-workspace .bucket-tabs {
  gap: 6px;
  margin-bottom: 0;
}

.job-review-workspace .bucket-button {
  min-height: 36px;
  padding: 7px 9px;
}

.job-review-workspace .job-grid {
  grid-template-columns: 1fr;
  gap: 8px;
}

.portal-card .job-card.panel {
  border-radius: var(--radius-1);
  background: var(--panel-soft);
  border-width: 1px;
  padding: 16px;
}

.job-review-workspace .portal-card .job-card.panel {
  gap: 9px;
  padding: 12px;
}

.portal-card .job-card.panel:first-child, .portal-card .job-card.panel:first-child {
  padding-top: 16px;
}

.portal-card .job-card.panel:hover {
  border-color: var(--line-1);
  background: var(--panel-bg);
  transform: none;
}

.portal-card .job-card.selected {
  border-color: var(--panel-border);
  background: var(--panel-bg);
  box-shadow: inset 3px 0 0 var(--brand-0);
  padding-left: 14px;
}

.job-review-workspace .portal-card .job-card.selected {
  background: var(--color-background-secondary);
  box-shadow: inset 3px 0 #185fa5;
}

.portal-card .metric-card {
  border-radius: var(--radius-1);
}

body.skillgate-customer-portal button:hover:enabled, body.skillgate-customer-portal .button-link:hover, body.skillgate-customer-portal .secondary-action:hover:enabled, body.skillgate-customer-portal .bucket-button:hover:enabled, body.skillgate-customer-portal .metric-card:hover {
  transform: none;
}

body.skillgate-customer-portal .button-link, body.skillgate-customer-portal .secondary-action, body.skillgate-customer-portal .bucket-button {
  border-color: var(--panel-border);
  background: var(--panel-bg);
  box-shadow: none;
}

body.skillgate-customer-portal .button-link:hover, body.skillgate-customer-portal .secondary-action:hover:enabled, body.skillgate-customer-portal .bucket-button:hover:enabled {
  border-color: var(--line-1);
  background: var(--panel-soft);
}

body.skillgate-customer-portal .primary-action, body.skillgate-customer-portal .load-action, body.skillgate-customer-portal button[type="submit"] {
  border-color: var(--primary-bg);
  background: var(--primary-bg);
  color: var(--primary-text);
  box-shadow: none;
}

.quick-load-form, .profile-summary-grid > div, .card-details > div, .material-box, .state, .activity-row, .profile-section, .resume-upload-panel, .login-signal-grid > div {
  box-shadow: none;
  background: none;
}

.quick-load-form, .material-box, .profile-summary-grid > div, .card-details > div, .activity-row {
  border-color: var(--line-0);
}

.profile-summary-grid > div, .card-details > div, .material-box, .activity-row {
  padding-block: 14px;
}

.activity-row {
  border-radius: 0;
}

.activity-row + .activity-row, .material-box + .material-box {
  border-top: 1px solid var(--line-0);
}

.state {
  border-left-width: 2px;
  border-radius: 0;
  padding: 8px 0 8px 12px;
}

.section-heading {
  margin-bottom: 20px;
}

[data-theme] .quick-load-form, [data-theme] .profile-summary-grid > div, [data-theme] .card-details > div, [data-theme] .material-box, [data-theme] .state, [data-theme] .activity-row, [data-theme] .profile-section, [data-theme] .resume-upload-panel, [data-theme] .portal-card .panel, [data-theme] .panel .panel, [data-theme] .portal-card .portal-card, [data-theme] .panel .portal-card, [data-theme] .portal-card .job-card, [data-theme] .portal-card .metric-card, [data-theme] .panel .metric-card, [data-theme] .sidebar .panel {
  box-shadow: none;
  background: none;
}

.field > span, .label, .metadata-list dt, .profile-summary-grid span {
  max-width: 100%;
  color: var(--text-2);
  font-size: var(--font-xs);
  letter-spacing: 0;
  justify-self: start;
  align-items: center;
  font-weight: 560;
  line-height: 1.2;
  display: inline-flex;
}

.field > span {
  color: var(--text-1);
  margin-bottom: 2px;
  font-weight: 620;
}

.field:focus-within > span {
  color: var(--text-0);
}

.field > span, .metadata-list dt {
  padding-left: 2px;
}

.card-details .label, .metadata-list dt {
  border-left: 2px solid var(--line-1);
  padding-left: 8px;
  font-weight: 620;
}

.eyebrow {
  color: var(--text-2);
  font-size: var(--font-xs);
  text-transform: none;
  letter-spacing: 0;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
  font-weight: 560;
  line-height: 1.2;
  display: inline-flex;
}

.eyebrow:before {
  content: "";
  background: var(--line-1);
  flex: none;
  width: 14px;
  height: 1px;
}

.badge {
  border-color: var(--line-0);
  min-height: 26px;
  color: var(--text-1);
  text-transform: none;
  background: none;
  gap: 7px;
  font-weight: 620;
  line-height: 1;
}

.badge:before {
  content: "";
  background: var(--line-1);
  border-radius: 999px;
  flex: none;
  width: 6px;
  height: 6px;
}

.badge.decision:before {
  background: var(--brand-0);
}

.badge.score:before {
  background: var(--text-2);
}

.badge.apply:before {
  background: var(--ok-0);
}

.badge.hold:before {
  background: var(--warn-0);
}

.chip-row .meta {
  min-height: 26px;
  font-size: var(--font-xs);
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.chip-row .meta:before {
  content: "";
  background: var(--line-1);
  flex: none;
  width: 1px;
  height: 14px;
}

.bucket-button span {
  border: 1px solid var(--line-0);
  min-width: 28px;
  color: var(--text-1);
  font-size: var(--font-xs);
  text-align: center;
  border-radius: 999px;
  padding: 3px 8px;
  font-weight: 560;
  line-height: 1;
}

.bucket-button.active span {
  border-color: var(--line-1);
  color: var(--text-0);
}

.meta {
  font-size: var(--font-sm);
  line-height: 1.35;
}

.summary {
  color: var(--text-1);
}

.empty {
  color: var(--text-2);
  font-style: italic;
}

[data-theme] .badge, [data-theme] .badge.decision, [data-theme] .badge.score {
  color: var(--text-1);
  background: none;
}

[data-theme] .label, [data-theme] .metadata-list dt, [data-theme] .profile-summary-grid span, [data-theme] .eyebrow {
  color: var(--text-2);
}

[data-theme] .field > span {
  color: var(--text-1);
}

[data-theme] .field:focus-within > span {
  color: var(--text-0);
}

.portal-shell {
  --sidebar-expanded-width: 236px;
  grid-template-columns: var(--sidebar-expanded-width) minmax(0, 1fr);
  background: var(--app-bg);
  align-items: start;
  column-gap: 20px;
  width: 100%;
  min-height: 100vh;
  padding: 20px;
  transition: none;
  overflow-x: clip;
}

[data-theme="dark"].portal-shell {
  background: var(--app-bg);
}

.portal-sidebar {
  z-index: 1;
  width: var(--sidebar-expanded-width);
  border: 1px solid var(--panel-border);
  background: var(--panel-bg);
  min-width: 0;
  height: auto;
  min-height: 0;
  box-shadow: var(--panel-shadow);
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
  border-radius: 18px;
  align-items: stretch;
  padding: 16px 12px;
  position: fixed;
  top: 20px;
  bottom: 20px;
  left: 20px;
  overflow: auto;
}

.portal-brand {
  border-bottom: 1px solid var(--panel-border);
  box-shadow: none;
  background: none;
  border-radius: 0;
  justify-content: flex-start;
  padding: 4px 6px 16px;
}

.portal-brand > div:not(.portal-brand-mark), .nav-label, .session-profile {
  opacity: 1;
  visibility: visible;
  max-width: 146px;
  transform: translateX(0);
}

.sidebar-session .session-profile {
  max-width: 100%;
  overflow: visible;
}

.sidebar-session .session-profile span {
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: normal;
  line-height: 1.25;
  overflow: hidden;
}

.portal-sidebar .portal-nav button {
  background: none;
  border: 1px solid #0000;
  border-radius: 10px;
  justify-content: flex-start;
  min-height: 42px;
  padding-inline: 12px;
}

.portal-nav button:hover:enabled {
  border-color: var(--panel-border);
  background: var(--panel-soft);
  color: var(--text-0);
}

.portal-nav button.active, [data-theme] .portal-nav button.active {
  border-color: var(--nav-active-bg);
  background: var(--nav-active-bg);
  color: var(--nav-active-text);
  box-shadow: 0 8px 18px #042d7c1f;
}

.sidebar-session {
  border-color: var(--panel-border);
  background: var(--panel-soft);
  box-shadow: none;
  border-radius: 12px;
  grid-template-columns: 32px minmax(0, 1fr);
  place-items: center stretch;
  padding: 10px;
}

.sidebar-session .secondary-action {
  width: auto;
  min-width: 0;
  font-size: var(--font-xs);
  grid-column: 2;
  justify-self: start;
  padding-inline: 10px;
}

.sidebar-session .session-exit-button {
  justify-content: center;
  min-height: 34px;
}

.portal-topbar {
  top: 20px;
  left: calc(20px + var(--sidebar-expanded-width) + 20px);
  z-index: 10;
  border: 1px solid var(--panel-border);
  background: var(--panel-bg);
  box-shadow: var(--panel-shadow);
  border-radius: 12px;
  position: fixed;
  right: 20px;
}

.portal-topbar h1 {
  font-size: var(--font-base);
  margin: 0;
  line-height: 1.2;
}

[data-theme] .portal-topbar {
  border-color: var(--panel-border);
  background: var(--panel-bg);
}

[data-theme="dark"] .theme-toggle {
  border-color: color-mix(in srgb, var(--brand-1) 38%, var(--panel-border));
  background: color-mix(in srgb, var(--panel-bg) 82%, var(--brand-1) 18%);
  color: #fff;
  box-shadow: 0 10px 24px #00000047, inset 0 1px #ffffff1f;
}

[data-theme="dark"] .theme-toggle:hover:enabled {
  border-color: color-mix(in srgb, var(--brand-0) 54%, var(--panel-border));
  background: color-mix(in srgb, var(--panel-bg) 72%, var(--brand-1) 28%);
}

.home-grid, .workspace-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
}

.detail-panel {
  max-width: 360px;
}

.filters-grid .field {
  grid-column: span 2;
}

.filters-grid .compact-field, .load-action {
  grid-column: span 1;
}

.load-action {
  justify-self: start;
  min-width: 148px;
}

.action-row button, .action-row .button-link, .topbar-actions button, .topbar-actions .button-link {
  flex: 0 auto;
  width: auto;
}

.dashboard-shell[data-theme] .shell-body {
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
}

.dashboard-shell[data-theme] .sidebar {
  padding: clamp(18px, 2.4vw, 24px);
}

.dashboard-shell[data-theme] .main-content {
  padding: clamp(20px, 2.8vw, 30px);
}

.profile-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.embedded-profile-workspace {
  width: 100%;
}

.embedded-profile-shell {
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  display: grid;
}

.embedded-profile-shell .sidebar, .embedded-profile-shell .main-content {
  border: 0;
  padding: 0;
}

.embedded-profile-shell .compact-session-panel {
  display: none;
}

.profile-simple-shell {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
}

.dashboard-shell > .profile-simple-shell {
  padding: 14px;
}

.profile-overview-panel {
  grid-template-columns: minmax(260px, .62fr) minmax(420px, 1fr);
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  display: grid;
}

.profile-overview-copy {
  min-width: 0;
}

.profile-overview-copy h2 {
  color: var(--text-0);
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.1;
}

.profile-overview-stack {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.compact-profile-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.compact-profile-summary > div {
  justify-content: center;
  min-height: 68px;
}

.compact-profile-summary strong {
  font-size: var(--font-lg);
}

.profile-readiness-strip {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  border-left-width: 3px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px 12px;
  display: grid;
}

.profile-readiness-strip > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.profile-readiness-strip strong, .profile-readiness-strip span {
  overflow-wrap: anywhere;
}

.profile-readiness-strip strong {
  color: var(--text-0);
  font-size: var(--font-sm);
}

.profile-readiness-strip span {
  color: var(--text-2);
  font-size: var(--font-sm);
  line-height: 1.32;
}

.profile-readiness-dot {
  background: var(--text-2);
  width: 11px;
  height: 11px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--text-2) 12%, transparent);
  border-radius: 999px;
}

.profile-readiness-strip.success {
  border-color: color-mix(in srgb, var(--ok-0) 42%, var(--line-0));
  border-left-color: var(--ok-0);
  background: color-mix(in srgb, var(--ok-0) 8%, var(--surface-0));
}

.profile-readiness-strip.success .profile-readiness-dot {
  background: var(--ok-0);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ok-0) 14%, transparent);
}

.profile-readiness-strip.warning {
  border-color: color-mix(in srgb, var(--warn-0) 44%, var(--line-0));
  border-left-color: var(--warn-0);
  background: color-mix(in srgb, var(--warn-0) 9%, var(--surface-0));
}

.profile-readiness-strip.warning .profile-readiness-dot {
  background: var(--warn-0);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--warn-0) 14%, transparent);
}

.profile-readiness-strip.error {
  border-color: color-mix(in srgb, var(--err-0) 44%, var(--line-0));
  border-left-color: var(--err-0);
  background: color-mix(in srgb, var(--err-0) 8%, var(--surface-0));
}

.profile-readiness-strip.error .profile-readiness-dot {
  background: var(--err-0);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--err-0) 14%, transparent);
}

.profile-workspace-grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  align-items: start;
  gap: 18px;
  display: grid;
}

.profile-side-rail {
  gap: 18px;
  display: grid;
}

.profile-workspace-grid .profile-form-stack {
  grid-column: 1;
}

.profile-workspace-grid .profile-side-rail {
  grid-column: 2;
}

.profile-workspace-grid .resume-preview-panel {
  grid-column: 1 / -1;
}

.profile-workspace-grid .profile-parsed-resume-panel {
  grid-column: 1;
}

.profile-structured-grid, .profile-focus-panel, .profile-form-stack, .parsed-profile-section, .parsed-resume-card {
  gap: 18px;
  display: grid;
}

.profile-structured-grid {
  grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr);
  align-items: start;
}

.profile-form-stack, .parsed-resume-card {
  grid-column: 2;
}

.profile-preferences-panel {
  align-content: start;
}

.profile-editor-heading-row {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.profile-editor-heading-row > div:first-child {
  min-width: 0;
}

.profile-inline-status {
  width: min(100%, 340px);
}

.profile-inline-status .state {
  margin: 0;
  padding: 10px 12px;
}

.profile-inline-status .state.neutral {
  color: var(--text-2);
}

.profile-group {
  gap: 14px;
  display: grid;
}

.profile-group + .profile-group {
  padding-top: 4px;
}

.profile-group-heading {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.profile-group-heading h3 {
  color: var(--text-0);
  font-size: var(--font-base);
  line-height: 1.28;
}

.profile-section-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.parsed-resume-layout {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.profile-editor-section {
  border-color: var(--panel-border);
  background: var(--panel-soft);
  align-content: start;
  min-height: 212px;
}

.profile-editor-section .profile-editor-heading {
  gap: 4px;
}

.profile-editor-section .profile-editor-heading h3 {
  font-size: var(--font-md);
}

.profile-editor-section .profile-editor-heading .muted {
  font-size: var(--font-xs);
  line-height: 1.35;
}

.resume-upload-panel {
  align-content: start;
  gap: 14px;
}

.resume-upload-panel .section-heading {
  align-items: start;
  margin-bottom: 12px;
}

.resume-actions {
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.resume-actions button {
  min-height: 42px;
}

.parsed-resume-card {
  align-content: start;
}

.resume-status-card, .parsed-resume-section {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  gap: 10px;
  padding: 14px;
  display: grid;
}

.resume-status-card {
  background: color-mix(in srgb, var(--surface-1) 78%, var(--surface-0));
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.resume-status-card.has-resume {
  border-color: color-mix(in srgb, var(--ok-0) 38%, var(--line-0));
  background: color-mix(in srgb, var(--ok-0) 8%, var(--surface-0));
}

.resume-status-mark, .resume-file-icon {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-0);
  width: 38px;
  height: 38px;
  color: var(--brand-0);
  place-items: center;
  display: inline-grid;
}

.resume-status-card.has-resume .resume-status-mark {
  border-color: color-mix(in srgb, var(--ok-0) 42%, var(--line-0));
  background: color-mix(in srgb, var(--ok-0) 12%, var(--surface-0));
  color: var(--ok-0);
}

.resume-file-svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 21px;
  height: 21px;
}

.resume-status-copy, .resume-file-copy {
  gap: 3px;
  display: grid;
}

.resume-status-label, .parsed-resume-heading span {
  color: var(--text-2);
  font-size: var(--font-xs);
  font-weight: 650;
}

.resume-status-card strong {
  color: var(--text-0);
  overflow-wrap: anywhere;
}

.resume-status-detail, .resume-file-detail {
  color: var(--text-2);
  font-size: var(--font-sm);
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.resume-file-picker {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  background: var(--surface-0);
  cursor: pointer;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 12px;
  transition: border-color .14s, background-color .14s, box-shadow .14s;
  display: grid;
  position: relative;
}

.resume-file-picker:hover {
  border-color: var(--brand-0);
  background: color-mix(in srgb, var(--brand-0) 4%, var(--surface-0));
}

.resume-file-picker:focus-within {
  border-color: var(--brand-0);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-0) 18%, transparent);
}

.resume-file-picker.has-file {
  border-color: color-mix(in srgb, var(--brand-0) 46%, var(--line-1));
  background: color-mix(in srgb, var(--brand-0) 5%, var(--surface-0));
}

.resume-file-picker.is-disabled {
  cursor: not-allowed;
  opacity: .68;
}

.resume-file-picker input[type="file"] {
  border-radius: inherit;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: inherit;
  border: 0;
  padding: 0;
  position: absolute;
  inset: 0;
}

.resume-file-title {
  color: var(--text-0);
  font-weight: 800;
  line-height: 1.2;
}

.resume-file-action {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  min-height: 32px;
  color: var(--text-0);
  font-size: var(--font-sm);
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  font-weight: 800;
  display: inline-flex;
}

.resume-upload-feedback {
  margin: 0;
}

.parsed-resume-section {
  align-content: start;
  min-height: 132px;
}

.parsed-resume-detail-stack {
  gap: 14px;
  display: grid;
}

.parsed-resume-title-row {
  align-items: start;
}

.parsed-resume-status {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  max-width: 100%;
  min-height: 28px;
  color: var(--text-2);
  font-size: var(--font-xs);
  text-transform: capitalize;
  overflow-wrap: anywhere;
  align-items: center;
  padding: 4px 9px;
  font-weight: 750;
  display: inline-flex;
}

.parsed-resume-section.compact {
  min-height: auto;
}

.parsed-resume-heading {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.parsed-resume-heading h4 {
  color: var(--text-0);
  font-size: var(--font-base);
  margin: 0;
  line-height: 1.28;
}

.parsed-item-list {
  gap: 10px;
  display: grid;
}

.parsed-item {
  border-top: 1px solid var(--line-0);
  gap: 4px;
  padding-top: 10px;
  display: grid;
}

.parsed-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.parsed-item strong, .parsed-item span {
  overflow-wrap: anywhere;
}

.parsed-item strong {
  color: var(--text-0);
  font-size: var(--font-sm);
}

.parsed-item span {
  color: var(--text-1);
  font-size: var(--font-sm);
  line-height: 1.45;
}

.parsed-summary-text {
  color: var(--text-1);
  font-size: var(--font-sm);
  overflow-wrap: anywhere;
  line-height: 1.55;
}

.parsed-bullet-list {
  color: var(--text-1);
  font-size: var(--font-sm);
  gap: 5px;
  margin: 2px 0 0;
  padding-left: 18px;
  line-height: 1.45;
  display: grid;
}

.parsed-bullet-list li {
  overflow-wrap: anywhere;
}

.parsed-chip-list {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.parsed-chip {
  border: 1px solid var(--line-0);
  max-width: 100%;
  color: var(--text-1);
  font-size: var(--font-sm);
  overflow-wrap: anywhere;
  border-radius: 999px;
  padding: 6px 10px;
  display: inline-flex;
}

.parsed-chip strong {
  display: none;
}

.master-resume-preview {
  gap: 14px;
  display: grid;
}

.master-resume-preview-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  display: flex;
}

.master-resume-preview-head h3 {
  color: var(--text-0);
  font-size: var(--font-md);
  margin: 0;
  line-height: 1.25;
}

.master-resume-page-shell {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: color-mix(in srgb, var(--surface-1) 82%, var(--surface-0));
  padding: 18px;
  overflow-x: auto;
}

.master-resume-preview .pdf24-page {
  box-sizing: border-box;
  color: #111827;
  overflow-wrap: anywhere;
  background: #fff;
  width: min(100%, 8.5in);
  min-height: 11in;
  margin: 0 auto;
  padding: .2in .4in;
  font-family: Times New Roman, Georgia, serif;
  font-size: 10.3pt;
  line-height: 1.24;
  box-shadow: 0 18px 44px #0c172b24;
}

.master-resume-preview a {
  color: #1a3a6b;
  text-decoration: none;
}

.master-resume-preview .resume-header {
  text-align: center;
  margin-bottom: .1in;
  padding-bottom: .055in;
}

.master-resume-preview .resume-name {
  color: #1a3a6b;
  margin: 0;
  font-size: 24.8pt;
  font-weight: 400;
  line-height: 1.1;
}

.master-resume-preview .resume-title {
  color: #111827;
  margin-top: .07in;
  font-size: 15.2pt;
  line-height: 1.15;
}

.master-resume-preview .resume-contact {
  color: #1a3a6b;
  margin-top: .09in;
  font-size: 10pt;
  line-height: 1.2;
}

.master-resume-preview .contact-item + .contact-item:before {
  color: #111827;
  content: " | ";
  padding: 0 .07in;
}

.master-resume-preview .resume-section {
  break-inside: avoid;
  margin-top: .095in;
}

.master-resume-preview .resume-section + .resume-section {
  margin-top: .13in;
}

.master-resume-preview .section-title {
  color: #1a3a6b;
  border-bottom: 1px solid #1a3a6b;
  margin: 0 0 .045in;
  padding-bottom: .012in;
  font-size: 12pt;
  font-weight: 700;
  line-height: 1.15;
}

.master-resume-preview .summary {
  margin: 0;
  line-height: 1.32;
}

.master-resume-preview .skill-row {
  margin: .025in 0 0 .15in;
  line-height: 1.25;
}

.master-resume-preview .skill-label {
  font-weight: 700;
}

.master-resume-preview .experience-entry {
  break-inside: avoid;
  margin-top: .075in;
}

.master-resume-preview .experience-entry + .experience-entry {
  margin-top: .105in;
}

.master-resume-preview .entry-heading {
  justify-content: space-between;
  align-items: baseline;
  gap: .2in;
  display: flex;
}

.master-resume-preview .entry-left {
  min-width: 0;
}

.master-resume-preview .entry-role {
  font-size: 11.2pt;
  font-weight: 700;
}

.master-resume-preview .entry-meta {
  color: #111827;
}

.master-resume-preview .entry-dates {
  flex: none;
  font-size: 9.6pt;
  font-weight: 700;
}

.master-resume-preview .subsection {
  margin-top: .065in;
  font-size: 9pt;
  font-weight: 700;
}

.master-resume-preview ul {
  margin: .025in 0 0 .22in;
  padding: 0;
}

.master-resume-preview li {
  margin: .018in 0;
  padding-left: .04in;
  line-height: 1.24;
}

.master-resume-preview .project-title {
  font-weight: 700;
}

.master-resume-preview .project-tech {
  color: #111827;
  font-style: italic;
}

.master-resume-preview .education-row {
  justify-content: space-between;
  align-items: flex-start;
  gap: .2in;
  display: flex;
}

.master-resume-preview .education-degree {
  font-weight: 700;
}

.master-resume-preview .education-meta {
  font-style: italic;
}

.master-resume-empty {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  color: var(--text-2);
  gap: 4px;
  padding: 16px;
  display: grid;
}

.master-resume-empty strong {
  color: var(--text-0);
  font-size: var(--font-sm);
}

.master-resume-empty span {
  font-size: var(--font-sm);
  line-height: 1.45;
}

.parsed-profile-section {
  margin-top: var(--space-4);
}

.parsed-label-grid {
  gap: var(--space-3);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.parsed-value {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  gap: 7px;
  padding: 12px;
  display: grid;
}

.parsed-value span {
  color: var(--text-2);
  font-size: var(--font-xs);
  font-weight: 700;
}

.parsed-value strong {
  color: var(--text-0);
  font-size: var(--font-md);
  overflow-wrap: anywhere;
  font-weight: 650;
}

.portal-content > *, .dashboard-shell[data-theme] .main-content > .panel {
  width: 100%;
  max-width: 1280px;
}

.portal-content > * {
  margin-inline: auto;
}

.login-card, .portal-card, .panel, .metric-card, .job-card, .job-modal, .profile-editor-section, .structured-card, .object-row, .token-input-row, .field, .state, .portal-topbar > div {
  min-width: 0;
}

.portal-topbar h1, .job-modal-header h2, .job-card h3, .summary, .meta, .card-details span, .activity-row span {
  overflow-wrap: anywhere;
}

.metric-grid {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.bucket-button {
  text-align: left;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.bucket-button strong {
  font-size: var(--font-sm);
  color: inherit;
}

.job-card-top {
  grid-template-columns: 1fr;
}

.chips {
  justify-content: flex-start;
}

.badge {
  overflow-wrap: anywhere;
  max-width: 100%;
}

.chip-row {
  min-width: 0;
}

.card-details > div {
  grid-template-columns: minmax(104px, .32fr) minmax(0, 1fr);
}

.card-actions {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  align-items: center;
  display: grid;
}

.card-actions > button, .card-actions > .button-link {
  width: 100%;
}

.feedback-button-grid {
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 8px;
  display: grid;
}

.feedback-action {
  min-height: 36px;
  font-size: var(--font-xs);
  white-space: normal;
  padding: 0 10px;
}

.feedback-action.active {
  border-color: color-mix(in srgb, var(--ok-0) 46%, var(--line-1));
  color: var(--ok-0);
  background: color-mix(in srgb, var(--ok-0) 12%, transparent);
}

.not-interested-reasons, .application-feedback-row {
  gap: 10px;
  display: grid;
}

.application-feedback-row .feedback-button-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.application-feedback-row .feedback-action {
  border: 1px solid var(--color-border-tertiary);
  border-radius: var(--border-radius-md);
  background: var(--panel-bg);
  min-height: 34px;
  color: var(--color-text-primary);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--color-shadow) 8%, transparent);
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  font-size: 11.5px;
  font-weight: 650;
  transition: border-color .14s, background .14s, transform .14s, box-shadow .14s;
  display: inline-flex;
}

.application-feedback-row .feedback-action .portal-icon {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
}

.application-feedback-row .feedback-action-applied .portal-icon {
  color: var(--success-pill-text);
}

.application-feedback-row .feedback-action-applied {
  border-color: color-mix(in srgb, var(--success-pill-text) 34%, var(--color-border-secondary));
  background: color-mix(in srgb, var(--success-pill-bg) 44%, var(--panel-bg));
}

.application-feedback-row .feedback-action-skip .portal-icon {
  color: var(--warning-pill-text);
}

.application-feedback-row .feedback-action-skip {
  border-color: var(--color-border-secondary);
  color: var(--color-text-secondary);
  box-shadow: none;
  background: none;
}

.application-feedback-row .feedback-action.active {
  color: var(--success-pill-text);
  background: color-mix(in srgb, var(--success-pill-bg) 72%, transparent);
  border-color: #639922;
}

.application-feedback-row .feedback-action:not(:disabled):hover, .application-feedback-row .feedback-action:not(:disabled):focus-visible {
  border-color: color-mix(in srgb, var(--brand-0) 54%, var(--color-border-secondary));
  background: color-mix(in srgb, var(--brand-0) 12%, var(--panel-bg));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--brand-0) 12%, transparent);
}

.not-interested-reasons > div {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.not-interested-reason-label {
  color: var(--color-text-tertiary);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 650;
  line-height: 1;
}

.not-interested-reason-label .portal-icon {
  width: 12px;
  height: 12px;
  color: var(--warning-pill-text);
  flex: 0 0 12px;
}

.not-interested-reasons button, .applied-outcome-actions button {
  border: .5px solid var(--color-border-secondary);
  white-space: normal;
  background: none;
  border-radius: 999px;
  min-height: 0;
  padding: 3px 9px;
  font-size: 10px;
}

.not-interested-reasons button:hover {
  background: var(--color-background-secondary);
}

.applied-job-card {
  align-content: start;
}

.applied-job-meta {
  border: 1px solid var(--line-1);
  border-radius: var(--radius-1);
  background: color-mix(in srgb, var(--surface-1) 74%, transparent);
  gap: 4px;
  padding: 10px;
  display: grid;
}

.applied-job-meta span {
  color: var(--text-2);
  font-size: var(--font-xs);
  text-transform: uppercase;
  font-weight: 720;
}

.applied-job-meta strong {
  color: var(--text-0);
  font-size: var(--font-sm);
}

.applied-status-indicator {
  border: 1px solid color-mix(in srgb, var(--ok-0) 38%, var(--line-1));
  border-radius: var(--radius-1);
  background: color-mix(in srgb, var(--ok-0) 10%, var(--surface-0));
  gap: 4px;
  padding: 10px;
  display: grid;
}

.applied-status-indicator span {
  color: var(--text-2);
  font-size: var(--font-xs);
  text-transform: uppercase;
  font-weight: 720;
}

.applied-status-indicator strong {
  color: var(--ok-0);
  font-size: var(--font-sm);
}

.applied-outcome-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.applied-outcome-actions .active {
  border-color: color-mix(in srgb, var(--ok-0) 46%, var(--line-1));
  color: var(--ok-0);
  background: color-mix(in srgb, var(--ok-0) 12%, transparent);
}

.job-card--compact {
  gap: 10px;
}

.job-card--compact .summary {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.job-card-title, .job-card h3, .job-card .muted, .job-card .summary, .job-card .meta, .job-card .badge, .job-card .card-details span, .job-card .card-actions button {
  overflow-wrap: normal;
  word-break: normal;
  min-width: 0;
}

.job-card h3 {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.job-review-workspace .job-card h3 {
  -webkit-line-clamp: 1;
}

.job-card .muted, .job-card .meta, .job-card .badge {
  text-overflow: ellipsis;
  overflow: hidden;
}

.job-card .badge {
  white-space: nowrap;
  max-width: min(100%, 14rem);
}

.job-card .summary {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.job-card .chip-row {
  align-items: flex-start;
}

.job-card .chip-row .meta {
  flex: 12rem;
}

.job-modal-content {
  grid-template-columns: minmax(0, 1fr);
}

.job-modal-header {
  align-items: flex-start;
}

.job-modal-header .secondary-action {
  flex: none;
}

.job-card .job-card-top {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.score-circle {
  border: 1px solid color-mix(in srgb, var(--primary-bg) 72%, white);
  background: radial-gradient(circle at 50% 38%, #ffffff57, transparent 26%),
    color-mix(in srgb, var(--primary-bg) 88%, #0b1220);
  width: 58px;
  height: 58px;
  color: var(--primary-text);
  border-radius: 50%;
  flex: none;
  align-content: center;
  place-items: center;
  line-height: 1;
  display: grid;
}

.score-circle strong {
  font-size: var(--font-lg);
  line-height: 1;
}

.score-circle span {
  text-transform: uppercase;
  font-size: .62rem;
  font-weight: 750;
}

.score-progress {
  height: var(--score-track, 8px);
  min-height: var(--score-track, 8px);
  background: linear-gradient(90deg, transparent 0 24%, color-mix(in srgb, var(--panel-bg) 55%, transparent) 24% 25%, transparent 25% 49%, color-mix(in srgb, var(--panel-bg) 55%, transparent) 49% 50%, transparent 50% 74%, color-mix(in srgb, var(--panel-bg) 55%, transparent) 74% 75%, transparent 75% 100%),
    color-mix(in srgb, var(--color-background-tertiary) 76%, var(--panel-bg));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line-1) 38%, transparent),
    inset 0 1px 2px #0000001f;
  border-radius: 999px;
  margin: 7px 0 5px;
  position: relative;
  overflow: visible;
}

.score-progress span {
  width: var(--score-width, 0%);
  border-radius: inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--score-color) 58%, var(--panel-bg)), var(--score-color)),
    var(--score-color);
  height: 100%;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--score-color) 22%, transparent),
    0 4px 10px color-mix(in srgb, var(--score-color) 22%, transparent);
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  overflow: hidden;
}

.score-progress:after {
  content: "";
  top: 50%;
  left: clamp(7px, var(--score-width, 0%), calc(100% - 7px));
  width: max(9px, calc(var(--score-track, 8px) * 2.6));
  height: max(9px, calc(var(--score-track, 8px) * 2.6));
  border: 2px solid var(--panel-bg);
  background: var(--score-color, var(--brand-0));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--score-color) 46%, var(--line-1)),
    0 4px 12px color-mix(in srgb, var(--score-color) 26%, transparent);
  border-radius: 999px;
  position: absolute;
  transform: translate(-50%, -50%);
}

.score-progress-animated span {
  transform-origin: 0;
  will-change: transform;
  animation: .78s cubic-bezier(.16, 1, .3, 1) both score-progress-fill;
}

.score-progress-animated span:after {
  content: "";
  background: linear-gradient(90deg, #0000, #ffffff57, #0000);
  animation: .78s cubic-bezier(.16, 1, .3, 1) both score-progress-glint;
  position: absolute;
  inset: 0;
  transform: translateX(-115%);
}

.score-progress-animated:after {
  will-change: left;
  animation: .78s cubic-bezier(.16, 1, .3, 1) both score-progress-knob;
}

@keyframes score-progress-fill {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

@keyframes score-progress-knob {
  from {
    left: 7px;
  }

  to {
    left: clamp(7px, var(--score-width, 0%), calc(100% - 7px));
  }
}

@keyframes score-progress-glint {
  0% {
    transform: translateX(-115%);
  }

  72%, 100% {
    transform: translateX(115%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .score-progress-animated span, .score-progress-animated span:after, .score-progress-animated:after {
    animation: none;
  }
}

.score-progress-low, .score-progress-amber, .score-progress-high {
  --score-color: var(--brand-0);
}

.score-progress-amber {
  --score-color: var(--warning-pill-text);
}

.score-progress-high {
  --score-color: var(--success-pill-text);
}

.signal-pill-row {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.signal-pill {
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  max-width: 100%;
  min-height: 28px;
  padding: 2px 7px;
  font-size: 10px;
  font-weight: 500;
  display: inline-flex;
}

.signal-pill.positive {
  background: var(--success-pill-bg);
  color: var(--success-pill-text);
  border: 0;
}

.signal-pill.gap {
  background: var(--warning-pill-bg);
  color: var(--warning-pill-text);
  border: 0;
}

.signal-pill .portal-icon {
  width: 12px;
  height: 12px;
}

.job-review-workspace .signal-pill-row {
  gap: 5px;
}

.job-review-workspace .signal-pill {
  min-height: 22px;
}

.job-detail-heading {
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  gap: 12px;
  display: grid;
}

.job-detail-title-copy {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.job-title-action-stack {
  justify-items: end;
  gap: 6px;
  max-width: 220px;
  display: grid;
}

.job-title-apply-action {
  border-radius: var(--border-radius-md);
  background: var(--primary-bg);
  width: fit-content;
  min-width: 0;
  min-height: 0;
  color: var(--primary-text);
  white-space: nowrap;
  border: none;
  justify-self: end;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 500;
}

.job-title-apply-action .portal-icon {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
}

.job-title-action-stack .action-feedback {
  border-radius: var(--border-radius-md);
  text-align: right;
  white-space: normal;
  width: 100%;
  padding: 6px 8px;
  font-size: 11px;
  line-height: 1.25;
  display: block;
}

.score-detail-row {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  display: grid;
}

.score-detail-row > div {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.job-score-block {
  gap: 8px;
  display: grid;
}

.score-detail-number {
  gap: 2px;
  min-width: 58px;
  display: grid;
}

.score-detail-number strong {
  font-size: 26px;
  font-weight: 500;
  line-height: 1;
}

.score-detail-number span {
  color: var(--color-text-tertiary);
  font-size: 11px;
  line-height: 1.2;
}

.score-detail-number-high strong {
  color: var(--success-pill-text);
}

.score-detail-number-amber strong {
  color: var(--warning-pill-text);
}

.verdict-high {
  border-color: color-mix(in srgb, var(--success-pill-text) 62%, var(--line-1));
  background: color-mix(in srgb, var(--success-pill-bg) 74%, transparent);
  color: var(--success-pill-text);
}

.verdict-amber {
  border-color: color-mix(in srgb, var(--warning-pill-text) 62%, var(--line-1));
  background: color-mix(in srgb, var(--warning-pill-bg) 74%, transparent);
  color: var(--warning-pill-text);
}

.job-meta-tags {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.job-meta-tag {
  border: .5px solid var(--color-border-tertiary);
  color: var(--text-1);
  background: var(--color-background-secondary);
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 11px;
}

.job-insight-list {
  gap: 6px;
  display: grid;
}

.job-insight-list h4, .before-apply-box h4 {
  color: var(--color-text-tertiary);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0;
  font-size: 10px;
  font-weight: 600;
}

.job-insight-list-items, .before-apply-list {
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.job-insight-list-items li, .before-apply-list li {
  border-radius: var(--border-radius-md);
  background: color-mix(in srgb, var(--color-background-secondary) 78%, transparent);
  border: 0;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 7px;
  padding: 6px 8px;
  display: grid;
}

.job-insight-list-items li {
  grid-template-columns: auto 1fr auto;
}

.job-insight-list-items li > span:not(.severity-badge) {
  color: var(--text-1);
  font-size: 11.5px;
  line-height: 1.3;
}

.job-insight-list-items .portal-icon {
  width: 13px;
  height: 13px;
  margin-top: 0;
}

.job-insight-list[aria-label="Gaps to prepare"] .portal-icon {
  color: #ef9f27;
}

.job-insight-list-items li:has(.severity-badge) .portal-icon {
  color: #ef9f27;
}

.job-insight-list-items li:not(:has(.severity-badge)) .portal-icon {
  color: #639922;
}

.before-apply-list li {
  grid-template-columns: 1fr;
}

.before-apply-label {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.before-apply-label .portal-icon {
  width: 14px;
  height: 14px;
  color: var(--brand-0);
}

.before-apply-label-bulb .portal-icon {
  color: #ef9f27;
}

.before-apply-list strong {
  color: var(--color-text-tertiary);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 600;
}

.before-apply-list span {
  color: var(--text-1);
  font-size: 12px;
}

.severity-badge {
  border: 1px solid color-mix(in srgb, var(--warn-0) 60%, var(--line-1));
  color: var(--warning-pill-text);
  text-transform: uppercase;
  background: var(--warning-pill-bg);
  border-radius: 999px;
  padding: 2px 6px;
  font-size: 9px;
  font-weight: 760;
}

.before-apply-box {
  border-radius: var(--border-radius-md);
  background: var(--color-background-secondary);
  border: 0;
  gap: 8px;
  padding: 10px 12px;
  display: grid;
}

.job-action-row {
  flex-wrap: wrap;
  align-items: stretch;
  gap: 6px;
  display: flex;
}

.job-action-group {
  gap: 6px;
  display: grid;
}

.job-feedback-group {
  grid-template-columns: minmax(112px, .34fr) minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  display: grid;
}

.job-materials-group {
  border-bottom: 1px solid var(--panel-border);
  gap: 8px;
  padding-bottom: 10px;
  display: grid;
}

.job-extension-bootstrap-group {
  gap: 6px;
  display: grid;
}

.job-extension-bootstrap-row {
  align-items: stretch;
  gap: 6px;
  display: grid;
}

.job-extension-bootstrap-payload {
  border-radius: var(--border-radius-md);
  border: 1px solid color-mix(in srgb, var(--line-1) 65%, transparent);
  background: color-mix(in srgb, var(--color-background-secondary) 80%, transparent);
  width: 100%;
  max-height: 220px;
  color: var(--text-1);
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
  padding: 8px;
  font-size: 10px;
  line-height: 1.25;
  overflow: auto;
}

.job-feedback-group {
  row-gap: 7px;
}

.extension-install-prompt-actions {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.detail-action-copy, .feedback-callout-copy {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.feedback-callout-copy p, .feedback-copy {
  color: var(--color-text-secondary);
  margin: 0;
  font-size: 11px;
  line-height: 1.35;
}

.job-feedback-group .action-feedback, .material-preparing-state {
  border-radius: var(--border-radius-md);
  white-space: normal;
  grid-column: 1 / -1;
  width: 100%;
  padding: 7px 9px;
  font-size: 11px;
  line-height: 1.3;
  display: grid;
}

.material-preparing-state {
  background: color-mix(in srgb, var(--brand-0) 8%, var(--color-background-secondary));
  margin: 0;
}

.action-group-label {
  color: var(--color-text-tertiary);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 650;
  line-height: 1;
}

.job-action-row .button-link, .job-action-row .primary-action {
  border-radius: var(--border-radius-md);
  min-height: 0;
  padding: 7px 9px;
}

.job-action-row .primary-action {
  background: var(--primary-bg);
  min-width: 128px;
  color: var(--primary-text);
  border: none;
  flex: 1.35 128px;
  font-size: 12px;
  font-weight: 500;
}

.job-action-row .button-link {
  border: .5px solid var(--color-border-secondary);
  min-width: 108px;
  color: var(--color-text-secondary);
  background: none;
  flex: 108px;
  font-size: 11px;
}

.job-action-row .button-link .portal-icon {
  color: var(--brand-0);
}

.job-action-row .primary-action .portal-icon, .job-action-row .button-link .portal-icon {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
}

.job-detail-actions .job-action-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 8px;
  display: grid;
}

.job-detail-actions .job-action-row .button-link {
  justify-content: center;
  min-width: 0;
  padding: 7px 10px;
}

.job-detail-actions .material-link-row {
  grid-column: 1 / -1;
  grid-template-columns: 1fr;
  gap: 6px;
  width: 100%;
}

.job-detail-actions .material-link-row .button-link {
  border: 1px solid var(--panel-border);
  background: var(--color-background-secondary);
  width: 100%;
  min-height: 36px;
  color: var(--text-1);
  justify-content: flex-start;
  font-size: 11.5px;
  font-weight: 650;
}

.job-detail-actions .material-link-row .button-link .portal-icon {
  color: var(--brand-0);
}

.job-action-row .button-link.disabled, .job-action-row .button-link[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
  pointer-events: none;
}

.job-detail-actions {
  z-index: 2;
  border-top: 1px solid var(--panel-border);
  background: var(--panel-bg);
  gap: 10px;
  margin: 0 -18px -18px;
  padding: 12px 14px 14px;
  display: grid;
  position: static;
}

.insight-list {
  gap: 8px;
  display: grid;
}

.insight-list h4 {
  color: var(--text-0);
  margin: 0;
}

.full-width-action {
  width: 100%;
}

.job-detail-panel {
  align-content: start;
}

.detail-panel {
  width: 100%;
}

.field input, .field select, .field textarea, .resume-upload input[type="file"], .token-input-row input, .object-row input {
  max-width: 100%;
}

.icon-button {
  border-color: var(--panel-border);
  background: var(--panel-bg);
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  color: var(--text-0);
  place-items: center;
  padding: 0;
  display: inline-grid;
}

.menu-button {
  display: none;
}

.icon-button .icon-label {
  gap: 0;
}

.icon-button .icon-label span {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.mobile-nav-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.mobile-nav-head .portal-brand {
  flex: auto;
  min-width: 0;
  padding-bottom: 14px;
}

.mobile-session-card {
  border: 1px solid var(--panel-border);
  border-radius: var(--radius-1);
  background: var(--panel-soft);
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding: 10px;
  display: grid;
}

.mobile-session-profile {
  min-width: 0;
}

.mobile-session-profile strong, .mobile-session-profile span {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.mobile-session-profile strong {
  color: var(--text-0);
  font-size: var(--font-sm);
  line-height: 1.18;
}

.mobile-session-profile span {
  color: var(--text-2);
  font-size: var(--font-xs);
  margin-top: 2px;
  line-height: 1.25;
}

.mobile-session-card .session-exit-button {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 38px;
}

.profile-token button {
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
}

.profile-token span {
  word-break: break-word;
  flex: auto;
  min-width: 0;
}

@media (max-width: 760px) {
  .portal-shell {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .portal-shell-jobs {
    height: auto;
    min-height: 100vh;
    overflow: clip visible;
  }

  .portal-shell-jobs .portal-workspace, .portal-content-jobs {
    height: auto;
    overflow: visible;
  }

  .portal-sidebar {
    display: none;
  }

  .portal-workspace {
    grid-column: 1;
  }

  .menu-button {
    display: inline-flex;
  }
}

@media (max-width: 980px) {
  .portal-hero, .home-grid, .workspace-grid, .material-grid, .profile-overview-panel, .profile-structured-grid, .profile-workspace-grid, .embedded-profile-shell, .job-modal-content {
    grid-template-columns: 1fr;
  }

  .profile-form-stack, .parsed-resume-card, .profile-workspace-grid .profile-form-stack, .profile-workspace-grid .profile-side-rail {
    grid-column: auto;
  }

  .profile-side-rail {
    position: static;
  }

  .metric-grid, .metric-grid.two-up, .profile-summary-grid, .profile-section-grid, .parsed-label-grid, .filters-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .filters-grid .field, .filters-grid .compact-field, .load-action {
    grid-column: span 1;
  }

  .token-input-row, .object-row, .structured-card-head {
    flex-direction: column;
    align-items: stretch;
  }

  .detail-panel {
    max-width: none;
  }

  .job-review-workspace .detail-panel, .job-review-workspace .job-list-panel {
    height: auto;
    max-height: none;
    position: static;
    overflow: visible;
  }

  .portal-shell-jobs {
    height: auto;
    min-height: 100vh;
    overflow: clip visible;
  }

  .portal-shell-jobs .portal-workspace, .portal-content-jobs, .job-review-workspace .job-detail-panel {
    height: auto;
    overflow: visible;
  }

  .job-detail-scroll {
    padding-bottom: 0;
    overflow: visible;
  }

  .workspace-grid.job-review-workspace {
    grid-template-columns: 1fr;
    height: auto;
    max-height: none;
    overflow: visible;
  }

  .job-review-view {
    height: auto;
    max-height: none;
    overflow: visible;
  }

  .job-review-workspace > .stack {
    overflow: visible;
  }
}

@media (max-width: 768px) and (orientation: portrait) {
  .portal-shell, .portal-content {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: clip;
  }

  .portal-shell {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  .portal-topbar {
    top: max(0px, env(safe-area-inset-top));
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    z-index: 18;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    position: sticky;
  }

  .portal-content {
    padding-top: 14px;
    padding-bottom: calc(80px + env(safe-area-inset-bottom));
    min-height: 0;
  }

  .portal-bottom-nav {
    z-index: 20;
    border-top: 1px solid var(--line-0);
    background: var(--topbar-bg);
    -webkit-backdrop-filter: blur(12px);
    padding: 8px max(10px, env(safe-area-inset-left)) 8px max(10px, env(safe-area-inset-right));
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    display: grid;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    box-shadow: inset 0 -1px #ffffff1f;
  }

  .portal-bottom-nav button {
    border-color: #0000;
    min-height: 48px;
    padding: 4px 2px;
  }

  .job-card-detail-button {
    display: grid;
  }

  .portal-shell-jobs .portal-workspace, .portal-content-jobs {
    height: auto;
    overflow: visible;
  }

  .job-review-workspace .detail-panel, .job-review-workspace .job-list-panel {
    height: auto;
    max-height: none;
    position: static;
    overflow: visible;
  }

  .dashboard-metric-grid {
    grid-template-columns: 1fr;
  }

  .monthly-chart-summary {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .daily-bar-chart {
    scrollbar-width: thin;
    padding: 14px 10px 10px;
    overflow: auto hidden;
  }
}

@media (max-width: 760px) {
  .login-shell {
    grid-template-columns: 1fr;
    padding: 76px 18px 18px;
  }

  .portal-shell {
    padding: 10px;
  }

  .portal-topbar {
    min-height: 48px;
    margin-top: env(safe-area-inset-top);
    align-items: center;
    padding: 8px 14px;
    position: sticky;
    top: 0;
    left: auto;
    right: auto;
  }

  .portal-bottom-nav {
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
    left: 0;
    right: 0;
  }

  .topbar-actions {
    width: auto;
  }

  .topbar-actions .button-link, .topbar-actions .top-action, .top-bar-actions .button-link, .top-bar-actions .top-action {
    flex: 0 auto;
  }

  .metric-grid, .metric-grid.two-up, .profile-summary-grid, .profile-section-grid, .parsed-resume-layout, .parsed-label-grid, .filters-grid, .bucket-tabs, .job-grid {
    grid-template-columns: 1fr;
  }

  .job-detail-actions {
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-1);
    margin: 0;
    padding: 12px;
    position: static;
  }

  .job-detail-heading {
    grid-template-columns: 1fr;
  }

  .job-title-action-stack {
    justify-items: stretch;
    width: 100%;
    max-width: none;
  }

  .job-title-apply-action {
    justify-self: stretch;
    width: 100%;
  }

  .job-materials-group, .job-feedback-group {
    grid-template-columns: 1fr;
  }

  .job-action-row, .job-action-row .primary-action, .job-action-row .button-link {
    width: 100%;
    min-width: 0;
  }

  .job-detail-actions .job-action-row {
    grid-template-columns: 1fr;
  }

  .job-detail-actions .job-action-row .primary-action, .job-detail-actions .job-action-row .button-link {
    justify-self: stretch;
    width: 100%;
  }

  .application-feedback-row .feedback-button-grid {
    grid-template-columns: 1fr;
  }

  .load-action {
    justify-self: stretch;
    width: 100%;
  }

  .card-details > div {
    grid-template-columns: 1fr;
  }

  .action-row, .profile-actions, .token-input-row, .object-row {
    gap: 10px;
  }

  .master-resume-page-shell {
    padding: 10px;
  }

  .master-resume-preview .pdf24-page {
    min-height: 560px;
    padding: .18in .24in;
  }

  .master-resume-preview .resume-name {
    font-size: 20pt;
  }

  .master-resume-preview .resume-title {
    font-size: 12.8pt;
  }

  .action-row:not(.card-actions) button, .action-row:not(.card-actions) .button-link, .profile-actions button, .token-input-row button, .object-row button {
    width: 100%;
  }

  .card-actions {
    grid-template-columns: 1fr;
  }

  .card-actions > button, .card-actions > .button-link {
    min-height: 42px;
  }

  .job-modal-header {
    flex-wrap: wrap;
  }

  .job-modal-header h2 {
    flex: 100%;
  }

  .section-heading {
    flex-direction: column;
    align-items: stretch;
  }

  .portal-content {
    padding: 14px 0 max(72px, calc(80px + env(safe-area-inset-bottom))) 0;
  }

  .portal-hero, .portal-card, .panel {
    padding: 16px;
  }

  .job-modal-overlay {
    padding: 10px;
  }

  .job-modal {
    width: 100%;
    max-height: calc(100dvh - 20px);
  }

  .job-modal-content {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 12px;
  }

  .mobile-nav-drawer {
    width: min(88vw, 304px);
    padding: 16px;
  }

  .profile-actions button, .profile-token button, .resume-actions button, .card-actions > .button-link, .card-actions > button {
    min-height: 44px;
  }

  .resume-actions, .resume-status-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .login-shell {
    padding: 72px 12px 12px;
  }

  .login-page-brand {
    top: 16px;
    left: 12px;
  }

  .portal-topbar {
    margin-top: env(safe-area-inset-top);
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    display: grid;
    position: sticky;
    top: 0;
    left: auto;
    right: auto;
  }

  .portal-topbar h1 {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .portal-content {
    padding-top: 10px;
  }

  .top-bar {
    align-items: stretch;
    padding: 14px 12px;
  }

  .top-bar-actions, .top-bar-actions button, .top-bar-actions .button-link, .top-bar-actions .top-action {
    width: 100%;
  }

  .dashboard-shell > .profile-simple-shell {
    padding: 12px;
  }

  .portal-card, .panel, .metric-card, .portal-card .job-card.panel, .profile-editor-section {
    padding: 14px;
  }

  .metric-card {
    min-height: 92px;
  }

  .section-heading {
    gap: 10px;
    margin-bottom: 14px;
  }

  .bucket-button {
    min-height: 44px;
  }

  .state {
    font-size: var(--font-sm);
    padding-left: 10px;
  }

  .profile-token {
    justify-content: space-between;
    width: 100%;
  }

  .resume-upload input[type="file"] {
    min-width: 0;
    font-size: var(--font-xs);
    overflow: hidden;
  }

  .resume-upload input[type="file"]::file-selector-button {
    border-radius: var(--radius-1);
    background: var(--control-bg);
    color: var(--text-0);
    font: inherit;
    border: 0;
    margin-right: 8px;
    padding: 6px 8px;
  }

  .field input, .field select, .field textarea, .token-input-row input, .object-row input, .object-row textarea {
    font-size: 16px;
  }

  .object-row textarea {
    min-height: 72px;
  }

  .chip-row > *, .chips > *, .activity-row span, .action-feedback {
    min-width: 0;
  }

  .chip-row .meta {
    overflow-wrap: anywhere;
    flex: 100%;
    display: block;
  }

  .activity-row span {
    flex: auto;
  }

  .activity-row strong {
    flex: none;
  }

  .state.loading {
    overflow: visible;
  }

  .mobile-nav-drawer {
    width: min(100vw - 20px, 304px);
  }

  .mobile-nav-head .portal-brand > div:not(.portal-brand-mark) {
    max-width: 120px;
  }

  .icon-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
  }

  .compact-theme-toggle {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
  }

  .compact-theme-toggle span {
    display: none;
  }
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.login-shell {
  grid-template-columns: minmax(280px, .95fr) minmax(340px, 440px);
  justify-content: center;
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
  padding: clamp(88px, 8vw, 112px) clamp(20px, 6vw, 72px) clamp(24px, 5vw, 64px);
  display: grid;
}

.login-brand-inline {
  animation: .26s both soft-enter;
}

.login-intro-panel {
  align-content: center;
  gap: 18px;
  max-width: 640px;
  animation: .32s both soft-enter;
  display: grid;
}

.login-intro-panel h1 {
  max-width: 640px;
  color: var(--text-0);
  font-family: var(--font-cormorant), "Cormorant Garamond", Georgia, serif;
  letter-spacing: 0;
  font-size: clamp(2rem, 4vw, 4.5rem);
  font-weight: 650;
  line-height: .98;
}

.login-feature-list {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.login-feature-list span {
  border: 1px solid var(--line-0);
  background: var(--surface-0);
  min-height: 32px;
  color: var(--text-1);
  font-size: var(--font-sm);
  box-shadow: var(--shadow-control);
  border-radius: 999px;
  align-items: center;
  padding: 7px 11px;
  display: inline-flex;
}

.login-process-list {
  counter-reset: login-process;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px 30px;
}

.login-process-list span {
  isolation: isolate;
  overflow-wrap: break-word;
  white-space: normal;
  counter-increment: login-process;
  gap: 8px;
  animation: 5.4s ease-in-out infinite process-pill-breathe;
  position: relative;
  overflow: visible;
}

.login-process-list span:nth-child(2) {
  animation-delay: .52s;
}

.login-process-list span:nth-child(3) {
  animation-delay: 1.04s;
}

.login-process-list span:before {
  content: counter(login-process, decimal-leading-zero);
  background: var(--primary-bg);
  width: 22px;
  height: 22px;
  color: var(--primary-text);
  border-radius: 999px;
  place-items: center;
  font-size: .66rem;
  font-weight: 900;
  line-height: 1;
  display: inline-grid;
}

.login-process-list span:after {
  content: "";
  background: linear-gradient(90deg, color-mix(in srgb, var(--brand-0) 58%, transparent), color-mix(in srgb, var(--ok-0) 58%, transparent));
  clip-path: polygon(0 38%, 68% 38%, 68% 0, 100% 50%, 68% 100%, 68% 62%, 0 62%);
  opacity: .46;
  width: 20px;
  height: 9px;
  animation: 2.8s ease-in-out infinite process-connector-flow;
  position: absolute;
  top: 50%;
  left: calc(100% + 7px);
  transform: translate3d(0, -50%, 0);
}

.login-process-list span:last-child:after {
  content: none;
}

.login-process-list span:nth-child(2):after {
  animation-delay: .52s;
}

.login-card {
  width: min(100%, 440px);
  animation: .36s both soft-card-enter;
}

.login-card h2 {
  color: var(--text-0);
  font-size: clamp(1.5rem, 2vw, 2rem);
}

.login-kicker {
  color: var(--brand-0);
  font-size: var(--font-xs);
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 6px;
  font-weight: 800;
}

.login-form input, .login-form button[type="submit"] {
  min-height: 46px;
}

.login-form button[type="submit"] {
  justify-self: center;
  width: auto;
  min-width: 132px;
  max-width: min(100%, 220px);
  margin-top: 2px;
  padding-inline: 18px;
}

.login-card--signup .login-form button[type="submit"] {
  min-width: 156px;
}

.oauth-actions {
  gap: 10px;
  margin-top: 8px;
  display: grid;
}

.google-signin-button, .auth-mode-tabs button {
  min-height: 44px;
}

.google-signin-button {
  border-radius: var(--radius-1);
  color: #fff;
  width: 100%;
  font-size: var(--font-sm);
  background: #4285f4;
  border: 1px solid #4285f4;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  font-weight: 800;
  text-decoration: none;
  transition: border-color .16s, background-color .16s, box-shadow .16s, transform .16s;
  display: inline-flex;
  box-shadow: 0 10px 20px #4285f438;
}

.google-signin-button:hover {
  background: #3367d6;
  border-color: #3367d6;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px #4285f447;
}

.google-mark {
  background: #fff;
  border: 1px solid #ffffffd1;
  border-radius: 999px;
  place-items: center;
  width: 22px;
  height: 22px;
  display: inline-grid;
  overflow: hidden;
}

[data-theme="dark"] .google-mark, .login-shell[data-theme="dark"] .google-mark {
  border-color: color-mix(in srgb, var(--brand-1) 36%, var(--panel-border));
  background: var(--surface-1);
}

.google-mark svg {
  width: 16px;
  height: 16px;
  display: block;
}

.auth-divider {
  color: var(--text-2);
  font-size: var(--font-xs);
  text-transform: uppercase;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
  font-weight: 800;
  display: grid;
}

.auth-divider:before, .auth-divider:after {
  content: "";
  background: var(--line-0);
  height: 1px;
}

.auth-mode-tabs {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 14px;
  padding: 4px;
  display: grid;
}

.auth-mode-tabs button {
  border-radius: calc(var(--radius-1) - 3px);
  color: var(--text-2);
  font-size: var(--font-sm);
  background: none;
  border: 0;
  font-weight: 800;
}

.auth-mode-tabs button.active {
  background: var(--surface-0);
  color: var(--text-0);
  box-shadow: var(--shadow-control);
}

.password-rules {
  color: var(--text-2);
  font-size: var(--font-xs);
  margin: 0;
  line-height: 1.35;
}

.login-footnote {
  color: var(--text-2);
  font-size: var(--font-xs);
  margin-top: 14px;
  line-height: 1.35;
}

.state {
  border: 1px solid var(--line-0);
  border-radius: var(--radius-1);
  background: var(--surface-1);
  color: var(--text-1);
  border-left-width: 3px;
  align-items: start;
  gap: 9px;
  padding: 10px 12px;
  animation: .18s both state-enter;
  display: block;
  position: relative;
}

.state-message-card {
  grid-template-columns: 18px minmax(0, 1fr);
  display: grid;
}

.state.loading:after, .state.is-loading:after {
  display: none;
}

.state-icon {
  background: var(--line-1);
  border-radius: 999px;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  display: inline-grid;
  position: relative;
}

.state-message {
  overflow-wrap: break-word;
  word-break: normal;
  min-width: 0;
}

.state-plain {
  overflow-wrap: break-word;
  word-break: normal;
  display: block;
}

.state-label {
  color: var(--text-0);
  margin-right: 6px;
  font-weight: 800;
  display: inline-flex;
}

.state.loading {
  border-left-color: var(--brand-0);
}

.state.loading .state-icon {
  background: var(--brand-0);
  animation: .9s ease-in-out infinite pulse-dot;
}

.state.success {
  border-color: color-mix(in srgb, var(--ok-0) 46%, var(--line-0));
  border-left-color: var(--ok-0);
  background: color-mix(in srgb, var(--ok-0) 10%, var(--surface-0));
  color: var(--text-0);
}

.state-message-card.success {
  animation: .18s both state-enter, .62s both state-success-glow;
}

.state-message-card.success .state-icon {
  background: var(--ok-0);
  animation: .26s both state-success-pop;
}

.state.success .state-icon:before {
  content: "";
  border-left: 2px solid var(--surface-0);
  border-bottom: 2px solid var(--surface-0);
  width: 8px;
  height: 4px;
  transform: rotate(-45deg)translateY(-1px);
}

.state.error {
  border-color: color-mix(in srgb, var(--err-0) 50%, var(--line-0));
  border-left-color: var(--err-0);
  background: color-mix(in srgb, var(--err-0) 10%, var(--surface-0));
  color: var(--text-0);
}

.state-message-card.error {
  animation: .18s both state-enter, .52s both state-error-glow;
}

.state-message-card.error .state-icon {
  background: var(--err-0);
  animation: .26s both state-error-nudge;
}

.state.error .state-icon:before, .state.error .state-icon:after {
  content: "";
  background: var(--surface-0);
  border-radius: 999px;
  width: 8px;
  height: 2px;
  position: absolute;
}

.state.error .state-icon:before {
  transform: rotate(45deg);
}

.state.error .state-icon:after {
  transform: rotate(-45deg);
}

.login-state {
  margin: 0;
}

.action-feedback {
  border: 1px solid var(--line-0);
  background: var(--surface-1);
  color: var(--text-1);
  border-radius: 999px;
  padding: 6px 10px;
  animation: .18s both state-enter;
}

.action-feedback.success {
  border-color: color-mix(in srgb, var(--ok-0) 38%, var(--line-0));
  color: var(--ok-0);
}

.action-feedback.error {
  border-color: color-mix(in srgb, var(--err-0) 42%, var(--line-0));
  color: var(--err-0);
}

.welcome-toast {
  z-index: 80;
  isolation: isolate;
  border: 1px solid color-mix(in srgb, var(--brand-0) 26%, var(--line-0));
  background: linear-gradient(135deg, color-mix(in srgb, var(--ok-0) 9%, transparent), transparent 52%),
    color-mix(in srgb, var(--surface-0) 94%, transparent);
  width: min(282px, 100vw - 28px);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--brand-0) 10%, transparent);
  color: var(--text-0);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  border-radius: 14px;
  grid-template-columns: 28px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 8px;
  padding: 8px 8px 10px;
  animation: .24s ease-out both welcome-toast-enter;
  display: grid;
  position: fixed;
  top: clamp(14px, 2.4vh, 24px);
  right: clamp(14px, 2vw, 26px);
  overflow: hidden;
}

.welcome-toast:after {
  content: "";
  background: linear-gradient(90deg, var(--ok-0), var(--brand-0));
  opacity: .5;
  transform-origin: 0;
  border-radius: 999px;
  height: 2px;
  animation: 5s linear forwards welcome-toast-progress;
  position: absolute;
  inset: auto 8px 5px;
}

.welcome-toast-burst {
  background: radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--ok-0) 26%, transparent) 0 36%, transparent 37%),
    color-mix(in srgb, var(--brand-0) 9%, var(--surface-0));
  border-radius: 10px;
  place-items: center;
  width: 28px;
  height: 28px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.welcome-toast-burst:before {
  content: "";
  border-left: 2px solid var(--brand-0);
  border-bottom: 2px solid var(--brand-0);
  background: none;
  border-radius: 1px;
  width: 11px;
  height: 7px;
  animation: .52s ease-out both welcome-check-pop;
  transform: rotate(-45deg);
}

.welcome-toast-burst:after {
  content: "";
  border: 1px solid color-mix(in srgb, var(--ok-0) 56%, transparent);
  border-radius: 999px;
  animation: .62s ease-out both welcome-ring-pop;
  position: absolute;
  inset: 6px;
}

.welcome-toast-burst span {
  background: var(--ok-0);
  opacity: 0;
  width: 3px;
  height: 6px;
  transform: translate(-50%, -50%) rotate(var(--burst-angle)) translateY(0);
  border-radius: 999px;
  animation: .62s ease-out both welcome-confetti;
  position: absolute;
  top: 50%;
  left: 50%;
}

.welcome-toast-burst span:first-child {
  --burst-angle: -70deg;
  background: var(--brand-0);
}

.welcome-toast-burst span:nth-child(2) {
  --burst-angle: -38deg;
  animation-delay: 40ms;
}

.welcome-toast-burst span:nth-child(3) {
  --burst-angle: -12deg;
  background: var(--brand-1);
  animation-delay: 80ms;
}

.welcome-toast-copy {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.welcome-toast-copy strong {
  font-size: .82rem;
  line-height: 1.15;
}

.welcome-toast-copy span {
  color: var(--text-2);
  overflow-wrap: break-word;
  font-size: .72rem;
  line-height: 1.25;
}

.welcome-toast-close {
  width: 24px;
  min-width: 24px;
  height: 24px;
  color: var(--text-2);
  border-radius: 8px;
}

.portal-card, .panel, .metric-card, .job-card, .parsed-resume-section, .profile-editor-section, .activity-row, .button-link, .secondary-action, .bucket-button {
  transition: border-color .16s, background-color .16s, box-shadow .16s, transform .16s;
}

.portal-card:hover, .panel:hover, .metric-card:hover, .job-card:hover {
  transform: translateY(-1px);
}

.job-review-workspace .portal-card:hover, .job-review-workspace .panel:hover, .job-review-workspace .job-card:hover, .job-review-workspace .detail-panel:hover, .job-review-workspace .job-list-panel:hover {
  transform: none !important;
}

.job-review-workspace :is(.portal-card, .panel, .job-card, .detail-panel, .job-list-panel, .button-link, .secondary-action, .bucket-button, button) {
  transition-property: border-color, background-color, box-shadow, color !important;
}

.job-review-workspace :is(.portal-card, .panel, .job-card, .detail-panel, .job-list-panel, .button-link, .secondary-action, .bucket-button, button):is(:hover, :focus-visible) {
  transform: none !important;
}

@keyframes soft-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes soft-card-enter {
  from {
    opacity: 0;
    transform: translateY(10px)scale(.99);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

@keyframes state-enter {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes login-code-drift {
  from {
    background-position: 0 0, 0 0, 0 0, 0 0;
  }

  to {
    background-position: 0 88px, 132px 0, 0 0, 0 0;
  }
}

@keyframes login-code-scan {
  0%, 100% {
    opacity: .2;
    background-position: -28px 0, 0 0, 0 0;
  }

  48% {
    opacity: .38;
    background-position: 96px 0, 0 0, 0 0;
  }
}

@keyframes process-pill-breathe {
  0%, 100% {
    border-color: var(--line-0);
    transform: translateY(0);
  }

  45% {
    border-color: color-mix(in srgb, var(--brand-0) 36%, var(--line-0));
    transform: translateY(-1px);
  }
}

@keyframes process-connector-flow {
  0%, 100% {
    opacity: .28;
    transform: translate3d(0, -50%, 0);
  }

  48% {
    opacity: .72;
    transform: translate3d(4px, -50%, 0);
  }
}

@keyframes process-connector-drop {
  0%, 100% {
    opacity: .28;
    transform: translate3d(-50%, 0, 0);
  }

  48% {
    opacity: .72;
    transform: translate3d(-50%, 4px, 0);
  }
}

@keyframes state-success-pop {
  0% {
    transform: scale(.86);
  }

  70% {
    transform: scale(1.08);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes state-success-glow {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--ok-0) 0%, transparent);
  }

  45% {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ok-0) 16%, transparent);
  }

  100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--ok-0) 0%, transparent);
  }
}

@keyframes state-error-nudge {
  0%, 100% {
    transform: translateX(0);
  }

  35% {
    transform: translateX(-2px);
  }

  70% {
    transform: translateX(2px);
  }
}

@keyframes state-error-glow {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--err-0) 0%, transparent);
  }

  45% {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--err-0) 14%, transparent);
  }

  100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--err-0) 0%, transparent);
  }
}

@keyframes welcome-toast-enter {
  from {
    opacity: 0;
    transform: translate3d(0, -6px, 0)scale(.98);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0)scale(1);
  }
}

@keyframes welcome-toast-enter-mobile {
  from {
    opacity: 0;
    transform: translate3d(-50%, -6px, 0)scale(.98);
  }

  to {
    opacity: 1;
    transform: translate3d(-50%, 0, 0)scale(1);
  }
}

@keyframes welcome-check-pop {
  0% {
    opacity: 0;
    transform: translateY(2px)scale(.8)rotate(-45deg);
  }

  55% {
    opacity: 1;
    transform: translateY(-1px)scale(1.04)rotate(-45deg);
  }

  100% {
    opacity: 1;
    transform: translateY(0)scale(1)rotate(-45deg);
  }
}

@keyframes welcome-ring-pop {
  0% {
    opacity: 0;
    transform: scale(.7);
  }

  45% {
    opacity: .7;
    transform: scale(1.12);
  }

  100% {
    opacity: 0;
    transform: scale(1.28);
  }
}

@keyframes welcome-confetti {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(var(--burst-angle)) translateY(0) scaleY(.6);
  }

  34% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(var(--burst-angle)) translateY(-10px) scaleY(1);
  }
}

@keyframes welcome-toast-progress {
  from {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}

@media (max-width: 980px) {
  .login-process-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .login-process-list span:after {
    clip-path: polygon(38% 0, 62% 0, 62% 62%, 100% 62%, 50% 100%, 0 62%, 38% 62%);
    width: 9px;
    height: 16px;
    animation-name: process-connector-drop;
    top: calc(100% + 5px);
    left: 21px;
    transform: translate3d(-50%, 0, 0);
  }
}

@media (max-width: 760px) {
  .welcome-toast {
    width: min(300px, 100vw - 24px);
    animation-name: welcome-toast-enter-mobile;
    top: 14px;
    left: 50%;
    right: auto;
  }

  .login-shell {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 18px;
    padding: 82px 18px 20px;
  }

  .login-intro-panel {
    width: min(100%, 440px);
    margin-inline: auto;
  }

  .login-intro-panel h1 {
    font-size: 2rem;
    line-height: 1.05;
  }

  .login-card {
    width: min(100%, 440px);
    margin-inline: auto;
  }
}

@media (max-width: 430px) {
  .login-shell {
    align-content: center;
    padding: 68px 12px 18px;
  }

  .login-intro-panel {
    display: none;
  }

  .login-card {
    padding: 20px;
  }

  .login-card h2 {
    font-size: 1.45rem;
  }
}

@media (max-width: 760px) {
  .login-shell {
    align-content: center;
    justify-items: center;
    min-height: 100dvh;
    padding: clamp(70px, 10svh, 92px) 16px 20px;
    overflow-y: auto;
  }

  .login-card {
    width: min(100%, 420px);
  }
}

@media (max-width: 430px) {
  .login-shell {
    align-content: center;
    padding: 66px 12px 18px;
  }

  .login-card {
    width: 100%;
  }
}

.login-shell {
  isolation: isolate;
  background: radial-gradient(circle at 14% 20%, color-mix(in srgb, var(--brand-0) 10%, transparent), transparent 28%),
    radial-gradient(circle at 84% 76%, color-mix(in srgb, var(--ok-0) 9%, transparent), transparent 30%),
    var(--page-bg);
  height: 100dvh;
  min-height: 100dvh;
  padding-block: clamp(62px, 8vh, 84px) clamp(12px, 3vh, 28px);
  position: relative;
  overflow: hidden;
}

.login-shell:before, .login-shell:after {
  content: "";
  pointer-events: none;
  z-index: 0;
  position: absolute;
  inset: 0;
}

.login-shell:before {
  background: repeating-linear-gradient(180deg, transparent 0 16px, color-mix(in srgb, var(--brand-0) 13%, transparent) 16px 17px, transparent 17px 44px),
    repeating-linear-gradient(90deg, transparent 0 28px, color-mix(in srgb, var(--brand-1) 10%, transparent) 28px 72px, transparent 72px 132px),
    linear-gradient(90deg, transparent 0 8%, color-mix(in srgb, var(--brand-0) 9%, transparent) 8.2% 8.55%, transparent 8.9% 100%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface-0) 20%, transparent), transparent 42%, color-mix(in srgb, var(--brand-0) 6%, transparent));
  opacity: .32;
  animation: 18s linear infinite login-code-drift;
  -webkit-mask-image: linear-gradient(90deg, #0000 0, #000 12% 88%, #0000 100%);
  mask-image: linear-gradient(90deg, #0000 0, #000 12% 88%, #0000 100%);
}

.login-shell:after {
  background: linear-gradient(90deg, transparent 0 20%, color-mix(in srgb, var(--surface-0) 22%, transparent) 20% 22%, transparent 22% 100%),
    repeating-linear-gradient(180deg, transparent 0 34px, color-mix(in srgb, var(--ok-0) 11%, transparent) 34px 35px, transparent 35px 74px),
    linear-gradient(120deg, transparent 0 40%, color-mix(in srgb, var(--brand-1) 10%, transparent) 48%, transparent 58% 100%);
  mix-blend-mode: soft-light;
  opacity: .28;
  animation: 8.5s ease-in-out infinite login-code-scan;
  -webkit-mask-image: linear-gradient(#0000 0, #000 18% 78%, #0000 100%);
  mask-image: linear-gradient(#0000 0, #000 18% 78%, #0000 100%);
}

.login-intro-panel, .login-card {
  z-index: 1;
  position: relative;
}

.login-page-brand {
  z-index: 1;
}

.login-intro-panel {
  gap: 14px;
}

.login-intro-panel h1 {
  font-size: clamp(1.9rem, 3.5vw, 3.8rem);
  line-height: 1;
}

.login-feature-list span {
  min-height: 30px;
  padding: 6px 10px;
}

.login-card {
  max-height: calc(100dvh - clamp(84px, 12vh, 112px));
  padding: clamp(18px, 3vw, 26px);
  overflow: clip;
}

.login-card--signup {
  padding-block: clamp(16px, 2.6vw, 22px);
}

.login-card-head {
  gap: 10px;
}

.login-card h2 {
  font-size: clamp(1.35rem, 1.8vw, 1.75rem);
}

.login-card .login-copy {
  margin-top: 4px;
  font-size: .86rem;
  line-height: 1.3;
}

.oauth-actions {
  margin-top: 6px;
}

.google-signin-button, .auth-mode-tabs button, .login-form input, .login-form button[type="submit"] {
  min-height: 40px;
}

.google-signin-button {
  padding: 8px 12px;
}

.auth-divider {
  margin: 8px 0;
}

.auth-mode-tabs {
  margin-bottom: 10px;
}

.login-form {
  gap: 10px;
}

.login-form .field {
  gap: 6px;
}

.password-rules, .login-footnote {
  font-size: .74rem;
  line-height: 1.28;
}

.login-footnote {
  margin-top: 10px;
}

@media (max-width: 760px) {
  .login-shell {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 56px 14px 12px;
  }

  .login-intro-panel {
    display: none;
  }

  .login-card {
    width: min(100%, 400px);
    max-height: calc(100dvh - 68px);
    padding: 14px;
  }

  .login-card--signup {
    padding: 12px;
  }

  .login-card--signup .login-card-head {
    gap: 0;
  }

  .login-card--signup .login-card-head > div, .login-card--signup .oauth-actions, .login-card--signup .auth-divider, .login-card .login-copy, .login-footnote {
    display: none;
  }

  .login-card-head {
    gap: 6px;
  }

  .login-card h2 {
    font-size: 1.24rem;
  }

  .login-kicker {
    margin-bottom: 2px;
    font-size: .68rem;
  }

  .oauth-actions {
    margin-top: 4px;
  }

  .google-signin-button {
    padding: 7px 10px;
  }

  .auth-divider {
    margin: 5px 0;
  }

  .auth-mode-tabs {
    margin-bottom: 7px;
    padding: 3px;
  }

  .login-form {
    gap: 6px;
  }

  .login-form .field {
    gap: 3px;
  }

  .login-form .field span {
    font-size: .72rem;
  }

  .login-form input {
    padding: 7px 10px;
  }

  .login-form button[type="submit"] {
    margin-top: 0;
  }

  .login-card--signup .login-form input, .login-card--signup .login-form button[type="submit"] {
    min-height: 34px;
    padding-block: 6px;
  }

  .password-rules {
    display: none;
  }
}

@media (max-width: 430px) {
  .login-shell {
    padding: 50px 10px 8px;
  }

  .login-card {
    max-height: calc(100dvh - 58px);
    padding: 12px;
  }

  .login-card--signup {
    padding: 10px;
  }

  .login-card h2 {
    font-size: 1.18rem;
  }

  .google-signin-button, .auth-mode-tabs button, .login-form input, .login-form button[type="submit"] {
    min-height: 35px;
  }

  .login-card--signup .auth-mode-tabs {
    margin-bottom: 6px;
  }

  .login-card--signup .login-form {
    gap: 5px;
  }

  .login-card--signup .login-form .field {
    gap: 2px;
  }

  .login-card--signup .login-form input, .login-card--signup .login-form button[type="submit"] {
    min-height: 32px;
  }
}

@media (max-height: 620px) {
  .login-shell {
    padding: 10px;
  }

  .login-brand-inline {
    display: none;
  }

  .login-card {
    max-height: calc(100dvh - 20px);
  }

  .google-signin-button, .auth-mode-tabs button, .login-form input, .login-form button[type="submit"] {
    min-height: 34px;
  }

  .auth-divider {
    margin: 4px 0;
  }

  .auth-mode-tabs {
    margin-bottom: 5px;
  }

  .login-form {
    gap: 5px;
  }

  .login-card--signup .auth-mode-tabs {
    margin-bottom: 4px;
  }

  .login-card--signup .login-form {
    gap: 4px;
  }

  .login-card--signup .login-form input, .login-card--signup .login-form button[type="submit"] {
    min-height: 31px;
    padding-block: 5px;
  }
}

@media (max-width: 520px) {
  .resume-file-picker {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .resume-file-action {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .login-brand-inline, .login-shell:before, .login-shell:after, .login-intro-panel, .login-process-list span, .login-process-list span:after, .login-card, .state, .action-feedback, .state-message-card.success, .state-message-card.error, .state-message-card.success .state-icon, .state-message-card.error .state-icon, .welcome-toast, .welcome-toast:after, .welcome-toast-burst:before, .welcome-toast-burst:after, .welcome-toast-burst span, .state.loading .state-icon, .session-restore-mark span, .state.loading:after, .state.is-loading:after, .skeleton-line:after, .skeleton-card:after, .skeleton-avatar:after, .skeleton-pill:after, .loading-dots:after {
    animation: none !important;
  }

  .portal-card, .panel, .metric-card, .job-card, .button-link, .secondary-action, .bucket-button, .google-signin-button {
    transition: none !important;
  }

  .portal-card:hover, .panel:hover, .metric-card:hover, .job-card:hover {
    transform: none;
  }
}

/* [next]/internal/font/google/lato_935ddc7e.module.css [app-client] (css) */
@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/b529365fa126a3f2-s.17~hndooavd5u.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/8e451580e5e95631-s.p.0put2--9ix-3p.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/d74bdd14d6019bc6-s.02x781ca3~dwt.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/345c85a432359eed-s.p.0az0.9544w3d6.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/da28569d36042d01-s.0wf~e3vwy0y3..woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/9be384ea93fe3f49-s.p.05qlfybzfat._.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Lato Fallback;
  src: local(Arial);
  ascent-override: 101.03%;
  descent-override: 21.8%;
  line-gap-override: 0.0%;
  size-adjust: 97.69%;
}

.lato_935ddc7e-module__liDC6a__className {
  font-family: Lato, Lato Fallback;
  font-style: normal;
}

.lato_935ddc7e-module__liDC6a__variable {
  --font-lato: "Lato", "Lato Fallback";
}

/* [next]/internal/font/google/cormorant_garamond_e90cc7e2.module.css [app-client] (css) */
@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9cc5c0547f229dea-s.00b2_ptq3xnpy.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/b0947914c9718a1e-s.0l.9lak812di~.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/d0b60be57f16ee32-s.0m2lc_66fsc~9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1f9e983605289f29-s.0~7_67muh398v.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/01e4147cff8141ee-s.p.10ked.7w885.g.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9cc5c0547f229dea-s.00b2_ptq3xnpy.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b0947914c9718a1e-s.0l.9lak812di~.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/d0b60be57f16ee32-s.0m2lc_66fsc~9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1f9e983605289f29-s.0~7_67muh398v.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/01e4147cff8141ee-s.p.10ked.7w885.g.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9cc5c0547f229dea-s.00b2_ptq3xnpy.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/b0947914c9718a1e-s.0l.9lak812di~.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/d0b60be57f16ee32-s.0m2lc_66fsc~9.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1f9e983605289f29-s.0~7_67muh398v.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Cormorant Garamond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/01e4147cff8141ee-s.p.10ked.7w885.g.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Cormorant Garamond Fallback;
  src: local(Times New Roman);
  ascent-override: 95.27%;
  descent-override: 29.59%;
  line-gap-override: 0.0%;
  size-adjust: 96.98%;
}

.cormorant_garamond_e90cc7e2-module__IlhmcG__className {
  font-family: Cormorant Garamond, Cormorant Garamond Fallback;
  font-style: normal;
}

.cormorant_garamond_e90cc7e2-module__IlhmcG__variable {
  --font-cormorant: "Cormorant Garamond", "Cormorant Garamond Fallback";
}

/* [next]/internal/font/google/bebas_neue_d1a5f1ac.module.css [app-client] (css) */
@font-face {
  font-family: Bebas Neue;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2039e8342bda6056-s.0h2amv7e1wlhq.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Bebas Neue;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/fabcf92ba1ccea36-s.p.0lwj123ije5i..woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Bebas Neue Fallback;
  src: local(Arial);
  ascent-override: 117.32%;
  descent-override: 39.11%;
  line-gap-override: 0.0%;
  size-adjust: 76.72%;
}

.bebas_neue_d1a5f1ac-module__V6eUIa__className {
  font-family: Bebas Neue, Bebas Neue Fallback;
  font-style: normal;
  font-weight: 400;
}

.bebas_neue_d1a5f1ac-module__V6eUIa__variable {
  --font-bebas: "Bebas Neue", "Bebas Neue Fallback";
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__0p71ei2._.css.map*/