main
css 110 lines 6.14 KB
Raw
1 /* MAPS Connect - Círculos de estudio */
2
3 .circulos-container { width: 100%; max-width: 1050px; margin: 0 auto; }
4 .module-heading { margin-bottom: 1.5rem; }
5 .module-heading h1 { color: var(--sidebar-bg); font-size: 1.75rem; }
6 .module-heading p { margin-top: 0.25rem; color: var(--gray-600); }
7 .circulos-container .card, .circulos-container .btn, .circulos-container .badge, .circulos-container input { border-radius: 0; }
8 .top-action-bar { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
9 .search-input { flex: 1; min-width: 250px; padding: 0.625rem 0.75rem; border: 1px solid var(--gray-300); background: white; font: inherit; font-size: 0.9rem; }
10 .search-input:focus { outline: none; border-color: var(--sidebar-bg); }
11 .circulos-container .btn-solid { display: inline-block; border: 1px solid var(--sidebar-bg); background: var(--sidebar-bg); padding: 0.55rem 1rem; color: white; font: inherit; font-size: 0.9rem; font-weight: 700; cursor: pointer; text-align: center; }
12 .circulos-container .btn-solid:hover { background: #043b10; color: white; text-decoration: none; }
13 .circulos-container .btn-clean { display: inline-block; border: 1px solid var(--sidebar-bg); background: transparent; padding: 0.45rem 0.875rem; color: var(--sidebar-bg); font: inherit; font-size: 0.85rem; font-weight: 600; cursor: pointer; text-align: center; }
14 .circulos-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 1.25rem; }
15 .section-title { margin-bottom: 0.875rem; font-size: 1.05rem; }
16 .session-card { margin-bottom: 1.5rem; border-left: 4px solid var(--sidebar-bg); }
17 .session-card.live-session { border-left-color: var(--danger-color); }
18 .session-header, .session-footer { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.75rem; }
19 .session-header { margin-bottom: 0.5rem; }
20 .session-title { font-size: 1.15rem; }
21 .session-info, .session-desc, .attendees-count, .group-description { color: var(--gray-600); }
22 .session-info, .attendees-count { font-size: 0.85rem; }
23 .session-desc { margin: 0.625rem 0 0.875rem; font-size: 0.9rem; line-height: 1.4; }
24 .session-footer { align-items: center; border-top: 1px solid var(--gray-200); padding-top: 0.75rem; flex-wrap: wrap; }
25 .session-actions, .badges-wrap { display: flex; flex-wrap: wrap; gap: 0.5rem; }
26 .badge-live { border: 1px solid #fecaca; background: #fee2e2; color: #991b1b; }
27 .badge-materia { border: 1px solid var(--accent-soft-border, #c8e6c9); background: var(--accent-soft, #e8f5e9); color: var(--sidebar-bg); }
28 .badge-time { border: 1px solid #bae6fd; background: #e0f2fe; color: #0369a1; }
29 .badge-hora { border: 1px solid #ede9fe; background: #ede9fe; color: #5b21b6; }
30 .badge-cupo { border: 1px solid #fecaca; background: #fee2e2; color: #991b1b; }
31 .organizer-label { color: var(--sidebar-bg); font-size: 0.85rem; font-weight: 700; }
32 .session-actions .btn-clean, .session-actions .btn-solid { white-space: nowrap; }
33 .session-actions .btn-clean:disabled { border-color: var(--gray-300); color: var(--gray-400); cursor: not-allowed; }
34 .group-item { border-bottom: 1px solid var(--gray-200); padding: 0.75rem 0; }
35 .group-item:first-child { padding-top: 0; }
36 .group-item:last-child { border-bottom: 0; padding-bottom: 0; }
37 .group-name { display: block; color: var(--gray-900); font-size: 0.95rem; font-weight: 700; }
38 .group-description { display: block; margin-top: 0.125rem; font-size: 0.8rem; }
39 .group-meta { display: flex; justify-content: space-between; gap: 0.5rem; margin-top: 0.375rem; color: var(--gray-600); font-size: 0.8rem; }
40 .group-link { border: 0; background: transparent; color: var(--sidebar-bg); font: inherit; font-size: 0.8rem; font-weight: 700; cursor: pointer; }
41 .rules-card { border-top: 3px solid var(--sidebar-bg); }
42 .rules-card h2 { font-size: 0.95rem; }
43 .rules-card p, .empty-circles p { margin-top: 0.375rem; color: var(--gray-600); font-size: 0.85rem; line-height: 1.4; }
44 .empty-circles { border-left: 4px solid var(--gray-300); text-align: center; }
45 .empty-circles h2 { font-size: 1.05rem; }
46 .loading-message { color: var(--gray-600); }
47
48 .sesion-modal-overlay {
49 position: fixed;
50 inset: 0;
51 background: rgba(0, 0, 0, 0.45);
52 display: flex;
53 align-items: flex-start;
54 justify-content: center;
55 padding: 60px 16px 16px;
56 z-index: 1000;
57 }
58
59 .sesion-modal-overlay[hidden] { display: none; }
60
61 .circulos-container .btn-clean:hover { background: var(--accent-soft, #f0fdf4); text-decoration: none; }
62
63 .sesion-modal {
64 background: #ffffff;
65 max-width: 520px;
66 width: 100%;
67 max-height: calc(100vh - 90px);
68 overflow-y: auto;
69 padding: 24px;
70 border-top: 3px solid var(--sidebar-bg);
71 box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
72 border-radius: 0;
73 }
74
75 .sesion-modal h3 { margin: 0 0 4px; font-size: 1.15rem; color: var(--gray-900); }
76 .sesion-modal .modal-sub { margin: 0 0 16px; font-size: 0.85rem; color: var(--gray-600); }
77 .sesion-modal label { display: block; font-size: 0.85rem; font-weight: bold; color: var(--gray-800); margin: 12px 0 6px; }
78 .sesion-input {
79 width: 100%;
80 box-sizing: border-box;
81 padding: 0.625rem 0.75rem;
82 border: 1px solid var(--gray-300);
83 background: #fff;
84 font: inherit;
85 font-size: 0.9rem;
86 color: var(--gray-900);
87 border-radius: 0;
88 outline: none;
89 }
90 .sesion-input:focus { border-color: var(--sidebar-bg); }
91 .sesion-textarea {
92 width: 100%;
93 box-sizing: border-box;
94 min-height: 100px;
95 padding: 0.625rem 0.75rem;
96 border: 1px solid var(--gray-300);
97 font: inherit;
98 font-size: 0.9rem;
99 color: var(--gray-900);
100 outline: none;
101 resize: vertical;
102 border-radius: 0;
103 }
104 .sesion-textarea:focus { border-color: var(--sidebar-bg); }
105 .sesion-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
106 .sesion-modal .modal-msg { font-size: 0.85rem; color: var(--danger-color); margin-top: 12px; }
107
108 @media (max-width: 850px) { .circulos-grid { grid-template-columns: 1fr; } }
109 @media (max-width: 560px) { .top-action-bar { align-items: stretch; flex-direction: column; } .search-input, .top-action-bar .btn-solid { width: 100%; } .session-footer { align-items: flex-start; flex-direction: column; } .sesion-field-row { grid-template-columns: 1fr; gap: 0.5rem; } }
110