@import "tailwindcss"; :root { --background: #ffffff; --foreground: #171717; --color-background: #ffffff; --color-foreground: #171717; --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } @media (prefers-color-scheme: dark) { :root { --background: #0a0a0a; --foreground: #ededed; } } /* Base styles */ html { font-size: 16px; -webkit-text-size-adjust: 100%; } body { background: var(--background); color: var(--foreground); font-family: var(--font-sans), Arial, Helvetica, sans-serif; min-height: 100vh; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-feature-settings: "liga", "kern"; } /* Responsive text sizing */ @media (max-width: 640px) { html { font-size: 14px; } } /* Container responsivo */ .container { width: 100%; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; } @media (min-width: 640px) { .container { max-width: 640px; padding-left: 1.5rem; padding-right: 1.5rem; } } @media (min-width: 768px) { .container { max-width: 768px; } } @media (min-width: 1024px) { .container { max-width: 1024px; } } @media (min-width: 1280px) { .container { max-width: 1280px; } } /* Animações suaves - aplicadas seletivamente */ button, a, .transition-all, [class*="hover:"], [class*="transition"] { transition: all 0.2s ease-in-out; } /* Touch target size */ button, a, input, select, textarea { touch-action: manipulation; } /* Melhor legibilidade em telas pequenas */ @media (max-width: 640px) { p, li, div { word-break: break-word; } } /* Scrollbar personalizada */ @media (min-width: 768px) { ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f5f9; } ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #94a3b8; } } /* Esconde scrollbar em dispositivos móveis */ @media (max-width: 767px) { ::-webkit-scrollbar { width: 0px; background: transparent; } } /* Foco acessível */ input:focus { outline: none; } /* Melhorar visibilidade dos placeholders */ ::placeholder { color: #4b5563 !important; /* text-gray-600 */ opacity: 1; } /* Melhorar contraste de textos secundários */ .text-gray-400 { color: #6b7280 !important; /* text-gray-500 */ } .text-gray-500 { color: #4b5563 !important; /* text-gray-600 */ } /* Animação de loading */ @keyframes spin { to { transform: rotate(360deg); } } .animate-spin { animation: spin 1s linear infinite; } /* Configuração para elementos select - fundo branco e texto preto */ select { background-color: #ffffff !important; color: #000000 !important; border: 1px solid #d1d5db !important; } select option { background-color: #ffffff !important; color: #000000 !important; } /* Regras globais para evitar transparência em inputs */ input, textarea { color: #000000 !important; opacity: 1 !important; } input:focus, textarea:focus { color: #000000 !important; opacity: 1 !important; } /* Garantir que o texto digitado seja sempre visível */ input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="url"], input[type="search"], textarea { color: #000000 !important; opacity: 1 !important; -webkit-text-fill-color: #000000 !important; } /* Melhorar renderização em navegadores */ *, *::before, *::after { box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Classe utilitária para dropdowns sólidos (evita transparência/backdrop) */ .solid-dropdown { background-color: #ffffff !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; opacity: 1 !important; }