/* VAGAS019 - rota FICHA DA VAGA v1 (piloto da arquitetura nova, 20/09/2026). Camada route: so o que e desta rota.
   Mesmo DOM em desktop, mobile e WebView; responsivo por CSS. Zero !important. */
@layer route {
  .v019-ficha__main { max-width: var(--v019-maxw); margin: 0 auto; padding: var(--v019-space-4) var(--v019-space-4) 96px; }
  .v019-ficha__bc { font-size: 14px; margin: var(--v019-space-2) 0 var(--v019-space-4); }
  .v019-ficha__bc a { text-decoration: none; font-weight: 600; }
  .v019-ficha__card { background: var(--v019-surface); border: 1px solid var(--v019-line); border-radius: var(--v019-radius-lg); box-shadow: var(--v019-shadow-1); padding: var(--v019-space-6) var(--v019-space-4); }
  .v019-ficha__emp { font-size: 13px; font-weight: 700; color: var(--v019-muted); text-transform: uppercase; letter-spacing: .04em; }
  .v019-ficha__emp span { text-transform: none; font-weight: 500; letter-spacing: 0; }
  .v019-ficha__h1 { font-size: 26px; font-weight: 800; margin: var(--v019-space-2) 0 var(--v019-space-3); color: var(--v019-blue-900); }
  .v019-ficha__chips { display: flex; flex-wrap: wrap; gap: var(--v019-space-2); margin-bottom: var(--v019-space-6); }
  .v019-ficha__cta { border: 1px solid var(--v019-line); border-radius: var(--v019-radius-md); padding: var(--v019-space-4); margin-bottom: var(--v019-space-6); background: #fbfcff; }
  .v019-ficha__cta h2, .v019-ficha__desc h2, .v019-ficha__rel h2 { font-size: 17px; font-weight: 800; margin-bottom: var(--v019-space-3); }
  .v019-ficha__cta .v019-btn { width: 100%; margin-bottom: var(--v019-space-2); }
  .v019-ficha__pres { margin: 0 0 var(--v019-space-2); color: var(--v019-text); }
  .v019-ficha__mini { display: flex; gap: var(--v019-space-2); margin-top: var(--v019-space-2); }
  .v019-ficha__mini .v019-btn { min-height: 40px; font-size: 14px; flex: 1; margin: 0; }
  .v019-ficha__desc { font-size: 15.5px; color: #1f2937; overflow-wrap: anywhere; }
  .v019-ficha__desc p { margin: 0 0 var(--v019-space-3); }
  .v019-ficha__desc h3 { font-size: 16px; font-weight: 700; margin: var(--v019-space-4) 0 var(--v019-space-2); }
  .v019-ficha__rel { margin-top: var(--v019-space-8); }
  .v019-ficha__grid { display: grid; grid-template-columns: 1fr; gap: var(--v019-space-3); margin-bottom: var(--v019-space-4); }
  .v019-jobcard { display: block; background: var(--v019-surface); border: 1px solid var(--v019-line); border-radius: var(--v019-radius-md); padding: var(--v019-space-3) var(--v019-space-4); text-decoration: none; color: var(--v019-text); box-shadow: var(--v019-shadow-1); }
  .v019-jobcard:hover { border-color: var(--v019-blue-500); box-shadow: var(--v019-shadow-2); }
  .v019-jobcard__t { display: block; font-weight: 700; color: var(--v019-blue-900); }
  .v019-jobcard__m { display: block; font-size: 13px; color: var(--v019-muted); margin-top: 2px; }
  .v019-ficha__sticky { position: fixed; left: 0; right: 0; bottom: 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); border-top: 1px solid var(--v019-line); backdrop-filter: blur(8px); z-index: 50; }
  .v019-ficha__sticky .v019-btn { width: 100%; }
  @media (min-width: 768px) {
    .v019-ficha__main { padding: var(--v019-space-6) var(--v019-space-6) var(--v019-space-8); }
    .v019-ficha__card { padding: var(--v019-space-8); }
    .v019-ficha__h1 { font-size: 32px; }
    .v019-ficha__cta { display: grid; grid-template-columns: 1fr 1fr; gap: var(--v019-space-3); align-items: start; }
    .v019-ficha__cta h2 { grid-column: 1 / -1; margin-bottom: 0; }
    .v019-ficha__cta .v019-btn { margin: 0; }
    .v019-ficha__mini { grid-column: 1 / -1; }
    .v019-ficha__grid { grid-template-columns: 1fr 1fr 1fr; }
    .v019-ficha__sticky { display: none; }
  }
  @media print { .v019uh, .v019uf, .v019-ficha__sticky, .v019-ficha__mini, .v019-ficha__rel, .v019-ficha__bc { display: none; } .v019-ficha__card { border: 0; box-shadow: none; } }
}
