-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTelaInicial.css
More file actions
208 lines (180 loc) · 5.61 KB
/
TelaInicial.css
File metadata and controls
208 lines (180 loc) · 5.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
/* Importação de fontes (opcional, mas ajuda a replicar o estilo) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
:root {
--dark-bg: #212121; /* Cor de fundo escura, como na imagem */
--card-bg: #2C2C2E; /* Cor de fundo dos cards */
--text-color: #E0E0E0; /* Cor do texto principal */
--light-text: #99A0AA; /* Cor para texto mais suave/secundário */
--plus-color: #4CAF50; /* Verde para o ícone de adição */
--border-radius-lg: 18px; /* Raio da borda maior para os cards */
--border-radius-sm: 8px; /* Raio da borda menor */
}
body {
margin: 0;
padding: 0;
font-family: 'Inter', sans-serif;
background-color: var(--dark-bg);
color: var(--text-color);
display: flex;
justify-content: center;
align-items: flex-start; /* Alinha o conteúdo ao topo */
min-height: 100vh;
overflow-x: hidden; /* Evita scroll horizontal */
}
.dashboard-container {
padding: 40px 20px;
max-width: 1200px; /* Largura máxima do dashboard */
width: 100%;
}
.dashboard-header {
display: flex;
align-items: center;
margin-bottom: 40px;
padding-left: 20px; /* Espaçamento da esquerda */
}
.header-line {
width: 4px;
height: 30px;
background-color: var(--plus-color); /* Linha verde */
margin-right: 15px;
border-radius: 2px;
}
.dashboard-header h1 {
font-size: 2.2em;
font-weight: 600;
color: var(--light-text);
margin: 0;
}
.cards-grid {
display: grid;
/* Ajusta automaticamente o número de colunas com base no tamanho dos cards */
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 25px; /* Espaço entre os cards */
justify-content: center; /* Centraliza cards se houver espaço extra */
}
.card {
background-color: var(--card-bg);
border-radius: var(--border-radius-lg);
padding: 25px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
aspect-ratio: 1 / 1; /* Faz o card ser quadrado */
position: relative; /* Para posicionar o ícone de adição */
overflow: hidden; /* Garante que nada saia do card */
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
/* Ícone de adição no canto superior direito */
.add-icon {
position: absolute;
top: 15px;
right: 15px;
color: var(--light-text); /* Cor inicial do '+' */
font-size: 1.2em;
opacity: 0; /* Começa invisível */
transition: opacity 0.3s ease, color 0.3s ease; /* Transição para o hover */
}
.card:hover .add-icon {
opacity: 1; /* Fica visível no hover */
color: var(--plus-color); /* Muda para verde no hover */
}
.card-content {
display: flex;
flex-direction: column;
align-items: flex-start; /* Alinha ícone e título à esquerda */
width: 100%; /* Ocupa a largura total do card */
height: 100%; /* Ocupa a altura total para alinhamento vertical */
justify-content: flex-end; /* Alinha o conteúdo à parte inferior do card */
}
.card-icon {
font-size: 3em; /* Tamanho do ícone principal */
color: var(--text-color);
margin-bottom: 15px;
align-self: flex-start; /* Garante que o ícone fique à esquerda */
}
.card h2 {
font-size: 1.3em;
font-weight: 500;
color: var(--text-color);
margin: 0; /* Remove margem padrão */
line-height: 1.3;
text-align: left; /* Garante alinhamento à esquerda */
}
/* Estilo específico para o card vazio */
.empty-card {
background-color: var(--card-bg); /* Pode ser a mesma cor ou um pouco diferente */
display: flex;
justify-content: center;
align-items: center;
}
.empty-card .add-icon {
position: static; /* Volta o ícone para a posição normal de um flex item */
opacity: 1; /* Sempre visível no card vazio */
font-size: 3em; /* Ícone maior para o card vazio */
color: var(--light-text);
transition: color 0.3s ease; /* Transição de cor no hover */
}
.empty-card:hover .add-icon {
color: var(--plus-color); /* Muda para verde no hover */
}
/* Responsividade */
@media (max-width: 768px) {
.dashboard-container {
padding: 25px 15px;
}
.dashboard-header {
margin-bottom: 30px;
padding-left: 0; /* Remove padding extra em telas pequenas */
justify-content: center; /* Centraliza o título */
}
.header-line {
height: 25px;
margin-right: 10px;
}
.dashboard-header h1 {
font-size: 1.8em;
}
.cards-grid {
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); /* Cards menores */
gap: 15px;
}
.card {
padding: 20px;
}
.card-icon {
font-size: 2.5em;
}
.card h2 {
font-size: 1.1em;
}
.add-icon {
font-size: 1em;
top: 10px;
right: 10px;
}
.empty-card .add-icon {
font-size: 2.5em;
}
}
@media (max-width: 480px) {
.dashboard-container {
padding: 20px 10px;
}
.dashboard-header h1 {
font-size: 1.5em;
}
.cards-grid {
grid-template-columns: 1fr; /* Uma coluna em telas muito pequenas */
}
.card {
max-width: 300px; /* Limita a largura dos cards em uma coluna */
margin: 0 auto; /* Centraliza os cards em uma coluna */
}
}