.exam-context-bar {
  border-bottom: 1px solid #dfe5ef;
  color: #172238;
  background: #f6f8fc;
}

.exam-context-bar__inner {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-block: 9px;
}

.exam-context-bar__inner > span {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 12px;
}

.exam-context-bar small {
  color: #5e6b82;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.exam-context-bar strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exam-context-bar em {
  color: #667187;
  font-size: 12px;
  font-style: normal;
}

.exam-context-bar a {
  flex: 0 0 auto;
  color: #0b4de8;
  font-size: 13px;
  font-weight: 750;
}

.resolver-field--location select + select {
  margin-top: 10px;
}

.resolver-field--location > small {
  display: block;
  margin-top: 8px;
  color: #69758a;
  font-size: 11px;
  line-height: 1.4;
}

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

.resolver-result__source {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
}

.resolver-result__source > span {
  flex-basis: 100%;
}

.resolver-result__impact {
  margin: 20px 0 12px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: #bdcbc6;
  font-size: 13px;
}

.resolver-result__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.resolver-result__actions .button {
  margin-top: 0 !important;
}

.resolver-undo {
  border: 0;
  color: #f3a190;
  background: transparent;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.resolver-save-status {
  display: block;
  min-height: 2.7em;
  margin-top: 12px;
  color: #bdcbc6;
  line-height: 1.4;
}

.exam-reminder-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  gap: clamp(30px, 5vw, 70px);
  margin-top: 22px;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid #dfe5ef;
  border-radius: 22px;
  background: #f6f8fc;
}

.exam-reminder-panel h2 {
  margin: 8px 0 10px;
  color: #172238;
  font-size: clamp(25px, 2.5vw, 36px);
}

.exam-reminder-panel p,
.exam-reminder-panel small {
  color: #69758a;
}

.exam-reminder-panel__controls {
  display: grid;
  gap: 14px;
}

.exam-reminder-panel__controls > label:not(.exam-reminder-notification) {
  display: grid;
  gap: 7px;
  color: #445169;
  font-size: 12px;
  font-weight: 750;
}

.exam-reminder-panel__controls select {
  min-height: 46px;
  padding-inline: 12px;
}

.exam-reminder-notification {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #445169;
  font-size: 13px;
}

.exam-reminder-notification input {
  width: 18px;
  height: 18px;
}

.exam-reminder-panel__controls > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.exam-reminder-panel__controls .button {
  min-height: 44px;
  margin: 0;
}

.resource-fit-section {
  padding-block: clamp(64px, 7vw, 100px);
}

.resource-fit-profile {
  display: grid;
  max-width: 430px;
  gap: 4px;
  padding: 18px 20px;
  border: 1px solid #dfe5ef;
  border-radius: 14px;
  background: #f6f8fc;
}

.resource-fit-profile span {
  color: #69758a;
  font-size: 12px;
}

.resource-fit-profile a,
.resource-fit-card__links a {
  color: #0b4de8;
  font-weight: 750;
}

.resource-fit-controls {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 32px;
}

.resource-fit-controls label {
  display: grid;
  flex: 1 1 360px;
  max-width: 520px;
  gap: 8px;
  color: #58647b;
  font-size: 12px;
  font-weight: 750;
}

.resource-fit-controls input {
  width: 100%;
  min-height: 48px;
  padding-inline: 14px;
}

.resource-fit-controls [role="group"] {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.resource-fit-controls button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d4dae5;
  border-radius: 999px;
  color: #445169;
  background: #fff;
  font-weight: 750;
}

.resource-fit-controls button.is-active {
  border-color: #0b4de8;
  color: #fff;
  background: #0b4de8;
}

.resource-fit-status {
  min-height: 1.5em;
  margin: 18px 0;
  color: #69758a;
  font-size: 13px;
}

.resource-fit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.resource-fit-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 22px;
  border: 1px solid #dfe5ef;
  border-top: 4px solid #8590a5;
  border-radius: 14px;
  background: #fff;
}

.resource-fit-card--matched { border-top-color: #16845b; }
.resource-fit-card--partial { border-top-color: #b66a13; }
.resource-fit-card--mismatch { border-top-color: #bf3b31; }

.resource-fit-card__top,
.resource-fit-card__links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.fit-pill,
.publisher-pill {
  padding: 5px 8px;
  border-radius: 999px;
  color: #445169;
  background: #eef1f6;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.resource-fit-card--matched .fit-pill { color: #075c3c; background: #e1f4eb; }
.resource-fit-card--partial .fit-pill { color: #7e4307; background: #fff0dc; }
.resource-fit-card--mismatch .fit-pill { color: #8b251e; background: #fde8e5; }

.resource-fit-card h3 {
  margin: 22px 0 8px;
  font-size: 20px;
  line-height: 1.2;
}

.resource-fit-card > p {
  min-height: 3em;
  color: #69758a;
  font-size: 13px;
}

.resource-fit-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-block: 16px;
}

.resource-fit-card dl div {
  padding: 10px;
  border-radius: 8px;
  background: #f6f8fc;
}

.resource-fit-card dt { color: #69758a; font-size: 10px; text-transform: uppercase; }
.resource-fit-card dd { margin: 3px 0 0; color: #26344d; font-size: 12px; font-weight: 750; }
.resource-fit-card details { margin-bottom: 18px; color: #445169; font-size: 13px; }
.resource-fit-card summary { cursor: pointer; font-weight: 800; }
.resource-fit-card li { margin-top: 7px; }
.resource-fit-card__links { margin-top: auto; padding-top: 16px; border-top: 1px solid #e5e9f0; font-size: 13px; }

@media (max-width: 900px) {
  .exam-context-bar__inner > span { display: grid; gap: 2px; }
  .resource-fit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resource-fit-controls { align-items: stretch; flex-direction: column; }
  .resource-fit-controls label { flex-basis: auto; max-width: none; }
  .exam-reminder-panel { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .exam-context-bar__inner { align-items: flex-start; }
  .exam-context-bar em { display: none; }
  .exam-context-bar strong { white-space: normal; }
  .resolver-result__facts,
  .resource-fit-grid { grid-template-columns: 1fr; }
  .resolver-result__actions { align-items: stretch; flex-direction: column; }
  .exam-reminder-panel__controls > div { display: grid; }
  .resource-fit-profile { max-width: none; }
  .resource-fit-controls [role="group"] { display: grid; grid-template-columns: repeat(2, 1fr); }
}
