.app{min-height:100vh}.header{background:var(--bg-surface);border-top:3px solid var(--accent);border-radius:12px;padding:20px 24px;margin-bottom:20px;box-shadow:0 4px 12px #0006}@media(min-width:640px){.header{padding:20px 30px}}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.header h1{font-family:Playfair Display,Georgia,serif;font-size:1.8em;letter-spacing:-.5px;margin-bottom:0}@media(min-width:640px){.header h1{font-size:2.2em}}.subtitle{font-size:1em;opacity:.85;color:var(--text-secondary)}.btn-logout{background:#c8602a26;color:var(--text-primary);border:1px solid var(--accent);padding:10px 20px;font-size:14px}.btn-logout:hover{background:#c8602a47}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:Playfair Display,Georgia,serif;font-size:1.5em;color:var(--text-secondary)}.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:1px solid var(--border);border-bottom:2px solid transparent;padding:12px 16px;font-size:14px;white-space:nowrap;flex-shrink:0;border-radius:8px 8px 0 0}@media(min-width:640px){.nav-tabs button{padding:12px 24px;font-size:16px}}.nav-tabs button.active{background:transparent;color:var(--accent);border-color:var(--border);border-bottom:2px solid var(--accent)}.nav-tabs button:hover:not(.active){border-bottom-color:var(--text-secondary);color:var(--text-primary)}.section-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.section-tabs button{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);border-bottom:2px solid transparent;padding:10px 16px;font-size:14px;white-space:nowrap;flex-shrink:0;border-radius:8px 8px 0 0}.section-tabs button.active{background:transparent;color:var(--accent);border-color:var(--border);border-bottom:2px solid var(--accent)}.section-tabs button:hover:not(.active){border-bottom-color:var(--text-secondary);color:var(--text-primary)}.target-edit-form{display:flex;flex-direction:column;gap:6px;padding-top:4px}.target-edit-input{width:100%;font-size:1.4em;font-weight:700;background:var(--bg-surface-2);border:1px solid var(--accent);color:var(--text-primary);border-radius:6px;padding:4px 8px}.target-edit-error{font-size:.8em;color:#e57373}.target-edit-actions{display:flex;gap:8px}.btn-save-target,.btn-cancel-target{flex:1;padding:6px 10px;font-size:13px;border-radius:6px;border:none;font-family:Inter,sans-serif;font-weight:600;cursor:pointer;min-height:36px}.btn-save-target{background:var(--accent);color:#fff}.btn-save-target:hover{background:#b5551f}.btn-cancel-target{background:var(--bg-surface-2);color:var(--text-secondary);border:1px solid var(--border)}.btn-cancel-target:hover{color:var(--text-primary)}.btn-edit-target{display:inline-block;margin-left:8px;padding:2px 8px;font-size:12px;font-family:Inter,sans-serif;font-weight:600;background:var(--bg-surface-2);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;vertical-align:middle;min-height:unset;line-height:1.6}.btn-edit-target:hover{color:var(--accent);border-color:var(--accent)}.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(--border)}.card h2{color:var(--accent);margin-bottom:20px;font-size:1.5em}.card h3{color:var(--highlight);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(max-width:639px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid>.stat-card:last-child:nth-child(odd){grid-column:1 / -1}}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}}.stat-card{background:var(--bg-surface-2);padding:20px;border-radius:10px;border:1px solid var(--border)}.stat-label{font-size:.85em;color:var(--text-secondary);margin-bottom:8px;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em}@media(min-width:640px){.stat-label{font-size:.9em}}.stat-value{font-size:1.75em;font-weight:700;color:var(--text-primary);font-family:Playfair Display,Georgia,serif}@media(min-width:640px){.stat-value{font-size:2em}}.stat-unit{font-size:.5em;color:var(--text-secondary);margin-left:5px;font-family:Inter,sans-serif}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-secondary)}.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);color:var(--text-primary);padding:12px 30px;font-size:16px;width:100%;margin-top:10px}.btn-primary:hover{background:var(--accent-hover)}@media(min-width:640px){.btn-primary{width:auto}}.btn-secondary{background:var(--bg-surface-2);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.workout-list{display:grid;gap:15px}.workout-item{background:var(--bg-primary);padding:15px;border-radius:8px;border:1px solid var(--border);border-left:3px solid var(--highlight)}.workout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.workout-type{font-weight:700;color:var(--accent);font-size:1.1em;font-family:Playfair Display,Georgia,serif}.workout-date{color:var(--text-secondary);font-size:.9em}.workout-details{color:var(--text-secondary);line-height:1.6}.progress-bar-container{background:var(--bg-surface-2);border-radius:10px;height:24px;overflow:hidden;margin-top:10px}.progress-bar{background:var(--accent);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(--border)}.milestone.achieved{background:#4a7c591f;border:1px solid var(--highlight)}.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}.exercise-builder{margin:20px 0}.exercise-builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.exercise-builder-header h3{color:var(--accent);margin-bottom:0}.exercise-builder-header button{background:var(--highlight);color:var(--text-primary);padding:8px 16px;font-size:14px}.exercise-row{display:grid;grid-template-columns:2fr .6fr .6fr .8fr auto;gap:8px;margin-bottom:10px;align-items:center}.exercise-row select,.exercise-row input{width:100%;padding:10px;font-size:14px;min-height:40px}.exercise-row .btn-remove{background:var(--error);color:#fff;padding:8px 12px;font-size:16px;min-width:36px;min-height:40px;border-radius:6px}.exercise-empty{color:var(--text-secondary);font-style:italic;padding:12px 0}.exercise-list{margin-top:10px;border-top:1px solid var(--border);padding-top:10px}.exercise-summary{font-size:.9em;color:var(--text-secondary);padding:3px 0;font-family:Inter,sans-serif}@media(max-width:639px){.exercise-row{grid-template-columns:1fr}}@media(max-width:639px){.nav-tabs{display:none}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg-surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 16px #00000073}@media(max-width:639px){.bottom-nav{display:flex}}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px 6px;background:transparent;border:none;border-radius:0;border-top:2px solid transparent;min-height:56px;color:var(--text-secondary);font-size:10px;font-family:Inter,sans-serif;font-weight:500;letter-spacing:.03em;text-transform:uppercase;transition:color .15s,border-top-color .15s,background .15s}.bottom-nav__item:hover:not(.active){color:var(--text-primary);background:#f5efe60d;transform:none}.bottom-nav__item:active{transform:none}.bottom-nav__item.active{color:var(--accent);border-top-color:var(--accent);background:#c8602a14}.bottom-nav__icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.75;fill:none;flex-shrink:0}.bottom-nav__item.active .bottom-nav__icon{stroke-width:2.25}.bottom-nav__label{display:block;line-height:1}@media(max-width:639px){.bottom-nav-page{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1a1410,#2c1f14,#1a1410);padding:20px}.auth-card{background:var(--bg-surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:16px;box-shadow:0 10px 40px #00000080;max-width:500px;width:100%;padding:40px;color:var(--text-primary)}.auth-card h1{font-family:Playfair Display,Georgia,serif;color:var(--text-primary);text-align:center;margin-bottom:10px;font-size:2em}.auth-subtitle{text-align:center;color:var(--text-secondary);font-size:1.1em;margin-bottom:30px}.auth-content{margin-top:30px}.auth-content h2{color:var(--accent);font-family:Playfair Display,Georgia,serif;margin-bottom:15px;font-size:1.5em}.auth-description{color:var(--text-secondary);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:var(--text-secondary);position:relative}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border)}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background:var(--bg-surface);padding:0 15px}.auth-features{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:25px}.feature-item{padding:8px 0;color:var(--text-secondary);font-size:.95em}.auth-footer{margin-top:30px;padding-top:20px;border-top:1px solid var(--border);text-align:center}.auth-footer p{color:var(--text-secondary);font-size:.9em}.error-message{background:#d94f4f1f;color:#f08080;padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--error)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-secondary);font-size:.95em}.form-group input,.form-group textarea{width:100%;padding:12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:Inter,sans-serif;color:var(--text-primary);box-sizing:border-box;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c8602a33}.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:var(--text-secondary);font-size:.95em}.form-row input{padding:12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:Inter,sans-serif;color:var(--text-primary);box-sizing:border-box;transition:border-color .2s}.form-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c8602a33}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1A1410;--bg-surface: #2C231A;--bg-surface-2: #3D3028;--accent: #C8602A;--accent-hover: #D4703A;--highlight: #4A7C59;--text-primary: #F5EFE6;--text-secondary:#B5A898;--border: #4A3D32;--error: #D94F4F;--success: #4A7C59;--warning: #C89A28;--surface-hover: #4A3D32}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,-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:Playfair Display,Georgia,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);outline-offset:2px}button{cursor:pointer;border:none;padding:12px 20px;border-radius:6px;font-size:16px;font-weight:600;font-family:Inter,sans-serif;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:1px solid var(--border);border-radius:6px;font-size:16px;font-family:Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:44px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #c8602a33;outline:none}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.8}label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-secondary);font-family:Inter,sans-serif}textarea{resize:vertical;min-height:100px}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover,a:focus{color:var(--accent-hover);text-decoration:underline}
