/ test-api / src / App.css
App.css
  1  .App {
  2    text-align: center;
  3    min-height: 100vh;
  4    color: white;
  5  }
  6  
  7  .App-header {
  8    padding: 2rem;
  9    background: rgba(0, 0, 0, 0.1);
 10  }
 11  
 12  .App-header h1 {
 13    margin: 0 0 0.5rem 0;
 14    font-size: 2.5rem;
 15  }
 16  
 17  .App-header p {
 18    margin: 0;
 19    opacity: 0.9;
 20    font-size: 1.1rem;
 21  }
 22  
 23  .App-main {
 24    padding: 2rem;
 25  }
 26  
 27  .container {
 28    max-width: 1200px;
 29    margin: 0 auto;
 30    display: grid;
 31    grid-template-columns: 1fr 1fr;
 32    gap: 2rem;
 33  }
 34  
 35  .section {
 36    background: rgba(255, 255, 255, 0.1);
 37    border-radius: 15px;
 38    padding: 1.5rem;
 39    backdrop-filter: blur(10px);
 40    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
 41    border: 1px solid rgba(255, 255, 255, 0.2);
 42  }
 43  
 44  .card {
 45    background: rgba(255, 255, 255, 0.05);
 46    border-radius: 10px;
 47    padding: 1rem;
 48    margin: 1rem 0;
 49    border: 1px solid rgba(255, 255, 255, 0.1);
 50  }
 51  
 52  .button {
 53    background: linear-gradient(45deg, #667eea, #764ba2);
 54    color: white;
 55    border: none;
 56    padding: 0.75rem 1.5rem;
 57    border-radius: 8px;
 58    cursor: pointer;
 59    font-size: 1rem;
 60    font-weight: 600;
 61    transition: transform 0.2s;
 62    margin: 0.5rem;
 63  }
 64  
 65  .button:hover {
 66    transform: translateY(-2px);
 67  }
 68  
 69  .button:disabled {
 70    opacity: 0.5;
 71    cursor: not-allowed;
 72    transform: none;
 73  }
 74  
 75  .input {
 76    width: 100%;
 77    padding: 0.75rem;
 78    border: 1px solid rgba(255, 255, 255, 0.3);
 79    border-radius: 8px;
 80    background: rgba(255, 255, 255, 0.1);
 81    color: white;
 82    font-size: 1rem;
 83    margin: 0.5rem 0;
 84  }
 85  
 86  .input::placeholder {
 87    color: rgba(255, 255, 255, 0.7);
 88  }
 89  
 90  .textarea {
 91    min-height: 120px;
 92    resize: vertical;
 93    font-family: 'Courier New', monospace;
 94  }
 95  
 96  .success {
 97    color: #4ade80;
 98    font-weight: 600;
 99  }
100  
101  .error {
102    color: #f87171;
103    font-weight: 600;
104  }
105  
106  .loading {
107    color: #fbbf24;
108    font-weight: 600;
109  }
110  
111  .token-display {
112    background: rgba(0, 0, 0, 0.2);
113    padding: 1rem;
114    border-radius: 8px;
115    word-break: break-all;
116    font-family: 'Courier New', monospace;
117    font-size: 0.9rem;
118    margin: 1rem 0;
119  }
120  
121  .json-display {
122    background: rgba(0, 0, 0, 0.3);
123    padding: 1rem;
124    border-radius: 8px;
125    text-align: left;
126    font-family: 'Courier New', monospace;
127    font-size: 0.85rem;
128    overflow-x: auto;
129    white-space: pre-wrap;
130  }
131  
132  /* HomePage styles */
133  .home-container {
134    max-width: 1200px;
135    margin: 0 auto;
136  }
137  
138  .apps-grid {
139    display: grid;
140    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
141    gap: 2rem;
142    padding: 1rem;
143  }
144  
145  .app-card {
146    background: rgba(255, 255, 255, 0.1);
147    border-radius: 15px;
148    padding: 2rem;
149    backdrop-filter: blur(10px);
150    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
151    border: 1px solid rgba(255, 255, 255, 0.2);
152    transition: transform 0.3s ease, box-shadow 0.3s ease;
153    text-align: center;
154  }
155  
156  .app-card:hover {
157    transform: translateY(-5px);
158    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
159  }
160  
161  .app-card.placeholder {
162    opacity: 0.7;
163    border-style: dashed;
164  }
165  
166  .app-card h3 {
167    margin: 0 0 1rem 0;
168    font-size: 1.5rem;
169    color: white;
170  }
171  
172  .app-card p {
173    margin: 0 0 1.5rem 0;
174    opacity: 0.9;
175    line-height: 1.5;
176  }
177  
178  .app-status {
179    margin: 1rem 0;
180  }
181  
182  .status-badge {
183    padding: 0.25rem 0.75rem;
184    border-radius: 20px;
185    font-size: 0.8rem;
186    font-weight: 600;
187    background: rgba(255, 255, 255, 0.2);
188    color: white;
189  }
190  
191  .status-badge.success {
192    background: linear-gradient(45deg, #10b981, #059669);
193  }
194  
195  .app-button {
196    width: 100%;
197    margin-top: 1rem;
198  }
199  
200  /* Navigation styles */
201  .app-header-nav {
202    margin-bottom: 1rem;
203    text-align: left;
204  }
205  
206  .back-button {
207    background: rgba(255, 255, 255, 0.2);
208    color: white;
209    border: 1px solid rgba(255, 255, 255, 0.3);
210    padding: 0.5rem 1rem;
211    font-size: 0.9rem;
212  }
213  
214  .back-button:hover {
215    background: rgba(255, 255, 255, 0.3);
216  }
217  
218  @media (max-width: 768px) {
219    .container {
220      grid-template-columns: 1fr;
221      gap: 1rem;
222    }
223    
224    .apps-grid {
225      grid-template-columns: 1fr;
226      gap: 1rem;
227      padding: 0.5rem;
228    }
229    
230    .app-card {
231      padding: 1.5rem;
232    }
233    
234    .App-header h1 {
235      font-size: 2rem;
236    }
237    
238    .App-main {
239      padding: 1rem;
240    }
241  }