html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.navbar-light .navbar-nav .nav-link.nav-link--privileged {
  color: #bd3429;
  font-weight: 700;
}

.navbar-light .navbar-nav .nav-link.nav-link--privileged:hover,
.navbar-light .navbar-nav .nav-link.nav-link--privileged:focus-visible {
  color: #94281f;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 0;
  background:
    radial-gradient(
      ellipse at center,
      rgba(31, 102, 94, 0.18) 0%,
      rgba(15, 70, 92, 0.30) 24%,
      rgba(8, 42, 73, 0.62) 52%,
      rgba(4, 21, 42, 0.94) 78%,
      #000 100%
    );
  color: #172033;
  min-height: 100vh;
  position: relative;
  isolation: isolate;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body::before {
  z-index: -1;
  background:
    radial-gradient(circle at 6% 11%, rgba(226, 255, 247, 0.66) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 10% 34%, rgba(226, 255, 247, 0.48) 0 1px, transparent 1.7px),
    radial-gradient(circle at 12% 18%, rgba(226, 255, 247, 0.70) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 16% 53%, rgba(226, 255, 247, 0.38) 0 1px, transparent 1.6px),
    radial-gradient(circle at 21% 8%, rgba(226, 255, 247, 0.52) 0 1px, transparent 1.7px),
    radial-gradient(circle at 24% 27%, rgba(226, 255, 247, 0.62) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 28% 43%, rgba(226, 255, 247, 0.42) 0 1px, transparent 1.6px),
    radial-gradient(circle at 33% 16%, rgba(226, 255, 247, 0.56) 0 1px, transparent 1.7px),
    radial-gradient(circle at 37% 62%, rgba(226, 255, 247, 0.36) 0 1px, transparent 1.6px),
    radial-gradient(circle at 42% 31%, rgba(226, 255, 247, 0.50) 0 1px, transparent 1.7px),
    radial-gradient(circle at 46% 12%, rgba(226, 255, 247, 0.66) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 51% 49%, rgba(226, 255, 247, 0.34) 0 1px, transparent 1.6px),
    radial-gradient(circle at 56% 22%, rgba(226, 255, 247, 0.46) 0 1px, transparent 1.7px),
    radial-gradient(circle at 61% 67%, rgba(226, 255, 247, 0.32) 0 1px, transparent 1.6px),
    radial-gradient(circle at 66% 35%, rgba(226, 255, 247, 0.52) 0 1px, transparent 1.7px),
    radial-gradient(circle at 71% 14%, rgba(226, 255, 247, 0.60) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 75% 54%, rgba(226, 255, 247, 0.36) 0 1px, transparent 1.6px),
    radial-gradient(circle at 81% 25%, rgba(226, 255, 247, 0.58) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 86% 41%, rgba(226, 255, 247, 0.40) 0 1px, transparent 1.6px),
    radial-gradient(circle at 92% 18%, rgba(226, 255, 247, 0.64) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 95% 61%, rgba(226, 255, 247, 0.34) 0 1px, transparent 1.6px),
    linear-gradient(112deg, transparent 0 22%, rgba(81, 223, 181, 0.08) 30%, rgba(120, 208, 255, 0.06) 42%, transparent 58%),
    linear-gradient(72deg, transparent 0 34%, rgba(52, 190, 162, 0.07) 44%, rgba(103, 165, 230, 0.05) 56%, transparent 72%),
    linear-gradient(rgba(183, 231, 244, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(183, 231, 244, 0.04) 1px, transparent 1px);
  background-size:
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    100% 100%,
    7rem 7rem,
    7rem 7rem;
  opacity: 0.82;
  mix-blend-mode: screen;
}

body::after {
  z-index: -1;
  top: auto;
  height: min(18rem, 34vh);
  background:
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.50) 70%, rgba(0, 0, 0, 0.90) 100%),
    linear-gradient(135deg, rgba(4, 17, 32, 0.94), rgba(0, 0, 0, 0.98));
  clip-path: polygon(
    0 72%,
    7% 58%,
    13% 66%,
    22% 44%,
    31% 70%,
    41% 38%,
    52% 68%,
    63% 46%,
    73% 62%,
    84% 34%,
    93% 60%,
    100% 50%,
    100% 100%,
    0 100%
  );
  opacity: 0.72;
}

body.map-page::before,
body.map-page::after {
  display: none;
}

main {
  padding-bottom: 2.5rem;
  position: relative;
  z-index: 1;
}

.map-page {
  overflow: hidden;
}

.map-page .navbar {
  margin-bottom: 0 !important;
}

.map-page > .container {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

.map-page main {
  padding-bottom: 0 !important;
}

.map-page .footer {
  display: none;
}

.footer {
  margin-top: 1rem;
  padding: 1rem 0 1.5rem;
  position: relative;
  z-index: 1;
  color: #f4fbff !important;
}

.footer.text-muted,
.footer__meta {
  color: #f4fbff !important;
}

.footer a {
  color: #d9fff5 !important;
}

.footer a:hover {
  color: #ffffff;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.navbar {
  background: rgba(255, 255, 255, 0.86) !important;
  backdrop-filter: blur(14px);
  position: relative;
  z-index: 2;
}

.nav-auth {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.nav-auth__user {
  color: #3d526b;
  font-weight: 700;
}

.page-shell {
  display: grid;
  gap: 1.5rem;
}

.page-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  gap: 0.75rem;
  min-height: 18rem;
  padding: 2rem;
  border-radius: 1.5rem;
  background:
    linear-gradient(90deg, rgba(12, 31, 49, 0.92) 0%, rgba(12, 31, 49, 0.76) 42%, rgba(12, 31, 49, 0.34) 100%),
    url("/images/bannerbackgrounds/publicportal.png") center / cover no-repeat;
  color: #f4fbff;
  box-shadow: 0 1.5rem 3rem rgba(20, 34, 56, 0.16);
}

.page-hero > * {
  position: relative;
  z-index: 1;
}

.page-hero__actions {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.75rem;
  font-weight: 700;
  opacity: 0.78;
}

.page-hero h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
}

.lede {
  max-width: 52rem;
  margin: 0;
  font-size: 1.05rem;
  opacity: 0.9;
}

.page-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #f4fbff;
  text-decoration: none;
  font-weight: 700;
}

.page-link:hover {
  color: #f4fbff;
  text-decoration: underline;
}

.feedback-message,
.error-message {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  font-weight: 600;
}

.feedback-message {
  background: #e7f8ef;
  color: #17633a;
}

.error-message {
  background: #feeeea;
  color: #9a2d1f;
}

.detail-grid {
  display: grid;
  gap: 1.5rem;
}

.detail-grid--double {
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.detail-grid--triple {
  grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
}

.detail-card,
.agent-card {
  border: 1px solid rgba(18, 49, 74, 0.09);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 1rem 2.4rem rgba(0, 9, 21, 0.16);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  backdrop-filter: blur(18px) saturate(1.08);
}

.detail-card {
  padding: 1.5rem;
}

.run-location-reference-panel {
  display: grid;
  gap: 1rem;
}

.run-location-reference-panel__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 1px solid rgba(18, 49, 74, 0.22);
  border-radius: 0.2rem;
  padding: 0.45rem 0.7rem;
  background: #d8dee4;
  color: #111111;
  font-size: 1rem;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.run-location-reference-panel__toggle:hover,
.run-location-reference-panel__toggle:focus-visible {
  background: #e1e6eb;
}

.run-location-reference-panel__toggle::-webkit-details-marker {
  display: none;
}

.run-location-reference-panel__icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
}

.run-location-reference-panel__body {
  margin-top: 1.25rem;
}

.run-log-output {
  margin: 1rem 0 0;
  max-height: 36rem;
  overflow: auto;
  border: 1px solid rgba(18, 49, 74, 0.18);
  border-radius: 0.4rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.72);
  color: #162235;
  font-size: 0.92rem;
  line-height: 1.55;
  white-space: pre-wrap;
}

.source-overview-list--spaced {
  display: grid;
  gap: 2rem;
}

.source-overview-card--reference {
  padding-top: 0.25rem;
}

.source-overview-card--reference + .source-overview-card--reference {
  padding-top: 1.75rem;
  border-top: 1px solid rgba(18, 49, 74, 0.12);
}

.source-overview-card--reference .source-overview-card__header {
  margin-bottom: 1rem;
}

.detail-card--with-illustration {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(8rem, 32%);
  align-items: center;
  gap: 1.25rem;
}

.detail-card__content {
  min-width: 0;
}

.detail-card__illustration {
  width: 100%;
  max-width: 12rem;
  aspect-ratio: 1122 / 1402;
  justify-self: end;
  object-fit: cover;
  border-radius: 1rem;
  box-shadow: 0 0.9rem 1.8rem rgba(24, 39, 75, 0.14);
}

.detail-card__illustration-trigger {
  width: 100%;
  max-width: 12rem;
  justify-self: end;
  padding: 0;
  border: 0;
  border-radius: 1rem;
  background: transparent;
  cursor: zoom-in;
}

.detail-card__illustration-trigger .detail-card__illustration {
  display: block;
  max-width: none;
  justify-self: stretch;
}

.detail-card--large-illustration,
.detail-card--privacy {
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 33%);
}

.detail-card--large-illustration .detail-card__illustration-trigger,
.detail-card--privacy .detail-card__illustration-trigger {
  max-width: 20rem;
}

.detail-card--large-illustration .detail-card__content h2,
.detail-card--privacy .detail-card__content h2 {
  margin-bottom: 1.2rem;
}

.illustration-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(7, 17, 30, 0.76);
  cursor: zoom-out;
}

.illustration-lightbox[hidden] {
  display: none;
}

.illustration-lightbox__image {
  max-width: min(90vw, 54rem);
  max-height: 88vh;
  object-fit: contain;
  border-radius: 1rem;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.45);
  cursor: default;
}

.detail-card--wide {
  min-width: 0;
}

.about-person-page {
  max-width: 58rem;
  margin: 0 auto;
}

.about-person-card {
  display: grid;
  grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
  align-items: start;
  gap: 1.5rem;
}

.about-person-card__image {
  width: 100%;
  max-width: 14rem;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 1rem;
  box-shadow: 0 0.9rem 1.8rem rgba(24, 39, 75, 0.14);
}

.about-person-card__content {
  display: grid;
  gap: 0.8rem;
}

.about-person-card__content h2,
.about-person-card__content p {
  margin: 0;
}

.about-person-card__content h2 {
  color: #12314a;
  font-weight: 850;
}

.about-person-card__content p {
  color: #3d526b;
  line-height: 1.7;
}

.about-person-card__content p:first-of-type,
.about-person-section p:first-of-type {
  color: #16324a;
  font-weight: 750;
}

.about-person-section {
  display: grid;
  gap: 0.8rem;
}

.about-person-section h2,
.about-person-section p {
  margin: 0;
}

.about-person-section h2 {
  color: #12314a;
  font-weight: 850;
}

.about-person-section p {
  max-width: 48rem;
  color: #3d526b;
  line-height: 1.7;
}

.run-form {
  display: grid;
  gap: 1rem;
}

.run-form label {
  display: grid;
  gap: 0.45rem;
  font-weight: 600;
  color: #25344a;
}

.field-label-row {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.field-help {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #88afe8 0%, #4f7cca 100%);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(79, 124, 202, 0.24);
  cursor: help;
  user-select: none;
}

.field-help:focus-visible {
  outline: 3px solid rgba(79, 124, 202, 0.28);
  outline-offset: 2px;
}

.field-help__bubble {
  position: absolute;
  z-index: 20;
  left: calc(100% + 0.75rem);
  top: 50%;
  transform: translateY(-50%);
  width: min(22rem, 75vw);
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  background: #16324a;
  color: #f8fbff;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.45;
  box-shadow: 0 16px 38px rgba(11, 31, 54, 0.24);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 140ms ease, visibility 140ms ease;
}

.field-help__bubble::before {
  content: "";
  position: absolute;
  left: -0.45rem;
  top: 50%;
  width: 0.9rem;
  height: 0.9rem;
  background: #16324a;
  transform: translateY(-50%) rotate(45deg);
}

.field-help:hover .field-help__bubble,
.field-help:focus .field-help__bubble,
.field-help:focus-visible .field-help__bubble {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 900px) {
  .field-help__bubble {
    left: 0;
    top: calc(100% + 0.75rem);
    transform: none;
    width: min(20rem, 82vw);
  }

  .field-help__bubble::before {
    left: 1rem;
    top: -0.3rem;
    transform: rotate(45deg);
  }
}

.run-form input,
.run-form textarea,
.run-form select {
  width: 100%;
  border: 1px solid #ced7e3;
  border-radius: 0.9rem;
  padding: 0.8rem 0.95rem;
  background: #fbfdff;
  color: #172033;
}

.run-form textarea {
  resize: vertical;
}

.form-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.run-form__submit,
.agent-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  padding: 0.8rem 1.15rem;
  background: linear-gradient(135deg, #d7662b 0%, #f08d44 100%);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.run-form__submit:hover,
.agent-card__link:hover {
  color: #fff;
  filter: brightness(1.03);
}

.process-step-action {
  margin-top: 1.5rem;
}

.process-result-panel {
  display: grid;
  gap: 1rem;
}

.process-result-panel__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 1px solid rgba(18, 49, 74, 0.22);
  border-radius: 0.2rem;
  padding: 0.52rem 0.7rem;
  background: #d8dee4;
  color: #111111;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.2;
  cursor: pointer;
  list-style: none;
}

.process-result-panel__toggle:hover,
.process-result-panel__toggle:focus-visible {
  background: #e1e6eb;
  outline: none;
}

.process-result-panel__toggle::-webkit-details-marker {
  display: none;
}

.process-result-panel__toggle::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-right: 0.2rem solid #111111;
  border-bottom: 0.2rem solid #111111;
  transform: rotate(45deg);
  transition: transform 140ms ease;
  flex: 0 0 auto;
}

.process-result-panel[open] .process-result-panel__toggle::after {
  transform: rotate(225deg);
}

.process-result-panel__body {
  margin-top: 1rem;
}

.secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 999px;
  padding: 0.65rem 1rem;
  background: #fff;
  color: #1b5772;
  font-weight: 700;
}

.secondary-button:hover {
  color: #1b5772;
  background: #f7fafc;
}

.secondary-button--active {
  border-color: rgba(27, 87, 114, 0.42);
  background: linear-gradient(180deg, #f7fbff 0%, #eef6fb 100%);
  box-shadow: 0 0.7rem 1.8rem rgba(18, 49, 74, 0.08);
}

.secondary-button--danger {
  border-color: rgba(162, 49, 49, 0.28);
  color: #9c2d2d;
}

.secondary-button--danger:hover {
  color: #7e2323;
  background: #fff8f8;
}

.secondary-button--disabled {
  opacity: 0.55;
  cursor: default;
  pointer-events: none;
}

.route-ai-analysis {
  margin-top: 2rem;
}

.route-ai-analysis__configuration {
  display: grid;
  gap: 1rem;
  margin-bottom: 2.2rem;
  border-bottom: 1px solid rgba(24, 59, 91, 0.16);
  padding-bottom: 1.5rem;
}

.route-ai-analysis__configuration h2 {
  margin-top: 0;
}

.route-ai-analysis__configuration dl {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  margin: 0;
}

.route-ai-analysis__configuration dl div {
  background: rgba(232, 240, 247, 0.72);
  border: 1px solid rgba(126, 148, 171, 0.28);
  border-radius: 0.55rem;
  padding: 0.75rem;
}

.route-ai-analysis__configuration dt {
  color: #38506c;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.route-ai-analysis__configuration dd {
  color: #172033;
  font-size: 0.98rem;
  font-weight: 700;
  margin: 0.2rem 0 0;
}

.route-ai-analysis__selection {
  margin-top: 1.35rem;
  border-top: 1px solid rgba(24, 59, 91, 0.16);
  padding-top: 1.1rem;
}

.route-ai-analysis__attachment {
  margin-top: 2.2rem;
  border-top: 1px solid rgba(24, 59, 91, 0.16);
  padding-top: 1.5rem;
}

.route-ai-analysis__attachment h2 {
  margin-top: 0;
}

.route-ai-analysis__panel-button {
  border: 1px solid rgba(18, 49, 74, 0.12);
  background: #e2e7ec;
  color: #12314a;
  box-shadow: none;
}

.route-ai-analysis__panel-button:hover,
.route-ai-analysis__panel-button:focus-visible {
  background: #d8dfe6;
  color: #12314a;
  filter: none;
}

.route-ai-analysis__context-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.route-ai-analysis__context-module {
  border: 1px solid rgba(126, 148, 171, 0.28);
  border-radius: 0.55rem;
  background: rgba(232, 240, 247, 0.56);
  padding: 1rem;
}

.route-ai-analysis__context-module h3 {
  color: #172033;
  font-size: 1.15rem;
  margin: 0 0 0.65rem;
}

.route-ai-analysis__context-module ul {
  display: grid;
  gap: 0.45rem;
  list-style: none;
  margin: 0 0 0.85rem;
  padding: 0;
}

.route-ai-analysis__context-module li {
  border: 1px solid rgba(126, 148, 171, 0.24);
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.66);
  color: #344b66;
  font-weight: 700;
  padding: 0.55rem 0.65rem;
}

.route-intelligence-reports__table-wrap {
  overflow-x: auto;
  margin-top: 1.25rem;
}

.route-intelligence-reports__table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(248, 251, 253, 0.92);
  color: #172033;
}

.route-intelligence-reports__table th,
.route-intelligence-reports__table td {
  border: 1px solid #172033;
  padding: 0.7rem 0.8rem;
  vertical-align: top;
}

.route-intelligence-reports__table th {
  background: rgba(232, 240, 247, 0.95);
  font-weight: 800;
}

.route-intelligence-reports__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.25rem;
}

.secondary-button--danger {
  color: #9a2d1f;
}

.route-ai-analysis__generate {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.2rem;
  border-top: 1px solid rgba(24, 59, 91, 0.16);
  padding-top: 1.5rem;
}

.route-ai-analysis--loading {
  cursor: progress;
}

.route-ai-analysis--loading .route-ai-analysis__generate .run-form__submit {
  opacity: 0.76;
}

.route-ai-analysis__validation {
  flex-basis: 100%;
  max-width: 48rem;
  border: 1px solid rgba(154, 45, 31, 0.24);
  border-radius: 0.55rem;
  background: rgba(255, 248, 246, 0.92);
  color: #7b2f24;
  font-weight: 700;
  padding: 0.85rem 1rem;
}

.route-ai-analysis__validation ul {
  margin: 0.35rem 0 0;
  padding-left: 1.25rem;
}

.route-ai-analysis__selection h3 {
  color: #172033;
  font-size: 1.35rem;
  font-weight: 800;
  margin: 0 0 0.85rem;
}

.route-ai-analysis__selection dl {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  margin: 0;
}

.route-ai-analysis__selection div {
  background: rgba(232, 240, 247, 0.72);
  border: 1px solid rgba(126, 148, 171, 0.28);
  border-radius: 0.55rem;
  padding: 0.75rem;
}

.route-ai-analysis__selection dt {
  color: #38506c;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.route-ai-analysis__selection dd {
  color: #172033;
  font-size: 0.95rem;
  margin: 0.2rem 0 0;
  overflow-wrap: anywhere;
}

.route-ai-analysis-modal {
  width: min(72rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  border: 1px solid rgba(126, 148, 171, 0.28);
  border-radius: 0.9rem;
  padding: 0;
  background: rgba(248, 251, 253, 0.98);
  color: #172033;
  box-shadow: 0 1.5rem 4rem rgba(10, 31, 51, 0.28);
}

.route-ai-analysis-modal::backdrop {
  background: rgba(14, 31, 45, 0.52);
}

.route-ai-analysis-modal__content {
  display: grid;
  gap: 1.1rem;
  margin: 0;
  max-height: calc(100vh - 2rem);
  overflow: auto;
  padding: 1.4rem;
}

.route-ai-analysis-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.route-ai-analysis-modal__header h2 {
  margin: 0.1rem 0 0;
}

.route-ai-analysis-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid rgba(126, 148, 171, 0.36);
  border-radius: 999px;
  background: #fff;
  color: #183b5b;
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 800;
}

.route-ai-analysis-modal label {
  display: grid;
  gap: 0.4rem;
  color: #1c3148;
  font-weight: 700;
}

.route-ai-analysis-modal input,
.route-ai-analysis-modal select,
.route-ai-analysis-modal textarea {
  width: 100%;
  border: 1px solid rgba(126, 148, 171, 0.34);
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.86);
  color: #172033;
  font: inherit;
  font-weight: 500;
  padding: 0.75rem 0.85rem;
}

.route-ai-analysis-modal textarea {
  resize: vertical;
}

.route-ai-analysis-modal__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.route-ai-analysis-modal__grid--five {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.route-ai-analysis-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: center;
  padding-top: 0.4rem;
}

.danger-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  padding: 0.8rem 1.15rem;
  background: linear-gradient(135deg, #b83333 0%, #d84b4b 100%);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 0.9rem 1.8rem rgba(184, 51, 51, 0.18);
}

.danger-button:hover {
  color: #fff;
  filter: brightness(1.03);
}

.danger-button--disabled,
.danger-button--disabled:hover {
  pointer-events: none;
  cursor: not-allowed;
  filter: grayscale(0.25);
  opacity: 0.58;
}

.validation-summary-errors,
.field-validation-error {
  color: #9a2d1f;
}

.agent-card-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portal-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.portal-grid--public {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portal-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workspace-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.workspace-card {
  display: grid;
  gap: 0.85rem;
  padding: 1.15rem;
  border: 1px solid rgba(18, 49, 74, 0.08);
  border-radius: 1rem;
  background: rgba(251, 253, 255, 0.82);
  -webkit-backdrop-filter: blur(14px) saturate(1.06);
  backdrop-filter: blur(14px) saturate(1.06);
}

.workspace-card h3,
.workspace-card p {
  margin: 0;
}

.workspace-card h3 {
  color: #12314a;
}

.workspace-card p {
  color: #334560;
}

.selection-option--disabled {
  opacity: 0.45;
}

.selection-option--disabled .selection-option__title,
.selection-option--disabled .selection-option__description {
  text-decoration: line-through;
}

.yr-field-section {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid rgba(18, 49, 74, 0.08);
  border-radius: 1rem;
  background: #fbfdff;
}

.yr-field-section--inactive {
  opacity: 0.55;
  background: #f6f9fc;
}

.yr-field-section__header {
  display: grid;
  gap: 0.2rem;
}

.yr-field-section__header h4,
.yr-field-section__header p {
  margin: 0;
}

.yr-field-section__header h4 {
  color: #12314a;
}

.yr-field-section__header p {
  color: #5f7087;
}

.auth-card {
  max-width: 32rem;
}

.checkbox-row {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem !important;
}

.checkbox-row input {
  width: auto;
}

.qr-card {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 20rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(18, 49, 74, 0.1);
  overflow: hidden;
}

.qr-card svg,
.qr-card img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.recovery-code-grid {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.recovery-code-grid code {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.75rem 0.9rem;
  border-radius: 0.9rem;
  background: #f6f9fc;
  color: #22324a;
  font-weight: 700;
}

.agent-card {
  display: grid;
  gap: 1rem;
  padding: 1.4rem;
}

.agent-card__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.agent-card__header h2,
.detail-card h2 {
  margin: 0;
}

.detail-card h2 {
  margin-bottom: 0.85rem;
}

.agent-card__type {
  margin: 0.35rem 0 0;
  color: #58718d;
  font-weight: 600;
}

.agent-card__description {
  margin: 0;
  color: #334560;
}

.agent-list-sections {
  display: grid;
  gap: 1rem;
}

.agent-list-panel {
  border: 1px solid rgba(18, 49, 74, 0.18);
  border-radius: 0.35rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 1rem 2.4rem rgba(0, 9, 21, 0.14);
  overflow: hidden;
}

.agent-list-panel__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  border-bottom: 1px solid rgba(18, 49, 74, 0.22);
  padding: 0.62rem 0.8rem;
  background: #d8dee4;
  color: #111111;
  cursor: pointer;
  list-style: none;
}

.agent-list-panel__toggle:hover,
.agent-list-panel__toggle:focus-visible {
  background: #e1e6eb;
  outline: none;
}

.agent-list-panel__toggle::-webkit-details-marker {
  display: none;
}

.agent-list-panel__toggle::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-right: 0.2rem solid #111111;
  border-bottom: 0.2rem solid #111111;
  transform: rotate(45deg);
  transition: transform 140ms ease;
  flex: 0 0 auto;
}

.agent-list-panel[open] .agent-list-panel__toggle::after {
  transform: rotate(225deg);
}

.agent-list-panel__title {
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.2;
}

.agent-list-panel__count {
  margin-left: auto;
  border: 1px solid rgba(18, 49, 74, 0.18);
  border-radius: 999px;
  padding: 0.18rem 0.55rem;
  background: rgba(255, 255, 255, 0.65);
  color: #12314a;
  font-size: 0.82rem;
  font-weight: 850;
}

.agent-list-table-wrap {
  overflow-x: auto;
}

.agent-list-table {
  width: 100%;
  min-width: 42rem;
  border-collapse: collapse;
  background: rgba(248, 251, 253, 0.94);
  color: #172033;
}

.agent-list-table th,
.agent-list-table td {
  border: 1px solid #172033;
  padding: 0.68rem 0.75rem;
  vertical-align: middle;
}

.agent-list-table th {
  background: rgba(232, 240, 247, 0.98);
  color: #172033;
  font-size: 0.84rem;
  font-weight: 900;
  text-transform: uppercase;
}

.agent-list-table td {
  color: #344b66;
  font-size: 0.94rem;
  font-weight: 650;
}

.agent-list-table__primary {
  color: #12314a;
  font-weight: 900;
}

.agent-list-table__empty {
  color: #536983;
  font-style: italic;
  text-align: center;
}

.agent-list-table__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.8rem;
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 999px;
  padding: 0.38rem 0.7rem;
  background: #eef3f7;
  color: #12314a;
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
}

.agent-list-table__action:hover,
.agent-list-table__action:focus-visible {
  background: #f5f9fc;
  color: #12314a;
  outline: none;
}

.agent-list-table__action--danger {
  border-color: rgba(169, 54, 36, 0.18);
  background: #fff1ef;
  color: #a93624;
}

.agent-list-table__action--danger:hover,
.agent-list-table__action--danger:focus-visible {
  background: #fff5f3;
  color: #8f2e20;
}

.agent-list-table__action:disabled {
  opacity: 0.56;
  cursor: not-allowed;
}

.agent-list-table form {
  margin: 0;
}

.agent-meta {
  display: grid;
  gap: 0.8rem;
  margin: 0;
}

.agent-meta div {
  display: grid;
  gap: 0.15rem;
}

.agent-meta dt {
  color: #6a7e97;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.agent-meta dd {
  margin: 0;
  color: #182338;
}

.agent-meta--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2rem;
}

.agent-meta--compact .agent-meta__item--wide {
  grid-column: 1 / -1;
}

@media (max-width: 780px) {
  .agent-meta--compact {
    grid-template-columns: 1fr;
  }
}

.status-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  font-size: 0.8rem;
  font-weight: 700;
}

.status-pill--ready {
  background: #e3f7ed;
  color: #1e6f43;
}

.status-pill--idle {
  background: #eef2f7;
  color: #5d7088;
}

.status-pill--running {
  background: #e8f4ff;
  color: #155f9a;
}

.status-pill--failed {
  background: #feeeea;
  color: #9a2d1f;
}

.empty-state {
  display: grid;
  gap: 0.9rem;
}

.empty-copy {
  margin: 0;
  color: #5f7087;
}

.field-selector__help {
  margin: 0;
  color: #5f7087;
}

.harvest-schedule-panel {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 0.8rem;
  background: rgba(251, 253, 255, 0.64);
}

.harvest-schedule-panel legend {
  width: auto;
  margin: 0;
  padding: 0 0.35rem;
  color: #12314a;
  font-size: 1rem;
  font-weight: 850;
}

.harvest-time-list {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.harvest-fixed-times {
  display: grid;
  gap: 0.8rem;
}

.harvest-fixed-times__rows {
  display: grid;
  gap: 0.75rem;
}

.harvest-fixed-times__row {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(11rem, 1fr) auto;
  align-items: end;
}

.harvest-fixed-times__row .agent-list-table__action {
  min-height: 2.7rem;
}

.harvest-exclusion-windows {
  display: grid;
  gap: 0.8rem;
}

.harvest-exclusion-windows__rows {
  display: grid;
  gap: 0.75rem;
}

.harvest-exclusion-windows__row {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(11rem, 1fr)) auto;
  align-items: end;
}

.harvest-exclusion-windows__row .agent-list-table__action {
  min-height: 2.7rem;
}

.harvest-weekday-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}

.harvest-toggle-row {
  display: inline-flex !important;
  width: fit-content;
  grid-template-columns: none !important;
  align-items: center;
  gap: 0.55rem !important;
}

.harvest-toggle-row input {
  width: auto;
}

.time-scope-panel {
  display: grid;
  gap: 0.9rem;
}

.selection-group {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid rgba(18, 49, 74, 0.08);
  border-radius: 1rem;
}

.selection-group legend {
  width: auto;
  margin-bottom: 0;
  padding: 0 0.35rem;
  font-weight: 700;
  color: #25344a;
}

.field-group-list {
  display: grid;
  gap: 1.25rem;
}

.field-group-section {
  display: grid;
  gap: 0.8rem;
}

.field-group-section__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #38506c;
}

.nve-theme-panels {
  gap: 0.85rem;
}

.nve-theme-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.8rem 0.9rem 1rem;
  border: 1px solid rgba(18, 49, 74, 0.18);
  border-radius: 1rem;
  background: rgba(247, 250, 252, 0.92);
}

.nve-theme-panel:not([open]) {
  padding-bottom: 0.8rem;
}

.nve-theme-panel__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 1px solid rgba(18, 49, 74, 0.22);
  border-radius: 0.2rem;
  padding: 0.52rem 0.7rem;
  background: #d8dee4;
  color: #111111;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.2;
  cursor: pointer;
  list-style: none;
}

.nve-theme-panel__toggle:hover,
.nve-theme-panel__toggle:focus-visible {
  background: #e1e6eb;
  outline: none;
}

.nve-theme-panel__toggle::-webkit-details-marker {
  display: none;
}

.nve-theme-panel__toggle::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-right: 0.2rem solid #111111;
  border-bottom: 0.2rem solid #111111;
  transform: rotate(45deg);
  transition: transform 140ms ease;
  flex: 0 0 auto;
}

.nve-theme-panel[open] .nve-theme-panel__toggle::after {
  transform: rotate(225deg);
}

.nve-theme-panel .checkbox-grid {
  padding: 0.35rem 0.1rem 0;
}

.source-override-panel {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0.8rem 0.9rem 1rem;
  border: 1px solid rgba(18, 49, 74, 0.18);
  border-radius: 1rem;
  background: rgba(247, 250, 252, 0.92);
}

.source-override-panel:not([open]) {
  padding-bottom: 0.8rem;
}

.source-override-panel__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 1px solid rgba(18, 49, 74, 0.22);
  border-radius: 0.2rem;
  padding: 0.52rem 0.7rem;
  background: #d8dee4;
  color: #111111;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.2;
  cursor: pointer;
  list-style: none;
}

.source-override-panel__toggle:hover,
.source-override-panel__toggle:focus-visible {
  background: #e1e6eb;
  outline: none;
}

.source-override-panel__toggle::-webkit-details-marker {
  display: none;
}

.source-override-panel__toggle::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-right: 0.2rem solid #111111;
  border-bottom: 0.2rem solid #111111;
  transform: rotate(45deg);
  transition: transform 140ms ease;
  flex: 0 0 auto;
}

.source-override-panel[open] .source-override-panel__toggle::after {
  transform: rotate(225deg);
}

.source-override-panel__body {
  display: grid;
  gap: 1.1rem;
  padding: 0.35rem 0.1rem 0;
}

.selection-panel {
  display: grid;
  gap: 0.75rem;
}

.selection-panel__title {
  margin: 0;
  color: #25344a;
  font-size: 1.15rem;
  font-weight: 850;
  line-height: 1.2;
  text-transform: uppercase;
}

.selection-panel__copy {
  margin: -0.35rem 0 0;
  color: #25344a;
  font-weight: 600;
}

.checkbox-grid {
  display: grid;
  gap: 0.9rem 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: #25344a;
  font-weight: 600;
}

.checkbox-row input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
}

.checkbox-row--stacked {
  align-items: flex-start;
}

.checkbox-row--stacked .checkbox-row__label {
  display: inline-flex;
  gap: 0.6rem;
  align-items: flex-start;
  line-height: 1.35;
}

.checkbox-row--stacked input[type="checkbox"] {
  margin-top: 0.15rem;
}

.selection-group .checkbox-row {
  font-weight: 600;
}

.selection-group .checkbox-row__label {
  color: #25344a;
}

@media (max-width: 1100px) {
  .checkbox-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .checkbox-grid {
    grid-template-columns: 1fr;
  }
}

.muted-copy {
  color: #5f7087;
  font-weight: 500;
}

.source-choice-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  align-items: start;
  padding: 1rem 1.1rem;
  border: 1px solid #d6e0ea;
  border-radius: 1rem;
  background: rgba(247, 251, 255, 0.82);
  color: #25344a;
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
  backdrop-filter: blur(12px) saturate(1.05);
}

.source-choice-card:hover {
  border-color: #b9cadb;
  background: #f3f8fd;
}

.source-choice-card__control {
  display: flex;
  align-items: start;
  justify-content: center;
  padding-top: 0.1rem;
}

.source-choice-card__content {
  display: grid;
  gap: 0.25rem;
}

.source-choice-card__title {
  font-weight: 700;
  line-height: 1.35;
}

.metric-grid {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.metric-card {
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(246, 249, 252, 0.78);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
  backdrop-filter: blur(12px) saturate(1.05);
}

.metric-card span {
  color: #5f7087;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.metric-card strong {
  font-size: 1.6rem;
  color: #12314a;
}

@media (max-width: 900px) {
  .metric-grid {
    grid-template-columns: 1fr;
  }

  .portal-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .portal-grid--public,
  .portal-grid--three {
    grid-template-columns: 1fr;
  }

  .detail-card--with-illustration {
    grid-template-columns: 1fr;
  }

  .detail-card__illustration {
    max-width: 10rem;
    justify-self: start;
  }
}

.user-dashboard__metric {
  margin: 0;
  font-size: 2rem;
  font-weight: 800;
  color: #12314a;
}

.user-dashboard__agent-list {
  display: grid;
  gap: 1rem;
}

.user-dashboard__recent-list {
  display: grid;
  gap: 0.875rem;
}

.user-dashboard__recent-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.125rem;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
}

.user-dashboard__recent-item h3 {
  margin: 0 0 0.25rem;
}

.user-dashboard__recent-item p {
  margin: 0;
  color: #4d6377;
}

.help-topic-card {
  display: grid;
  gap: 0.85rem;
  align-content: start;
}

.help-topic-card h2,
.help-article h2 {
  color: #12314a;
}

.help-topic-card h2 {
  margin-bottom: 0;
}

.help-topic-card p,
.help-article p {
  margin: 0;
  color: #334560;
  line-height: 1.7;
}

.help-topic-card__action {
  margin-top: 0.35rem !important;
}

.help-article {
  display: grid;
  gap: 1rem;
}

.help-article h2 {
  margin-bottom: 0.15rem;
}

.source-item--attention {
  border-color: rgba(217, 95, 2, 0.35);
  box-shadow: 0 10px 28px rgba(217, 95, 2, 0.08);
}

.source-list,
.history-list,
.user-list {
  display: grid;
  gap: 1rem;
}

.source-item,
.history-item,
.user-list__item {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(18, 49, 74, 0.08);
  border-radius: 1rem;
  background: #fbfdff;
}

.user-list__item-form {
  margin: 0;
}

.user-list__item {
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.user-list__item--selected {
  border-color: rgba(27, 87, 114, 0.42);
  background: linear-gradient(180deg, #f7fbff 0%, #eef6fb 100%);
  box-shadow: 0 0.7rem 1.8rem rgba(18, 49, 74, 0.08);
}

.user-list__name {
  font-size: 1rem;
  font-weight: 800;
  color: #12314a;
}

.user-list__meta {
  color: #5f7087;
  font-weight: 500;
}

.user-list__meta--strong {
  color: #12314a;
  font-weight: 700;
}

.user-list__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-form-actions,
.admin-delete-form {
  display: flex;
  justify-content: flex-start;
}

.admin-form-actions {
  margin-bottom: 1rem;
}

.admin-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}

.admin-divider {
  margin: 1.5rem 0;
  border: 0;
  border-top: 1px solid rgba(18, 49, 74, 0.08);
}

.onboarding-card {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(18, 49, 74, 0.08);
  border-radius: 1rem;
  background: #f7fafc;
}

.onboarding-card h3 {
  margin: 0;
  color: #12314a;
}

.onboarding-list {
  margin: 0;
  padding-left: 1.25rem;
  color: #22324a;
}

.onboarding-link {
  margin: 0;
  font-weight: 700;
}

.user-list-heading {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.user-list-heading h2 {
  margin: 0;
}

.user-list-heading__action {
  margin: 0;
}

.source-item__header,
.history-item__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.source-item__header h3,
.history-item__header h3 {
  margin: 0;
}

.source-item__header p,
.history-item__header p {
  margin: 0.35rem 0 0;
  color: #5f7087;
}

.source-item__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.source-item__actions form {
  margin: 0;
}

.run-history-browser {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr);
  align-items: start;
}

.run-history-tree {
  padding: 1rem;
  border: 1px solid rgba(18, 49, 74, 0.08);
  border-radius: 1rem;
  background: #f7fafc;
}

.run-tree-node {
  margin: 0;
}

.run-tree-node + .run-tree-node {
  margin-top: 0.35rem;
}

.run-tree-node summary {
  cursor: pointer;
  color: #12314a;
  font-weight: 700;
  list-style: none;
}

.run-tree-node summary::-webkit-details-marker {
  display: none;
}

.run-tree-node summary::before {
  content: "+";
  display: inline-block;
  width: 1rem;
  margin-right: 0.35rem;
  color: #5f7087;
}

.run-tree-node[open] > summary::before {
  content: "-";
}

.run-tree-children {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.5rem;
  margin-left: 1.35rem;
}

.run-tree-children--leaf {
  gap: 0.25rem;
}

.run-tree-link {
  display: grid;
  gap: 0.15rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid transparent;
  border-radius: 0.85rem;
  color: #12314a;
  text-decoration: none;
  background: transparent;
}

.run-tree-link:hover {
  background: rgba(18, 49, 74, 0.05);
  border-color: rgba(18, 49, 74, 0.08);
}

.run-tree-link--active {
  background: rgba(18, 49, 74, 0.1);
  border-color: rgba(18, 49, 74, 0.14);
}

.run-tree-link small {
  color: #5f7087;
}

.run-history-detail {
  min-width: 0;
}

.history-item--selected {
  background: #fbfdff;
}

.summary-preview {
  margin-top: 1rem;
  padding: 1.4rem 1.5rem;
  border-radius: 1rem;
  background: #f7fafc;
  color: #172033;
  line-height: 1.65;
}

.tool-result-list {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.tool-result-card {
  display: grid;
  gap: 1rem;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(18, 49, 74, 0.08);
  border-radius: 1.2rem;
  background: linear-gradient(180deg, rgba(251, 253, 255, 0.88) 0%, rgba(244, 248, 252, 0.78) 100%);
  -webkit-backdrop-filter: blur(14px) saturate(1.06);
  backdrop-filter: blur(14px) saturate(1.06);
}

.tool-result-card__header h3 {
  margin: 0;
  color: #12314a;
  font-size: 1.5rem;
  font-weight: 800;
}

.tool-result-card__timestamp {
  margin: 0.4rem 0 0;
  color: #4e657e;
  font-size: 0.95rem;
  font-weight: 600;
}

.tool-result-groups {
  display: grid;
  gap: 0.95rem;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  align-items: start;
}

.tool-result-group {
  display: grid;
  gap: 0.75rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(18, 49, 74, 0.08);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  align-content: start;
}

.tool-result-group__title {
  margin: 0;
  color: #38506c;
  font-size: 1.02rem;
  font-weight: 800;
}

.tool-result-field-grid {
  display: grid;
  gap: 0.8rem 0.85rem;
  margin: 0;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  align-content: start;
}

.tool-result-field-grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.tool-result-field {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.tool-result-field__label {
  margin: 0;
  color: #6a7e97;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.25;
}

.tool-result-field__value {
  margin: 0;
  color: #182338;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.35;
  word-break: break-word;
}

.tool-result-groups--single {
  grid-template-columns: minmax(0, 1fr);
}

.map-tool-shell {
  --map-floating-panel-top: 7.5rem;
  position: relative;
  display: block;
  width: 100vw;
  height: calc(100dvh - 57px);
  min-height: 32rem;
  margin: 0;
  background: #eef3f7;
}

.map-tool-toolbar {
  position: absolute;
  z-index: 2;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1.25rem 3rem rgba(18, 49, 74, 0.18);
  backdrop-filter: blur(12px);
}

.map-tool-toolbar h1,
.map-tool-toolbar p {
  margin: 0;
}

.map-tool-toolbar h1 {
  color: #12314a;
  font-size: clamp(1.45rem, 3vw, 2.15rem);
  line-height: 1.1;
}

.map-tool-controls {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
}

.map-pin-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: min(100%, 26rem);
  padding: 0.35rem;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 999px;
  background: rgba(238, 243, 247, 0.9);
}

.map-pin-control__input {
  min-width: 14rem;
  width: min(35vw, 22rem);
  border: 0;
  border-radius: 999px;
  padding: 0.55rem 0.85rem;
  color: #12314a;
  background: rgba(255, 255, 255, 0.9);
  font-weight: 650;
  outline: none;
}

.map-pin-control__input:focus {
  box-shadow: inset 0 0 0 2px rgba(18, 49, 74, 0.28);
}

.map-pin-control__button {
  border: 0;
  border-radius: 999px;
  padding: 0.55rem 0.95rem;
  color: #ffffff;
  background: #c8422b;
  font-weight: 800;
  white-space: nowrap;
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

.map-pin-control__button:hover,
.map-pin-control__button:focus-visible {
  background: #a93624;
  box-shadow: 0 0.7rem 1.4rem rgba(200, 66, 43, 0.22);
  transform: translateY(-1px);
}

.map-pin-control__button:disabled {
  opacity: 0.65;
  cursor: wait;
  transform: none;
}

.map-pin-control__status {
  position: fixed;
  z-index: 40;
  top: var(--map-floating-panel-top);
  left: 50%;
  transform: translateX(-50%);
  max-width: min(34rem, 70vw);
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 8px;
  overflow: visible;
  color: #2f4b63;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.65rem 1.4rem rgba(18, 49, 74, 0.16);
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.3;
  text-overflow: clip;
  white-space: normal;
}

.map-pin-control__status:empty {
  display: none;
}

.map-pin-control__status[data-status="success"] {
  color: #1f6b43;
}

.map-pin-control__status[data-status="error"] {
  color: #a93624;
}

.map-layer-control {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 999px;
  background: rgba(238, 243, 247, 0.86);
}

.map-layer-control__button {
  border: 0;
  border-radius: 999px;
  padding: 0.55rem 0.95rem;
  color: #2f4b63;
  background: transparent;
  font-weight: 750;
  transition:
    background 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
}

.map-layer-control__button:disabled {
  opacity: 0.55;
  cursor: wait;
}

.norges-kartverk-toolbar .map-layer-control__button:disabled,
.norges-kartverk-toolbar .map-grid-toggle {
  cursor: default;
}

.norges-kartverk-toolbar ~ .norges-kartverk-route-panel {
  top: var(--map-floating-panel-top);
}

.norges-kartverk-toolbar .map-pin-control__status {
  top: calc(var(--map-floating-panel-top) - 1rem);
}

.norges-kartverk-toolbar ~ .norges-kartverk-canvas .map-tile-status {
  top: 8.25rem;
}

.map-layer-control__button:hover,
.map-layer-control__button:focus-visible {
  color: #12314a;
  background: rgba(255, 255, 255, 0.8);
}

.map-layer-control__button--active {
  color: #ffffff;
  background: #12314a;
  box-shadow:
    0 0.7rem 1.4rem rgba(18, 49, 74, 0.22),
    inset 0 0 0 1px rgba(255, 255, 255, 0.22);
  cursor: default;
}

.map-layer-control__button--active:hover,
.map-layer-control__button--active:focus-visible {
  color: #ffffff;
  background: #12314a;
}

.map-grid-toggle {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  gap: 0.45rem;
  margin: 0;
  padding: 0.55rem 1rem;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 999px;
  color: #2f4b63;
  background: rgba(238, 243, 247, 0.86);
  font-weight: 750;
  cursor: pointer;
  user-select: none;
}

.map-grid-toggle input {
  width: 1rem;
  height: 1rem;
  accent-color: #12314a;
}

.google-map-canvas {
  position: relative;
  min-height: 0;
  height: 100%;
  width: 100%;
}

.atlas-canada-canvas .ol-control,
.atlas-canada-canvas .ol-scale-line {
  font-family: inherit;
}

.atlas-canada-canvas .ol-attribution,
.atlas-canada-canvas .ol-zoom,
.atlas-canada-canvas .ol-scale-line {
  background: rgba(255, 255, 255, 0.88);
  color: #29445c;
  border-radius: 0.7rem;
  box-shadow: 0 0.5rem 1rem rgba(18, 49, 74, 0.12);
}

.atlas-canada-canvas .ol-zoom {
  top: 0.75rem;
  left: 0.75rem;
}

.atlas-canada-canvas .ol-zoom button {
  width: 2rem;
  height: 2rem;
  color: #12314a;
  background: transparent;
}

.atlas-canada-canvas .ol-scale-line {
  left: 0.75rem;
  bottom: 0.75rem;
  padding: 0.35rem 0.55rem;
}

.atlas-canada-canvas .ol-scale-line-inner {
  color: #29445c;
  border-color: #29445c;
  font-size: 0.8rem;
}

.atlas-canada-canvas .ol-attribution {
  right: 0.75rem;
  bottom: 0.75rem;
}

.atlas-canada-canvas .ol-attribution ul {
  color: #29445c;
}

.atlas-canada-print-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  align-items: stretch;
  justify-items: center;
  padding: 1.35rem 2rem 1.1rem;
  box-sizing: border-box;
  pointer-events: none;
}

.atlas-canada-print-frame {
  max-width: 100%;
  max-height: 100%;
  border: 3px solid rgba(209, 63, 46, 0.96);
  border-radius: 0.2rem;
  box-shadow: 0 0 0 999rem rgba(18, 49, 74, 0.08);
  background: transparent;
}

.atlas-canada-print-frame--portrait {
  height: 100%;
  width: auto;
  aspect-ratio: 210 / 297;
}

.atlas-canada-print-frame--landscape {
  width: 100%;
  height: auto;
  aspect-ratio: 297 / 210;
}

.atlas-canada-print-controls {
  position: absolute;
  top: 0;
  left: 0;
  width: min(19rem, calc(100% - 2rem));
  pointer-events: auto;
  display: grid;
  gap: 0.7rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.75rem 1.5rem rgba(18, 49, 74, 0.18);
}

.atlas-canada-print-controls__title {
  margin: 0;
  color: #12314a;
  font-size: 0.95rem;
  font-weight: 800;
}

.atlas-canada-print-controls__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.atlas-canada-print-controls__button {
  flex: 1 1 calc(50% - 0.275rem);
  min-width: 0;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 999px;
  padding: 0.5rem 0.85rem;
  background: #f7fafc;
  color: #38506c;
  font-size: 0.84rem;
  font-weight: 800;
  text-align: center;
}

.atlas-canada-print-controls__button:hover,
.atlas-canada-print-controls__button:focus-visible {
  background: #eef4f8;
}

.atlas-canada-print-controls__button--active {
  background: #e7f1f7;
  color: #1b5772;
}

.atlas-canada-print-controls__button--primary {
  background: #12314a;
  color: #fff;
}

.atlas-canada-print-controls__button--primary:hover,
.atlas-canada-print-controls__button--primary:focus-visible {
  background: #1b4567;
}

.map-pin-sidebar {
  position: absolute;
  z-index: 2;
  top: var(--map-floating-panel-top);
  left: 1rem;
  width: min(21.5rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 9rem);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0.9rem;
  padding: 1rem 1rem 1.1rem;
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1.25rem 3rem rgba(18, 49, 74, 0.18);
  backdrop-filter: blur(12px);
  overflow: hidden;
}

.map-pin-sidebar--right {
  left: auto;
  right: 1rem;
}

.map-pin-sidebar--collapsed {
  gap: 0;
  padding-bottom: 1rem;
}

.map-pin-sidebar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.map-pin-sidebar__title {
  margin: 0;
  color: #12314a;
  font-size: 1.05rem;
  font-weight: 800;
}

.map-pin-sidebar__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  width: 3rem;
  height: 3rem;
  padding: 0;
  color: #12314a;
  background: rgba(238, 243, 247, 0.95);
}

.map-pin-sidebar__toggle:hover,
.map-pin-sidebar__toggle:focus-visible {
  background: rgba(220, 230, 239, 0.98);
}

.map-pin-sidebar__toggle-icon {
  display: block;
  width: 1.1rem;
  height: 1.1rem;
}

.map-pin-sidebar__body {
  min-height: 0;
  overflow: auto;
}

.map-pin-sidebar__summary {
  margin-bottom: 0.75rem;
  color: #12314a;
  font-size: 0.95rem;
  font-weight: 800;
  white-space: pre-line;
}

.map-pin-sidebar__export-panel {
  display: grid;
  gap: 0.45rem;
  padding: 0.8rem 0.9rem 1.15rem;
  border: 1px solid rgba(18, 49, 74, 0.18);
  border-radius: 1rem;
  background: rgba(247, 250, 252, 0.92);
  margin-bottom: 0.85rem;
}

.map-pin-sidebar__storage-body {
  display: grid;
  gap: 0.6rem;
  margin-top: 0.35rem;
}

.map-pin-sidebar__export-panel--child {
  margin-bottom: 0;
  padding: 0.65rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.58);
}

.map-pin-sidebar__export-panel-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 0.2rem;
  padding: 0.28rem 0.55rem;
  background: #e7ebef;
  color: #111111;
  font-size: 0.88rem;
  font-weight: 800;
  text-align: left;
}

.map-pin-sidebar__export-panel-toggle:hover,
.map-pin-sidebar__export-panel-toggle:focus-visible {
  background: #eef2f6;
}

.map-pin-sidebar__storage-panel > .map-pin-sidebar__export-panel-toggle,
.map-pin-sidebar__actions-panel > .map-pin-sidebar__export-panel-toggle,
.map-pin-sidebar__draw-panel > .map-pin-sidebar__export-panel-toggle,
.map-pin-sidebar__texts-panel > .map-pin-sidebar__export-panel-toggle {
  background: #d8dee4;
  border-color: rgba(18, 49, 74, 0.22);
}

.map-pin-sidebar__storage-panel > .map-pin-sidebar__export-panel-toggle:hover,
.map-pin-sidebar__storage-panel > .map-pin-sidebar__export-panel-toggle:focus-visible,
.map-pin-sidebar__actions-panel > .map-pin-sidebar__export-panel-toggle:hover,
.map-pin-sidebar__actions-panel > .map-pin-sidebar__export-panel-toggle:focus-visible,
.map-pin-sidebar__draw-panel > .map-pin-sidebar__export-panel-toggle:hover,
.map-pin-sidebar__draw-panel > .map-pin-sidebar__export-panel-toggle:focus-visible,
.map-pin-sidebar__texts-panel > .map-pin-sidebar__export-panel-toggle:hover,
.map-pin-sidebar__texts-panel > .map-pin-sidebar__export-panel-toggle:focus-visible {
  background: #e1e6eb;
}

.map-pin-sidebar__export-panel--child > .map-pin-sidebar__export-panel-toggle {
  background: #edf1f5;
}

.map-pin-sidebar__export-panel--child > .map-pin-sidebar__export-panel-toggle:hover,
.map-pin-sidebar__export-panel--child > .map-pin-sidebar__export-panel-toggle:focus-visible {
  background: #f3f6f9;
}

.map-pin-sidebar__export-panel-title {
  display: inline-flex;
  align-items: center;
}

.map-pin-sidebar__export-panel-icon {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 auto;
}

.map-pin-sidebar__exports {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.35rem;
  padding-bottom: 0.2rem;
}

.map-pin-sidebar__exports--import {
  margin-top: 0.55rem;
}

.map-pin-sidebar__actions-body {
  margin-top: 0.35rem;
}

.map-pin-sidebar__actions-placeholder {
  margin: 0;
  padding: 0.35rem 0.15rem 0;
  color: #5a7288;
  font-size: 0.84rem;
  line-height: 1.45;
}

.map-pin-sidebar__actions-mode-hint {
  margin: 0;
  padding: 0.35rem 0.15rem 0;
  color: #1b4164;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.4;
}

.map-pin-sidebar__actions-library {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.65rem;
}

.map-pin-sidebar__actions-library--grouped {
  grid-template-columns: 1fr;
  gap: 0.8rem;
}

.map-pin-sidebar__actions-group {
  display: grid;
  gap: 0.45rem;
}

.map-pin-sidebar__actions-group-title {
  margin: 0;
  color: #38506c;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.25;
}

.map-pin-sidebar__actions-group-icons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.map-pin-sidebar__actions-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  border: 1px solid #d7e2ec;
  border-radius: 16px;
  background: #f8fbfd;
  color: #1f3d5c;
  padding: 0.55rem 0.35rem 0.5rem;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.map-pin-sidebar__actions-icon:hover {
  border-color: #8eb4d5;
  box-shadow: 0 6px 18px rgba(31, 61, 92, 0.12);
  transform: translateY(-1px);
}

.map-pin-sidebar__actions-icon--active {
  border-color: #1f6fd6;
  background: #e9f2fb;
  box-shadow: 0 0 0 2px rgba(31, 111, 214, 0.12);
}

.map-pin-sidebar__actions-icon-image {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.map-pin-sidebar__actions-icon-label {
  display: block;
  text-align: center;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.15;
  word-break: break-word;
}

.map-pin-sidebar__actions-summary {
  margin: 0.7rem 0 0;
  color: #38506c;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.4;
}

.map-pin-sidebar__actions-list {
  display: grid;
  gap: 0.5rem;
  margin: 0.6rem 0 0;
  padding: 0;
  list-style: none;
}

.map-pin-sidebar__actions-list-item {
  display: grid;
  gap: 0.4rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 16px;
  background: #fbfdff;
}

.map-pin-sidebar__actions-list-header {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.map-pin-sidebar__actions-list-image {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.map-pin-sidebar__actions-list-title {
  color: #12314a;
  font-size: 0.83rem;
  font-weight: 800;
}

.map-pin-sidebar__actions-list-text,
.map-pin-sidebar__actions-list-coordinates {
  margin: 0;
  color: #5a7288;
  font-size: 0.77rem;
  line-height: 1.4;
}

.map-pin-sidebar__actions-list-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.map-pin-sidebar__actions-list-button {
  min-width: 4.75rem;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 999px;
  padding: 0.38rem 0.7rem;
  background: #eef3f7;
  color: #12314a;
  font-size: 0.75rem;
  font-weight: 800;
}

.map-pin-sidebar__actions-list-button--danger {
  background: #fff3f2;
  color: #a93624;
}

.map-pin-sidebar__export {
  flex: 0 0 calc(50% - 0.225rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: 0;
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 999px;
  padding: 0.36rem 0.55rem;
  background: #eef3f7;
  color: #12314a;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.05;
  text-align: center;
}

.map-pin-sidebar__export--settings {
  flex-basis: 100%;
}

.map-pin-sidebar__export--wide {
  width: 100%;
}

.map-pin-sidebar__export:hover,
.map-pin-sidebar__export:focus-visible {
  background: #f5f9fc;
}

.map-pin-sidebar__export:disabled {
  opacity: 0.58;
  cursor: default;
}

.map-pin-sidebar__export-icon {
  display: block;
  width: 0.95rem;
  height: 0.95rem;
  flex: 0 0 auto;
}

.map-pin-sidebar__list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.map-pin-sidebar__item {
  display: grid;
  gap: 0.4rem;
  padding: 0.8rem 0.9rem 1.15rem;
  border: 1px solid rgba(18, 49, 74, 0.18);
  border-radius: 1rem;
  background: rgba(247, 250, 252, 0.92);
}

.map-pin-sidebar__item-row {
  border: 0;
  padding: 0.45rem 0.55rem;
  background: #d8ebe7;
  box-shadow: inset 0 0 0 1px #9fc6bd;
  border-radius: 0.45rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  text-align: left;
}

.map-pin-sidebar__item-row:hover,
.map-pin-sidebar__item-row:focus-visible {
  background: #e2f1ee;
  color: #1b5772;
}

.map-pin-sidebar__item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
}

.map-pin-sidebar__item-chevron {
  color: #38506c;
  font-size: 0.9rem;
  font-weight: 800;
}

.map-pin-sidebar__item-chevron-icon {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}

.map-pin-sidebar__item-details[hidden] {
  display: none;
}

.map-pin-sidebar__item-details {
  display: grid;
  gap: 0.7rem;
}

.map-pin-sidebar__metrics {
  display: grid;
  gap: 0.5rem;
}

.map-pin-sidebar__metrics--latlon {
  gap: 0;
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 0.35rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.72);
}

.map-pin-sidebar__metrics--latlon .map-pin-sidebar__metric-row {
  grid-template-columns: 5.25rem minmax(0, 1fr) 3rem;
  gap: 0;
}

.map-pin-sidebar__metric-section .map-pin-sidebar__metrics {
  gap: 0;
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 0.35rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.72);
}

.map-pin-sidebar__metric-section {
  display: grid;
  gap: 0.45rem;
}

.map-pin-sidebar__metric-section-header {
  display: block;
  width: 100%;
  padding: 0.28rem 0.55rem;
  border: 1px solid rgba(18, 49, 74, 0.14);
  border-radius: 0.2rem;
  color: #111111;
  background: #eceff3;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
}

.map-pin-sidebar__metric-row {
  display: grid;
  grid-template-columns: 9.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
}

.map-pin-sidebar__metric-row--latlon {
  grid-template-columns: auto 1fr auto;
}

.map-pin-sidebar__metrics--latlon .map-pin-sidebar__metric-row--latlon {
  grid-template-columns: 5.25rem minmax(0, 1fr) 3rem;
}

.map-pin-sidebar__metric-section .map-pin-sidebar__metric-row {
  gap: 0;
}

.map-pin-sidebar__metric-label {
  color: #5a6f86;
  font-size: 0.82rem;
  font-weight: 800;
  text-align: left;
}

.map-pin-sidebar__metric-value {
  color: #38506c;
  font-size: 0.82rem;
  font-weight: 750;
  word-break: break-word;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.map-pin-sidebar__metric-row--latlon .map-pin-sidebar__metric-value {
  white-space: nowrap;
}

.map-pin-sidebar__metrics--latlon .map-pin-sidebar__metric-label,
.map-pin-sidebar__metrics--latlon .map-pin-sidebar__metric-value {
  padding: 0.45rem 0.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.map-pin-sidebar__metrics--latlon .map-pin-sidebar__metric-label {
  border-right: 1px solid rgba(18, 49, 74, 0.12);
}

.map-pin-sidebar__latlon-copy {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 2.4rem;
  padding: 0;
  border: 0;
  border-left: 1px solid rgba(18, 49, 74, 0.12);
  background: rgba(240, 247, 252, 0.9);
  cursor: pointer;
}

.map-pin-sidebar__latlon-copy:hover {
  background: rgba(225, 238, 246, 0.95);
}

.map-pin-sidebar__latlon-copy-icon {
  display: block;
  width: 1rem;
  height: 1rem;
}

.map-copy-dialog {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(13, 27, 42, 0.3);
}

.map-copy-dialog__panel {
  width: min(26rem, 100%);
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: 0 16px 48px rgba(18, 49, 74, 0.18);
  padding: 1.1rem 1.15rem 1rem;
}

.map-copy-dialog__panel--export {
  width: min(44rem, 100%);
}

.map-copy-dialog__panel--route-details {
  width: min(52rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  overflow: auto;
}

.map-copy-dialog__title {
  margin: 0;
  color: #183b5b;
  font-size: 1.05rem;
  font-weight: 800;
  text-align: center;
}

.map-copy-dialog__value {
  margin: 0.8rem 0 0;
  color: #38506c;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}

.map-copy-dialog__actions {
  display: flex;
  justify-content: center;
  gap: 0.7rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.map-copy-dialog__content {
  display: grid;
  gap: 0.9rem;
  margin-top: 0.85rem;
}

.map-copy-dialog__content--route-details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: 0.85rem;
}

.map-copy-dialog__route-export-options {
  width: min(100%, 56rem);
  grid-template-columns: repeat(2, max-content);
  column-gap: 9rem;
  justify-content: center;
  justify-self: center;
  margin-top: 1.35rem;
}

.map-copy-dialog__route-export-destinations {
  grid-template-columns: repeat(2, minmax(0, max-content));
  column-gap: 2.4rem;
  justify-content: center;
  margin-top: 2rem;
}

.map-copy-dialog__actions--route-export {
  margin-top: 2.2rem;
  margin-bottom: 2.6rem;
}

.map-copy-dialog__panel--route-export-preview {
  width: min(58rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  overflow: auto;
}

.route-export-preview {
  color: #183b5b;
}

.route-export-preview__header {
  border-bottom: 1px solid rgba(18, 49, 74, 0.18);
  padding-bottom: 1rem;
  text-align: center;
}

.route-export-preview__title {
  margin: 0;
  color: #183b5b;
  font-size: 1.45rem;
  font-weight: 900;
}

.route-export-preview__subtitle {
  margin: 0.35rem 0 0;
  color: #536983;
  font-size: 0.9rem;
  font-weight: 700;
}

.route-export-preview__section {
  margin-top: 1.35rem;
}

.route-export-preview__section-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 0.25rem;
  background: #e8edf2;
  padding: 0.7rem 0.85rem;
  color: #183b5b;
  cursor: pointer;
}

.route-export-preview__section-toggle:hover,
.route-export-preview__section-toggle:focus-visible {
  border-color: rgba(18, 49, 74, 0.32);
  background: #dde5ec;
  outline: none;
}

.route-export-preview__section-title {
  margin: 0;
  color: #183b5b;
  font-size: 1.05rem;
  font-weight: 900;
}

.route-export-preview__section-icon {
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 auto;
}

.route-export-preview__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem 1rem;
  margin: 0.9rem 0 0;
}

.route-export-preview__metric {
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 0.45rem;
  background: #fbfdff;
  padding: 0.65rem 0.75rem;
}

.route-export-preview__metric-label {
  margin: 0;
  color: #536983;
  font-size: 0.78rem;
  font-weight: 800;
}

.route-export-preview__metric-value {
  margin: 0.2rem 0 0;
  color: #183b5b;
  font-size: 0.94rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.route-export-preview__page-navigation {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  margin-top: 1.6rem;
  margin-bottom: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(18, 49, 74, 0.12);
}

.route-export-preview__page-link {
  border: 0;
  background: transparent;
  color: #185a7d;
  font-size: 0.95rem;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 0.18rem;
  cursor: pointer;
}

.route-export-preview__page-link:hover,
.route-export-preview__page-link:focus-visible {
  color: #12314a;
  outline: none;
}

.route-export-preview__waypoint-page {
  min-height: 12rem;
  display: grid;
  align-content: start;
  gap: 1.35rem;
  text-align: center;
}

.route-export-preview__waypoint-title {
  margin: 0;
  color: #183b5b;
  font-size: 1.35rem;
  font-weight: 900;
}

@media (max-width: 720px) {
  .route-export-preview__metrics {
    grid-template-columns: 1fr;
  }
}

.map-copy-dialog__textarea {
  width: 100%;
  min-height: 18rem;
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 0.8rem;
  padding: 0.8rem 0.9rem;
  background: #fbfdff;
  color: #183b5b;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.9rem;
  line-height: 1.45;
  resize: vertical;
}

.map-copy-dialog__input {
  width: 100%;
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 0.8rem;
  padding: 0.75rem 0.85rem;
  background: #fbfdff;
  color: #183b5b;
  font-size: 0.95rem;
  font-weight: 700;
}

.map-copy-dialog__input--readonly {
  background: rgba(232, 240, 247, 0.72);
  color: #38506c;
  cursor: default;
}

.map-copy-dialog__field {
  display: grid;
  gap: 0.35rem;
}

.map-copy-dialog__field--wide,
.map-copy-dialog__actions--wide {
  grid-column: 1 / -1;
}

@media (max-width: 720px) {
  .map-copy-dialog__content--route-details {
    grid-template-columns: 1fr;
  }
}

.map-copy-dialog__field-label {
  color: #38506c;
  font-size: 0.86rem;
  font-weight: 800;
}

.map-copy-dialog__checkbox-control {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #183b5b;
  font-size: 0.95rem;
  font-weight: 800;
}

.map-copy-dialog__checkbox-control input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  accent-color: #183b5b;
}

.map-copy-dialog__checkbox-control input[type="radio"] {
  width: 1rem;
  height: 1rem;
  accent-color: #183b5b;
}

.map-copy-dialog__textarea--compact {
  min-height: 7rem;
  font-family: inherit;
  font-weight: 600;
}

.map-copy-dialog__hint,
.map-copy-dialog__error {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.4;
}

.map-copy-dialog__hint {
  color: #536983;
  text-align: center;
}

.map-copy-dialog__error {
  color: #a93624;
  font-weight: 700;
}

.map-copy-dialog__ok {
  min-width: 5rem;
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 999px;
  background: rgba(240, 247, 252, 0.95);
  color: #1b5772;
  font-weight: 800;
  padding: 0.5rem 1rem;
}

.map-copy-dialog__cancel {
  min-width: 5rem;
  border: 1px solid rgba(18, 49, 74, 0.16);
  border-radius: 999px;
  background: #fff;
  color: #38506c;
  font-weight: 800;
  padding: 0.5rem 1rem;
}

.map-pin-sidebar__metric-section .map-pin-sidebar__metric-label,
.map-pin-sidebar__metric-section .map-pin-sidebar__metric-value {
  padding: 0.45rem 0.6rem;
}

.map-pin-sidebar__metric-section .map-pin-sidebar__metric-label {
  text-align: center;
  border-right: 1px solid rgba(18, 49, 74, 0.12);
}

.map-pin-sidebar__metric-section .map-pin-sidebar__metric-value {
  text-align: center;
}

.map-pin-sidebar__metric-section .map-pin-sidebar__metric-row + .map-pin-sidebar__metric-row .map-pin-sidebar__metric-label,
.map-pin-sidebar__metric-section .map-pin-sidebar__metric-row + .map-pin-sidebar__metric-row .map-pin-sidebar__metric-value {
  border-top: 1px solid rgba(18, 49, 74, 0.12);
}

.map-pin-sidebar__metric--accent .map-pin-sidebar__metric-label,
.map-pin-sidebar__metric--accent .map-pin-sidebar__metric-value {
  color: #a93624;
}

.map-pin-sidebar__item-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 1.25rem;
  margin-bottom: 0.3rem;
}

.map-pin-sidebar__item-actions-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
}

.map-pin-sidebar__item-actions-row--move {
  margin-top: 0.35rem;
  flex-wrap: nowrap;
  gap: 0.35rem;
}

.map-pin-sidebar__item-actions-row--compact {
  margin-top: 0.45rem;
  flex-wrap: nowrap;
  gap: 0.35rem;
}

.map-pin-sidebar__item-actions-row--compact .map-pin-sidebar__details-button {
  min-width: 0;
  flex: 0 1 5rem;
  padding-inline: 0.55rem;
  white-space: nowrap;
}

.map-pin-sidebar__summary-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0.35rem;
  margin: 0.5rem 0 0.85rem;
}

.map-pin-sidebar__summary-actions .map-pin-sidebar__details-button {
  min-width: 0;
  padding-inline: 0.75rem;
  white-space: nowrap;
}

.map-pin-sidebar__item-title {
  color: #12314a;
  font-size: 0.96rem;
  font-weight: 800;
}

.map-pin-sidebar__copy {
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 999px;
  padding: 0.32rem 0.7rem;
  color: #1b5772;
  background: #e7f1f7;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
}

.map-pin-sidebar__copy:hover,
.map-pin-sidebar__copy:focus-visible {
  background: #f5f9fc;
}

.map-pin-sidebar__rename,
.map-pin-sidebar__details-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.3rem;
  gap: 0.35rem;
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 999px;
  padding: 0.32rem 0.7rem;
  color: #12314a;
  background: #eef3f7;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
}

.map-pin-sidebar__rename:hover,
.map-pin-sidebar__details-button:hover,
.map-pin-sidebar__details-button:focus-visible,
.map-pin-sidebar__rename:focus-visible {
  background: #f5f9fc;
}

.map-pin-sidebar__delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.3rem;
  gap: 0.35rem;
  border: 1px solid rgba(169, 54, 36, 0.18);
  border-radius: 999px;
  padding: 0.32rem 0.7rem;
  color: #a93624;
  background: #fff1ef;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
}

.map-pin-sidebar__delete:hover,
.map-pin-sidebar__delete:focus-visible {
  background: #fff5f3;
}

.map-pin-sidebar__move {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  flex: 0 1 6.1rem;
  gap: 0.3rem;
  border: 1px solid rgba(18, 49, 74, 0.12);
  border-radius: 999px;
  padding: 0.32rem 0.5rem;
  color: #12314a;
  background: #eef3f7;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.map-pin-sidebar__move:hover,
.map-pin-sidebar__move:focus-visible {
  background: #f5f9fc;
}

.map-pin-sidebar__action-icon,
.map-pin-sidebar__move-icon {
  display: block;
  width: 0.95rem;
  height: 0.95rem;
  flex: 0 0 auto;
}

.google-map-grid-overlay {
  position: absolute;
  pointer-events: none;
}

.google-map-route-distance {
  position: absolute;
  transform: translate(-50%, -50%);
  padding: 0.28rem 0.55rem;
  border: 1px solid rgba(169, 54, 36, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.45rem 0.9rem rgba(18, 49, 74, 0.12);
  color: #a93624;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

.google-map-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 0.4rem;
  padding: 2rem;
  text-align: center;
  color: #12314a;
  background:
    radial-gradient(circle at top right, rgba(8, 145, 178, 0.16), transparent 24rem),
    linear-gradient(135deg, #f8fbff 0%, #e8f1f7 100%);
}

.google-map-placeholder h2,
.google-map-placeholder p {
  margin: 0;
}

.map-tile-status {
  position: absolute;
  z-index: 4;
  right: 2rem;
  top: 7.25rem;
  max-width: min(24rem, calc(100% - 1.5rem));
  border-radius: 0.7rem;
  padding: 0.5rem 0.7rem;
  background: rgba(18, 49, 74, 0.86);
  color: #f4fbff;
  font-size: 0.86rem;
  font-weight: 750;
  box-shadow: 0 0.5rem 1rem rgba(18, 49, 74, 0.18);
}

.norges-kartverk-canvas .map-tile-status {
  right: calc(21.5rem + 2rem);
}

.map-tile-status[hidden] {
  display: none;
}

.map-cursor-readout {
  display: inline-flex;
  align-items: center;
  min-width: 12rem;
  min-height: 3rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(18, 49, 74, 0.14);
}

.map-cursor-readout__value {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  color: #12314a;
}

@media (max-width: 900px) {
  .map-pin-sidebar {
    top: 8.25rem;
    width: min(19.5rem, calc(100vw - 2rem));
  }

  .map-pin-sidebar--right {
    top: auto;
    right: 1rem;
    bottom: 1rem;
    max-height: min(18rem, calc(100dvh - 10rem));
  }

  .norges-kartverk-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .norges-kartverk-toolbar .map-tool-controls {
    justify-content: flex-start;
  }

  .norges-kartverk-toolbar ~ .norges-kartverk-route-panel {
    top: 14rem;
    max-height: calc(100dvh - 15.5rem);
  }

  .norges-kartverk-toolbar ~ .norges-kartverk-tools-panel {
    top: auto;
    max-height: min(18rem, calc(100dvh - 15.5rem));
  }

  .norges-kartverk-toolbar ~ .norges-kartverk-canvas .map-tile-status {
    top: 14rem;
    right: 1rem;
  }
}

.summary-rich-text {
  white-space: normal;
}

.summary-rich-text > :first-child {
  margin-top: 0;
}

.summary-rich-text > :last-child {
  margin-bottom: 0;
}

.summary-rich-text p,
.summary-rich-text ul,
.summary-rich-text ol,
.summary-rich-text pre,
.summary-rich-text blockquote {
  margin-top: 0;
  margin-bottom: 0.85rem;
}

.summary-rich-text h1,
.summary-rich-text h2,
.summary-rich-text h3,
.summary-rich-text h4 {
  margin-top: 1.15rem;
  margin-bottom: 0.35rem;
  color: #12314a;
  line-height: 1.25;
}

.summary-rich-text h1 {
  margin-top: 0;
  margin-bottom: 0.9rem;
  font-size: 2.4rem;
  line-height: 1.15;
  font-weight: 900;
}

.summary-rich-text h2 {
  margin-top: 1.5rem;
  font-size: 1.7rem;
  font-weight: 800;
}

.summary-rich-text h3 {
  font-size: 1.35rem;
  font-weight: 750;
}

.summary-rich-text h4 {
  font-size: 1.15rem;
  font-weight: 750;
}

.summary-rich-text h3 + h3 {
  margin-top: 1rem;
}

.summary-rich-text p:has(> strong:only-child) {
  margin-top: 0.65rem;
  margin-bottom: 0.05rem;
}

.summary-rich-text p > strong:only-child {
  display: inline-block;
  color: #12314a;
  font-size: 1.48rem;
  line-height: 1.2;
  font-weight: 850;
}

.summary-rich-text li + li {
  margin-top: 0.25rem;
}

.busy-overlay-active {
  overflow: hidden;
}

.footer__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.footer__meta {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.footer__openai-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.3rem;
  border-radius: 0.85rem;
  opacity: 0.92;
  transition: opacity 140ms ease, transform 140ms ease, background-color 140ms ease;
  flex-shrink: 0;
}

.footer__openai-link:hover {
  opacity: 1;
  transform: translateY(-1px);
  background: rgba(18, 49, 74, 0.05);
}

.footer__openai-image {
  display: block;
  height: 9rem;
  width: auto;
}

.busy-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background: rgba(245, 248, 252, 0.86);
  backdrop-filter: blur(3px);
}

.busy-overlay__card {
  display: grid;
  gap: 0.85rem;
  justify-items: center;
  min-width: min(100%, 22rem);
  padding: 2rem 2.2rem;
  border: 1px solid rgba(18, 49, 74, 0.1);
  border-radius: 1.5rem;
  background: #ffffff;
  box-shadow: 0 20px 50px rgba(18, 49, 74, 0.16);
  text-align: center;
}

.busy-overlay__gear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #f18b44 0%, #de6a2f 100%);
  color: #fff;
  font-size: 2rem;
  animation: busy-overlay-spin 1.15s linear infinite;
}

.busy-overlay__text {
  margin: 0;
  color: #12314a;
  font-size: 1.35rem;
  font-weight: 700;
}

@keyframes busy-overlay-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 767.98px) {
  .container {
    padding-inline: 1rem;
  }

  .about-person-card {
    grid-template-columns: 1fr;
  }

  .about-person-card__image {
    max-width: 11rem;
  }

  .agent-card-grid {
    grid-template-columns: 1fr;
  }

  .page-hero,
  .detail-card,
  .agent-card {
    border-radius: 1.2rem;
  }

  .agent-card__header {
    flex-direction: column;
  }

  .source-item__header,
  .history-item__header {
    flex-direction: column;
  }

  .run-history-browser {
    grid-template-columns: 1fr;
  }

  .status-stack {
    justify-content: flex-start;
  }

  .footer__content {
    justify-content: center;
    text-align: center;
  }

  .footer__meta {
    justify-content: center;
  }
}
