/**
 * Visibility Growth platform shell + surface bindings.
 */
@import url("vg-platform-layout.css");

.sa-vis-body--platform{
                margin:0;
                background:var(--vg-bg-page);
                color:var(--vg-text-body);
                font-family:var(--vg-font-body);
                overflow-x:hidden
            }
            .sa-vis-platform-header{
                position:sticky;
                top:0;
                z-index:30;
                padding:14px 20px;
                background:var(--vg-bg-header);
                border-bottom:1px solid var(--vg-border-subtle);
                backdrop-filter:blur(16px)
            }
            .sa-vis-platform-header-inner{
                max-width:1180px;
                margin:0 auto;
                display:flex;
                gap:18px;
                align-items:center;
                justify-content:space-between;
                flex-wrap:wrap
            }
            .sa-vis-platform-brand{
                display:inline-flex;
                align-items:center;
                gap:12px;
                color:var(--vg-text-heading);
                text-decoration:none
            }
            .sa-vis-platform-brand-mark{
                display:inline-flex;
                align-items:center;
                justify-content:center;
                width:42px;
                height:42px;
                border-radius:14px;
                background:var(--vg-bg-brand-mark);
                color:var(--vg-text-on-brand);
                font-size:13px;
                font-weight:900;
                letter-spacing:.08em
            }
            .sa-vis-platform-brand strong,.sa-vis-platform-brand small{display:block}
            .sa-vis-platform-brand strong{font-size:16px}
            .sa-vis-platform-brand small{color:var(--vg-text-muted);font-size:13px;margin-top:2px}
            .sa-vis-platform-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
            .sa-vis-platform-header-actions .sa-vis-platform-nav{justify-content:flex-end}
            .sa-vis-platform-nav a{
                padding:10px 14px;
                border-radius:999px;
                color:var(--vg-text-muted);
                text-decoration:none;
                font-weight:700;
                border:1px solid transparent;
                transition:background .16s ease,color .16s ease,border-color .16s ease
            }
            .sa-vis-platform-nav a:hover,.sa-vis-platform-nav a:focus,.sa-vis-platform-nav a.is-active{
                background:var(--vg-bg-nav-active);
                border-color:var(--vg-border-accent);
                color:var(--vg-text-heading)
            }
            .sa-vis-platform-footer{
                margin-top:auto;
                padding:22px 20px 28px;
                border-top:1px solid var(--vg-border-subtle);
                background:var(--vg-bg-footer)
            }
            .sa-vis-platform-footer-inner{
                max-width:1180px;
                margin:0 auto;
                display:flex;
                gap:14px 24px;
                flex-wrap:wrap;
                align-items:center;
                justify-content:space-between;
                color:var(--vg-text-muted);
                font-size:13px;
                line-height:1.55
            }
            .sa-vis-platform-footer-inner p{margin:0}
            .sa-vis-platform-footer-attrib{color:var(--vg-text-soft)}
            @media (max-width:760px){
                .sa-vis-platform-header{padding:12px 14px}
                .sa-vis-platform-header-inner{flex-direction:column;align-items:stretch}
                .sa-vis-platform-header-actions{display:grid;gap:8px}
                .sa-vis-platform-nav{display:grid;grid-template-columns:1fr;gap:8px}
                .sa-vis-platform-nav a{text-align:center}
                .sa-vis-platform-footer-inner{flex-direction:column;align-items:flex-start;gap:10px}
            }
.sa-vis-body--platform .sa-vis-page{color:var(--vg-text-body)}
            .sa-vis-body--platform .sa-vis-hero{background:var(--vg-bg-hero);color:var(--vg-text-heading);box-shadow:var(--vg-shadow-card)}
            .sa-vis-body--platform .sa-vis-sub{color:var(--vg-text-hero-sub)}
            .sa-vis-body--platform .sa-vis-disclaimer{color:var(--vg-text-hero-muted)}
            .sa-vis-body--platform .sa-vis-release-strip{color:var(--vg-text-release);background:var(--vg-bg-release);border:1px solid var(--vg-border-release)}
            .sa-vis-body--platform .sa-vis-loop span{background:var(--vg-bg-hero-loop);border:1px solid var(--vg-border-hero-loop)}
            .sa-vis-body--platform .sa-vis-answer-strip span{background:var(--vg-bg-hero-chip);border:1px solid var(--vg-border-hero-chip);color:var(--vg-text-hero-chip)}
            .sa-vis-body--platform .sa-vis-hero-panel-card{background:var(--vg-bg-hero-panel);border:1px solid var(--vg-border-hero-panel)}
            .sa-vis-body--platform .sa-vis-hero-panel-card p,.sa-vis-body--platform .sa-vis-hero-stat span{color:var(--vg-text-hero-sub)}
            .sa-vis-body--platform .sa-vis-hero-stat{background:var(--vg-bg-hero-stat);border:1px solid var(--vg-border-hero-panel)}
            .sa-vis-body--platform .sa-vis-section{
                background:var(--vg-bg-surface);
                border:1px solid var(--vg-border-subtle);
                box-shadow:var(--vg-shadow-card)
            }
            .sa-vis-body--platform .sa-vis-section h2{color:var(--vg-text-heading)}
            .sa-vis-body--platform .sa-vis-section-kicker{color:var(--vg-text-kicker)}
            .sa-vis-body--platform .sa-vis-section-intro,.sa-vis-body--platform .sa-vis-meta{color:var(--vg-text-muted)}
            .sa-vis-body--platform .sa-vis-meta-premium span{
                background:var(--vg-bg-muted);
                border-color:var(--vg-border-meta);
                color:var(--vg-text-body)
            }
            .sa-vis-body--platform .sa-vis-pill-card,.sa-vis-body--platform .sa-vis-card,.sa-vis-body--platform .sa-vis-breakdown-card,.sa-vis-body--platform .sa-vis-metric{
                background:var(--vg-bg-elevated);
                border-color:var(--vg-border-subtle);
                color:var(--vg-text-body);
                box-shadow:none
            }
            .sa-vis-body--platform .sa-vis-card strong,.sa-vis-body--platform .sa-vis-pill-card strong,.sa-vis-body--platform .sa-vis-breakdown-top strong{color:var(--vg-text-heading)}
            .sa-vis-body--platform .sa-vis-card span,.sa-vis-body--platform .sa-vis-pill-card span,.sa-vis-body--platform .sa-vis-breakdown-empty,.sa-vis-body--platform .sa-vis-row small{color:var(--vg-text-muted)}
            .sa-vis-body--platform .sa-vis-card-link{color:var(--vg-text-score)!important}
            .sa-vis-body--platform .sa-vis-breakdown-top span{color:var(--vg-text-score)}
            .sa-vis-body--platform .sa-vis-row{
                background:var(--vg-bg-elevated);
                border-color:var(--vg-border-subtle)
            }
            .sa-vis-body--platform .sa-vis-table--market > .sa-vis-row:not(.sa-vis-row-head):hover{
                border-color:var(--vg-border-accent)
            }
            .sa-vis-body--platform .sa-vis-lb-tie{
                background:var(--vg-bg-muted);
                border-color:var(--vg-border-subtle);
                color:var(--vg-text-muted)
            }
            .sa-vis-body--platform .sa-vis-lb-score-bar{
                background:var(--vg-bg-muted);
                border-color:var(--vg-border-subtle)
            }
            .sa-vis-body--platform .sa-vis-lb-score-bar-fill{background:var(--vg-brand-primary)}
            .sa-vis-body--platform .sa-vis-lb-score-num,.sa-vis-body--platform .sa-vis-lb-pos-num,.sa-vis-body--platform .sa-vis-lb-name{color:var(--vg-text-heading)}
            .sa-vis-body--platform .sa-vis-lb-report-link,.sa-vis-body--platform .sa-vis-lb-report-inline{color:var(--vg-text-score)}
            .sa-vis-body--platform .sa-vi-pill{background:var(--vg-bg-muted);border-color:var(--vg-border-subtle);color:var(--vg-text-body)}
            .sa-vis-body--platform .sa-vi-pill--measured{background:var(--vg-state-earned-notice-bg);border-color:var(--vg-state-earned-notice-border);color:var(--vg-state-earned-fg)}
            .sa-vis-body--platform .sa-vis-row-head{top:84px;background:var(--vg-bg-surface);color:var(--vg-text-heading)}
            .sa-vis-body--platform .sa-vis-row-link{color:var(--vg-text-heading)}
            .sa-vis-body--platform .sa-vis-row-meta span{
                background:var(--vg-bg-muted);
                border-color:var(--vg-border-subtle);
                color:var(--vg-text-muted)
            }
            .sa-vis-body--platform .sa-vis-rank-pill{
                background:var(--vg-bg-rank-pill);
                border-color:var(--vg-border-accent);
                color:var(--vg-text-heading)
            }
            .sa-vis-body--platform .sa-vis-movement{
                background:var(--vg-bg-muted);
                border-color:var(--vg-border-subtle)
            }
            .sa-vis-body--platform .sa-vis-movement-up{color:var(--vg-state-earned-fg)}
            .sa-vis-body--platform .sa-vis-movement-down{color:var(--vg-state-danger-fg)}
            .sa-vis-body--platform .sa-vis-movement-stable,.sa-vis-body--platform .sa-vis-movement-new{color:var(--vg-state-neutral-fg)}
            .sa-vis-body--platform .sa-vis-search input,.sa-vis-body--platform .sa-vis-form input{
                background:var(--vg-bg-page);
                border-color:var(--vg-border-input);
                color:var(--vg-text-heading)
            }
            .sa-vis-body--platform .sa-vis-search input::placeholder,.sa-vis-body--platform .sa-vis-form input::placeholder{color:var(--vg-text-soft);opacity:1}
            .sa-vis-body--platform .sa-vis-search button,.sa-vis-body--platform .sa-vis-form button,.sa-vis-body--platform .sa-vis-button{
                background:var(--vg-brand-primary);
                color:var(--vg-text-on-brand);
                box-shadow:var(--vg-shadow-button)
            }
            .sa-vis-body--platform .sa-vis-button-secondary{
                background:transparent;
                color:var(--vg-text-heading);
                border:1px solid var(--vg-border-secondary);
                box-shadow:none
            }
            .sa-vis-body--platform .sa-vis-button-ghost{color:var(--vg-text-on-brand);border:1px solid var(--vg-border-secondary)}
            .sa-vis-body--platform .sa-vis-cta,.sa-vis-body--platform .sa-vis-inline-callout,.sa-vis-body--platform .sa-vis-report-include{
                background:var(--vg-bg-inset);
                border-color:var(--vg-border-subtle)
            }
            .sa-vis-body--platform .sa-vis-cta-copy,.sa-vis-body--platform .sa-vis-report-include{
                background:var(--vg-bg-muted);
                border-color:var(--vg-border-subtle)
            }
            .sa-vis-body--platform .sa-vis-cta-copy strong,.sa-vis-body--platform .sa-vis-inline-callout strong{color:var(--vg-text-heading)}
            .sa-vis-body--platform .sa-vis-inline-callout span,.sa-vis-body--platform .sa-vis-report-include span,.sa-vis-body--platform .sa-vis-form-note{color:var(--vg-text-muted)}
            .sa-vis-body--platform .sa-vis-trust-points span{
                background:var(--vg-bg-muted);
                border-color:var(--vg-border-meta);
                color:var(--vg-text-body)
            }
            .sa-vis-body--platform .sa-vis-notice,.sa-vis-body--platform .sa-vis-found{
                background:var(--vg-state-earned-notice-bg);
                border-color:var(--vg-state-earned-notice-border);
                color:var(--vg-state-earned-notice-fg)
            }
            .sa-vis-body--platform .sa-vis-found a{color:var(--vg-state-earned-fg)}
            .sa-vis-body--platform .sa-vis-inline-link,.sa-vis-body--platform .sa-vis-business-link{color:var(--vg-link)}
            .sa-vis-body--platform .sa-vis-breakdown-label{color:var(--vg-text-muted)}
            .sa-vis-body--platform .sa-vis-mini-points,.sa-vis-body--platform .sa-vis-points{color:var(--vg-text-body)}
            .sa-vis-body--platform .sa-vis-timeline-item{background:var(--vg-bg-elevated);border:1px solid var(--vg-border-subtle)}
            .sa-vis-body--platform .sa-vis-card:hover{border-color:var(--vg-border-input);box-shadow:var(--vg-shadow-card)}
            .sa-vis-body--platform .sa-vis-page--profile{padding-top:24px}

/* Visibility Index market directory */
.sa-vis-directory-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  margin: 0 0 16px;
}
.sa-vis-directory-filters label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 180px;
  flex: 1 1 180px;
  color: var(--vg-text-muted);
  font-size: 13px;
  font-weight: 600;
}
.sa-vis-directory-filters select {
  min-height: 42px;
  border-radius: var(--vg-radius-sm, 10px);
  border: 1px solid var(--vg-border-subtle);
  background: var(--vg-bg-elevated);
  color: var(--vg-text-heading);
  padding: 0 12px;
}
.sa-vis-directory-count {
  margin: 0 0 14px;
  color: var(--vg-text-muted);
}
.sa-vis-directory-pagination {
  margin-top: 20px;
}
