/* ================================================================== */
/* GoVinda - CSS de Fontes Compactas v1.0                             */
/* Reduz tamanho das fontes sem afetar ícones e elementos visuais     */
/* ================================================================== */

/* ================================================================== */
/* TAMANHOS DE FONTE BASE REDUZIDOS (~15% menor)                      */
/* ================================================================== */

/* Fonte base do body */
html {
  font-size: 14px !important; /* Reduzido de 16px para 14px */
}

body {
  font-size: 0.875rem !important;
  line-height: 1.4 !important;
}

/* ================================================================== */
/* TAMANHOS DE FONTE TAILWIND - REDUZIDOS                             */
/* ================================================================== */

/* text-xs: 0.75rem -> 0.65rem */
.text-xs:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 0.65rem !important;
  line-height: 1.3 !important;
}

/* text-sm: 0.875rem -> 0.75rem */
.text-sm:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 0.75rem !important;
  line-height: 1.35 !important;
}

/* text-base: 1rem -> 0.85rem */
.text-base:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
}

/* text-lg: 1.125rem -> 0.95rem */
.text-lg:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
}

/* text-xl: 1.25rem -> 1.05rem */
.text-xl:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
}

/* text-2xl: 1.5rem -> 1.25rem */
.text-2xl:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
}

/* text-3xl: 1.875rem -> 1.5rem */
.text-3xl:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
}

/* text-4xl: 2.25rem -> 1.875rem */
.text-4xl:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 1.875rem !important;
  line-height: 1.2 !important;
}

/* text-5xl: 3rem -> 2.25rem */
.text-5xl:not(svg):not(svg *):not(i):not(.icon):not([class*="lucide"]) {
  font-size: 2.25rem !important;
  line-height: 1.15 !important;
}

/* ================================================================== */
/* ELEMENTOS ESPECÍFICOS COM FONTES REDUZIDAS                         */
/* ================================================================== */

/* Títulos e Cabeçalhos */
h1:not(svg):not(svg *) { font-size: 1.75rem !important; }
h2:not(svg):not(svg *) { font-size: 1.5rem !important; }
h3:not(svg):not(svg *) { font-size: 1.25rem !important; }
h4:not(svg):not(svg *) { font-size: 1.1rem !important; }
h5:not(svg):not(svg *) { font-size: 1rem !important; }
h6:not(svg):not(svg *) { font-size: 0.9rem !important; }

/* Parágrafos e textos gerais */
p:not(svg):not(svg *),
span:not(svg):not(svg *):not(.icon):not([class*="lucide"]),
div:not(.icon):not([class*="lucide"]) > span:not(.icon) {
  font-size: inherit;
}

/* Labels de formulário */
label:not(svg):not(svg *) {
  font-size: 0.8rem !important;
}

/* Inputs, selects e textareas */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  font-size: 0.85rem !important;
}

/* Botões - texto menor */
button:not(svg):not(svg *),
.btn:not(svg):not(svg *),
[type="button"]:not(svg):not(svg *),
[type="submit"]:not(svg):not(svg *) {
  font-size: 0.85rem !important;
}

/* Botões pequenos */
button.text-xs:not(svg):not(svg *),
button.text-sm:not(svg):not(svg *) {
  font-size: 0.7rem !important;
}

/* ================================================================== */
/* TABELAS - FONTES COMPACTAS                                         */
/* ================================================================== */

table {
  font-size: 0.8rem !important;
}

th:not(svg):not(svg *) {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
}

td:not(svg):not(svg *) {
  font-size: 0.8rem !important;
}

/* ================================================================== */
/* CARDS E CONTAINERS - TEXTOS COMPACTOS                              */
/* ================================================================== */

/* Números em cards de estatísticas */
.font-bold.text-3xl:not(svg):not(svg *),
.font-bold.text-2xl:not(svg):not(svg *) {
  font-size: 1.4rem !important;
}

/* Subtítulos em cards */
.text-gray-500:not(svg):not(svg *),
.text-gray-600:not(svg):not(svg *) {
  font-size: 0.75rem !important;
}

/* Labels de estatísticas */
.text-sm.text-gray-600:not(svg):not(svg *),
.text-sm.text-gray-500:not(svg):not(svg *) {
  font-size: 0.7rem !important;
}

/* ================================================================== */
/* BADGES E TAGS - FONTES MENORES                                     */
/* ================================================================== */

.badge:not(svg):not(svg *),
[class*="badge"]:not(svg):not(svg *),
.rounded-full.text-xs:not(svg):not(svg *),
.rounded-full.text-sm:not(svg):not(svg *) {
  font-size: 0.65rem !important;
  padding: 2px 8px !important;
}

/* ================================================================== */
/* MENU DE NAVEGAÇÃO - TEXTO COMPACTO                                 */
/* ================================================================== */

nav button:not(svg):not(svg *),
header + div button:not(svg):not(svg *) {
  font-size: 0.8rem !important;
}

/* ================================================================== */
/* HEADER - TEXTOS AJUSTADOS                                          */
/* ================================================================== */

header .text-xl:not(svg):not(svg *),
header .text-lg:not(svg):not(svg *) {
  font-size: 1rem !important;
}

header .text-sm:not(svg):not(svg *) {
  font-size: 0.75rem !important;
}

header button:not(svg):not(svg *) {
  font-size: 0.8rem !important;
}

/* ================================================================== */
/* MODAIS - FONTES COMPACTAS                                          */
/* ================================================================== */

.fixed.inset-0 .text-xl:not(svg):not(svg *),
.fixed.inset-0 .text-lg:not(svg):not(svg *) {
  font-size: 1rem !important;
}

.fixed.inset-0 .text-sm:not(svg):not(svg *) {
  font-size: 0.75rem !important;
}

.fixed.inset-0 label:not(svg):not(svg *) {
  font-size: 0.8rem !important;
}

/* ================================================================== */
/* LISTAS E ITENS - TEXTOS COMPACTOS                                  */
/* ================================================================== */

li:not(svg):not(svg *) {
  font-size: 0.85rem !important;
}

ul.text-sm:not(svg):not(svg *) li:not(svg):not(svg *),
ol.text-sm:not(svg):not(svg *) li:not(svg):not(svg *) {
  font-size: 0.75rem !important;
}

/* ================================================================== */
/* PRESERVAR TAMANHO DOS ÍCONES - NÃO ALTERAR                         */
/* ================================================================== */

/* SVGs e ícones mantêm tamanho original */
svg,
svg *,
.icon,
.icon *,
[class*="lucide"],
[class*="lucide"] *,
i,
i *,
.w-4, .h-4,
.w-5, .h-5,
.w-6, .h-6,
.w-7, .h-7,
.w-8, .h-8,
.w-10, .h-10,
.w-12, .h-12,
.w-16, .h-16,
.w-20, .h-20,
.w-24, .h-24 {
  font-size: unset !important;
}

/* Garante que tamanhos de ícones são preservados */
svg.w-4, svg.h-4 { width: 1rem !important; height: 1rem !important; }
svg.w-5, svg.h-5 { width: 1.25rem !important; height: 1.25rem !important; }
svg.w-6, svg.h-6 { width: 1.5rem !important; height: 1.5rem !important; }
svg.w-7, svg.h-7 { width: 1.75rem !important; height: 1.75rem !important; }
svg.w-8, svg.h-8 { width: 2rem !important; height: 2rem !important; }
svg.w-10, svg.h-10 { width: 2.5rem !important; height: 2.5rem !important; }
svg.w-12, svg.h-12 { width: 3rem !important; height: 3rem !important; }

/* ================================================================== */
/* RESPONSIVIDADE - MOBILE AINDA MAIS COMPACTO                        */
/* ================================================================== */

@media (max-width: 768px) {
  html {
    font-size: 13px !important;
  }
  
  /* Ainda mais compacto no mobile */
  .text-3xl:not(svg):not(svg *) { font-size: 1.35rem !important; }
  .text-2xl:not(svg):not(svg *) { font-size: 1.15rem !important; }
  .text-xl:not(svg):not(svg *) { font-size: 1rem !important; }
  .text-lg:not(svg):not(svg *) { font-size: 0.9rem !important; }
  .text-base:not(svg):not(svg *) { font-size: 0.8rem !important; }
  .text-sm:not(svg):not(svg *) { font-size: 0.7rem !important; }
  .text-xs:not(svg):not(svg *) { font-size: 0.6rem !important; }
  
  /* Tabelas mais compactas no mobile */
  table { font-size: 0.7rem !important; }
  th:not(svg):not(svg *) { font-size: 0.65rem !important; }
  td:not(svg):not(svg *) { font-size: 0.7rem !important; }
  
  /* Inputs menores */
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    font-size: 0.8rem !important;
  }
}

@media (max-width: 480px) {
  html {
    font-size: 12px !important;
  }
  
  /* Extra compacto em telas pequenas */
  .text-3xl:not(svg):not(svg *) { font-size: 1.25rem !important; }
  .text-2xl:not(svg):not(svg *) { font-size: 1.1rem !important; }
  .text-xl:not(svg):not(svg *) { font-size: 0.95rem !important; }
}

/* ================================================================== */
/* TELA DE LOADING - MANTER TAMANHOS ORIGINAIS                        */
/* ================================================================== */

#loading-screen .loading-text {
  font-size: 28px !important;
}

#loading-screen .loading-sub {
  font-size: 14px !important;
}

#loading-screen .loading-site {
  font-size: 12px !important;
}

#loading-screen .loading-progress {
  font-size: 11px !important;
}

/* ================================================================== */
/* TELA DE LOGIN - FONTES AJUSTADAS                                   */
/* ================================================================== */

.login-container h1:not(svg):not(svg *),
.login-container .text-2xl:not(svg):not(svg *) {
  font-size: 1.5rem !important;
}

.login-container .text-lg:not(svg):not(svg *) {
  font-size: 1rem !important;
}

.login-container input {
  font-size: 0.9rem !important;
}

.login-container button {
  font-size: 0.9rem !important;
}

.login-container .text-sm:not(svg):not(svg *) {
  font-size: 0.75rem !important;
}

/* ================================================================== */
/* FIM DO CSS DE FONTES COMPACTAS                                     */
/* ================================================================== */
