.app{min-height:100vh}.header{background:#2a7221;color:var(--text-primary);padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 4px 12px #0006}@media(min-width:640px){.header{padding:30px}}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.header h1{font-size:1.75em;margin-bottom:10px}@media(min-width:640px){.header h1{font-size:2.5em}}.subtitle{font-size:1em;opacity:.95}@media(min-width:640px){.subtitle{font-size:1.1em}}.btn-logout{background:#ffffff26;color:var(--text-primary);border:2px solid rgba(255,255,255,.3);padding:10px 20px;font-size:14px}.btn-logout:hover{background:#ffffff40}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.5em;color:var(--accent-primary)}.nav-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-tabs button{background:var(--bg-surface);color:var(--text-secondary);border:2px solid var(--surface-hover);padding:12px 16px;font-size:14px;white-space:nowrap;flex-shrink:0}@media(min-width:640px){.nav-tabs button{padding:12px 24px;font-size:16px}}.nav-tabs button.active{background:#2a7221;color:var(--text-primary);border-color:#2a7221}.nav-tabs button:hover:not(.active){border-color:var(--accent-primary);color:var(--text-primary)}.main-content{animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--bg-surface);padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000004d;margin-bottom:20px;border:1px solid var(--surface-hover)}.card h2{color:var(--accent-primary);margin-bottom:20px;font-size:1.5em}.card h3{color:var(--accent-secondary);margin-bottom:15px;font-size:1.2em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:20px}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}}.stat-card{background:var(--bg-primary);padding:20px;border-radius:10px;border:1px solid var(--surface-hover)}.stat-label{font-size:.85em;color:var(--text-secondary);margin-bottom:8px}@media(min-width:640px){.stat-label{font-size:.9em}}.stat-value{font-size:1.75em;font-weight:700;color:var(--text-primary)}@media(min-width:640px){.stat-value{font-size:2em}}.stat-unit{font-size:.5em;color:var(--text-secondary);margin-left:5px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.form-row{display:flex;gap:15px;flex-wrap:wrap}.form-row>div{flex:1;min-width:100%}@media(min-width:640px){.form-row>div{min-width:200px}}.btn-primary{background:var(--accent-primary);color:var(--text-primary);padding:12px 30px;font-size:16px;width:100%;margin-top:10px}@media(min-width:640px){.btn-primary{width:auto}}.btn-secondary{background:var(--surface-hover);color:var(--text-primary)}.btn-secondary:hover{background:#475569}.workout-list{display:grid;gap:15px}.workout-item{background:var(--bg-primary);padding:15px;border-radius:8px;border:1px solid var(--surface-hover);border-left:3px solid var(--accent-secondary)}.workout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.workout-type{font-weight:700;color:var(--accent-primary);font-size:1.1em}.workout-date{color:var(--text-secondary);font-size:.9em}.workout-details{color:var(--text-secondary);line-height:1.6}.progress-bar-container{background:var(--surface-hover);border-radius:10px;height:24px;overflow:hidden;margin-top:10px}.progress-bar{background:var(--accent-primary);height:100%;transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-weight:700;font-size:.85em}.milestone-grid{display:grid;gap:15px;margin-top:20px}.milestone{background:var(--bg-primary);padding:15px;border-radius:8px;border:1px solid var(--surface-hover)}.milestone.achieved{background:#22c55e1a;border:2px solid var(--accent-secondary)}.milestone-title{font-weight:700;margin-bottom:8px;color:var(--text-primary)}.milestone-target{color:var(--text-secondary);font-size:.9em;margin-bottom:8px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state-icon{font-size:4em;margin-bottom:20px;opacity:.5}.empty-state-text{font-size:1.2em}.streak-badge{display:inline-block;background:var(--warning);color:var(--bg-primary);padding:5px 15px;border-radius:20px;font-weight:700;margin-top:10px}.error-message{background:#f59e0b26;color:var(--warning);padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--warning)}.auth-container{min-height:100vh;border-radius:2rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2e7d32,#4caf50);padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:500px;width:100%;padding:40px}.auth-card h1{color:#2e7d32;text-align:center;margin-bottom:10px;font-size:2em}.auth-subtitle{text-align:center;color:#666;font-size:1.1em;margin-bottom:30px}.auth-content{margin-top:30px}.auth-content h2{color:#2e7d32;margin-bottom:15px;font-size:1.5em}.auth-description{color:#555;line-height:1.6;margin-bottom:25px}.auth-button{width:100%;padding:16px;font-size:16px;margin-bottom:15px;transition:all .3s}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-divider{text-align:center;margin:25px 0;color:#999;position:relative}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#ddd}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background:#fff;padding:0 15px}.auth-features{background:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:25px}.feature-item{padding:8px 0;color:#333;font-size:.95em}.auth-footer{margin-top:30px;padding-top:20px;border-top:1px solid #eee;text-align:center}.auth-footer p{color:#999;font-size:.9em}.error-message{background:#ffebee;color:#c62828;padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid #c62828}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95em}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.form-row>div{display:flex;flex-direction:column}.form-row label{margin-bottom:8px;font-weight:600;color:#333;font-size:.95em}.form-row input{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .2s}.form-row input:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;border-radius:8px;margin-bottom:20px;border-left:4px solid #c62828}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0F172A;--bg-surface: #1E293B;--accent-primary: #3B82F6;--accent-secondary: #22C55E;--text-primary: #E5E7EB;--text-secondary: #94A3B8;--warning: #F59E0B;--surface-hover: #334155;--error: #EF4444;--success: #10B981}html{scroll-behavior:smooth;font-size:16px}body{font-family:Cascadia Code,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Cascadia Code,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700}#root{max-width:1400px;margin:0 auto;padding:16px}@media(min-width:640px){#root{padding:20px}}@media(min-width:1024px){#root{padding:24px}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--accent-primary);outline-offset:2px}button{cursor:pointer;border:none;padding:12px 20px;border-radius:6px;font-size:16px;font-weight:600;transition:all .2s;color:var(--text-primary);min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}button:hover{opacity:.9;transform:translateY(-2px)}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{padding:12px;border:2px solid var(--surface-hover);border-radius:6px;font-size:16px;font-family:inherit;background:var(--bg-surface);color:var(--text-primary);min-height:44px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent-primary);outline:none}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.8}label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}textarea{resize:vertical;min-height:100px}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover,a:focus{color:#60a5fa;text-decoration:underline}
