:root{--nmla-primary:#53c5fb;--nmla-primary-hover:#53c5fb;--nmla-secondary:#79d2fb;--nmla-accent:#6decfb;--nmla-background:#94dbff;--nmla-surface:#ffffff;--nmla-surface-raised:#ffffff;--nmla-text:#16191f;--nmla-text-muted:#64748b;--nmla-text-muted-soft:#94a3b8;--nmla-weather-highlight:#ffc400;--nmla-border:rgba(205,220,236,.65);--nmla-success:#2f9e44;--nmla-warning:#b45309;--nmla-danger:#d92d20;--nmla-focus:rgba(8,124,245,.32);--nmla-radius-sm:18px;--nmla-radius-md:26px;--nmla-radius-lg:36px;--nmla-radius-pill:999px;--nmla-space-xs:4px;--nmla-space-sm:8px;--nmla-space-md:16px;--nmla-space-lg:24px;--nmla-space-xl:32px;--nmla-shadow-none:none;--nmla-shadow-soft:0 12px 30px rgba(104,139,178,.12),0 4px 10px rgba(104,139,178,.07);--nmla-shadow-elevated:0 22px 45px rgba(104,139,178,.16),0 8px 18px rgba(104,139,178,.10);--nmla-font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--nmla-text-small:12px;--nmla-text:15px;--nmla-text-large:18px;--nmla-title:26px;--nmla-heading:34px;--nmla-font-normal:400;--nmla-font-medium:500;--nmla-font-semibold:600;--nmla-font-bold:700;--nmla-line-tight:1.15;--nmla-line-normal:1.45;--nmla-line-relaxed:1.65;--nmla-control-height-sm:36px;--nmla-control-height-md:44px;--nmla-control-height-lg:52px;--nmla-card-radius:36px;--nmla-control-radius:999px;--nmla-card-padding:24px;--nmla-summary-card-radius-default:24px;--nmla-gradient-primary:linear-gradient(100deg,#53c5fb 0%,#79d2fb 55%,#48adf5 100%);--nmla-gradient-accent:linear-gradient(100deg,#6decfb 0%,#1eb7ee 100%);}
/* NMLA Design System Core — semantic components only. */
.nmla-scope,.nmla-card,.nmla-summary-card{font-family:var(--nmla-font-family,"Quicksand",sans-serif);color:var(--nmla-text,#16191f)}
.nmla-scope *,.nmla-card *,.nmla-summary-card *{box-sizing:border-box}
.nmla-surface{background:var(--nmla-surface,#fff);border:1px solid var(--nmla-border,rgba(205,220,236,.65));border-radius:var(--nmla-card-radius,var(--nmla-radius-lg,28px));color:var(--nmla-text,#16191f)}
.nmla-card{background:var(--nmla-surface,#fff);border:1px solid var(--nmla-border,rgba(205,220,236,.65));border-radius:var(--nmla-card-radius,var(--nmla-radius-lg,28px));box-shadow:var(--nmla-shadow-soft);padding:var(--nmla-card-padding,var(--nmla-space-lg,24px));color:var(--nmla-text,#16191f)}
.nmla-card--elevated{box-shadow:var(--nmla-shadow-elevated)}
.nmla-card--compact{padding:var(--nmla-space-md,16px)}
.nmla-card--horizontal{display:flex;align-items:center;gap:var(--nmla-space-md,16px)}
.nmla-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--nmla-space-sm,8px);min-height:var(--nmla-control-height-md,44px);padding:0 var(--nmla-space-lg,24px);border:1px solid transparent;border-radius:var(--nmla-control-radius,var(--nmla-radius-pill,999px));font:var(--nmla-font-semibold,600) var(--nmla-text,15px)/1 var(--nmla-font-family,"Quicksand",sans-serif);text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease;border-color .16s ease}
.nmla-button--sm{min-height:var(--nmla-control-height-sm,36px);padding:0 var(--nmla-space-md,16px);font-size:var(--nmla-text-small,12px)}
.nmla-button--lg{min-height:var(--nmla-control-height-lg,52px);padding:0 var(--nmla-space-xl,32px);font-size:var(--nmla-text-large,18px)}
.nmla-button--primary{background:var(--nmla-gradient-primary,var(--nmla-primary,#087cf5));box-shadow:0 10px 22px rgba(8,124,245,.24);color:#fff}
.nmla-button--primary:hover{background:var(--nmla-primary-hover,#0567d2);color:#fff;transform:translateY(-1px)}
.nmla-button--secondary{background:var(--nmla-surface,#fff);border-color:var(--nmla-primary,#087cf5);color:var(--nmla-primary,#087cf5)}
.nmla-button--secondary:hover{background:rgba(8,124,245,.08);color:var(--nmla-primary-hover,#0567d2)}
.nmla-button--ghost{background:transparent;color:var(--nmla-primary,#087cf5)}
.nmla-button--ghost:hover{background:rgba(8,124,245,.08);color:var(--nmla-primary-hover,#0567d2)}
.nmla-button:focus-visible,.nmla-field input:focus-visible,.nmla-summary-card:focus-visible{outline:3px solid var(--nmla-focus,rgba(8,124,245,.32));outline-offset:3px}
.nmla-button:disabled,.nmla-button.is-loading{cursor:wait;opacity:.58;transform:none}
.nmla-button.is-loading::after{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";animation:nmla-spin .7s linear infinite}
.nmla-badge,.nmla-chip{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 9px;border:1px solid transparent;border-radius:var(--nmla-radius-pill,999px);font:var(--nmla-font-semibold,600) 11px/1 var(--nmla-font-family,"Quicksand",sans-serif);white-space:nowrap}
.nmla-badge{background:rgba(8,124,245,.1);color:var(--nmla-primary,#087cf5)}
.nmla-badge--success{background:#ecfdf3;color:#067647}.nmla-badge--warning{background:#fff7e6;color:var(--nmla-warning,#b45309)}.nmla-badge--danger{background:#fff0ef;color:var(--nmla-danger,#d92d20)}
.nmla-chip{background:var(--nmla-surface,#fff);border-color:var(--nmla-border,rgba(205,220,236,.65));color:var(--nmla-text-muted,#64748b);cursor:pointer}.nmla-chip.is-selected{background:rgba(8,124,245,.1);border-color:rgba(8,124,245,.24);color:var(--nmla-primary,#087cf5)}
.nmla-field{display:grid;gap:6px;color:var(--nmla-text,#16191f);font:var(--nmla-font-medium,500) var(--nmla-text-small,12px)/var(--nmla-line-normal,1.45) var(--nmla-font-family,"Quicksand",sans-serif)}
.nmla-field input,.nmla-field select{width:100%;min-height:var(--nmla-control-height-md,44px);padding:0 var(--nmla-space-md,16px);border:1px solid var(--nmla-border,rgba(205,220,236,.65));border-radius:var(--nmla-control-radius,var(--nmla-radius-md,18px));background:var(--nmla-surface,#fff);box-shadow:0 2px 5px rgba(15,23,42,.04);color:var(--nmla-text,#16191f);font:var(--nmla-font-medium,500) var(--nmla-text,15px)/1 var(--nmla-font-family,"Quicksand",sans-serif)}
.nmla-alert,.nmla-empty-state{display:grid;gap:var(--nmla-space-sm,8px);padding:var(--nmla-space-lg,24px);border:1px solid var(--nmla-border,rgba(205,220,236,.65));border-radius:var(--nmla-card-radius,var(--nmla-radius-lg,28px));background:var(--nmla-surface,#fff);color:var(--nmla-text,#16191f)}
.nmla-alert--danger{border-color:rgba(217,45,32,.24);background:#fff6f5;color:var(--nmla-danger,#d92d20)}.nmla-alert--warning{border-color:rgba(180,83,9,.24);background:#fffaf0;color:var(--nmla-warning,#b45309)}
.nmla-loader{display:inline-flex;width:22px;height:22px;border:3px solid rgba(8,124,245,.2);border-top-color:var(--nmla-primary,#087cf5);border-radius:50%;animation:nmla-spin .7s linear infinite}.nmla-skeleton{min-height:1em;border-radius:var(--nmla-radius-sm,12px);background:linear-gradient(90deg,rgba(205,220,236,.35),rgba(255,255,255,.9),rgba(205,220,236,.35));background-size:200% 100%;animation:nmla-shimmer 1.2s linear infinite}
@keyframes nmla-spin{to{transform:rotate(360deg)}}@keyframes nmla-shimmer{to{background-position:-200% 0}}@media (max-width:640px){.nmla-card{padding:var(--nmla-space-md,16px)}}@media (prefers-reduced-motion:reduce){.nmla-button,.nmla-summary-card,.nmla-loader,.nmla-skeleton{animation:none;transition:none}}

/**
 * NMLA Summary Card v1.0.0
 * Shared visual contract. Keep this file byte-identical in every participating plugin.
 */
.nmla-summary-card {
  --nmla-summary-card-min-height: 116px;
  --nmla-summary-card-radius: var(--nmla-summary-card-radius-default, 24px);
  --nmla-summary-card-padding: 12px;
  --nmla-summary-card-gap: 14px;
  --nmla-summary-card-bg: var(--nmla-surface, #fff);
  --nmla-summary-card-border-width: 1px;
  --nmla-summary-card-border-color: var(--nmla-border, rgba(15, 23, 42, .08));
  --nmla-summary-card-shadow: var(--nmla-shadow-soft, 0 6px 20px rgba(15, 23, 42, .07));
  --nmla-summary-image-size: 92px;
  --nmla-summary-image-radius: var(--nmla-radius-md, 18px);
  --nmla-summary-image-border-width: 3px;
  --nmla-summary-image-border-color: #fff;
  --nmla-summary-image-shadow: 0 5px 14px rgba(15, 23, 42, .14);
  --nmla-summary-image-position: 50% 50%;
  --nmla-summary-title-size: 14px;
  --nmla-summary-primary-size: 22px;
  --nmla-summary-secondary-size: 12px;
  --nmla-summary-meta-size: 11px;
  --nmla-summary-title-color: var(--nmla-text, #172033);
  --nmla-summary-primary-color: var(--nmla-text, #172033);
  --nmla-summary-secondary-color: var(--nmla-text-muted, #64748b);
  --nmla-summary-meta-color: var(--nmla-text-muted, #64748b);
  --nmla-summary-chevron-size: 20px;
  --nmla-summary-chevron-color: #94a3b8;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: var(--nmla-summary-card-min-height);
  align-items: center;
  gap: var(--nmla-summary-card-gap);
  padding: var(--nmla-summary-card-padding);
  overflow: hidden;
  border: var(--nmla-summary-card-border-width) solid var(--nmla-summary-card-border-color);
  border-radius: var(--nmla-summary-card-radius);
  background: var(--nmla-summary-card-bg);
  box-shadow: var(--nmla-summary-card-shadow);
  color: var(--nmla-summary-title-color);
  font-family: var(--e-global-typography-text-font-family, "Quicksand"), "Quicksand", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-decoration: none;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.nmla-summary-card *,
.nmla-summary-card *::before,
.nmla-summary-card *::after {
  min-width: 0;
  box-sizing: border-box;
}

.nmla-summary-card:hover {
  border-color: rgba(15, 23, 42, .13);
  box-shadow: 0 9px 24px rgba(15, 23, 42, .09);
  color: var(--nmla-summary-title-color);
  text-decoration: none;
  transform: translateY(-1px);
}

.nmla-summary-card:active {
  transform: translateY(0) scale(.995);
}

.nmla-summary-card:focus-visible {
  outline: 3px solid rgba(8, 124, 245, .28);
  outline-offset: 3px;
}

.nmla-summary-card__media {
  position: relative;
  display: block;
  flex: 0 0 var(--nmla-summary-image-size);
  width: var(--nmla-summary-image-size);
  height: var(--nmla-summary-image-size);
  aspect-ratio: 1 / 1;
  overflow: visible;
}

.nmla-summary-card__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: var(--nmla-summary-image-border-width) solid var(--nmla-summary-image-border-color);
  border-radius: var(--nmla-summary-image-radius);
  background-color: #e8eef5;
  background-position: var(--nmla-summary-image-position);
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: var(--nmla-summary-image-shadow);
}

.nmla-summary-card__badge {
  position: absolute;
  right: -5px;
  bottom: -5px;
  display: inline-flex;
  max-width: calc(100% + 10px);
  min-height: 22px;
  align-items: center;
  gap: 5px;
  padding: 3px 7px;
  overflow: hidden;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #ecfdf3;
  color: #067647;
  box-shadow: 0 3px 8px rgba(15, 23, 42, .12);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nmla-summary-card__badge-dot {
  display: block;
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.nmla-summary-card.is-stopped .nmla-summary-card__badge,
.nmla-summary-card.is-improper .nmla-summary-card__badge {
  background: #fff1f2;
  color: #b42318;
}

.nmla-summary-card.is-unavailable .nmla-summary-card__badge,
.nmla-summary-card.is-no-data .nmla-summary-card__badge {
  background: #f1f5f9;
  color: #64748b;
}

.nmla-summary-card__content {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-self: stretch;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
}

.nmla-summary-card__header {
  display: block;
}

.nmla-summary-card__title,
.nmla-summary-card__primary,
.nmla-summary-card__secondary,
.nmla-summary-card__meta {
  margin: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.nmla-summary-card__title {
  display: -webkit-box;
  color: var(--nmla-summary-title-color);
  font-size: var(--nmla-summary-title-size);
  font-weight: 700;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.nmla-summary-card__primary {
  display: -webkit-box;
  color: var(--nmla-summary-primary-color);
  font-size: var(--nmla-summary-primary-size);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.02em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.nmla-summary-card__secondary {
  display: -webkit-box;
  color: var(--nmla-summary-secondary-color);
  font-size: var(--nmla-summary-secondary-size);
  font-weight: 600;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.nmla-summary-card__meta {
  display: -webkit-box;
  color: var(--nmla-summary-meta-color);
  font-size: var(--nmla-summary-meta-size);
  font-weight: 600;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.nmla-summary-card__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 1px;
}

.nmla-summary-card__metrics.is-single {
  grid-template-columns: minmax(0, 1fr);
}

.nmla-summary-card__metric {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.nmla-summary-card__metric-value {
  color: var(--nmla-summary-primary-color);
  font-size: var(--nmla-summary-primary-size);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.nmla-summary-card__metric-unit {
  margin-left: 2px;
  color: var(--nmla-summary-secondary-color);
  font-size: .55em;
  font-weight: 700;
}

.nmla-summary-card__metric-label {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: var(--nmla-summary-meta-color);
  font-size: var(--nmla-summary-meta-size);
  font-weight: 600;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nmla-summary-card.is-stopped .nmla-summary-card__metric-value,
.nmla-summary-card.is-improper .nmla-summary-card__primary {
  color: #b42318;
}

.nmla-summary-card.is-proper .nmla-summary-card__primary {
  color: #067647;
}

.nmla-summary-card__chevron {
  display: inline-flex;
  flex: 0 0 var(--nmla-summary-chevron-size);
  width: var(--nmla-summary-chevron-size);
  height: var(--nmla-summary-chevron-size);
  align-items: center;
  justify-content: center;
  color: var(--nmla-summary-chevron-color);
}

.nmla-summary-card__chevron svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

@media (max-width: 369px) {
  .nmla-summary-card {
    --nmla-summary-card-min-height: 108px;
    --nmla-summary-card-padding: 10px;
    --nmla-summary-card-gap: 11px;
    --nmla-summary-image-size: 84px;
    --nmla-summary-primary-size: 20px;
    --nmla-summary-chevron-size: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nmla-summary-card {
    transition: none;
  }

  .nmla-summary-card:hover,
  .nmla-summary-card:active {
    transform: none;
  }
}
