/* static/css/base.css */ /** * ====================== * ESTILOS BASE * ====================== */ /* Reset e configurações básicas */ * { box-sizing: border-box; } body { font-family: var(--font-family-primary); font-weight: var(--font-weight-normal); background-color: var(--background-color); color: var(--text-color); margin: 0; padding: 0; transition: background-color var(--transition-normal), color var(--transition-normal); line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Scrollbars globais */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-thumb { background-color: var(--scrollbar-thumb); border-radius: var(--spacing-sm); } ::-webkit-scrollbar-track { background-color: var(--scrollbar-track); } /* Estados de foco acessíveis */ *:focus { outline: 2px solid var(--primary-color); outline-offset: 2px; } /* Seleção de texto */ ::selection { background-color: var(--primary-color); color: var(--count-tag-text-color); } /* Aplicação da fonte Inter para todos os elementos de texto */ h1, h2, h3, h4, h5, h6, p, span, div, a, button, input, textarea, select, label, .text, .title, .subtitle, .caption { font-family: var(--font-family-primary); } /* Headings com pesos apropriados */ h1, h2, h3 { font-weight: var(--font-weight-semibold); } h4, h5, h6 { font-weight: var(--font-weight-medium); } /* Prevenção de seleção durante drag */ .no-select { user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; } /* Estados de cursor durante drag */ body.dragging * { cursor: grabbing !important; } /* Responsividade base */ @media (max-width: 768px) { body { font-size: 14px; } } /* Utilitários de display */ .hidden { display: none !important; } .visible { display: block !important; } /* Utilitários de posicionamento */ .fixed { position: fixed; } .relative { position: relative; } .absolute { position: absolute; } /* Utilitários de flexbox */ .flex { display: flex; } .flex-column { flex-direction: column; } .justify-center { justify-content: center; } .align-center { align-items: center; } .justify-between { justify-content: space-between; } /* Utilitários de espaçamento */ .m-0 { margin: 0; } .p-0 { padding: 0; } .m-sm { margin: var(--spacing-sm); } .p-sm { padding: var(--spacing-sm); } .m-md { margin: var(--spacing-md); } .p-md { padding: var(--spacing-md); } .m-lg { margin: var(--spacing-lg); } .p-lg { padding: var(--spacing-lg); } /* Utilitários de texto */ .text-center { text-align: center; } .text-left { text-align: left; } .text-right { text-align: right; } .font-bold { font-weight: var(--font-weight-bold); } .font-semibold { font-weight: var(--font-weight-semibold); } .font-medium { font-weight: var(--font-weight-medium); } .font-normal { font-weight: var(--font-weight-normal); } .font-light { font-weight: var(--font-weight-light); } /* Utilitários de cores */ .text-primary { color: var(--primary-color); } .text-muted { color: var(--card-text-color); } /* Utilitários de bordas */ .rounded-sm { border-radius: var(--radius-sm); } .rounded-md { border-radius: var(--radius-md); } .rounded-lg { border-radius: var(--radius-lg); } .rounded-full { border-radius: var(--radius-full); } /* Utilitários de sombras */ .shadow-sm { box-shadow: 0 1px 3px var(--shadow-color); } .shadow-md { box-shadow: 0 4px 8px var(--shadow-color); } .shadow-lg { box-shadow: 0 8px 16px var(--shadow-color); }