/* Terra Vita Hub v360 responsive footer and full-site spacing layer */
:root{--tvh-blue:#0A2A43;--tvh-blue-2:#0F3B5C;--tvh-green:#1E7F4F;--tvh-line:#D9E2E7;--tvh-bg:#F7F9FA;--tvh-ink:#15202B;--tvh-muted:#5F6F7A}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--tvh-ink)}
a{transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.btn,.tvh-ui-btn,.tvh-cta-primary,.tvh-cta-ghost{font-weight:800}.card,.mini-card,.v223-route-card{overflow:hidden}.tvh-version-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(10,42,67,.12);padding:6px 10px;background:#fff;color:var(--tvh-blue);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tvh-entry-boundary{border-left:4px solid var(--tvh-green);background:rgba(30,127,79,.07);padding:14px 16px;border-radius:16px;color:#25433a}.tvh-unified-note{color:var(--tvh-muted);line-height:1.58}.tvh-ui-governance-shell,.topbar{backdrop-filter:saturate(1.2) blur(12px)}


/* ====================================================================
   Terra Vita Hub — v360 Full-Site Responsive QA & Footer Spacing Sweep
   Public/document/entry surfaces only. No protected routing logic changed.
   ==================================================================== */
:root{
  --tvh-footer-gap: clamp(20px, 3vw, 42px);
  --tvh-tap-min: 42px;
}
.tvh-header-inner{gap:14px;min-width:0}.tvh-nav-primary{min-width:0}.tvh-nav-actions{gap:12px;min-width:0}.tvh-search-trigger{white-space:nowrap}
.tvh-footer{overflow:hidden}.tvh-footer .tvh-container{min-width:0}.tvh-footer-cta{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:end;margin-bottom:38px}.tvh-footer-cta h2{margin-bottom:10px}.tvh-footer-cta p + p{margin-top:8px}.tvh-footer-cta-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tvh-footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:var(--tvh-footer-gap)!important;align-items:start}.tvh-footer-grid>div{display:grid!important;align-content:start;gap:10px;min-width:0}.tvh-footer-grid h3{margin:0 0 4px!important}.tvh-footer-grid p{margin:0;color:rgba(10,42,67,.74);line-height:1.55}.tvh-footer-grid address{margin:0}.tvh-footer-grid a{display:inline-flex!important;width:max-content;max-width:100%;align-items:center;min-height:28px;line-height:1.35;overflow-wrap:anywhere;word-break:normal;text-decoration:none}.tvh-footer-grid ul{display:grid!important;gap:9px!important;margin:0!important;padding:0!important;list-style:none!important}.tvh-footer-grid li{margin:0!important;padding:0!important;min-width:0}.tvh-footer-legal{display:flex!important;flex-wrap:wrap!important;gap:10px 22px!important;align-items:center;margin:0!important;padding:0!important;list-style:none!important}.tvh-footer-legal li{display:inline-flex!important;margin:0!important;padding:0!important}.tvh-footer-legal a{display:inline-flex;min-height:28px;align-items:center}.tvh-footer-bottom{border-top:1px solid rgba(10,42,67,.12);padding-top:18px;align-items:flex-start}.tvh-footer-copy{margin:0;line-height:1.45;max-width:100%;overflow-wrap:anywhere}.tvh-cta-primary,.tvh-cta-ghost,.tvh-cta,.tvh-card-button,.tvh-ui-btn,.btn{min-height:var(--tvh-tap-min)}.tvh-card-actions-compact,.tvh-footer-actions,.tvh-footer-cta-actions,.tvh-hero-actions{gap:10px 12px!important}.tvh-doc-controls{gap:8px!important}.tvh-pill{line-height:1.25}.tvh-unified-entry .tvh-route-list a{min-height:64px}.tvh-unified-entry .tvh-entry-panel{min-width:0}.tvh-unified-entry .tvh-entry-actions .tvh-cta-primary,.tvh-unified-entry .tvh-entry-actions .tvh-cta-ghost{min-width:0}.tvh-field input,.tvh-field select,.tvh-field textarea{min-height:44px}.tvh-preview-frame{max-width:100%}
@media(min-width:760px){.tvh-footer-grid{grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(150px,.7fr))!important}.tvh-footer-cta{grid-template-columns:minmax(0,1fr) auto}.tvh-footer-cta-actions{justify-content:flex-end}.tvh-footer-bottom{justify-content:space-between}}
@media(max-width:980px){.tvh-nav-primary{display:none}.tvh-header-inner{padding-block:12px}.tvh-nav-actions{margin-left:auto}.tvh-search-trigger .label{display:none}.tvh-hero-actions .tvh-cta-primary,.tvh-hero-actions .tvh-cta-ghost{flex:1 1 220px;justify-content:center}.tvh-doc-feature{gap:16px}.tvh-entry-kpis{grid-template-columns:1fr!important}}
@media(max-width:720px){.tvh-container{padding-left:18px!important;padding-right:18px!important}.tvh-footer{margin-top:56px;padding:42px 0 34px}.tvh-footer-cta{margin-bottom:30px}.tvh-footer-grid{gap:26px!important}.tvh-footer-grid>div{border-top:1px solid rgba(10,42,67,.10);padding-top:18px}.tvh-footer-grid>div:first-child{border-top:0;padding-top:0}.tvh-footer-grid a{min-height:34px}.tvh-footer-bottom{display:grid!important;gap:14px!important}.tvh-footer-legal{gap:8px 18px!important}.tvh-hero{padding-top:56px!important}.tvh-doc-hero{padding-top:58px!important}.tvh-doc-card-footer,.tvh-diagram-card-footer-locked{gap:8px!important}.tvh-fingerprint-row,.tvh-diagram-meta-row-locked{display:grid!important;gap:6px!important}.tvh-card-actions-compact{display:grid!important;grid-template-columns:1fr!important}.tvh-card-button{width:100%!important}.tvh-unified-entry .tvh-route-list a{align-items:flex-start}.tvh-unified-entry .tvh-entry-actions{display:grid}.tvh-unified-entry .tvh-entry-actions a{width:100%;justify-content:center}.tvh-form-head{display:grid;gap:8px}.tvh-form{padding:22px}.tvh-form-row{grid-template-columns:1fr!important}}
@media(max-width:520px){.tvh-logo-tag{display:none}.tvh-search-shortcut{display:none}.tvh-nav-actions .tvh-link-text{display:none}.tvh-nav-actions .tvh-cta-primary{padding-left:14px!important;padding-right:14px!important}.tvh-footer-legal{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px!important}.tvh-footer-legal a{width:100%}.tvh-footer-copy{font-size:10px!important}.tvh-doc-controls{display:grid!important;grid-template-columns:1fr}.tvh-pill{width:100%;justify-content:center}.tvh-entry-kpis strong{font-size:20px}}


/* ====================================================================
   Terra Vita Hub — v360 Function Bundler-Safe Transport Lock & Console Stability Lock
   Removes public placeholder auth copy; preserves protected route logic.
   ==================================================================== */
.tvh-auth-status{border:1px solid rgba(10,42,67,.14);background:#fffdf6;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45;color:rgba(10,42,67,.78)}
.tvh-auth-status[hidden]{display:none!important}.tvh-auth-status.is-error{border-color:rgba(179,38,30,.32);background:rgba(179,38,30,.055);color:#7d1b16}.tvh-auth-status.is-ok{border-color:rgba(30,127,79,.28);background:rgba(30,127,79,.07);color:#124b31}.tvh-auth-note{border-left:3px solid #0A2A43;padding:14px 16px;background:rgba(10,42,67,.045);border-radius:12px;font-size:13px;line-height:1.55;color:rgba(10,42,67,.78)}
.tvh-signin-grid{display:grid;grid-template-columns:minmax(0,760px) minmax(280px,1fr);gap:28px;align-items:start}.tvh-auth-boundary-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}.tvh-auth-boundary-list li{display:flex;gap:12px;align-items:flex-start;color:rgba(10,42,67,.78);font-size:13px;line-height:1.55}.tvh-auth-boundary-list .tvh-num{flex:0 0 auto;padding-top:1px}.tvh-auth-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:8px}.tvh-auth-actions .tvh-cta-primary{min-width:160px;justify-content:center}.tvh-form-frame .tvh-auth-status{margin-top:2px}.tvh-page-alias{min-height:70vh;display:grid;place-items:center;padding:72px 18px;background:linear-gradient(135deg,#fffdf6 0%,#f7f9fa 100%)}.tvh-page-alias-card{max-width:680px;background:#fff;border:1px solid rgba(10,42,67,.12);border-radius:28px;padding:34px;box-shadow:0 24px 70px rgba(10,42,67,.08)}
@media(max-width:900px){.tvh-signin-grid{grid-template-columns:1fr}.tvh-auth-actions{display:grid}.tvh-auth-actions .tvh-cta-primary,.tvh-auth-actions .tvh-link{width:100%;justify-content:center;text-align:center}}
