/* NearbyCheck final design-system contract.
   This file loads LAST and is deliberately authoritative.

   Brand/action rule:
   - ultramarine = action, selection, focus, navigation state
   - graphite = structure, secondary actions, Best Match decision surface
   - green = tiny semantic success evidence only
   - amber/red = caution/failure only

   Geometry rule:
   - square / lightly rounded utility controls
   - no legacy pill soup, lifestyle-card shadows or forest-green interaction states
*/

:root{
  --nc-canvas:#f2f3f0;
  --nc-paper:#fbfcfa;
  --nc-paper-2:#f7f8f5;
  --nc-ink:#0b0e0d;
  --nc-ink-2:#1d2421;
  --nc-muted:#5f6763;
  --nc-faint:#7d8581;
  --nc-line:#cfd3cf;
  --nc-line-strong:#aeb5b0;
  --nc-accent:#2848e8;
  --nc-accent-dark:#1733bd;
  --nc-accent-soft:#edf0ff;
  --nc-good:#17623f;
  --nc-good-soft:#e8f3ed;
  --nc-warn:#9b6500;
  --nc-warn-soft:#fff3d6;
  --nc-danger:#9b3434;
  --nc-danger-soft:#fff0f0;
  --nc-action:var(--nc-accent);
  --nc-action-dark:var(--nc-accent-dark);
  --nc-action-soft:var(--nc-accent-soft);
  --nc-radius:4px;
  --nc-radius-sm:2px;
}

html{background:var(--nc-canvas)!important}
body{
  background:var(--nc-canvas)!important;
  background-image:none!important;
  color:var(--nc-ink)!important;
  font-family:"Helvetica Neue",Helvetica,Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:-.012em;
}
body::before{display:none!important}
::selection{background:var(--nc-action);color:#fff}

/* ---------- Brand / chrome ---------- */
.topbar{
  min-height:64px!important;
  border-bottom:1px solid var(--nc-ink)!important;
  background:rgba(242,243,240,.97)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.brand{color:var(--nc-ink)!important;text-decoration:none!important}
.brand-mark{
  position:relative;
  width:29px!important;
  height:29px!important;
  border:1px solid var(--nc-ink)!important;
  border-radius:2px!important;
  background:var(--nc-ink)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.brand-mark::before{
  content:"";
  position:absolute;
  right:-1px;
  bottom:-1px;
  width:8px;
  height:8px;
  border-left:1px solid #fff;
  border-top:1px solid #fff;
  background:var(--nc-action);
}
.brand-mark::after{display:none!important}
.pilot-badge{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--nc-muted)!important;
  box-shadow:none!important;
  text-transform:uppercase;
  letter-spacing:.11em!important;
}
.pilot-badge[href]:hover{color:var(--nc-ink)!important}
.pilot-badge::before{color:var(--nc-action)!important}

/* ---------- One interaction language ---------- */
button:focus-visible,
a:focus-visible,
input:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--nc-action)!important;
  outline-offset:2px!important;
}

.search-field-wrap input:focus{
  border-color:var(--nc-action)!important;
  box-shadow:0 0 0 3px rgba(40,72,232,.12)!important;
}
.search-suggestion:hover,
.search-suggestion:focus-visible,
.search-suggestion.keyboard-active{
  background:var(--nc-action-soft)!important;
  color:var(--nc-ink)!important;
  outline-color:var(--nc-action)!important;
}

.quick-intent.active{
  border-color:var(--nc-action)!important;
  background:var(--nc-action)!important;
  color:#fff!important;
}
.quick-intent.active::after{color:#dfe3ff!important}
.quick-intent:hover:not(.active){
  border-color:var(--nc-line-strong)!important;
  background:#eef0ec!important;
  color:var(--nc-ink)!important;
}

.time-tab.active{
  border-color:var(--nc-action)!important;
  background:var(--nc-action)!important;
  color:#fff!important;
  box-shadow:none!important;
}

.need-chip,
.decision-intent,
.location-retry,
.location-switch,
.feedback-button,
.po7-recovery-actions button,
.po7-feedback-reasons button,
.outcome-prompt-actions button,
.outcome-reasons button,
.card-freshness,
.po-scope,
.match-pill,
.source-badge{
  border-radius:var(--nc-radius-sm)!important;
}

.need-chip.active,
.need-chip.intent-hard-selected{
  border-color:var(--nc-action)!important;
  background:var(--nc-action-soft)!important;
  color:var(--nc-action-dark)!important;
  box-shadow:none!important;
}
.need-chip.active:hover,
.need-chip.intent-hard-selected:hover{border-color:var(--nc-action-dark)!important}
.need-chip.intent-soft-selected{
  border-style:dashed!important;
  border-color:#9da9df!important;
  background:#f2f4ff!important;
  color:#35479d!important;
}
.need-chip.intent-soft-selected::after{color:#6673ad!important}

.decision-intent:hover,
.decision-intent:focus-visible{
  border-color:var(--nc-action)!important;
  color:var(--nc-action-dark)!important;
}
.decision-intent.active{
  border-color:var(--nc-action)!important;
  background:var(--nc-action)!important;
  color:#fff!important;
}

.primary-button{
  border:1px solid var(--nc-action)!important;
  border-radius:var(--nc-radius)!important;
  background:var(--nc-action)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.primary-button:not(:disabled):hover{
  border-color:var(--nc-action-dark)!important;
  background:var(--nc-action-dark)!important;
  box-shadow:none!important;
}

.location-retry,
.location-switch{
  border-color:var(--nc-line-strong)!important;
  background:transparent!important;
  color:var(--nc-ink)!important;
  text-decoration-color:var(--nc-line-strong)!important;
}
.location-retry:hover,
.location-retry:focus-visible,
.location-switch:hover,
.location-switch:focus-visible{
  border-color:var(--nc-action)!important;
  color:var(--nc-action-dark)!important;
  text-decoration-color:var(--nc-action)!important;
}

/* Current-check actions: Refresh is the active command; Change stays neutral. */
.decision-check-actions button{
  border-radius:var(--nc-radius-sm)!important;
  border-color:var(--nc-line-strong)!important;
  background:#fff!important;
  color:var(--nc-ink)!important;
}
.decision-check-actions button[data-decision-check-action="refresh"]{
  border-color:var(--nc-action)!important;
  background:var(--nc-action)!important;
  color:#fff!important;
}
.decision-check-actions button[data-decision-check-action="refresh"]:hover{
  border-color:var(--nc-action-dark)!important;
  background:var(--nc-action-dark)!important;
}

/* ---------- Decision/result hierarchy ---------- */
.decision-good,
.decision-caution,
.po6-has-results .decision-banner{
  border-color:var(--nc-ink)!important;
  background:var(--nc-ink)!important;
  color:#fff!important;
}

.po6-has-results .decision-primary.nearbycheck-directions{
  border-color:var(--nc-action)!important;
  background:var(--nc-action)!important;
  color:#fff!important;
}
.po6-has-results .decision-primary.nearbycheck-directions:hover{
  border-color:var(--nc-action-dark)!important;
  background:var(--nc-action-dark)!important;
}

.po6-has-results .place-card .card-actions > a:not(.po6-coordinate-link),
.po6-has-results .po6-card-directions{
  border-color:var(--nc-ink)!important;
  background:var(--nc-ink)!important;
  color:#fff!important;
  border-radius:var(--nc-radius-sm)!important;
}
.po6-has-results .place-card .card-actions > a:not(.po6-coordinate-link):hover,
.po6-has-results .po6-card-directions:hover{
  border-color:#303633!important;
  background:#303633!important;
}
.po6-has-results .po6-evidence-action,
.secondary-button{
  border-color:var(--nc-line-strong)!important;
  background:transparent!important;
  color:var(--nc-ink)!important;
  border-radius:var(--nc-radius-sm)!important;
}

.po6-has-results .view-tab.active{
  border-bottom-color:var(--nc-action)!important;
  background:transparent!important;
  color:var(--nc-ink)!important;
  box-shadow:none!important;
}
.po6-has-results .view-tab::after{background:var(--nc-action)!important}

.decision-results-toggle,
.try-nearby-toggle{
  border-radius:var(--nc-radius-sm)!important;
  border-color:var(--nc-line-strong)!important;
  background:transparent!important;
  color:var(--nc-ink)!important;
}
.decision-results-toggle:hover,
.try-nearby-toggle:hover{
  border-color:var(--nc-action)!important;
  background:var(--nc-action-soft)!important;
  color:var(--nc-action-dark)!important;
}

/* Source identity is information, not "success". */
.po-scope-city,
.source-badge{
  border-color:#cbd3f5!important;
  background:#eef1ff!important;
  color:#33479e!important;
}
.source-badge-curated,
.po-scope-snapshot{
  border-color:var(--nc-line)!important;
  background:#f0f1ee!important;
  color:var(--nc-muted)!important;
}

/* Green survives only where "yes/success" is actually the meaning. */
.status-dot.good{background:var(--nc-good)!important}
.capability.yes{color:var(--nc-good)!important}
.match-exact{
  border-color:#bcd8ca!important;
  background:var(--nc-good-soft)!important;
  color:var(--nc-good)!important;
}
.feedback-button.sent,
.po7-feedback-reasons button.sent{
  border-color:#cbd3f5!important;
  background:var(--nc-action-soft)!important;
  color:var(--nc-action-dark)!important;
}

/* Recovery and feedback are interactions, never forest-green micro-UIs. */
.po7-recovery{border-top-color:var(--nc-line)!important}
.po7-recovery>strong{color:var(--nc-ink)!important}
.po7-recovery-actions button,
.po7-feedback-reasons button{
  border-color:var(--nc-line-strong)!important;
  background:transparent!important;
  color:var(--nc-ink)!important;
}
.po7-recovery-actions button:hover,
.po7-feedback-reasons button:hover{
  border-color:var(--nc-action)!important;
  color:var(--nc-action-dark)!important;
  background:var(--nc-action-soft)!important;
}

/* ---------- Try Nearby ---------- */
.try-nearby-unconfirmed{
  border-color:#e2bd68!important;
  background:var(--nc-warn-soft)!important;
  color:#765000!important;
}
.try-nearby-access.warn{
  border-left-color:var(--nc-warn)!important;
  background:transparent!important;
  color:#765000!important;
}
.try-nearby-access.good{
  border-left-color:var(--nc-action)!important;
  background:transparent!important;
  color:var(--nc-action-dark)!important;
}
.try-nearby-directions{
  border-radius:var(--nc-radius-sm)!important;
  background:var(--nc-ink)!important;
  color:#fff!important;
}
.try-nearby-source{
  border-radius:var(--nc-radius-sm)!important;
  border:1px solid var(--nc-line-strong)!important;
  background:transparent!important;
  color:var(--nc-ink)!important;
}

/* ---------- Outcome prompt ---------- */
.outcome-prompt{
  border-radius:var(--nc-radius)!important;
  background:var(--nc-ink)!important;
  color:#fff!important;
}
.outcome-prompt-actions button,
.outcome-reasons button{
  border-radius:var(--nc-radius-sm)!important;
  border-color:#5c6460!important;
  background:#171c1a!important;
  color:#fff!important;
}
.outcome-prompt-actions [data-outcome-answer="worked"]{
  border-color:var(--nc-action)!important;
  background:var(--nc-action)!important;
  color:#fff!important;
}
.outcome-prompt-actions [data-outcome-answer="worked"]:hover{
  border-color:var(--nc-action-dark)!important;
  background:var(--nc-action-dark)!important;
}

/* ---------- Map: one palette, two distinguishable anchor states ---------- */
.nearbycheck-anchor-icon{
  background:var(--nc-action)!important;
  border:4px solid #fff!important;
  box-shadow:0 0 0 2px var(--nc-action),0 4px 14px rgba(40,72,232,.20)!important;
}
.nearbycheck-anchor-icon span{background:var(--nc-action)!important}
.nearbycheck-anchor-selected{
  background:var(--nc-ink)!important;
  box-shadow:0 0 0 2px var(--nc-action),0 4px 14px rgba(11,14,13,.20)!important;
}
.nearbycheck-anchor-selected span{background:var(--nc-ink)!important}
.nearbycheck-directions{
  border-radius:var(--nc-radius-sm)!important;
  background:var(--nc-action)!important;
  color:#fff!important;
}
.nearbycheck-directions:hover,
.nearbycheck-directions:focus-visible{
  background:var(--nc-action-dark)!important;
  outline-color:var(--nc-action)!important;
}

/* ---------- Secondary pages share the product, not a legacy theme ---------- */
.privacy-page{
  width:min(820px,100%)!important;
  margin:0 auto!important;
  padding:64px 0 88px!important;
}
.privacy-page>.eyebrow{
  color:var(--nc-action)!important;
  font-size:10px!important;
  font-weight:820!important;
  letter-spacing:.15em!important;
}
.privacy-page h1{
  max-width:780px!important;
  margin:12px 0 18px!important;
  color:var(--nc-ink)!important;
  font-size:clamp(44px,7vw,68px)!important;
  line-height:.96!important;
  font-weight:680!important;
  letter-spacing:-.06em!important;
}
.privacy-lead{
  max-width:720px!important;
  margin-bottom:38px!important;
  color:var(--nc-muted)!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.privacy-section{
  padding:24px 0!important;
  border-top:1px solid var(--nc-line)!important;
}
.privacy-section h2{
  color:var(--nc-ink)!important;
  font-size:24px!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
}
.privacy-section p,
.privacy-section li{
  color:var(--nc-muted)!important;
  font-size:14px!important;
  line-height:1.72!important;
}
.privacy-page a{color:var(--nc-action)!important}
.privacy-note{
  margin-top:24px!important;
  padding:13px 0 13px 14px!important;
  border:0!important;
  border-left:3px solid var(--nc-action)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--nc-muted)!important;
}

footer{
  border-top:1px solid var(--nc-ink)!important;
  color:var(--nc-faint)!important;
}
footer a{color:var(--nc-muted)!important}
footer a:hover{color:var(--nc-action)!important}

/* Supporting education cannot revive the old green brand. */
.moment-number,
.source-link,
.detail-dialog a:not(.secondary-button),
.how-it-works a{color:var(--nc-action)!important}
.how-it-works-disclosure{
  border-radius:0!important;
  border-color:var(--nc-line)!important;
  background:transparent!important;
}
.moment-grid article{border-radius:var(--nc-radius)!important}
.detail-dialog{border-radius:var(--nc-radius)!important}
.dialog-close{border-radius:var(--nc-radius-sm)!important}

@media(max-width:760px){
  .privacy-page{padding:38px 0 62px!important}
  .privacy-page h1{font-size:42px!important}
  .privacy-section{padding:20px 0!important}
}
