main
css 532 lines 10.6 KB
Raw
1 /* MAPS Connect - Mi Perfil */
2
3 .perfil-container {
4 --hub-accent: var(--accent-dark, #005a2b);
5 --hub-accent-dark: #004420;
6 --hub-accent-soft: var(--accent-soft, #e8f5e9);
7 --hub-border: #dcdfe6;
8 --hub-muted: #666;
9
10 max-width: 1050px;
11 margin: 0 auto;
12 width: 100%;
13 }
14
15 /* Bordes rectos institucionales (scopeado a la página) */
16 .perfil-container .card,
17 .perfil-container .profile-avatar,
18 .perfil-container .btn-solid,
19 .perfil-container .btn-clean,
20 .perfil-container .badge,
21 .perfil-container .certificate-item,
22 .perfil-container .stat-box {
23 border-radius: 0;
24 }
25
26 .perfil-container .card {
27 background: #ffffff;
28 border: 1px solid var(--hub-border);
29 padding: 20px;
30 margin-bottom: 20px;
31 }
32
33 /* --- 1. CABECERA DE PERFIL --- */
34 .profile-header-card {
35 display: flex;
36 justify-content: space-between;
37 align-items: center;
38 flex-wrap: wrap;
39 gap: 20px;
40 border-left: 4px solid var(--hub-accent);
41 }
42
43 .profile-main-info {
44 display: flex;
45 align-items: center;
46 gap: 18px;
47 }
48
49 .profile-avatar {
50 width: 70px;
51 height: 70px;
52 background-color: var(--hub-accent);
53 color: #ffffff;
54 display: flex;
55 align-items: center;
56 justify-content: center;
57 font-weight: bold;
58 font-size: 1.6rem;
59 flex-shrink: 0;
60 }
61
62 .profile-name {
63 font-size: 1.4rem;
64 color: #111111;
65 margin-bottom: 4px;
66 }
67
68 .profile-sub {
69 font-size: 0.9rem;
70 color: #555555;
71 }
72
73 /* Botones */
74 .perfil-container .btn-solid {
75 background-color: var(--hub-accent);
76 color: #ffffff;
77 border: none;
78 padding: 9px 18px;
79 font-size: 0.9rem;
80 font-weight: bold;
81 cursor: pointer;
82 }
83
84 .perfil-container .btn-solid:hover {
85 background-color: var(--hub-accent-dark);
86 }
87
88 .perfil-container .btn-clean {
89 background-color: transparent;
90 color: var(--hub-accent);
91 border: 1px solid var(--hub-accent);
92 padding: 8px 16px;
93 font-size: 0.85rem;
94 font-weight: 600;
95 cursor: pointer;
96 }
97
98 .perfil-container .btn-clean:hover {
99 background-color: var(--hub-accent-soft);
100 }
101
102 /* --- 2. LAYOUT A DOS COLUMNAS --- */
103 .profile-grid {
104 display: grid;
105 grid-template-columns: 1.8fr 1.2fr;
106 gap: 20px;
107 }
108
109 @media (max-width: 850px) {
110 .profile-grid {
111 grid-template-columns: 1fr;
112 }
113 }
114
115 .section-heading {
116 font-size: 1.1rem;
117 color: #222222;
118 margin-bottom: 14px;
119 border-bottom: 1px solid #e0e0e0;
120 padding-bottom: 6px;
121 }
122
123 .sub-heading {
124 font-size: 0.95rem;
125 color: #333;
126 margin: 16px 0 10px 0;
127 }
128
129 /* Badges */
130 .perfil-container .badge {
131 padding: 3px 8px;
132 font-size: 0.75rem;
133 font-weight: bold;
134 display: inline-block;
135 }
136
137 .badge-green {
138 background-color: var(--hub-accent-soft);
139 color: var(--hub-accent);
140 border: 1px solid var(--accent-soft-border, #c8e6c9);
141 }
142
143 .badge-gray {
144 background-color: #f1f5f9;
145 color: #64748b;
146 border: 1px solid #e2e8f0;
147 }
148
149 /* --- COLUMNA IZQUIERDA: TRAYECTORIA MAPS --- */
150 .purpose-box {
151 background-color: #f9fafb;
152 border-left: 3px solid var(--hub-accent);
153 padding: 12px 16px;
154 margin-bottom: 18px;
155 }
156
157 .purpose-box strong {
158 font-size: 0.85rem;
159 color: var(--hub-accent);
160 display: block;
161 text-transform: uppercase;
162 margin-bottom: 4px;
163 }
164
165 .purpose-box p {
166 font-size: 0.92rem;
167 color: #333333;
168 font-style: italic;
169 }
170
171 .certificate-item {
172 border: 1px solid var(--hub-border);
173 padding: 14px;
174 margin-bottom: 12px;
175 background: #ffffff;
176 }
177
178 .certificate-item.active {
179 border-left: 4px solid var(--hub-accent);
180 }
181
182 .cert-header {
183 display: flex;
184 justify-content: space-between;
185 align-items: center;
186 margin-bottom: 6px;
187 gap: 8px;
188 flex-wrap: wrap;
189 }
190
191 .cert-title {
192 font-size: 0.95rem;
193 color: #111111;
194 font-weight: bold;
195 }
196
197 .cert-desc {
198 font-size: 0.85rem;
199 color: #555555;
200 line-height: 1.4;
201 }
202
203 /* --- COLUMNA DERECHA: APORTACIONES Y ESTADÍSTICAS --- */
204 .stats-summary {
205 display: grid;
206 grid-template-columns: 1fr 1fr;
207 gap: 10px;
208 margin-bottom: 18px;
209 }
210
211 .stat-box {
212 background: #fafafa;
213 border: 1px solid #e0e0e0;
214 padding: 12px;
215 text-align: center;
216 }
217
218 .stat-box .number {
219 font-size: 1.3rem;
220 font-weight: bold;
221 color: var(--hub-accent);
222 display: block;
223 }
224
225 .stat-box .label {
226 font-size: 0.75rem;
227 color: var(--hub-muted);
228 text-transform: uppercase;
229 }
230
231 .activity-list {
232 list-style: none;
233 }
234
235 .activity-item {
236 padding: 10px 0;
237 border-bottom: 1px solid #f0f0f0;
238 font-size: 0.85rem;
239 }
240
241 .activity-item:last-child {
242 border-bottom: none;
243 }
244
245 .activity-item strong {
246 color: #222222;
247 display: block;
248 margin-bottom: 2px;
249 }
250
251 .activity-item span {
252 color: #888888;
253 font-size: 0.75rem;
254 }
255
256 /* --- MODAL: EDICIÓN DE PROPÓSITO DE VIDA --- */
257 .proposito-modal-overlay {
258 position: fixed;
259 inset: 0;
260 z-index: 4000;
261 background: rgba(0, 0, 0, 0.45);
262 display: flex;
263 align-items: center;
264 justify-content: center;
265 padding: 1rem;
266 }
267
268 .proposito-modal {
269 background: #ffffff;
270 border-radius: 0;
271 max-width: 520px;
272 width: 100%;
273 padding: 24px;
274 box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
275 border-top: 4px solid var(--accent-dark, #005a2b);
276 }
277
278 .proposito-modal h3 {
279 font-size: 1.15rem;
280 color: #111111;
281 margin-bottom: 6px;
282 }
283
284 .proposito-modal-sub {
285 font-size: 0.85rem;
286 color: #666666;
287 margin-bottom: 14px;
288 }
289
290 .proposito-modal textarea {
291 width: 100%;
292 padding: 10px 12px;
293 border: 1px solid #dcdfe6;
294 border-radius: 0;
295 font-size: 0.95rem;
296 font-family: inherit;
297 resize: vertical;
298 box-sizing: border-box;
299 }
300
301 .proposito-modal textarea:focus {
302 outline: none;
303 border-color: var(--accent-dark, #005a2b);
304 box-shadow: 0 0 0 2px rgba(0, 90, 43, 0.15);
305 }
306
307 .proposito-modal-msg {
308 font-size: 0.85rem;
309 color: #b91c1c;
310 margin-top: 8px;
311 min-height: 1em;
312 }
313
314 .proposito-modal-actions {
315 display: flex;
316 justify-content: flex-end;
317 gap: 10px;
318 margin-top: 16px;
319 }
320
321 .proposito-modal-actions .btn-solid {
322 background-color: var(--accent-dark, #005a2b);
323 color: #ffffff;
324 border: none;
325 padding: 9px 18px;
326 font-size: 0.9rem;
327 font-weight: bold;
328 cursor: pointer;
329 border-radius: 0;
330 }
331
332 .proposito-modal-actions .btn-solid:hover {
333 background-color: #004420;
334 }
335
336 .proposito-modal-actions .btn-clean {
337 background-color: transparent;
338 color: var(--accent-dark, #005a2b);
339 border: 1px solid var(--accent-dark, #005a2b);
340 padding: 8px 16px;
341 font-size: 0.85rem;
342 font-weight: 600;
343 cursor: pointer;
344 border-radius: 0;
345 }
346
347 .proposito-modal-actions .btn-clean:hover {
348 background-color: var(--accent-soft, #e8f5e9);
349 }
350 .proposito-modal-actions .btn-clean {
351 background-color: transparent;
352 color: var(--accent-dark, #005a2b);
353 border: 1px solid var(--accent-dark, #005a2b);
354 padding: 8px 16px;
355 font-size: 0.85rem;
356 font-weight: 600;
357 cursor: pointer;
358 border-radius: 0;
359 }
360
361 .proposito-modal-actions .btn-clean:hover {
362 background-color: var(--accent-soft, #e8f5e9);
363 }
364
365 /* --- 3. MI RED: SEGUIDORES Y DESCUBRIR PERSONAS --- */
366 .red-stats {
367 display: flex;
368 gap: 18px;
369 flex-wrap: wrap;
370 margin-bottom: 8px;
371 }
372
373 .red-stat {
374 background: #fafafa;
375 border: 1px solid #e0e0e0;
376 padding: 10px 18px;
377 text-align: center;
378 }
379
380 .red-stat .number {
381 font-size: 1.2rem;
382 font-weight: bold;
383 color: var(--hub-accent);
384 display: block;
385 }
386
387 .red-stat .label {
388 font-size: 0.72rem;
389 color: var(--hub-muted);
390 text-transform: uppercase;
391 }
392
393 .discover-grid {
394 display: grid;
395 grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
396 gap: 12px;
397 }
398
399 .discover-person {
400 display: flex;
401 align-items: center;
402 gap: 12px;
403 border: 1px solid var(--hub-border);
404 padding: 12px;
405 background: #ffffff;
406 }
407
408 .discover-person .avatar,
409 .discover-person .avatar-foto {
410 width: 46px;
411 height: 46px;
412 background-color: var(--hub-accent);
413 color: #ffffff;
414 display: flex;
415 align-items: center;
416 justify-content: center;
417 font-weight: bold;
418 font-size: 1rem;
419 flex-shrink: 0;
420 }
421
422 .discover-person .avatar-foto {
423 object-fit: cover;
424 }
425
426 .discover-info {
427 min-width: 0;
428 flex: 1;
429 }
430
431 .discover-info strong {
432 display: block;
433 font-size: 0.88rem;
434 color: #111111;
435 white-space: nowrap;
436 overflow: hidden;
437 text-overflow: ellipsis;
438 }
439
440 .discover-info span {
441 display: block;
442 font-size: 0.75rem;
443 color: var(--hub-muted);
444 }
445
446 .discover-empty {
447 color: var(--hub-muted);
448 font-size: 0.85rem;
449 }
450
451 /* ============================================================
452 MODO OSCURO (página de perfil)
453 ============================================================ */
454 html.dark-mode .perfil-container .card,
455 html.dark-mode .certificate-item,
456 html.dark-mode .discover-person {
457 background: #161b22;
458 border-color: #30363d;
459 }
460
461 html.dark-mode .profile-name,
462 html.dark-mode .cert-title,
463 html.dark-mode .section-heading,
464 html.dark-mode .sub-heading,
465 html.dark-mode .discover-info strong {
466 color: #e6edf3;
467 }
468
469 html.dark-mode .profile-sub,
470 html.dark-mode .cert-desc,
471 html.dark-mode .discover-info span {
472 color: #8b949e;
473 }
474
475 html.dark-mode .purpose-box {
476 background: #0d1117;
477 border-color: #21262d;
478 border-left-color: var(--accent-mid, #2ea043);
479 }
480
481 html.dark-mode .purpose-box strong { color: var(--accent-bright, #3fb950); }
482 html.dark-mode .purpose-box p { color: #c9d1d9; }
483
484 html.dark-mode .stat-box,
485 html.dark-mode .red-stat {
486 background: #0d1117;
487 border-color: #30363d;
488 }
489
490 html.dark-mode .stat-box .number,
491 html.dark-mode .red-stat .number {
492 color: var(--accent-bright, #3fb950);
493 }
494
495 html.dark-mode .stat-box .label,
496 html.dark-mode .red-stat .label,
497 html.dark-mode .activity-item span,
498 html.dark-mode .discover-empty {
499 color: #8b949e;
500 }
501
502 html.dark-mode .activity-item strong { color: #e6edf3; }
503 html.dark-mode .activity-item { border-bottom-color: #21262d; }
504
505 html.dark-mode .perfil-container .btn-clean {
506 color: var(--accent-bright, #3fb950);
507 border-color: var(--accent-mid, #2ea043);
508 }
509 html.dark-mode .perfil-container .btn-clean:hover {
510 background-color: rgba(46, 160, 67, 0.15);
511 }
512
513 html.dark-mode .proposito-modal {
514 background: #161b22;
515 }
516 html.dark-mode .proposito-modal h3 { color: #e6edf3; }
517 html.dark-mode .proposito-modal-sub { color: #8b949e; }
518 html.dark-mode .proposito-modal textarea {
519 background: #0d1117;
520 color: #e6edf3;
521 border-color: #30363d;
522 }
523 html.dark-mode .badge-green {
524 background-color: rgba(46, 160, 67, 0.15);
525 color: var(--accent-bright, #3fb950);
526 border-color: var(--accent-mid, #2ea043);
527 }
528 html.dark-mode .badge-gray {
529 background-color: #21262d;
530 color: #c9d1d9;
531 border-color: #30363d;
532 }