desvergue-de-alexandro
css 230 lines 4.14 KB
Raw
1 /* MAPS Connect - Layout (header, sidebar, main) */
2
3 .app-layout {
4 display: flex;
5 min-height: 100vh;
6 }
7
8 .sidebar {
9 width: var(--sidebar-width);
10 background: var(--sidebar-bg);
11 color: var(--sidebar-text-hover);
12 position: fixed;
13 top: 0;
14 left: 0;
15 height: 100vh;
16 z-index: 100;
17 display: flex;
18 flex-direction: column;
19 transform: translateX(-100%);
20 transition: transform 0.3s ease;
21 box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.2);
22 }
23
24 .sidebar.open {
25 transform: translateX(0);
26 }
27
28 .sidebar-header {
29 padding: 1.25rem;
30 border-bottom: 1px solid var(--sidebar-border);
31 }
32
33 .sidebar-header h1 {
34 color: var(--sidebar-text-hover);
35 font-size: 1.25rem;
36 margin: 0;
37 }
38
39 .sidebar-header small {
40 color: var(--sidebar-text);
41 }
42
43 .sidebar-nav {
44 list-style: none;
45 padding: 1rem 0;
46 overflow-y: auto;
47 flex: 1;
48 }
49
50 .sidebar-nav a {
51 display: block;
52 padding: 0.75rem 1.25rem;
53 color: var(--sidebar-text);
54 text-decoration: none;
55 border-left: 3px solid transparent;
56 }
57
58 .sidebar-nav a:hover {
59 background: var(--sidebar-item-hover-bg);
60 color: var(--sidebar-text-hover);
61 text-decoration: none;
62 }
63
64 .sidebar-nav a.active {
65 background: var(--sidebar-item-active-bg);
66 color: var(--sidebar-text-hover);
67 border-left-color: var(--sidebar-accent);
68 text-decoration: none;
69 }
70
71 .sidebar-footer {
72 padding: 1rem 1.25rem;
73 border-top: 1px solid var(--sidebar-border);
74 }
75
76 .sidebar-footer .btn {
77 width: 100%;
78 }
79
80 .main-wrapper {
81 flex: 1;
82 display: flex;
83 flex-direction: column;
84 min-width: 0;
85 transition: margin-left 0.3s ease;
86 }
87
88 .app-layout.menu-open .main-wrapper {
89 margin-left: var(--sidebar-width);
90 }
91
92 .topbar {
93 height: 0;
94 }
95
96 .menu-toggle {
97 position: fixed;
98 top: 1rem;
99 left: 1rem;
100 z-index: 110;
101 width: 2.75rem;
102 height: 2.75rem;
103 border: none;
104 border-radius: 50%;
105 background: var(--sidebar-bg);
106 color: var(--sidebar-text-hover);
107 font-size: 1.25rem;
108 cursor: pointer;
109 box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.2);
110 transition: left 0.3s ease;
111 }
112
113 .app-layout.menu-open .menu-toggle {
114 left: calc(var(--sidebar-width) + 1rem);
115 }
116
117 .menu-backdrop {
118 display: none;
119 position: fixed;
120 inset: 0;
121 z-index: 80;
122 border: 0;
123 background: rgba(0, 0, 0, 0.35);
124 cursor: pointer;
125 }
126
127 .app-layout.menu-open .menu-backdrop {
128 display: block;
129 }
130
131 .main-content {
132 flex: 1;
133 padding: 4.75rem 1.5rem 1.5rem;
134 overflow-y: auto;
135 }
136
137 .visually-hidden {
138 position: absolute;
139 width: 1px;
140 height: 1px;
141 padding: 0;
142 margin: -1px;
143 overflow: hidden;
144 clip: rect(0, 0, 0, 0);
145 white-space: nowrap;
146 border: 0;
147 }
148
149 .auth-layout {
150 min-height: 100vh;
151 display: flex;
152 align-items: center;
153 justify-content: center;
154 padding: 1rem;
155 }
156
157 /*fondo de pantalla de inicio de sesion y registro*/
158
159 .login-page .auth-layout,
160 .register-page .auth-layout {
161 background-image: linear-gradient(
162 rgba(0, 0, 0, 0.35),
163 rgba(0, 0, 0, 0.35)
164 ), url("../assets/bg-login.png");
165 background-size: cover;
166 background-position: center;
167 background-repeat: no-repeat;
168 }
169
170 .auth-card {
171 width: 100%;
172 max-width: 420px;
173 }
174
175 .landing-layout {
176 min-height: 100vh;
177 display: flex;
178 flex-direction: column;
179 }
180
181 .landing-header {
182 padding: 1rem 2rem;
183 background: white;
184 border-bottom: 1px solid var(--gray-200);
185 display: flex;
186 justify-content: space-between;
187 align-items: center;
188 }
189
190 .landing-hero {
191 flex: 1;
192 display: flex;
193 flex-direction: column;
194 align-items: center;
195 justify-content: center;
196 text-align: center;
197 padding: 3rem 1.5rem;
198 }
199
200 .landing-hero h1 {
201 font-size: 2.5rem;
202 margin-bottom: 1rem;
203 }
204
205 .landing-hero p {
206 color: var(--gray-600);
207 max-width: 600px;
208 margin-bottom: 2rem;
209 }
210
211 .landing-actions {
212 display: flex;
213 gap: 1rem;
214 flex-wrap: wrap;
215 justify-content: center;
216 }
217
218 @media (max-width: 768px) {
219 .app-layout.menu-open .main-wrapper {
220 margin-left: 0;
221 }
222
223 .app-layout.menu-open .menu-toggle {
224 left: 1rem;
225 }
226
227 .main-content {
228 padding: 4.75rem 1rem 1rem;
229 }
230 }