:root{--color-primary: #667eea;--color-primary-hover: #5a6bd8;--color-secondary: #764ba2;--color-text: #2c3e50;--color-text-light: #666;--color-background: #ffffff;--color-border: #e0e0e0;--color-error: #e53e3e;--color-error-bg: #fee;--color-error-border: #fcc;--color-error-text: #c33;--color-success: #4caf50;--color-success-bg: #e6f7e6;--color-success-border: #4caf50;--color-success-text: #2e7d32;--color-info: #007bff;--color-info-bg: #d1ecf1;--color-info-border: #007bff;--color-info-text: #0c5460;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--radius-sm: .25rem;--radius-md: .5rem;--input-border: 1px solid #aaa;font-family:var(--font-family);line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0}h1{font-size:2.5rem;line-height:1.1;margin-top:0;margin-bottom:var(--spacing-lg);font-weight:700}button{border-radius:var(--radius-md);border:2px solid transparent;padding:var(--spacing-sm) var(--spacing-lg);font-size:14px;font-weight:500;font-family:var(--font-family);background:var(--button-bg, var(--color-primary));color:#fff;cursor:pointer;transition:all .2s ease}button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #4fc3f74d}button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.btn-cancel{background:#f5f5f5;color:var(--color-text-light);border:1px solid var(--color-border)}.btn-cancel:hover:not(:disabled){background:#e8e8e8;border-color:#bbb;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{background:var(--color-background);padding:calc(var(--spacing-lg) + var(--spacing-md));border-radius:var(--radius-md);box-shadow:0 2px 8px #0000001a;border:1px solid var(--color-border)}.card h2{margin:0 0 var(--spacing-lg) 0;font-size:1.5rem;font-weight:600;color:var(--color-text);text-align:center}input,textarea,select{padding:var(--spacing-sm) var(--spacing-lg);border:var(--input-border);border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-family);background:var(--input-bg, var(--color-background));color:inherit;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}input:hover,textarea:hover,select:hover{border-color:var(--color-border)}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}label{display:block;font-weight:600;font-size:.875rem;margin-bottom:calc(var(--spacing-sm) * .5)}label.required:after{content:" *";color:var(--color-error)}fieldset>input:not(:last-child),fieldset>select:not(:last-child),fieldset>textarea:not(:last-child),form>input:not(:last-child),form>select:not(:last-child),form>textarea:not(:last-child){margin-bottom:var(--spacing-md)}main{max-width:1200px;margin:0 auto;padding:calc(var(--spacing-md) * .75);container-type:inline-size}main>*{margin-bottom:var(--spacing-lg)}@media (min-width: 768px){main{padding:var(--spacing-lg)}}.contained-width{max-width:1200px;margin:0 auto}.toolbar{display:flex;flex-direction:column;gap:var(--spacing-md);text-align:center;align-items:center}@media (min-width: 768px){.toolbar{flex-direction:row;justify-content:space-between;align-items:center}.toolbar:has(>:first-child:last-child){justify-content:flex-end}}.buttons{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}}.app-header,footer{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-background);box-shadow:0 2px 4px #0000001a}.app-header{border-bottom:1px solid var(--color-border)}footer{border-top:1px solid var(--color-border);margin-top:var(--spacing-lg)}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}fieldset legend{padding:0 calc(var(--spacing-md) * .5);font-weight:600;color:var(--color-text);font-size:16px}.form-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);padding:calc(var(--spacing-md) * .75) var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:var(--radius-md);font-size:14px}.help-text{display:block;margin-top:var(--spacing-xs);color:var(--color-text-light);font-size:.875rem}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg)}@media (min-width: 600px){.form-actions{flex-direction:row}}.status-message{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);animation:slideIn .3s ease-out}.status-message.success{background-color:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.status-message.error{background-color:var(--color-error-bg);color:var(--color-error-text);border:2px solid var(--color-error-border)}.status-message strong{display:block;margin-bottom:var(--spacing-sm)}.status-message p{margin:var(--spacing-sm) 0 0 0;font-size:.875rem}.status-message.info{background-color:var(--color-info-bg);color:var(--color-info-text);border:1px solid var(--color-info-border)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.page-header{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:center}.page-header h1{margin:0;font-size:1.5rem}@media (min-width: 768px){.page-header{flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.page-header h1{font-size:1.75rem}}.instructions{background-color:var(--color-info-bg);color:var(--color-info-text);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border-left:4px solid var(--color-info)}.balanced-grid{display:grid;--columns: 1;grid-template-columns:repeat(var(--columns),1fr);gap:var(--grid-gap, var(--spacing-md));margin-bottom:var(--spacing-lg)}@container (min-width: 400px){.balanced-grid{--columns: 2}}@container (min-width: 600px){.balanced-grid:has(>:first-child:nth-last-child(3n)){--columns: 3}}@container (min-width: 800px){.balanced-grid:has(>:first-child:nth-last-child(4n)){--columns: 4}}.stat-card{text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.stat-label{font-size:.875rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.dashboard-header{text-align:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;border-radius:var(--radius-md);box-shadow:0 4px 6px #0000001a;--button-bg: rgba(255, 255, 255, .2);--input-bg: rgba(255, 255, 255, .1);--input-border: 1px solid rgba(255, 255, 255, .1)}.dashboard-header>*:first-child{margin-top:0}.dashboard-header>*:last-child{margin-bottom:0}.dashboard-header .shared-info{margin-bottom:var(--spacing-md);opacity:.9}.dashboard-controls{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;margin-block:var(--spacing-md)}.workout-dashboard{width:100%}.workouts-list{background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:0 2px 8px #0000001a}.workouts-list h2{margin:0 0 var(--spacing-lg) 0;font-size:1.5rem;color:var(--color-text)}.workout-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.workout-item{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);transition:transform .2s ease,box-shadow .2s ease}.workout-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.workout-date{font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm);font-size:1rem}.workout-details{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm)}.workout-metric{display:flex;justify-content:space-between;align-items:center}.metric-label{font-size:.875rem;color:var(--color-text-light)}.metric-value{font-weight:600;color:var(--color-text);font-size:.875rem}@media (min-width: 768px){.workout-details{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.qr-scanner{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:center}.qr-reader-container{width:100%;max-width:500px;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 8px #0000001a}.qr-reader-container video{width:100%;height:auto;display:block}.scanner-controls{display:flex;gap:var(--spacing-md);justify-content:center}.add-workout-page{padding:var(--spacing-md)}.tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border);overflow-x:auto}.tab{padding:calc(var(--spacing-md) * .75) var(--spacing-lg);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:var(--color-text-light);transition:all .2s ease;white-space:nowrap}.tab:hover{color:var(--color-info);background-color:var(--color-background);opacity:.8}.tab.active{color:var(--color-info);border-bottom-color:var(--color-info)}.tab-content{min-height:400px}.tab-panel{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.time-range-selector{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);font-weight:500;text-align:center}.chart-container{position:relative;margin-bottom:var(--spacing-md);height:300px;width:100%}.averages-summary{container-type:inline-size}@media (min-width: 768px){.chart-container{height:400px}.time-range-selector{flex-direction:row;text-align:left}}#root{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.share-link-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;justify-content:space-between;align-items:flex-start;background:var(--color-background)}.share-link-item.expired{background:var(--color-background);border-color:var(--color-border);opacity:.6}.link-info{flex:1;margin-right:var(--spacing-md)}.link-dates{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-size:.75rem}.created{color:var(--color-text-light)}.expires{color:var(--color-primary)}.expires.expired{color:var(--color-error);font-weight:700}.link-url{background:var(--color-background);padding:var(--spacing-sm);border-radius:var(--radius-sm);font-family:monospace;font-size:.75rem;word-break:break-all;border:1px solid var(--color-border)}.link-actions{display:flex;gap:var(--spacing-sm);flex-direction:column}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-error);opacity:.8}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;color:var(--color-text)}.share-description{color:var(--color-text-light);font-size:.875rem;margin-bottom:var(--spacing-md)}
