all repos — go-lift @ 092e7440440b8459d82fb90c05c005f9f38e3c51

Lightweight workout tracker prototype..

ui/src/App.css (view raw)

  1:root {
  2  --primary-color: #007aff;
  3  --secondary-color: #5ac8fa;
  4  --background-color: #f5f5f7;
  5  --text-color: #1d1d1f;
  6  --light-gray: #d1d1d6;
  7  --dark-gray: #8e8e93;
  8  --success-color: #34c759;
  9  --danger-color: #ff3b30;
 10  --warning-color: #ff9500;
 11  --border-radius: 8px;
 12  --spacing-xs: 4px;
 13  --spacing-sm: 8px;
 14  --spacing-md: 16px;
 15  --spacing-lg: 24px;
 16  --spacing-xl: 32px;
 17  --bottom-nav-height: 60px;
 18  --side-nav-width: 250px;
 19  --header-height: 60px;
 20}
 21
 22* {
 23  box-sizing: border-box;
 24  margin: 0;
 25  padding: 0;
 26}
 27
 28body {
 29  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,
 30    Arial, sans-serif;
 31  background-color: var(--background-color);
 32  color: var(--text-color);
 33  line-height: 1.5;
 34}
 35
 36#root {
 37  min-height: 100vh;
 38  display: flex;
 39  flex-direction: column;
 40}
 41
 42/* App container */
 43.app-container {
 44  flex: 1;
 45  display: flex;
 46  flex-direction: column;
 47  max-width: 100%;
 48}
 49
 50/* Mobile layout */
 51.mobile-layout .content-area {
 52  padding: var(--spacing-md);
 53  padding-bottom: calc(var(--bottom-nav-height) + var(--spacing-md));
 54}
 55
 56/* Desktop layout */
 57.desktop-layout {
 58  flex-direction: row;
 59}
 60
 61.desktop-layout .content-area {
 62  flex: 1;
 63  margin-left: var(--side-nav-width);
 64  padding: var(--spacing-lg);
 65}
 66
 67/* Page styling */
 68.page {
 69  max-width: 1200px;
 70  margin: 0 auto;
 71}
 72
 73/* Typography */
 74h1 {
 75  font-size: 24px;
 76  font-weight: 600;
 77  margin-bottom: var(--spacing-lg);
 78}
 79
 80h2 {
 81  font-size: 20px;
 82  font-weight: 500;
 83  margin-bottom: var(--spacing-md);
 84}
 85
 86h3 {
 87  font-size: 18px;
 88  font-weight: 500;
 89  margin-bottom: var(--spacing-md);
 90}
 91
 92/* Form elements */
 93.form-group {
 94  margin-bottom: var(--spacing-lg);
 95}
 96
 97label {
 98  display: block;
 99  margin-bottom: var(--spacing-xs);
100  font-weight: 500;
101}
102
103input, select, textarea {
104  width: 100%;
105  padding: var(--spacing-sm);
106  border: 1px solid var(--light-gray);
107  border-radius: var(--border-radius);
108  font-size: 16px;
109  background-color: white;
110}
111
112input:focus, select:focus, textarea:focus {
113  outline: none;
114  border-color: var(--primary-color);
115}
116
117/* Buttons */
118.btn {
119  display: inline-block;
120  padding: 10px 16px;
121  border: none;
122  border-radius: var(--border-radius);
123  font-size: 16px;
124  font-weight: 500;
125  cursor: pointer;
126  transition: all 0.2s;
127  text-align: center;
128}
129
130.btn-primary {
131  background-color: var(--primary-color);
132  color: white;
133}
134
135.btn-secondary {
136  background-color: var(--light-gray);
137  color: var(--text-color);
138}
139
140.btn-success {
141  background-color: var(--success-color);
142  color: white;
143}
144
145.btn-danger {
146  background-color: var(--danger-color);
147  color: white;
148}
149
150.btn-block {
151  display: block;
152  width: 100%;
153}
154
155/* Cards */
156.card {
157  background-color: white;
158  border-radius: var(--border-radius);
159  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
160  padding: var(--spacing-lg);
161  margin-bottom: var(--spacing-lg);
162}
163
164/* Lists */
165.list-item {
166  padding: var(--spacing-md);
167  border-bottom: 1px solid var(--light-gray);
168}
169
170.list-item:last-child {
171  border-bottom: none;
172}
173
174/* Utilities */
175.text-center {
176  text-align: center;
177}
178
179.text-right {
180  text-align: right;
181}
182
183.flex {
184  display: flex;
185}
186
187.flex-col {
188  flex-direction: column;
189}
190
191.justify-between {
192  justify-content: space-between;
193}
194
195.items-center {
196  align-items: center;
197}
198
199.mt-sm { margin-top: var(--spacing-sm); }
200.mt-md { margin-top: var(--spacing-md); }
201.mt-lg { margin-top: var(--spacing-lg); }
202
203.mb-sm { margin-bottom: var(--spacing-sm); }
204.mb-md { margin-bottom: var(--spacing-md); }
205.mb-lg { margin-bottom: var(--spacing-lg); }
206
207/* Responsive layouts */
208@media (max-width: 767px) {
209  h1 {
210    font-size: 22px;
211  }
212  
213  h2 {
214    font-size: 18px;
215  }
216}