/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5
 * Hallmark · genre: editorial · macrostructure: Split Studio + Field Guide · theme: Atelier · enrichment: tier-B SVG · nav: N9 · footer: Ft2
 * contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30) · mobile: pass (34, 49, 50–57)
 * audience: Black Tomato staff · use: secure staff entry + safety operations · tone: warm editorial travel
 */
@import url("tokens.e4c9c52bd4fa.css");
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; overflow-x: clip; }
body { background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus { outline: none; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.threshold { min-height: 100dvh; display: grid; grid-template-rows: minmax(18rem, 42svh) auto; }
.atlas-field { position: relative; overflow: clip; display: flex; flex-direction: column; justify-content: space-between; padding: max(var(--space-lg), env(safe-area-inset-top)) max(var(--space-lg), env(safe-area-inset-right)) var(--space-lg) max(var(--space-lg), env(safe-area-inset-left)); background: var(--color-ink); color: var(--color-paper); isolation: isolate; }
.atlas-field::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 48%, color-mix(in oklch, var(--color-accent) 8%, transparent) 100%); z-index: -2; }
.wordmark, .field-footer { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); font-size: var(--text-xs); letter-spacing: .12em; font-weight: 700; }
.field-copy { position: relative; z-index: 2; max-width: 38rem; padding-block: var(--space-2xl); }
.overline, .eyebrow { margin: 0 0 var(--space-sm); font: 700 var(--text-xs)/1.2 var(--font-body); text-transform: uppercase; letter-spacing: .18em; color: var(--color-accent); }
.field-copy .overline { color: color-mix(in oklch, var(--color-paper) 70%, var(--color-accent)); }
.field-copy h1 { min-width: 0; overflow-wrap: anywhere; margin: 0; max-width: 10ch; font: 400 var(--text-display-s)/.93 var(--font-display); letter-spacing: -.045em; }
.field-copy p:last-child { max-width: 31rem; margin: var(--space-lg) 0 0; color: color-mix(in oklch, var(--color-paper) 70%, var(--color-muted)); line-height: 1.55; }
.route-map { position: absolute; inset: auto -6rem -9rem auto; width: min(52rem, 105%); opacity: .8; z-index: -1; color: var(--color-paper); }
.route { fill: none; stroke: color-mix(in oklch, var(--color-paper) 35%, transparent); stroke-width: 1.5; stroke-dasharray: 8 12; animation: route-flow 18s linear infinite; }
.route-b { animation-duration: 25s; animation-direction: reverse; }
.route-c { animation-duration: 31s; }
.marker circle { fill: var(--color-accent); stroke: var(--color-paper); stroke-width: 2; }
.marker text { fill: var(--color-paper); font: 700 14px var(--font-body); letter-spacing: .06em; }
.auth-panel { position: relative; display: grid; grid-template-rows: 1fr auto; min-width: 0; padding: var(--space-2xl) max(var(--space-lg), env(safe-area-inset-right)) max(var(--space-lg), env(safe-area-inset-bottom)); background: var(--color-paper); color: var(--color-ink); }
.auth-wrap { width: min(100%, 27rem); margin: auto; }
.auth-wrap h2 { margin: 0; font: 400 clamp(2.2rem, 6vw, 4rem)/.96 var(--font-display); letter-spacing: -.04em; overflow-wrap: anywhere; }
.lede { margin: var(--space-lg) 0 var(--space-xl); max-width: 45ch; color: var(--color-muted); line-height: 1.6; }
.auth-form { display: grid; gap: var(--space-md); }
.field-group { display: grid; gap: var(--space-xs); }
.field-group label { font-size: var(--text-sm); font-weight: 700; }
.input-shell { position: relative; }
.input-shell input { width: 100%; height: 3.25rem; padding: 0 3rem 0 var(--space-md); color: var(--color-ink); background: var(--color-paper); border: var(--rule-thin) solid var(--color-rule-2); border-radius: var(--radius-sm); outline: 3px solid transparent; outline-offset: 1px; transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.input-shell input::placeholder { color: var(--color-muted); opacity: .85; }
.input-shell input:focus-visible { outline-color: var(--color-focus); border-color: var(--color-ink-2); }
.field-group.has-error input { border-color: var(--color-error); }
.input-status { position: absolute; inset-inline-end: var(--space-md); inset-block-start: 50%; width: .65rem; height: .65rem; border-radius: 50%; border: 1px solid var(--color-rule-2); transform: translateY(-50%); }
.has-error .input-status { background: var(--color-error); border-color: var(--color-error); }
.field-help { min-height: 1.3em; margin: 0; color: var(--color-muted); font-size: var(--text-xs); line-height: 1.4; }
.has-error .field-help { color: var(--color-error); }
.primary-action, .sso-action { width: 100%; min-height: 3.25rem; border-radius: var(--radius-sm); white-space: nowrap; font-weight: 700; border: var(--rule-thin) solid transparent; display: flex; align-items: center; justify-content: center; gap: var(--space-sm); }
.primary-action { justify-content: space-between; padding-inline: var(--space-md); background: var(--color-accent); color: var(--color-accent-ink); cursor: pointer; transition: transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out); }
.primary-action:active { transform: translateY(1px); background: var(--color-accent-deep); }
.primary-action[data-loading="true"] { cursor: wait; opacity: .78; }
.primary-action[data-success="true"] { background: var(--color-success); }
.primary-action:disabled, .primary-action[aria-disabled="true"] { opacity: .55; cursor: wait; }
.or { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--space-sm); align-items: center; margin: var(--space-xl) 0; color: var(--color-muted); font-size: var(--text-xs); }
.or::before, .or::after { content: ""; height: 1px; background: var(--color-rule); }
.sso-action { background: transparent; color: var(--color-muted); border-color: var(--color-rule); cursor: not-allowed; opacity: .68; }
.ms-mark { width: 1rem; height: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.ms-mark i { display: block; background: var(--color-muted); }
.sso-note, .privacy-note { text-align: center; margin: var(--space-xs) 0 0; font-size: var(--text-xs); color: var(--color-muted); }
.privacy-note { margin-top: var(--space-xl); }
.text-action { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-ink); background: transparent; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: .25em; white-space: nowrap; }
.code-shell input { font: 700 1.6rem/1 var(--font-mono); letter-spacing: .35em; text-align: center; padding-inline-start: calc(var(--space-md) + .35em); }
.home-page { min-height: 100dvh; background: var(--color-paper); }
.home-nav { display: flex; justify-content: space-between; align-items: center; padding: var(--space-lg); border-bottom: 1px solid var(--color-rule); }
.home-brand { font-weight: 800; letter-spacing: .1em; font-size: var(--text-xs); }
.home-brand span { color: var(--color-accent); margin-inline-start: var(--space-md); }
.home-main { max-width: 78rem; margin: auto; padding: clamp(3rem, 9vw, 8rem) var(--space-lg); }
.home-main h1 { margin: 0; font: 400 var(--text-display)/.9 var(--font-display); letter-spacing: -.05em; }
.home-lede { max-width: 43rem; color: var(--color-muted); font-size: var(--text-lg); line-height: 1.55; }
.coming-grid { display: grid; gap: var(--space-xl); margin-top: var(--space-3xl); }
.coming-grid section { border-top: 1px solid var(--color-ink); padding-top: var(--space-md); }
.coming-grid span { color: var(--color-accent); font: 700 var(--text-xs) var(--font-mono); }
.coming-grid h2 { margin: var(--space-lg) 0 var(--space-sm); font: 400 var(--text-xl) var(--font-display); }
.coming-grid p { color: var(--color-muted); line-height: 1.5; }
@keyframes route-flow { to { stroke-dashoffset: -200; } }
@media (hover: hover) and (pointer: fine) {
  .primary-action:hover { background: var(--color-accent-deep); transform: translateY(-1px); }
  .input-shell input:hover { background: var(--color-paper-2); }
  .text-action:hover { color: var(--color-accent); }
}
@media (min-width: 40rem) { .coming-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 60rem) {
  .threshold { grid-template-columns: minmax(0, 1.25fr) minmax(28rem, .75fr); grid-template-rows: 100dvh; }
  .atlas-field { padding: var(--space-xl) var(--space-2xl); }
  .auth-panel { padding: var(--space-2xl); }
  .route-map { inset: auto -4rem -3rem auto; width: 95%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Hallmark · macrostructure: Field Guide · tone: editorial operations · anchor hue: tomato
 * extension: authenticated travel-safety workspace · enrichment: operational world map
 */
.brand-link { color: inherit; text-decoration: none; white-space: nowrap; }
.active-area { background: var(--color-surface); padding: var(--space-md); margin-inline: calc(var(--space-md) * -1); }
.active-area h2 a { color: var(--color-ink); text-decoration-color: var(--color-accent); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.section-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-xs); color: var(--color-accent-deep); font-weight: 700; text-underline-offset: .25em; white-space: nowrap; }
.workspace-page { min-height: 100dvh; background: var(--color-paper); }
.workspace-nav { position: sticky; inset-block-start: 0; z-index: 20; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-xl); min-height: 4.5rem; padding-inline: clamp(var(--space-md), 4vw, var(--space-2xl)); background: color-mix(in oklch, var(--color-paper) 94%, transparent); border-bottom: var(--rule-thin) solid var(--color-rule); backdrop-filter: blur(14px); }
.workspace-nav nav { display: flex; justify-content: center; gap: var(--space-lg); }
.workspace-nav nav a { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-muted); text-decoration: none; white-space: nowrap; }
.workspace-nav nav a[aria-current="page"] { color: var(--color-ink); box-shadow: inset 0 -2px var(--color-accent); }
.workspace-main, .provider-main { width: min(100% - 2rem, 92rem); margin-inline: auto; padding-block: clamp(var(--space-xl), 6vw, var(--space-3xl)); }
.workspace-heading { display: grid; gap: var(--space-xl); align-items: end; margin-bottom: var(--space-2xl); }
.workspace-heading h1, .provider-hero h1 { min-width: 0; overflow-wrap: anywhere; margin: 0; font: 400 var(--text-display-s)/.92 var(--font-display); letter-spacing: -.045em; }
.workspace-heading > div:first-child > p:last-child { max-width: 62ch; margin: var(--space-lg) 0 0; color: var(--color-muted); font-size: var(--text-lg); line-height: 1.55; }
.freshness { display: flex; align-items: center; gap: var(--space-sm); padding-top: var(--space-md); border-top: var(--rule-thin) solid var(--color-rule); }
.freshness > div { display: grid; gap: var(--space-2xs); }
.freshness span:last-child { color: var(--color-muted); font-size: var(--text-xs); }
.status-dot { flex: 0 0 auto; width: .7rem; height: .7rem; border-radius: 50%; background: var(--color-success); box-shadow: 0 0 0 .3rem color-mix(in oklch, var(--color-success) 14%, transparent); }
.metric-strip { display: grid; border-block: var(--rule-thin) solid var(--color-ink); }
.metric-strip article { display: grid; gap: var(--space-xs); min-width: 0; padding: var(--space-lg) 0; border-bottom: var(--rule-thin) solid var(--color-rule); }
.metric-strip article:last-child { border-bottom: 0; }
.metric-strip strong { font: 400 clamp(2rem, 6vw, 3.8rem)/.9 var(--font-display); letter-spacing: -.04em; }
.metric-strip span { color: var(--color-muted); line-height: 1.35; }
.map-section, .provider-section, .record-section { margin-top: clamp(var(--space-2xl), 8vw, 7rem); }
.section-heading { display: grid; gap: var(--space-md); align-items: end; margin-bottom: var(--space-lg); }
.section-heading h2 { margin: 0; font: 400 clamp(2rem, 5vw, 3.6rem)/.95 var(--font-display); letter-spacing: -.035em; overflow-wrap: anywhere; }
.section-heading p { max-width: 65ch; margin: var(--space-sm) 0 0; color: var(--color-muted); line-height: 1.55; }
.section-heading > a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--color-ink); font-weight: 700; text-underline-offset: .25em; white-space: nowrap; }
.world-map { position: relative; min-height: clamp(22rem, 52vw, 39rem); overflow: clip; background: var(--color-surface); border: var(--rule-thin) solid var(--color-rule); isolation: isolate; }
.world-map::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(to right, color-mix(in oklch, var(--color-map-line) 22%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklch, var(--color-map-line) 22%, transparent) 1px, transparent 1px); background-size: 10% 20%; }
.world-map svg { position: absolute; inset: 7% 3%; width: 94%; height: 86%; }
.world-map svg path { fill: var(--color-map-land); stroke: var(--color-map-line); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.map-marker { position: absolute; inset-inline-start: var(--map-x); inset-block-start: var(--map-y); z-index: 2; display: grid; justify-items: center; color: var(--color-ink); text-decoration: none; transform: translate(-50%, -50%); }
.map-marker span { display: grid; place-items: center; min-width: 2.2rem; height: 2.2rem; padding-inline: var(--space-xs); border-radius: 2rem; color: var(--color-paper); background: var(--color-ink); border: 2px solid var(--color-paper); box-shadow: 0 0 0 1px var(--color-ink); font: 700 var(--text-2xs)/1 var(--font-body); transition: background-color var(--dur-fast) var(--ease-out); }
.map-marker strong { display: none; max-width: 8rem; margin-top: var(--space-xs); padding: var(--space-2xs) var(--space-xs); color: var(--color-ink); background: color-mix(in oklch, var(--color-surface) 92%, transparent); font-size: var(--text-3xs); line-height: 1.15; text-align: center; }
.map-marker.is-active span { color: var(--color-accent-ink); background: var(--color-accent); box-shadow: 0 0 0 2px var(--color-accent); }
.map-region-list { display: grid; grid-template-columns: minmax(0, 1fr); border-inline-start: var(--rule-thin) solid var(--color-rule); }
.map-region-list a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xs); min-width: 0; min-height: 3rem; padding: var(--space-xs) var(--space-sm); color: var(--color-ink); border-inline-end: var(--rule-thin) solid var(--color-rule); border-block-end: var(--rule-thin) solid var(--color-rule); text-decoration: none; }
.map-region-list a[aria-current="true"] { color: var(--color-accent-deep); background: var(--color-paper-2); box-shadow: inset 3px 0 var(--color-accent); }
.map-region-list span { min-width: 0; font-size: var(--text-xs); line-height: 1; white-space: nowrap; }
.map-region-list strong { font-size: var(--text-xs); }
.map-legend { display: flex; flex-wrap: wrap; gap: var(--space-md) var(--space-xl); padding-top: var(--space-sm); color: var(--color-muted); font-size: var(--text-xs); }
.map-legend span { display: inline-flex; align-items: center; gap: var(--space-xs); }
.map-legend i { width: .65rem; height: .65rem; border-radius: 50%; background: var(--color-ink); }
.map-legend .legend-selected { background: var(--color-accent); }
.insight-grid { display: grid; gap: var(--space-2xl); margin-top: clamp(var(--space-2xl), 8vw, 7rem); }
.grade-list { border-top: var(--rule-thin) solid var(--color-ink); }
.grade-list a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-sm); min-height: 3rem; color: var(--color-ink); border-bottom: var(--rule-thin) solid var(--color-rule); text-decoration: none; }
.grade-list a > span:nth-child(2) { overflow-wrap: anywhere; }
.grade-dot { display: inline-block; flex: 0 0 auto; width: .7rem; height: .7rem; border-radius: 50%; border: var(--rule-thin) solid color-mix(in oklch, var(--color-ink) 22%, transparent); vertical-align: middle; }
.grade-green { background: var(--color-grade-green); }.grade-brown { background: var(--color-grade-brown); }.grade-orange { background: var(--color-grade-orange); }.grade-grey { background: var(--color-grade-grey); }.grade-lilac { background: var(--color-grade-lilac); }.grade-yellow { background: var(--color-grade-yellow); }.grade-white { background: var(--color-grade-white); }.grade-blue { background: var(--color-grade-blue); }.grade-red { background: var(--color-grade-red); }.grade-pink { background: var(--color-grade-pink); }.grade-not-graded { background: var(--color-grade-unknown); }
.change-list { list-style: none; margin: 0; padding: 0; border-top: var(--rule-thin) solid var(--color-ink); }
.change-list li { border-bottom: var(--rule-thin) solid var(--color-rule); }
.change-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-sm); align-items: center; min-height: 4.25rem; color: var(--color-ink); text-decoration: none; }
.change-list a > span:first-child { min-width: 0; display: grid; gap: var(--space-2xs); }
.change-list small, .change-list time { color: var(--color-muted); }
.change-list time { grid-column: 2; font-size: var(--text-xs); }
.grade-shift { display: none; align-items: center; gap: var(--space-2xs); white-space: nowrap; font-size: var(--text-xs); }
.filter-form { padding: var(--space-lg); background: var(--color-ink); color: var(--color-paper); }
.filter-form label { display: grid; gap: var(--space-xs); min-width: 0; font-size: var(--text-xs); font-weight: 700; }
.filter-form input, .filter-form select { width: 100%; min-width: 0; height: 3rem; padding-inline: var(--space-sm); color: var(--color-ink); background: var(--color-paper); border: var(--rule-thin) solid var(--color-rule-2); border-radius: var(--radius-sm); outline: 3px solid transparent; outline-offset: 1px; }
.filter-form input:focus-visible, .filter-form select:focus-visible { border-color: var(--color-ink-2); outline-color: var(--color-focus); }
.filter-form input:disabled, .filter-form select:disabled { opacity: .55; cursor: not-allowed; background: var(--color-paper-2); }
.search-field { grid-template-columns: minmax(0, 1fr) auto; }
.search-field > span { grid-column: 1 / -1; }
.search-field input { border-start-end-radius: 0; border-end-end-radius: 0; }
.search-field button { min-height: 3rem; padding-inline: var(--space-lg); color: var(--color-accent-ink); background: var(--color-accent); border: var(--rule-thin) solid var(--color-accent); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-weight: 700; cursor: pointer; white-space: nowrap; }
.filter-grid { display: grid; gap: var(--space-md); margin-top: var(--space-lg); }
.filter-action { min-height: 3rem; align-self: end; color: var(--color-ink); background: var(--color-paper-2); border: var(--rule-thin) solid var(--color-paper-2); border-radius: var(--radius-sm); font-weight: 700; cursor: pointer; white-space: nowrap; }
.provider-list { border-top: var(--rule-thin) solid var(--color-ink); }
.provider-list > article { position: relative; display: grid; gap: var(--space-lg); padding-block: var(--space-lg); border-bottom: var(--rule-thin) solid var(--color-rule); }
.provider-identity { min-width: 0; }
.provider-identity h3 { margin: var(--space-sm) 0 var(--space-xs); font: 400 var(--text-xl)/1.05 var(--font-display); overflow-wrap: anywhere; }
.provider-identity h3 a { color: var(--color-ink); text-decoration-color: var(--color-rule-2); text-underline-offset: .2em; }
.provider-identity p { margin: 0; color: var(--color-muted); line-height: 1.45; }
.grade-pill { display: inline-flex; align-items: center; min-height: 1.75rem; padding-inline: var(--space-sm); color: var(--color-paper); background: var(--color-grade-unknown); border-radius: 2rem; font-size: var(--text-2xs); font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.grade-pill.grade-green { background: var(--color-grade-green); }.grade-pill.grade-brown { background: var(--color-grade-brown); }.grade-pill.grade-orange { background: var(--color-grade-orange); color: var(--color-ink); }.grade-pill.grade-grey { background: var(--color-grade-grey); }.grade-pill.grade-lilac { background: var(--color-grade-lilac); color: var(--color-ink); }.grade-pill.grade-yellow { background: var(--color-grade-yellow); color: var(--color-ink); }.grade-pill.grade-white { color: var(--color-ink); background: var(--color-grade-white); border: var(--rule-thin) solid var(--color-rule-2); }.grade-pill.grade-blue { background: var(--color-grade-blue); }.grade-pill.grade-red { background: var(--color-grade-red); }.grade-pill.grade-pink { color: var(--color-ink); background: var(--color-grade-pink); }
.provider-list dl, .provider-hero dl, .audit-grid dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); margin: 0; }
.provider-list dl div, .provider-hero dl div, .audit-grid dl div { min-width: 0; }
.provider-list dt, .provider-hero dt, .audit-grid dt { margin-bottom: var(--space-2xs); color: var(--color-muted); font-size: var(--text-xs); }
.provider-list dd, .provider-hero dd, .audit-grid dd { margin: 0; overflow-wrap: anywhere; line-height: 1.35; }
.restriction-flag { color: var(--color-accent-deep); font-weight: 800; }
.row-link, .back-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-xs); color: var(--color-ink); font-weight: 700; text-underline-offset: .25em; white-space: nowrap; }
.pagination { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-md); padding-top: var(--space-lg); }
.pagination span { color: var(--color-muted); }
.pagination div { display: flex; gap: var(--space-sm); }
.pagination a { display: inline-flex; min-height: 2.75rem; align-items: center; padding-inline: var(--space-md); color: var(--color-paper); background: var(--color-ink); text-decoration: none; white-space: nowrap; }
.empty-state { padding: var(--space-2xl); background: var(--color-paper-2); }
.empty-state h3 { margin: 0; font: 400 var(--text-xl) var(--font-display); }
.empty-state p { margin-bottom: 0; color: var(--color-muted); }
.provider-main { width: min(100% - 2rem, 78rem); }
.provider-hero { display: grid; gap: var(--space-2xl); margin-top: var(--space-xl); padding-block: var(--space-xl); border-block: var(--rule-thin) solid var(--color-ink); }
.provider-hero > div > p:last-child { margin: var(--space-lg) 0 0; color: var(--color-muted); font-size: var(--text-lg); }
.provider-hero dl { align-content: end; }
.audit-grid { display: grid; gap: var(--space-md); }
.audit-grid article { min-width: 0; padding: var(--space-lg); background: var(--color-surface); border: var(--rule-thin) solid var(--color-rule); }
.audit-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-sm); color: var(--color-muted); font-size: var(--text-xs); }
.audit-grid h3 { margin: var(--space-lg) 0 var(--space-sm); font: 400 var(--text-xl)/1.08 var(--font-display); overflow-wrap: anywhere; }
.audit-grid article > p { min-height: 4.5em; color: var(--color-muted); line-height: 1.55; }
.audit-grid dl { padding-top: var(--space-md); border-top: var(--rule-thin) solid var(--color-rule); }
.restriction-list { display: grid; gap: var(--space-md); }
.restriction-list > article { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-lg); padding: var(--space-lg); color: var(--color-paper); background: var(--color-ink); }
.restriction-number { color: var(--color-accent); font: 700 var(--text-xs) var(--font-mono); }
.restriction-list section + section { margin-top: var(--space-lg); padding-top: var(--space-lg); border-top: var(--rule-thin) solid color-mix(in oklch, var(--color-paper) 22%, transparent); }
.restriction-list h3 { margin: 0 0 var(--space-sm); color: color-mix(in oklch, var(--color-paper) 68%, var(--color-accent)); font-size: var(--text-xs); letter-spacing: .09em; text-transform: uppercase; }
.restriction-list p { margin: 0; line-height: 1.58; }
.history-list { list-style: none; margin: 0; padding: 0; border-top: var(--rule-thin) solid var(--color-ink); }
.history-list li { display: grid; gap: var(--space-sm); padding-block: var(--space-md); border-bottom: var(--rule-thin) solid var(--color-rule); }
.history-list time { color: var(--color-muted); font-size: var(--text-sm); }
.history-list span { display: flex; align-items: center; gap: var(--space-xs); font-weight: 700; }
@media (hover: hover) and (pointer: fine) {
  .workspace-nav nav a:hover, .brand-link:hover, .section-heading > a:hover, .row-link:hover, .back-link:hover { color: var(--color-accent-deep); }
  .map-marker:hover span { background: var(--color-accent); }
  .grade-list a:hover, .change-list a:hover, .map-region-list a:hover { background: var(--color-paper-2); }
  .provider-identity h3 a:hover { text-decoration-color: var(--color-accent); }
  .search-field button:hover { background: var(--color-accent-deep); }
  .filter-action:hover { background: var(--color-paper); }
}
.workspace-page a:active { color: var(--color-accent-deep); }
.search-field button:active, .filter-action:active { transform: translateY(1px); }
.search-field button:disabled, .filter-action:disabled { opacity: .55; cursor: not-allowed; }
@media (min-width: 40rem) {
  .workspace-heading, .section-heading, .provider-hero { grid-template-columns: minmax(0, 1fr) auto; }
  .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-strip article { padding-inline: var(--space-lg); border-bottom: var(--rule-thin) solid var(--color-rule); }
  .metric-strip article:nth-child(odd) { border-inline-end: var(--rule-thin) solid var(--color-rule); }
  .metric-strip article:nth-last-child(-n+2) { border-bottom: 0; }
  .map-marker strong { display: block; }
  .map-region-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grade-shift { display: flex; }
  .change-list a { grid-template-columns: minmax(0, 1fr) auto auto; }
  .change-list time { grid-column: auto; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .provider-list > article { grid-template-columns: minmax(13rem, 1.25fr) minmax(0, 2fr) auto; align-items: center; }
  .audit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .history-list li { grid-template-columns: minmax(10rem, .35fr) minmax(0, 1fr); align-items: center; }
}
@media (min-width: 28rem) and (max-width: 39.99rem) { .map-region-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) {
  .metric-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .metric-strip article { border-inline-end: var(--rule-thin) solid var(--color-rule); border-bottom: 0; }
  .metric-strip article:last-child { border-inline-end: 0; }
  .insight-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .map-region-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .filter-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 39.99rem) {
  .workspace-nav { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-sm); }
  .workspace-nav nav { grid-column: 1 / -1; grid-row: 2; order: 3; justify-content: flex-start; border-top: var(--rule-thin) solid var(--color-rule); }
  .workspace-nav .text-action { min-height: 2.5rem; }
  .world-map { min-height: 22rem; }
  .provider-list dl { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .search-field button:active, .filter-action:active { transform: none; } }
