*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#fff;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#app{min-height:100vh}button{font-family:inherit;cursor:pointer}button:focus-visible{outline:2px solid #666;outline-offset:2px}input,select,textarea{font-family:inherit}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #666;outline-offset:2px}.layout{min-height:100vh;display:flex;flex-direction:column}.header{padding:1rem 1.5rem;background:#111;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center}.header h1{margin:0;font-size:1.25rem;font-weight:600}.btn-signout{padding:.5rem 1rem;background:transparent;border:1px solid #333;border-radius:4px;color:#999;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-signout:hover{border-color:#666;color:#fff}.nav{display:flex;background:#0a0a0a;border-bottom:1px solid #333;overflow-x:auto}.nav-btn{flex:1;padding:1rem;background:transparent;border:none;border-bottom:2px solid transparent;color:#999;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.nav-btn:hover{color:#fff;background:#111}.nav-btn.active{color:#fff;border-bottom-color:#fff}.main{flex:1;padding:1.5rem;overflow-y:auto}@media(min-width:768px){.main{padding:2rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{width:100%;max-width:400px;padding:2rem;background:#111;border:1px solid #333;border-radius:4px}.auth-card h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.auth-subtitle{margin:0 0 2rem;color:#999;font-size:.875rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500}.form-group input{padding:.75rem;background:#000;border:1px solid #333;border-radius:4px;color:#fff;font-size:1rem}.form-group input:focus{outline:none;border-color:#666}.error-message{padding:.75rem;background:#200;border:1px solid #440000;border-radius:4px;color:#f66;font-size:.875rem}.btn-primary{padding:.75rem 1.5rem;background:#fff;color:#000;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-text{margin-top:1rem;padding:.5rem;background:transparent;border:none;color:#999;font-size:.875rem;cursor:pointer;transition:color .2s}.btn-text:hover{color:#fff}.program-library,.weekly-planner,.body-fat-tracker{max-width:1200px;margin:0 auto}.program-library h2,.weekly-planner h2,.body-fat-tracker h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.subtitle{margin:0 0 2rem;color:#999;font-size:.875rem}.section{margin-bottom:3rem}.section h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;border-bottom:1px solid #333;padding-bottom:.5rem}.programs-grid{display:grid;gap:1rem}@media(min-width:768px){.programs-grid{grid-template-columns:repeat(2,1fr)}}.program-card{padding:1.25rem;background:#111;border:1px solid #333;border-radius:4px}.program-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.program-card h4{margin:0;font-size:1.125rem;font-weight:600}.frequency{padding:.25rem .5rem;background:#222;border-radius:4px;color:#999;font-size:.75rem;white-space:nowrap}.role{margin:0 0 .5rem;color:#ccc;font-size:.875rem;font-weight:500}.description{margin:0 0 .75rem;color:#999;font-size:.875rem}.details{margin:0;padding-left:1.25rem;color:#999;font-size:.875rem;line-height:1.6}.rpe-table{display:flex;flex-direction:column;gap:.5rem}.rpe-row{display:grid;grid-template-columns:auto auto 1fr;gap:1rem;padding:.75rem;background:#111;border:1px solid #333;border-radius:4px;align-items:center}.rpe-level{font-weight:600;font-size:.875rem}.rpe-label{color:#ccc;font-size:.875rem;font-weight:500}.rpe-description{color:#999;font-size:.875rem}.schedule{display:flex;flex-direction:column;gap:.75rem}.schedule-day{padding:1rem;background:#111;border:1px solid #333;border-radius:4px}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.schedule-type{padding:.25rem .5rem;background:#222;border-radius:4px;color:#999;font-size:.75rem}.schedule-name{margin-bottom:.25rem;font-size:.875rem;font-weight:500}.schedule-details{color:#999;font-size:.875rem}.progression-list{margin:0;padding-left:1.25rem;color:#999;font-size:.875rem;line-height:1.8}.progression-list li{margin-bottom:.5rem}.progression-list strong{color:#fff}.planner-header,.tracker-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.week-navigation{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#111;border:1px solid #333;border-radius:4px}.btn-week-nav{padding:.5rem 1rem;background:transparent;border:1px solid #333;border-radius:4px;color:#999;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-week-nav:hover{border-color:#666;color:#fff;background:#1a1a1a}.week-display{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.week-range{font-size:1.125rem;font-weight:600}.btn-current-week{padding:.25rem .75rem;background:#fff;color:#000;border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-current-week:hover{opacity:.9}.current-week-badge{padding:.25rem .75rem;background:#1a2e1a;color:#8f8;border-radius:4px;font-size:.75rem;font-weight:600}.day-today{border-color:#fff;box-shadow:0 0 15px #ffffff1a}@media(max-width:768px){.week-navigation{flex-direction:column;gap:.75rem}.week-display,.btn-week-nav{width:100%}}.btn-edit{padding:.5rem 1rem;background:transparent;border:1px solid #333;border-radius:4px;color:#999;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit:hover{border-color:#666;color:#fff}.week-grid{display:grid;gap:1rem}@media(min-width:640px){.week-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.week-grid{grid-template-columns:repeat(3,1fr)}}.day-card{padding:1.25rem;background:#111;border:1px solid #333;border-radius:4px}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #333;font-size:.875rem}.btn-add-workout{width:24px;height:24px;padding:0;background:#fff;color:#000;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.btn-add-workout:hover{opacity:.9}.empty-day{padding:1rem;text-align:center;color:#555;font-size:.875rem;font-style:italic}.workout-item{margin-bottom:.75rem}.workout-item:last-child{margin-bottom:0}.workout-controls{display:flex;gap:.5rem;margin-bottom:.5rem}.workout-select-small{flex:1;padding:.5rem;background:#000;border:1px solid #333;border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer}.workout-select-small:focus{outline:none;border-color:#666}.btn-delete-small{width:28px;height:28px;padding:0;background:transparent;border:1px solid #333;border-radius:4px;color:#999;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.btn-delete-small:hover{border-color:#600;color:#f66}.notes-input-small{width:100%;padding:.5rem;background:#000;border:1px solid #333;border-radius:4px;color:#999;font-size:.75rem}.notes-input-small:focus{outline:none;border-color:#666}.notes-input-small::placeholder{color:#555}.workout-select{width:100%;padding:.5rem;background:#000;border:1px solid #333;border-radius:4px;color:#fff;font-size:.875rem;cursor:pointer}.workout-select:focus{outline:none;border-color:#666}.workout-label{padding:.5rem;background:#222;border-radius:4px;font-size:.875rem;font-weight:500;text-align:center}.workout-label.c_and_p{background:#1a1a2e;color:#8cf}.workout-label.snatch{background:#2e1a1a;color:#f88}.workout-label.tgu{background:#1a2e1a;color:#8f8}.workout-label.clubs{background:#2e2e1a;color:#ff8}.workout-label.legs{background:#2e1a2e;color:#f8f}.workout-label.abs{background:#2e1f1a;color:#fa6}.workout-label.rest{background:#1a1a1a;color:#888}.notes-input{width:100%;margin-top:.5rem;padding:.5rem;background:#000;border:1px solid #333;border-radius:4px;color:#999;font-size:.75rem}.notes-input:focus{outline:none;border-color:#666}.notes-input::placeholder{color:#555}.notes{margin-top:.5rem;padding:.5rem;background:#0a0a0a;border-radius:4px;color:#999;font-size:.75rem;line-height:1.4}.btn-add{padding:.5rem 1rem;background:#fff;color:#000;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-add:hover{opacity:.9}.stats-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{padding:1.25rem;background:#111;border:1px solid #333;border-radius:4px;text-align:center}.stat-label{margin-bottom:.5rem;color:#999;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.75rem;font-weight:600}.entry-form{padding:1.5rem;background:#111;border:1px solid #333;border-radius:4px;margin-bottom:2rem}.form-row{display:grid;gap:1rem;margin-bottom:1rem}@media(min-width:640px){.form-row{grid-template-columns:repeat(2,1fr)}}.chart-section{margin-bottom:2rem}.chart-section h3,.entries-section h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600}.chart-container{padding:1.5rem;background:#111;border:1px solid #333;border-radius:4px}.chart-canvas{width:100%;height:300px;display:block}@media(min-width:768px){.chart-canvas{height:400px}}.entries-list{display:flex;flex-direction:column;gap:.75rem}.entry-item{padding:1rem;background:#111;border:1px solid #333;border-radius:4px}.entry-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.entry-date{color:#999;font-size:.875rem}.entry-percent{font-size:1.25rem;font-weight:600}.entry-notes{color:#999;font-size:.875rem;line-height:1.4;margin-bottom:.5rem}.btn-delete{padding:.25rem .75rem;background:transparent;border:1px solid #333;border-radius:4px;color:#999;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-delete:hover{border-color:#600;color:#f66}.empty-state{padding:3rem 1.5rem;text-align:center;color:#999;background:#111;border:1px dashed #333;border-radius:4px}.loading{padding:3rem;text-align:center;color:#999}.display-view{min-height:100vh;padding:2rem;background:#000}.display-header{margin-bottom:2rem;text-align:center;border-bottom:2px solid #333;padding-bottom:1.5rem}.display-header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:600}.display-date{color:#999;font-size:1.25rem}.display-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:1600px;margin:0 auto}.display-day{padding:1.5rem;background:#111;border:2px solid #333;border-radius:8px;min-height:200px}.display-today{border-color:#fff;box-shadow:0 0 20px #ffffff1a}.display-day-name{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #333;font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.display-today .display-day-name{color:#fff;border-bottom-color:#fff}.display-empty{padding:2rem 1rem;text-align:center;color:#555;font-size:1.125rem;font-style:italic}.display-workout{margin-bottom:1.25rem;padding:1.25rem;border-radius:6px}.display-workout:last-child{margin-bottom:0}.display-workout.c_and_p{background:linear-gradient(135deg,#1a1a2e,#16213e);border-left:4px solid #88ccff}.display-workout.snatch{background:linear-gradient(135deg,#2e1a1a,#3e1616);border-left:4px solid #ff8888}.display-workout.tgu{background:linear-gradient(135deg,#1a2e1a,#163e16);border-left:4px solid #88ff88}.display-workout.clubs{background:linear-gradient(135deg,#2e2e1a,#3e3e16);border-left:4px solid #ffff88}.display-workout.legs{background:linear-gradient(135deg,#2e1a2e,#3e163e);border-left:4px solid #ff88ff}.display-workout.abs{background:linear-gradient(135deg,#2e1f1a,#3e2916);border-left:4px solid #ffaa66}.display-workout.rest{background:#1a1a1a;border-left:4px solid #555}.display-workout-name{margin-bottom:.5rem;font-size:1.375rem;font-weight:600;line-height:1.2}.display-workout-notes{color:#ccc;font-size:1rem;line-height:1.4}.display-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#999}@media(min-width:1400px){.display-grid{grid-template-columns:repeat(7,1fr)}}@media(max-width:768px){.display-view{padding:1rem}.display-header h1{font-size:1.75rem}.display-date{font-size:1rem}.display-day-name{font-size:1.25rem}.display-workout-name{font-size:1.125rem}}
