/* =========================================================
   Stage 6.2.4 — FINAL VISUAL HARMONIZATION
   Selected identity: neutral light surfaces + restrained green accent.
   This file is intentionally loaded AFTER app-specific styles.
   No layout/business logic is defined here except the approved
   Form Builder filter-action containment fix.
   ========================================================= */

:root{
  --ui-final-bg:#f7f8f6;
  --ui-final-surface:#ffffff;
  --ui-final-surface-soft:#fafbfa;
  --ui-final-text:#1f2933;
  --ui-final-text-2:#667085;
  --ui-final-muted:#7c8792;
  --ui-final-border:#e4e7ec;
  --ui-final-border-soft:#ecefed;
  --ui-final-green:#356859;
  --ui-final-green-hover:#2e594d;
  --ui-final-green-soft:#eaf2ee;
  --ui-final-green-softer:#f3f7f5;

  /* Legacy/common aliases — remove blue/teal from primary actions. */
  --button-bg:var(--ui-final-green);
  --button-hover-bg:var(--ui-final-green-hover);
  --default-button-bg:var(--ui-final-green);
  --default-button-hover-bg:var(--ui-final-green-hover);
  --link-fg:var(--ui-final-green);
  --body-bg:var(--ui-final-surface);
  --body-fg:var(--ui-final-text);
  --body-quiet-color:var(--ui-final-text-2);
  --hairline-color:var(--ui-final-border);
  --border-color:var(--ui-final-border);
  --darkened-bg:#f3f5f4;
  --selected-bg:var(--ui-final-green-soft);

  /* Analytics legacy palette. */
  --ana-green:var(--ui-final-green);
  --ana-green-2:#4f7c6f;
  --ana-green-soft:var(--ui-final-green-soft);
  --ana-blue:var(--ui-final-green);
  --ana-line:var(--ui-final-border);
  --ana-card:var(--ui-final-surface);
  --ana-muted:var(--ui-final-text-2);
  --ana-text:var(--ui-final-text);
}

/* ---------- GLOBAL SURFACES ---------- */
html,body,.site-body{
  background:var(--ui-final-bg)!important;
  color:var(--ui-final-text);
}
.site-content{background:var(--ui-final-bg)}
.site-topbar,
.site-sidebar,
.site-card,
.insp-card,
.insp-head-card,
.insp-filter-card,
.ana-card,
.ana-kpi,
.ana-filters,
.ana-table-wrap,
.fd-form-card,
.fd-version-center .fd-list-shell,
.fd-version-center .fd-list-filters{
  background:var(--ui-final-surface)!important;
  border-color:var(--ui-final-border)!important;
}
.site-topbar,
.site-sidebar{
  box-shadow:none!important;
}
.site-topbar{border-bottom:1px solid var(--ui-final-border)!important}
.site-sidebar{border-left:1px solid var(--ui-final-border)!important}

/* ---------- TEXT HIERARCHY ---------- */
.site-topbar-title strong,
.site-brand-copy strong,
.insp-head h1,
.insp-head-card h1,
.ana-heading h1,
.ana-hero h1,
.fd-page-head h1,
.fd-version-center h1{
  color:var(--ui-final-text)!important;
}
.site-topbar-title small,
.site-brand-copy small,
.insp-kicker,
.insp-muted,
.ana-heading p,
.ana-hero p,
.ana-filter-label,
.fd-head-meta,
.fd-card-meta,
.fd-version-center small{
  color:var(--ui-final-text-2)!important;
}

/* ---------- GLOBAL SHELL ---------- */
.site-brand-mark{
  background:var(--ui-final-green)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.site-nav-section-label{color:#8a949e!important}
.site-nav-link{
  color:#475467!important;
}
.site-nav-link:hover{
  color:var(--ui-final-green-hover)!important;
  background:var(--ui-final-green-softer)!important;
}
.site-nav-link.is-active,
.site-nav-link[aria-current="page"]{
  color:var(--ui-final-green-hover)!important;
  background:var(--ui-final-green-soft)!important;
  box-shadow:inset -3px 0 0 var(--ui-final-green)!important;
}
.site-nav-link.is-active .site-nav-icon,
.site-nav-link[aria-current="page"] .site-nav-icon{
  color:var(--ui-final-green)!important;
}
.site-profile-trigger:hover,
.site-icon-btn:hover,
.site-sidebar-collapse:hover{
  background:var(--ui-final-green-softer)!important;
  color:var(--ui-final-green-hover)!important;
}
.site-primary-btn{
  background:var(--ui-final-green)!important;
  border-color:var(--ui-final-green)!important;
  color:#fff!important;
}
.site-primary-btn:hover{
  background:var(--ui-final-green-hover)!important;
  border-color:var(--ui-final-green-hover)!important;
}
.site-pagination a.is-current,
.site-pagination .is-current{
  background:var(--ui-final-green)!important;
  border-color:var(--ui-final-green)!important;
  color:#fff!important;
}

/* ---------- INPUTS / FILTERS ---------- */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea{
  border-color:var(--ui-final-border);
}
input:not([type="checkbox"]):not([type="radio"]):hover,
select:hover,
textarea:hover{
  border-color:#ccd4dc;
}
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus{
  border-color:var(--ui-final-green)!important;
}

/* ---------- INSPECTIONS ---------- */
.insp-head-card .insp-kicker,
.insp-kicker,
.insp-link,
.insp-link-btn{
  color:var(--ui-final-green)!important;
}
.insp-btn-primary,
.insp-btn.insp-btn-primary,
a.insp-btn.insp-btn-primary,
a.insp-btn.insp-btn-primary:link,
a.insp-btn.insp-btn-primary:visited{
  background:var(--ui-final-green)!important;
  border-color:var(--ui-final-green)!important;
  color:#fff!important;
}
.insp-btn-primary:hover,
.insp-btn.insp-btn-primary:hover,
a.insp-btn.insp-btn-primary:hover{
  background:var(--ui-final-green-hover)!important;
  border-color:var(--ui-final-green-hover)!important;
}
.insp-btn-secondary,
.insp-btn.insp-btn-secondary{
  background:#fff!important;
  border-color:var(--ui-final-border)!important;
  color:#344054!important;
}
.insp-btn-secondary:hover,
.insp-btn.insp-btn-secondary:hover{
  color:var(--ui-final-green-hover)!important;
  border-color:#bfcfc8!important;
  background:var(--ui-final-green-softer)!important;
}
.insp-filter-card input,
.insp-filter-card select{
  border-color:var(--ui-final-border)!important;
  background:#fff!important;
}
.insp-status,
.insp-status-issued,
.insp-status-draft{
  background:#f3f5f4!important;
  border-color:var(--ui-final-border)!important;
  color:#59636e!important;
}
.insp-status-in_progress{
  background:var(--ui-final-green-soft)!important;
  border-color:#c9ddd3!important;
  color:var(--ui-final-green-hover)!important;
}
.insp-status-onsite_completed{
  background:#eef2ef!important;
  border-color:#d4ddd8!important;
  color:#4e635a!important;
}
.insp-status-chip.is-team_review,
.insp-status-chip.is-editing{
  background:var(--ui-final-green-softer)!important;
  border-color:#d2dfd8!important;
  color:var(--ui-final-green-hover)!important;
}
.insp-progress-step.is-active>span{
  border-color:var(--ui-final-green)!important;
  color:var(--ui-final-green)!important;
}
.insp-progress-step.is-done>span,
.insp-progress-line.is-done{
  border-color:#9fc3b2!important;
  background:var(--ui-final-green-soft)!important;
  color:var(--ui-final-green-hover)!important;
}
.insp-action-chip{
  /* Warning remains semantic amber, intentionally not green. */
  color:#765400!important;
}

/* ---------- ANALYTICS ---------- */
.ana-eyebrow,
.ana-sort-link:hover,
.ana-sort-link.is-active{
  color:var(--ui-final-green)!important;
}
.ana-heading-actions .is-strong,
.ana-filter-btn,
.ana-hero-actions .is-strong,
.ana-analysis-tabs button.is-active,
.ana-analysis-tabs a.is-active{
  background:var(--ui-final-green)!important;
  border-color:var(--ui-final-green)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.ana-heading-actions .is-strong:hover,
.ana-filter-btn:hover,
.ana-hero-actions .is-strong:hover,
.ana-analysis-tabs button.is-active:hover,
.ana-analysis-tabs a.is-active:hover{
  background:var(--ui-final-green-hover)!important;
  border-color:var(--ui-final-green-hover)!important;
}
.ana-heading-actions a,
.ana-filter-reset,
.ana-hero-actions a{
  border-color:var(--ui-final-border)!important;
  color:#475467!important;
}
.ana-analysis-tabs button:hover,
.ana-analysis-tabs a:hover,
.ana-filter-reset:hover{
  background:var(--ui-final-green-softer)!important;
  color:var(--ui-final-green-hover)!important;
}
.ana-hero{
  border-color:var(--ui-final-border)!important;
  background:
    radial-gradient(circle at 10% 20%,rgba(53,104,89,.055),transparent 31%),
    linear-gradient(135deg,#fff 0%,#fafbfa 62%,#f3f6f4 100%)!important;
  box-shadow:0 8px 24px rgba(31,41,51,.045)!important;
}
.ana-hero::before{
  background:linear-gradient(
    90deg,
    var(--ui-final-green),
    #6f9185 58%,
    #9aaba4
  )!important;
}
.ana-hero-badge{
  background:var(--ui-final-green-soft)!important;
  color:var(--ui-final-green-hover)!important;
  border-color:#d4e2db!important;
}
.ana-kpi.is-score::before,
.ana-kpi.is-response::before{
  background:#6d857b!important;
}
.ana-table td>a,
.ana-table-action{
  color:var(--ui-final-green)!important;
  border-color:#d4e1da!important;
  background:#fbfcfb!important;
}

/* ---------- FORM BUILDER ---------- */
.fd-studio,
.fd-version-center{
  --fd-primary:var(--ui-final-green)!important;
  --fd-primary-strong:var(--ui-final-green-hover)!important;
  --fd-accent:var(--ui-final-green-soft)!important;
  --fd-soft:var(--ui-final-green-softer)!important;
  --fd-soft-strong:var(--ui-final-green-soft)!important;
  --fd-page:var(--ui-final-bg)!important;
  --fd-text:var(--ui-final-text)!important;
  --fd-muted:var(--ui-final-text-2)!important;
  --fd-line:var(--ui-final-border)!important;
}
.fd-studio .fd-btn-primary,
.fd-version-center-head>.fd-btn-primary{
  background:var(--ui-final-green)!important;
  border-color:var(--ui-final-green)!important;
  color:#fff!important;
}
.fd-studio .fd-btn-primary:hover,
.fd-version-center-head>.fd-btn-primary:hover{
  background:var(--ui-final-green-hover)!important;
  border-color:var(--ui-final-green-hover)!important;
}
.fd-studio .fd-btn-soft,
.fd-device-switch .is-active,
.fd-view-btn.is-active,
#fd-bulk-mode.is-active{
  color:var(--ui-final-green-hover)!important;
}
.fd-node-row:hover,
.fd-node-row.is-selected{
  background:var(--ui-final-green-softer)!important;
}

/* Final fix for the Form Builder filter button:
   the last grid column gets a guaranteed width and the button can never
   overflow the filter card. */
.fd-version-center .fd-list-filters{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.fd-version-center .fd-list-filters>*{
  min-width:0!important;
  max-width:100%!important;
}
.fd-version-center .fd-filter-actions{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  justify-self:stretch!important;
  align-self:end!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.fd-version-center .fd-filter-actions .fd-btn{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:42px!important;
  min-height:42px!important;
  padding-inline:8px!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.fd-version-center .fd-filter-actions .fd-btn-primary{
  background:#fff!important;
  color:var(--ui-final-green)!important;
  border-color:var(--ui-final-green)!important;
  box-shadow:none!important;
}
.fd-version-center .fd-filter-actions .fd-btn-primary:hover{
  background:var(--ui-final-green-softer)!important;
  color:var(--ui-final-green-hover)!important;
  border-color:var(--ui-final-green-hover)!important;
}

@media (min-width:1201px){
  .fd-version-center .fd-list-filters{
    grid-template-columns:
      minmax(160px,1.28fr)
      minmax(116px,.82fr)
      minmax(136px,.92fr)
      minmax(168px,1.12fr)
      minmax(102px,.72fr)
      68px
      minmax(122px,.80fr)!important;
    column-gap:10px!important;
  }
}

/* ---------- LOGIN ---------- */
.login-shell{
  background:var(--ui-final-bg)!important;
}
.login-card{
  border-color:var(--ui-final-border)!important;
}
.login-card input{
  border-color:var(--ui-final-border)!important;
  background:#fff!important;
}
.login-card input:focus{
  border-color:var(--ui-final-green)!important;
}
.login-brand h1{color:var(--ui-final-text)!important}

/* Semantic colors remain semantic:
   error/danger = red, warning = amber, info = blue only when it truly means info. */
