/* ============================================================
   TECH SILVA DESIGN SYSTEM — patterns.css (DS-02)
   Padrões de navegação global (header, nav, footer, breadcrumb).
   Direção: "ferramenta técnica confiável" — limpo, densidade controlada.
   ============================================================ */

/* ---------- HEADER PÚBLICO (pattern) ---------- */
.ts-header {
  background: var(--ts-color-surface);
  border-bottom: 1px solid var(--ts-color-border);
  position: sticky; top: 0; z-index: 8000;
}
.ts-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--ts-space-4); height: 64px; }
.ts-header__brand { display: flex; align-items: center; gap: 0.55rem; font-family: var(--ts-font-heading); font-weight: 800; font-size: 1.05rem; color: var(--ts-color-navy); text-decoration: none; }
.ts-header__nav { display: flex; align-items: center; gap: 0.25rem; }
.ts-header__link { color: var(--ts-color-text-muted); text-decoration: none; font-size: 0.9rem; font-weight: 500; padding: 0.45rem 0.7rem; border-radius: var(--ts-radius-sm); }
.ts-header__link:hover { color: var(--ts-color-navy); background: var(--ts-color-bg); }
.ts-header__link--active { color: var(--ts-color-primary); font-weight: 600; }

/* ---------- SIDEBAR / NAV DO PORTAL (pattern) ---------- */
.ts-sidebar { background: var(--ts-color-surface); border-right: 1px solid var(--ts-color-border); width: 240px; min-height: 100vh; padding: var(--ts-space-4) var(--ts-space-3); display: flex; flex-direction: column; gap: 0.25rem; }
.ts-sidebar__link { display: flex; align-items: center; gap: 0.6rem; padding: 0.62rem 0.8rem; border-radius: var(--ts-radius-sm); color: var(--ts-color-text-muted); text-decoration: none; font-size: 0.9rem; font-weight: 500; }
.ts-sidebar__link:hover { background: var(--ts-color-bg); color: var(--ts-color-navy); }
.ts-sidebar__link--active { background: var(--ts-color-primary-soft); color: var(--ts-color-primary); font-weight: 600; }

/* ---------- FOOTER (pattern) ---------- */
.ts-footer { border-top: 1px solid var(--ts-color-border); background: var(--ts-color-surface); padding: var(--ts-space-7) 0 var(--ts-space-5); color: var(--ts-color-text-muted); font-size: 0.85rem; }
.ts-footer__inner { display: flex; flex-wrap: wrap; gap: var(--ts-space-6); justify-content: space-between; }
.ts-footer__col h4 { font-family: var(--ts-font-heading); font-size: 0.9rem; color: var(--ts-color-navy); margin: 0 0 0.5rem; }
.ts-footer__col a { display: block; color: var(--ts-color-text-muted); text-decoration: none; padding: 0.2rem 0; }
.ts-footer__col a:hover { color: var(--ts-color-primary); }
.ts-footer__bottom { margin-top: var(--ts-space-6); padding-top: var(--ts-space-4); border-top: 1px solid var(--ts-color-border); font-size: 0.8rem; }

/* ---------- BREADCRUMB (pattern) ---------- */
.ts-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-size: 0.85rem; color: var(--ts-color-text-muted); }
.ts-breadcrumb a { color: var(--ts-color-text-muted); text-decoration: none; }
.ts-breadcrumb a:hover { color: var(--ts-color-primary); }
.ts-breadcrumb__sep { color: var(--ts-color-border); }
.ts-breadcrumb__current { color: var(--ts-color-navy); font-weight: 600; }
