|
1 | 1 | /** |
2 | 2 | * Search Movie Modal Styles |
3 | | - * |
| 3 | + * |
4 | 4 | * CSS Module for the search movie modal component. |
5 | 5 | * Provides consistent styling with the rest of the application. |
6 | 6 | */ |
7 | 7 |
|
8 | 8 | .formContainer { |
9 | 9 | background: white; |
10 | | - border-radius: 12px; |
11 | | - padding: 2rem; |
12 | | - box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); |
| 10 | + border-radius: 16px; |
| 11 | + padding: 2.5rem; |
| 12 | + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); |
13 | 13 | margin-bottom: 2rem; |
| 14 | + max-width: 800px; |
| 15 | + margin-left: auto; |
| 16 | + margin-right: auto; |
14 | 17 | } |
15 | 18 |
|
16 | 19 | .formTitle { |
17 | | - font-size: 1.75rem; |
18 | | - font-weight: bold; |
19 | | - color: #333; |
20 | | - margin: 0 0 1.5rem 0; |
| 20 | + font-size: 1.875rem; |
| 21 | + font-weight: 700; |
| 22 | + color: #1a1a2e; |
| 23 | + margin: 0 0 0.5rem 0; |
21 | 24 | text-align: center; |
22 | 25 | } |
23 | 26 |
|
24 | 27 | .batchDescription { |
25 | | - background-color: #f8f9fa; |
26 | | - border: 1px solid #e9ecef; |
27 | | - border-radius: 8px; |
28 | | - padding: 1rem; |
29 | | - margin-bottom: 1.5rem; |
30 | | - color: #495057; |
31 | | - font-size: 0.9rem; |
32 | | - line-height: 1.4; |
| 28 | + background-color: transparent; |
| 29 | + border: none; |
| 30 | + padding: 0; |
| 31 | + margin-bottom: 2rem; |
| 32 | + color: #6b7280; |
| 33 | + font-size: 1rem; |
| 34 | + line-height: 1.5; |
33 | 35 | text-align: center; |
34 | 36 | } |
35 | 37 |
|
36 | 38 | .generalError { |
37 | | - background-color: #f8d7da; |
38 | | - border: 1px solid #f5c6cb; |
39 | | - color: #721c24; |
40 | | - padding: 0.75rem 1rem; |
41 | | - border-radius: 8px; |
42 | | - margin-bottom: 1rem; |
| 39 | + background-color: #fef2f2; |
| 40 | + border: 1px solid #fecaca; |
| 41 | + color: #dc2626; |
| 42 | + padding: 0.875rem 1.25rem; |
| 43 | + border-radius: 10px; |
| 44 | + margin-bottom: 1.5rem; |
43 | 45 | font-size: 0.9rem; |
44 | 46 | text-align: center; |
45 | 47 | } |
|
48 | 50 | width: 100%; |
49 | 51 | } |
50 | 52 |
|
| 53 | +/* Section styling for grouped fields */ |
| 54 | +.fieldSection { |
| 55 | + background: #f8fafc; |
| 56 | + border-radius: 12px; |
| 57 | + padding: 1.5rem; |
| 58 | + margin-bottom: 1.5rem; |
| 59 | +} |
| 60 | + |
| 61 | +.sectionTitle { |
| 62 | + font-size: 0.8rem; |
| 63 | + font-weight: 600; |
| 64 | + color: #64748b; |
| 65 | + text-transform: uppercase; |
| 66 | + letter-spacing: 0.05em; |
| 67 | + margin: 0 0 1rem 0; |
| 68 | + padding-bottom: 0.75rem; |
| 69 | + border-bottom: 1px solid #e2e8f0; |
| 70 | +} |
| 71 | + |
51 | 72 | .formGrid { |
52 | 73 | display: grid; |
53 | | - grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); |
54 | | - gap: 1.5rem; |
| 74 | + grid-template-columns: repeat(2, 1fr); |
| 75 | + gap: 1.25rem; |
55 | 76 | margin-bottom: 1.5rem; |
56 | 77 | } |
57 | 78 |
|
| 79 | +.formGridThreeCol { |
| 80 | + display: grid; |
| 81 | + grid-template-columns: repeat(3, 1fr); |
| 82 | + gap: 1.25rem; |
| 83 | +} |
| 84 | + |
58 | 85 | .formGroup { |
59 | 86 | display: flex; |
60 | 87 | flex-direction: column; |
61 | | - gap: 0.5rem; |
| 88 | + gap: 0.375rem; |
| 89 | +} |
| 90 | + |
| 91 | +.formGroupFullWidth { |
| 92 | + grid-column: 1 / -1; |
62 | 93 | } |
63 | 94 |
|
64 | 95 | .label { |
65 | | - font-weight: 500; |
66 | | - color: #333; |
67 | | - font-size: 0.9rem; |
| 96 | + font-weight: 600; |
| 97 | + color: #374151; |
| 98 | + font-size: 0.875rem; |
68 | 99 | } |
69 | 100 |
|
70 | 101 | .input, |
71 | 102 | .textarea { |
72 | | - padding: 0.75rem; |
73 | | - border: 2px solid #e1e5e9; |
74 | | - border-radius: 8px; |
75 | | - font-size: 1rem; |
76 | | - transition: border-color 0.2s ease, box-shadow 0.2s ease; |
| 103 | + padding: 0.875rem 1rem; |
| 104 | + border: 1.5px solid #e2e8f0; |
| 105 | + border-radius: 10px; |
| 106 | + font-size: 0.95rem; |
| 107 | + transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; |
77 | 108 | background: white; |
78 | 109 | } |
79 | 110 |
|
| 111 | +.input::placeholder, |
| 112 | +.textarea::placeholder { |
| 113 | + color: #9ca3af; |
| 114 | +} |
| 115 | + |
| 116 | +.input:hover:not(:disabled), |
| 117 | +.textarea:hover:not(:disabled) { |
| 118 | + border-color: #cbd5e1; |
| 119 | +} |
| 120 | + |
80 | 121 | .input:focus, |
81 | 122 | .textarea:focus { |
82 | 123 | outline: none; |
83 | | - border-color: #0070f3; |
84 | | - box-shadow: 0 0 0 3px rgba(0, 112, 243, 0.1); |
| 124 | + border-color: #3b82f6; |
| 125 | + box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); |
| 126 | + background: white; |
85 | 127 | } |
86 | 128 |
|
87 | 129 | .input:disabled, |
88 | 130 | .textarea:disabled { |
89 | | - background: #f8f9fa; |
90 | | - color: #6c757d; |
| 131 | + background: #f1f5f9; |
| 132 | + color: #94a3b8; |
91 | 133 | cursor: not-allowed; |
92 | 134 | } |
93 | 135 |
|
94 | 136 | .inputError { |
95 | | - border-color: #dc2626 !important; |
| 137 | + border-color: #ef4444 !important; |
96 | 138 | } |
97 | 139 |
|
98 | 140 | .inputError:focus { |
99 | | - box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important; |
| 141 | + box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important; |
100 | 142 | } |
101 | 143 |
|
102 | 144 | .error { |
103 | | - color: #dc2626; |
104 | | - font-size: 0.875rem; |
| 145 | + color: #ef4444; |
| 146 | + font-size: 0.8rem; |
105 | 147 | margin-top: 0.25rem; |
106 | 148 | } |
107 | 149 |
|
108 | 150 | .searchOperatorDescription { |
109 | | - color: #6c757d; |
110 | | - font-size: 0.875rem; |
| 151 | + color: #64748b; |
| 152 | + font-size: 0.8rem; |
111 | 153 | margin-top: 0.25rem; |
112 | 154 | display: block; |
| 155 | + line-height: 1.4; |
113 | 156 | } |
114 | 157 |
|
115 | 158 | .formActions { |
116 | 159 | display: flex; |
117 | | - gap: 1rem; |
| 160 | + gap: 0.75rem; |
118 | 161 | justify-content: flex-end; |
119 | | - padding-top: 1.5rem; |
120 | | - border-top: 1px solid #e1e5e9; |
| 162 | + padding-top: 1.75rem; |
| 163 | + margin-top: 0.5rem; |
| 164 | + border-top: 1px solid #e2e8f0; |
121 | 165 | } |
122 | 166 |
|
123 | 167 | .button { |
124 | 168 | padding: 0.75rem 1.5rem; |
125 | 169 | border: none; |
126 | | - border-radius: 8px; |
127 | | - font-size: 1rem; |
128 | | - font-weight: 500; |
| 170 | + border-radius: 10px; |
| 171 | + font-size: 0.95rem; |
| 172 | + font-weight: 600; |
129 | 173 | cursor: pointer; |
130 | 174 | transition: all 0.2s ease; |
131 | | - min-width: 120px; |
| 175 | + min-width: 100px; |
132 | 176 | } |
133 | 177 |
|
134 | 178 | .button:disabled { |
135 | | - opacity: 0.6; |
| 179 | + opacity: 0.5; |
136 | 180 | cursor: not-allowed; |
137 | 181 | transform: none; |
138 | 182 | } |
139 | 183 |
|
140 | 184 | .saveButton { |
141 | | - background: #0070f3; |
| 185 | + background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); |
142 | 186 | color: white; |
143 | | - border: 1px solid #0070f3; |
| 187 | + border: none; |
| 188 | + min-width: 140px; |
144 | 189 | } |
145 | 190 |
|
146 | 191 | .saveButton:hover:not(:disabled) { |
147 | | - background: #0051cc; |
148 | | - border-color: #0051cc; |
149 | | - transform: translateY(-1px); |
150 | | - box-shadow: 0 4px 8px rgba(0, 112, 243, 0.3); |
| 192 | + background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); |
| 193 | + transform: translateY(-2px); |
| 194 | + box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35); |
151 | 195 | } |
152 | 196 |
|
153 | 197 | .cancelButton { |
154 | | - background: #6c757d; |
155 | | - color: white; |
156 | | - border: 1px solid #6c757d; |
| 198 | + background: #f1f5f9; |
| 199 | + color: #475569; |
| 200 | + border: 1.5px solid #e2e8f0; |
157 | 201 | } |
158 | 202 |
|
159 | 203 | .cancelButton:hover:not(:disabled) { |
160 | | - background: #5a6268; |
161 | | - border-color: #5a6268; |
| 204 | + background: #e2e8f0; |
| 205 | + border-color: #cbd5e1; |
162 | 206 | transform: translateY(-1px); |
163 | | - box-shadow: 0 4px 8px rgba(108, 117, 125, 0.3); |
164 | 207 | } |
165 | 208 |
|
166 | 209 | .clearButton { |
167 | | - background: #6c757d; |
168 | | - color: white; |
169 | | - border: 1px solid #6c757d; |
| 210 | + background: transparent; |
| 211 | + color: #64748b; |
| 212 | + border: 1.5px solid #e2e8f0; |
170 | 213 | } |
171 | 214 |
|
172 | 215 | .clearButton:hover:not(:disabled) { |
173 | | - background: #5a6268; |
174 | | - border-color: #5a6268; |
175 | | - transform: translateY(-1px); |
176 | | - box-shadow: 0 4px 8px rgba(108, 117, 125, 0.3); |
| 216 | + background: #f8fafc; |
| 217 | + border-color: #cbd5e1; |
| 218 | + color: #475569; |
177 | 219 | } |
178 | 220 |
|
179 | 221 | /* Responsive Design */ |
180 | 222 | @media (max-width: 768px) { |
181 | 223 | .formContainer { |
182 | | - padding: 1.5rem; |
| 224 | + padding: 1.75rem; |
| 225 | + border-radius: 12px; |
| 226 | + } |
| 227 | + |
| 228 | + .fieldSection { |
| 229 | + padding: 1.25rem; |
183 | 230 | } |
184 | 231 |
|
185 | 232 | .formGrid { |
186 | 233 | grid-template-columns: 1fr; |
187 | 234 | gap: 1rem; |
188 | 235 | } |
189 | 236 |
|
| 237 | + .formGridThreeCol { |
| 238 | + grid-template-columns: 1fr; |
| 239 | + gap: 1rem; |
| 240 | + } |
| 241 | + |
190 | 242 | .formActions { |
191 | 243 | flex-direction: column-reverse; |
192 | | - gap: 0.75rem; |
| 244 | + gap: 0.625rem; |
193 | 245 | } |
194 | 246 |
|
195 | 247 | .button { |
196 | 248 | width: 100%; |
| 249 | + padding: 0.875rem 1.5rem; |
197 | 250 | } |
198 | 251 | } |
199 | 252 |
|
200 | 253 | @media (max-width: 480px) { |
201 | 254 | .formContainer { |
202 | | - padding: 1rem; |
| 255 | + padding: 1.25rem; |
203 | 256 | } |
204 | 257 |
|
205 | 258 | .formTitle { |
206 | 259 | font-size: 1.5rem; |
207 | 260 | } |
208 | 261 |
|
209 | | - .formGrid { |
210 | | - gap: 0.75rem; |
| 262 | + .fieldSection { |
| 263 | + padding: 1rem; |
| 264 | + } |
| 265 | + |
| 266 | + .formGrid, |
| 267 | + .formGridThreeCol { |
| 268 | + gap: 0.875rem; |
211 | 269 | } |
212 | 270 |
|
213 | 271 | .input, |
214 | 272 | .textarea { |
215 | | - padding: 0.625rem; |
| 273 | + padding: 0.75rem; |
216 | 274 | font-size: 0.9rem; |
217 | 275 | } |
218 | 276 |
|
|
0 commit comments