saveinmed/saveinmed-frontend/src/app/globals.css
Tiago Yamamoto b39caf0fd0 first commit
2025-12-17 13:58:26 -03:00

204 lines
4 KiB
CSS

@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;
}