/* Tema Villa Verde sobre o painel G5V (Vuetify 2). Carregado depois do CSS do app. */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,800;1,800&family=Barlow:wght@400;500;600&display=swap");
:root { --vv-preto:#050705; --vv-fundo:#080b08; --vv-painel:#0f1510; --vv-painel2:#151e16; --vv-linha:#1f2b20; --vv-creme:#f3eedc; --vv-texto:#d9dccf; --vv-suave:#9aa394; --vv-neon:#7cc443; --vv-mata:#12391a; }

.v-application, .v-application .theme--dark.v-application, .theme--dark.v-application { background: var(--vv-fundo) !important; color: var(--vv-texto) !important; font-family: "Barlow", system-ui, sans-serif !important; }
.v-application .text-h1, .v-application .text-h2, .v-application .text-h3, .v-application .text-h4, .v-application .text-h5, .v-application .text-h6,
.v-application .headline, .v-application .title, .v-card__title, .v-toolbar__title, .v-application h1, .v-application h2, .v-application h3, .v-application h4, .v-application h5 {
  font-family: "Barlow Condensed", sans-serif !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .02em !important; color: var(--vv-creme) !important;
}

/* Barra superior com a marca */
.v-app-bar.v-toolbar, header.v-sheet.v-toolbar { background: rgba(5,7,5,.96) !important; border-bottom: 1px solid var(--vv-linha) !important; box-shadow: none !important; }
.v-toolbar__title { font-size: 22px !important; }
.v-toolbar__title::before { content: ""; display: inline-block; width: 30px; height: 30px; margin-right: 10px; vertical-align: -7px; background: url("/vv/img/favicon.png") center/contain no-repeat; }
.v-toolbar .v-btn { font-family: "Barlow Condensed", sans-serif !important; font-weight: 600 !important; letter-spacing: .06em !important; }

/* Gaveta lateral */
.v-navigation-drawer, .v-navigation-drawer.theme--dark { background: var(--vv-preto) !important; border-right: 1px solid var(--vv-linha) !important; }
.v-list-item--active, .v-list-item--active::before { color: var(--vv-neon) !important; }
.v-list-item__title { font-family: "Barlow Condensed", sans-serif !important; font-size: 17px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .04em; }

/* Superfícies */
.v-card, .v-sheet.theme--dark, .theme--dark.v-card, .theme--dark.v-sheet, .v-expansion-panel, .theme--dark.v-expansion-panels .v-expansion-panel {
  background-color: var(--vv-painel) !important; color: var(--vv-texto) !important; border-radius: 0 !important; box-shadow: none !important;
}
.v-card { clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%); }
.v-main, .v-main__wrap, .container { background: transparent !important; }

/* Tabelas */
.theme--dark.v-data-table, .v-data-table { background: var(--vv-painel) !important; }
.v-data-table > .v-data-table__wrapper > table > thead > tr > th { font-family: "Barlow Condensed", sans-serif !important; font-size: 15px !important; text-transform: uppercase; letter-spacing: .08em; color: var(--vv-suave) !important; background: var(--vv-painel2) !important; }
.v-data-table > .v-data-table__wrapper > table > tbody > tr:hover:not(.v-data-table__expanded__content) { background: var(--vv-painel2) !important; }
.v-data-table td { color: var(--vv-texto) !important; border-color: var(--vv-linha) !important; }

/* Botões e cores de destaque */
.v-btn { border-radius: 0 !important; font-family: "Barlow Condensed", sans-serif !important; font-weight: 800 !important; letter-spacing: .05em !important; }
.v-btn:not(.v-btn--text):not(.v-btn--icon):not(.v-btn--outlined) { clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
.v-application .primary, .v-application .success { background-color: var(--vv-neon) !important; border-color: var(--vv-neon) !important; color: var(--vv-preto) !important; }
.v-application .primary--text, .v-application .success--text { color: var(--vv-neon) !important; caret-color: var(--vv-neon) !important; }
.v-application .secondary, .v-application .info { background-color: var(--vv-mata) !important; border-color: var(--vv-mata) !important; color: var(--vv-creme) !important; }
.v-application .error { background-color: #b9352b !important; }
.v-tabs-slider { background-color: var(--vv-neon) !important; }
.v-tab--active { color: var(--vv-neon) !important; }

/* Campos */
.v-text-field input, .v-select__selection, .v-label { font-family: "Barlow", sans-serif !important; }
.theme--dark.v-input input, .theme--dark.v-select .v-select__selections { color: var(--vv-creme) !important; }
.v-input--is-focused .v-label, .v-input--is-focused .v-icon { color: var(--vv-neon) !important; }
.v-text-field > .v-input__control > .v-input__slot:after { border-color: var(--vv-neon) !important; }

/* Rodapé do app */
.v-footer { background: var(--vv-preto) !important; color: var(--vv-suave) !important; border-top: 1px solid var(--vv-linha); }

/* Link de volta ao início (injetado) */
#vv-voltar { position: fixed; right: 16px; bottom: 16px; z-index: 9999; background: var(--vv-neon); color: var(--vv-preto); padding: 12px 18px; text-decoration: none;
  font: 800 16px "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .05em; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }

/* Rodapé e barras de cor fixa do G5V */
footer, .v-footer, .v-footer.teal, .v-application .teal, .v-bottom-navigation, .v-application footer .v-sheet { background-color: var(--vv-preto) !important; color: var(--vv-suave) !important; }
.v-footer .v-btn, .v-footer .v-icon { color: var(--vv-suave) !important; }
.v-footer a, .v-footer strong { color: var(--vv-neon) !important; }
#vv-voltar { right: auto; left: 16px; }
.v-application .grey, .v-application .grey.darken-1, .v-application .grey.darken-2, .v-application .grey.darken-3, .v-application .grey.darken-4, .v-application .grey.lighten-1 { background-color: var(--vv-painel) !important; border-color: var(--vv-linha) !important; }
