@import "https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap";:root{--blue:#12226e;--black:#000;--white:#fff;--grey-shadow:#b3b3b3;--ratio:1.618;--text-xs:.618rem;--text-sm:.786rem;--text-base:1rem;--text-md:1.272rem;--text-lg:1.618rem;--text-xl:2.058rem;--text-2xl:2.618rem;--text-3xl:4.236rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-xs:.382rem;--space-sm:.618rem;--space-md:1rem;--space-lg:1.618rem;--space-xl:2.618rem;--space-2xl:4.236rem;--radius-sm:.382rem;--radius-md:.618rem;--radius-lg:1rem;--radius-xl:1.618rem;--container-sm:38.2rem;--container-md:61.8rem;--container-lg:100rem;--shadow-main:3px 3px 5px 3px var(--grey-shadow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Rubik,sans-serif;font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--black);background-color:var(--white);line-height:1.618}h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1.2}h2{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.3}h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:1.4}h4{font-size:var(--text-md);font-weight:var(--weight-semibold)}p{line-height:1.618}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.btn{padding:var(--space-sm) var(--space-lg);font-family:Rubik,sans-serif;font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;transition:opacity .15s,background-color .15s;display:inline-block}.btn-primary{background-color:var(--blue);color:var(--white);border-color:var(--blue);box-shadow:var(--shadow-main)}.btn-primary:hover{opacity:.88}.btn-secondary{background-color:var(--white);color:var(--blue);border-color:var(--blue)}.btn-secondary:hover{background-color:var(--blue);color:var(--white)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--text-sm)}.card{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);padding:var(--space-lg)}.container{width:100%;max-width:var(--container-lg);padding-inline:var(--space-lg);margin-inline:auto}.container-md{max-width:var(--container-md)}.container-sm{max-width:var(--container-sm)}.page{min-height:100vh;padding-bottom:var(--space-2xl)}.page-content{padding-top:var(--space-xl)}.badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;display:inline-block}.badge-published{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.badge-draft{color:#856404;background-color:#fff3cd;border:1px solid #ffeeba}.text-center{text-align:center}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.success-message{color:#155724;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:var(--weight-medium);background-color:#d4edda;border:1px solid #c3e6cb}@media (width<=48rem){h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}.container{padding-inline:var(--space-md)}}.auth-page{min-height:100vh;padding:var(--space-lg);background-color:var(--white);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:var(--container-sm);background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-xl);box-shadow:var(--shadow-main);padding:var(--space-2xl)}.auth-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--blue);text-align:center;margin-bottom:var(--space-xs)}.auth-subtitle{font-size:var(--text-sm);color:#555;text-align:center;margin-bottom:var(--space-xl)}.auth-form{gap:var(--space-lg);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--black)}.form-input,.form-select{width:100%;padding:var(--space-sm) var(--space-md);font-family:Rubik,sans-serif;font-size:var(--text-base);border:1px solid var(--black);border-radius:var(--radius-md);background-color:var(--white);color:var(--black);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 2px #12226e26}.auth-btn{width:100%;padding:var(--space-md);font-family:Rubik,sans-serif;font-size:var(--text-base);font-weight:var(--weight-bold);background-color:var(--blue);color:var(--white);border:2px solid var(--blue);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-main);margin-top:var(--space-sm);transition:opacity .15s}.auth-btn:hover{opacity:.88}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-link-text{text-align:center;font-size:var(--text-sm);color:#555;margin-top:var(--space-md)}.auth-link-text a{color:var(--blue);font-weight:var(--weight-semibold)}.auth-text-btn{color:var(--blue);font-family:Rubik,sans-serif;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.auth-text-btn:hover{text-decoration:underline}.auth-reset-success{color:#155724;border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--text-sm);background-color:#d4edda;border:1px solid #c3e6cb;line-height:1.7}.auth-error{color:#c0392b;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);background-color:#fde8e8;border:1px solid #f5c6cb}@media (width<=48rem){.auth-card{padding:var(--space-xl) var(--space-lg)}}.navbar{background-color:var(--blue);color:var(--white);padding:var(--space-md) var(--space-lg);z-index:100;position:sticky;top:0;box-shadow:0 2px 6px #00000040}.navbar-inner{max-width:var(--container-lg);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-inline:auto;display:flex}.navbar-brand{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--white);letter-spacing:.02em;text-decoration:none}.navbar-links{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.navbar-link{color:#ffffffd9;font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;transition:color .15s}.navbar-link:hover{color:var(--white);text-decoration:none}.navbar-logout{color:var(--white);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);font-family:Rubik,sans-serif;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;background-color:#0000;border:1px solid #ffffff80;transition:background-color .15s,border-color .15s}.navbar-logout:hover{border-color:var(--white);background-color:#ffffff26}.dashboard-page{background-color:var(--white);min-height:100vh}.dashboard-content{max-width:var(--container-lg);padding:var(--space-xl) var(--space-lg);margin-inline:auto}.dashboard-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.dashboard-welcome{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--blue)}.dashboard-section{margin-bottom:var(--space-2xl)}.section-title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--black);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--blue)}.program-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));display:grid}.program-card{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.program-card-title{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--blue)}.program-card-meta{font-size:var(--text-sm);color:#444;line-height:1.7}.program-card-meta span{display:block}.program-card-footer{padding-top:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:auto;display:flex}.program-card-selected{border-color:var(--blue);box-shadow:0 0 0 2px #12226e40, var(--shadow-main)}.program-card-select-label{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);font-weight:var(--weight-medium);color:#555;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.program-card-select-label input[type=checkbox]{accent-color:var(--blue);cursor:pointer;width:1rem;height:1rem}.btn-delete{color:var(--white);box-shadow:var(--shadow-main);background-color:#c0392b;border:2px solid #c0392b}.btn-delete:hover{opacity:.88}.btn-delete:disabled{opacity:.6;cursor:not-allowed}.active-banner{background-color:var(--blue);color:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);box-shadow:var(--shadow-main);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.active-banner-title{font-size:var(--text-lg);font-weight:var(--weight-bold)}.active-banner-sub{font-size:var(--text-sm);opacity:.85;margin-top:var(--space-xs)}.active-banner .btn{background-color:var(--white);color:var(--blue);border-color:var(--white);flex-shrink:0}.active-banner .btn:hover{opacity:.9}.loading-message{text-align:center;padding:var(--space-xl);color:#555;font-size:var(--text-md)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg)}.empty-state-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--black);margin-bottom:var(--space-sm)}.empty-state-message{font-size:var(--text-base);color:#666}.error-message{color:#c0392b;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);margin-bottom:var(--space-md);background-color:#fde8e8;border:1px solid #f5c6cb}@media (width<=48rem){.dashboard-content{padding:var(--space-lg) var(--space-md)}.dashboard-header{flex-direction:column;align-items:flex-start}.program-grid{grid-template-columns:1fr}.active-banner{flex-direction:column;align-items:flex-start}.navbar-inner{gap:var(--space-md)}}.program-overview{gap:var(--space-lg);flex-direction:column;display:flex}.overview-rotation-summary{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--blue);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);background:#12226e0f}.overview-no-schedule{font-size:var(--text-sm);color:#888;font-style:italic}.overview-empty{font-size:var(--text-sm);color:#888}.overview-week-preview{gap:var(--space-md);flex-direction:column;display:flex}.overview-week{border-radius:var(--radius-md);border:1px solid #eee;overflow:hidden}.overview-week-header{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--white);background:var(--blue);padding:var(--space-xs) var(--space-md)}.overview-week-slots{flex-direction:column;display:flex}.overview-slot{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid #f0f0f0;display:flex}.overview-slot:last-child{border-bottom:none}.overview-slot-day{font-size:var(--text-xs);font-weight:var(--weight-bold);color:#888;flex-shrink:0;width:2.5rem}.overview-slot-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:1}.overview-slot-meta{font-size:var(--text-xs);color:#aaa}.overview-slot-meta.is-repeat{color:var(--blue);opacity:.7}.overview-workout-list{gap:var(--space-xs);flex-direction:column;display:flex}.overview-workout-list-label{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:#999;margin-bottom:var(--space-xs)}.overview-workout-item{border-radius:var(--radius-md);border:1px solid #e8e8e8;overflow:hidden}.overview-workout-toggle{width:100%;padding:var(--space-sm) var(--space-md);background:var(--white);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;font-family:Rubik,sans-serif;transition:background .15s;display:flex}.overview-workout-toggle:hover{background:#f8f9fa}.overview-workout-toggle-left{align-items:center;gap:var(--space-sm);display:flex}.overview-workout-toggle-right{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.overview-workout-num{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--blue);border-radius:var(--radius-sm);background:#12226e14;padding:.1rem .4rem}.overview-workout-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--black)}.overview-workout-count{font-size:var(--text-xs);color:#999}.overview-workout-chevron{font-size:var(--text-xs);color:#aaa}.overview-exercise-list{padding:var(--space-sm) var(--space-md);gap:var(--space-xs);background:#fafafa;border-top:1px solid #f0f0f0;flex-direction:column;display:flex}.overview-exercise-row{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.overview-exercise-name{font-size:var(--text-sm);font-weight:var(--weight-medium)}.overview-exercise-meta{font-size:var(--text-xs);color:#888;white-space:nowrap}.overview-no-exercises{font-size:var(--text-xs);color:#bbb;font-style:italic}.program-preview-section{margin-bottom:var(--space-xl)}.program-preview-toggle{border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-family:Rubik,sans-serif;font-size:var(--text-sm);font-weight:var(--weight-medium);color:#555;cursor:pointer;text-align:center;width:100%;margin-bottom:var(--space-md);background:0 0;border:1px solid #ccc;transition:all .15s}.program-preview-toggle:hover{border-color:var(--blue);color:var(--blue)}.create-program-page{background-color:var(--white);min-height:100vh}.create-program-content{max-width:var(--container-sm);padding:var(--space-xl) var(--space-lg);margin-inline:auto}.create-program-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--blue);margin-bottom:var(--space-xl)}.create-program-form{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-xl);box-shadow:var(--shadow-main);padding:var(--space-xl);gap:var(--space-lg);flex-direction:column;display:flex}.badge-unsaved{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:#856404;background-color:#fff3cd;border:1px solid #ffeeba;display:inline-block}.program-meta-section{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);padding:var(--space-xl);margin-bottom:var(--space-xl);gap:var(--space-lg);flex-direction:column;display:flex}.program-meta-row{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));display:grid}.builder-page{background-color:var(--white);min-height:100vh}.builder-content{max-width:var(--container-md);padding:var(--space-xl) var(--space-lg);margin-inline:auto}.builder-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.builder-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--blue)}.builder-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.add-workout-card{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);padding:var(--space-lg);margin-bottom:var(--space-xl)}.add-workout-title{font-size:var(--text-md);font-weight:var(--weight-semibold);margin-bottom:var(--space-md)}.add-workout-row{gap:var(--space-md);flex-wrap:wrap;align-items:flex-end;display:flex}.add-workout-row .form-group{flex:1;min-width:10rem}.workout-block{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);padding:var(--space-lg);margin-bottom:var(--space-lg)}.workout-block-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.workout-block-name{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--blue)}.add-exercise-form{padding-top:var(--space-md);margin-top:var(--space-md);gap:var(--space-sm);border-top:1px solid #ddd;flex-direction:column;display:flex}.add-exercise-row{gap:var(--space-sm);flex-wrap:wrap;align-items:flex-end;display:flex}.add-exercise-row .form-group{flex:1;min-width:7rem}.add-exercise-notes-row{margin-top:var(--space-sm);display:flex}.add-exercise-notes-row .form-input{flex:1}.exercise-list{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.exercise-item{border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);background-color:#f8f9fa;border:1px solid #ddd}.exercise-item-name{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.exercise-item-meta{font-size:var(--text-xs);color:#555;margin-top:var(--space-xs)}.program-detail-page{background-color:var(--white);min-height:100vh}.program-detail-content{max-width:var(--container-md);padding:var(--space-xl) var(--space-lg);margin-inline:auto}.program-detail-hero{background-color:var(--blue);color:var(--white);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-2xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-main)}.program-detail-hero h1{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}.program-detail-coach{font-size:var(--text-sm);opacity:.85;margin-bottom:var(--space-lg)}.program-detail-meta{gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.program-detail-meta span{font-size:var(--text-sm);opacity:.9}.program-detail-description{font-size:var(--text-base);margin-bottom:var(--space-xl);color:#333;line-height:1.7}.program-workouts-section{margin-bottom:var(--space-xl)}.program-workout-preview{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);padding:var(--space-lg);margin-bottom:var(--space-md)}.program-workout-preview-name{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--blue);margin-bottom:var(--space-md)}.program-detail-hero .btn-primary{background-color:var(--white);color:var(--blue);border-color:var(--white)}.program-detail-hero .btn-primary:hover{opacity:.9}.exercise-item{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.exercise-item-info{flex:1}.exercise-item-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.exercise-action-btn{border-radius:var(--radius-sm);font-family:Rubik,sans-serif;font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;color:#444;background:0 0;border:1px solid #ccc;padding:.15rem .5rem;transition:all .15s}.exercise-action-btn:hover{border-color:var(--blue);color:var(--blue)}.exercise-action-btn.remove:hover{color:#c0392b;border-color:#c0392b}.exercise-edit-form{border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm);background:#f0f4ff;border:1px solid #b3c2e8}.exercise-edit-row{gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;align-items:flex-end;display:flex}.exercise-edit-row .form-group{flex:1;min-width:6rem}.exercise-edit-actions{gap:var(--space-sm);display:flex}.derived-days-display{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--black);padding:var(--space-sm) 0}.derived-days-hint{font-size:var(--text-xs);font-weight:var(--weight-regular);color:#888}.training-days-selector{padding-top:var(--space-md);border-top:1px solid #eee}.training-days-hint{font-size:var(--text-xs);color:#888;margin:var(--space-xs) 0 var(--space-sm)}.sequence-badge{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--blue);border-radius:var(--radius-sm);white-space:nowrap;background:#12226e1a;flex-shrink:0;padding:.15rem .5rem;display:inline-block}.day-selector{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm) 0;flex-wrap:wrap;display:flex}.day-selector-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:#555;white-space:nowrap}.day-selector-pills{gap:var(--space-xs);flex-wrap:wrap;display:flex}.day-pill{border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-family:Rubik,sans-serif;font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;color:#555;text-align:center;background:0 0;border:1px solid #ccc;min-width:2.5rem;transition:all .15s}.day-pill:hover{border-color:var(--blue);color:var(--blue)}.day-pill-active{background-color:var(--blue);border-color:var(--blue);color:var(--white)}.day-pill-active:hover{opacity:.85;color:var(--white)}.form-textarea{resize:vertical;min-height:5rem}@media (width<=48rem){.builder-content,.create-program-content,.program-detail-content{padding:var(--space-lg) var(--space-md)}.program-detail-hero{padding:var(--space-lg)}.add-workout-row,.add-exercise-row{flex-direction:column}.add-workout-row .form-group,.add-exercise-row .form-group{min-width:100%}.builder-header{flex-direction:column}.builder-actions{width:100%}}.active-page{background-color:var(--white);min-height:100vh}.active-content{max-width:var(--container-md);padding:var(--space-xl) var(--space-lg);margin-inline:auto}.active-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.active-program-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--blue);margin-bottom:var(--space-xs)}.active-program-subtitle{font-size:var(--text-sm);color:#555}.unit-toggle{align-items:center;gap:var(--space-xs);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);background:#f0f2f8;border:1px solid #c8cde8;flex-shrink:0;display:flex}.unit-toggle-label{font-size:var(--text-xs);color:#555;font-weight:var(--weight-medium);white-space:nowrap}.unit-btn{border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-family:Rubik,sans-serif;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;color:#444;background:0 0;border:1px solid #0000;transition:all .15s}.unit-btn.active{background:var(--blue);color:var(--white);border-color:var(--blue)}.workout-selector{margin-bottom:var(--space-xl)}.workout-selector-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-md)}.workout-selector-list{gap:var(--space-sm);flex-direction:column;display:flex}.workout-selector-btn{text-align:left;background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-md);width:100%;padding:var(--space-md) var(--space-lg);font-family:Rubik,sans-serif;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;box-shadow:var(--shadow-main);transition:background-color .15s,color .15s}.workout-selector-btn:hover,.workout-selector-btn.active{background-color:var(--blue);color:var(--white);border-color:var(--blue)}.workout-selector-btn{align-items:center;gap:var(--space-md);display:flex}.workout-day-label{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--blue);border-radius:var(--radius-sm);white-space:nowrap;background:#12226e1a;flex-shrink:0;padding:.15rem .5rem}.workout-selector-btn.active .workout-day-label{color:var(--white);background:#ffffff40}.workout-logger{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-xl);box-shadow:var(--shadow-main);padding:var(--space-xl)}.workout-logger-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.workout-logger-title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--blue);margin-bottom:0}.close-workout-btn{border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);font-family:Rubik,sans-serif;font-size:var(--text-sm);color:#666;cursor:pointer;background:0 0;border:1px solid #ccc;flex-shrink:0;transition:all .15s}.close-workout-btn:hover{color:var(--black);border-color:var(--black);background:#f5f5f5}.exercise-log-block{border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);background-color:#fafafa;border:1px solid #ddd}.exercise-log-name{font-size:var(--text-md);font-weight:var(--weight-bold);margin-bottom:var(--space-xs)}.exercise-log-target{font-size:var(--text-sm);color:#666;margin-bottom:var(--space-md)}.exercise-log-inputs{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.exercise-log-inputs .form-group{gap:var(--space-xs);flex-direction:column;display:flex}.exercise-log-footer{align-items:center;gap:var(--space-lg);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.exercise-log-notes{flex:1;min-width:10rem}.checkbox-group{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.checkbox-group input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--blue);cursor:pointer}.set-rows{margin-bottom:var(--space-sm)}.set-row-header{gap:var(--space-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:#666;padding:0 var(--space-xs);margin-bottom:var(--space-xs);grid-template-columns:2.5rem 1fr 1fr 2.5rem;display:grid}.set-row{gap:var(--space-sm);padding:var(--space-xs) var(--space-xs);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);grid-template-columns:2.5rem 1fr 1fr 2.5rem;align-items:center;display:grid}.set-complete-check{width:1.1rem;height:1.1rem;accent-color:var(--blue);justify-self:center}.set-row.set-row-extra{background-color:#f0f4ff;border:1px dashed #b3c2e8}.set-number{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--blue)}.set-input{padding:var(--space-xs) var(--space-sm)!important}.set-actions{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.save-workout-row{gap:var(--space-sm);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.history-page{background-color:var(--white);min-height:100vh}.history-content{max-width:var(--container-md);padding:var(--space-xl) var(--space-lg);margin-inline:auto}.history-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--blue);margin-bottom:var(--space-xl)}.history-log-card{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);padding:var(--space-lg);margin-bottom:var(--space-lg)}.history-log-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid #eee;flex-wrap:wrap;display:flex}.history-log-workout{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--blue)}.history-log-program{font-size:var(--text-sm);color:#555;margin-top:var(--space-xs)}.history-log-date{font-size:var(--text-xs);color:#888;font-weight:var(--weight-medium)}.history-exercise-list{gap:var(--space-sm);flex-direction:column;display:flex}.history-exercise-row{justify-content:space-between;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);background-color:#f8f9fa;border:1px solid #eee;flex-wrap:wrap;display:flex}.history-exercise-name{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.history-exercise-stats{font-size:var(--text-xs);color:#555;gap:var(--space-md);flex-wrap:wrap;display:flex}.history-exercise-complete{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:#155724;border-radius:var(--radius-sm);background-color:#d4edda;padding:.1rem .4rem}.history-exercise-incomplete{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:#856404;border-radius:var(--radius-sm);background-color:#fff3cd;padding:.1rem .4rem}.history-exercise-notes{font-size:var(--text-xs);color:#666;margin-top:var(--space-xs);font-style:italic}.workout-card{background-color:var(--white);border:1px solid var(--black);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);padding:var(--space-lg);margin-bottom:var(--space-md)}.workout-card-name{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--blue);margin-bottom:var(--space-md)}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-sm) var(--space-md);font-family:Rubik,sans-serif;font-size:var(--text-base);border:1px solid var(--black);border-radius:var(--radius-md);background-color:var(--white);color:var(--black);outline:none;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #12226e26}.week-strip{margin-bottom:var(--space-lg)}.week-strip-nav{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.week-strip-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:#555}.week-nav-btn{border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-family:Rubik,sans-serif;font-size:var(--text-sm);color:#555;cursor:pointer;background:0 0;border:1px solid #ccc;transition:all .15s}.week-nav-btn:hover{border-color:var(--blue);color:var(--blue)}.week-days{gap:var(--space-xs);grid-template-columns:repeat(7,1fr);display:grid}.week-day{padding:var(--space-sm) var(--space-xs);border-radius:var(--radius-md);background:var(--white);cursor:pointer;text-align:center;min-width:0;box-shadow:none;border:1px solid #e0e0e0;flex-direction:column;align-items:center;font-family:Rubik,sans-serif;transition:all .15s;display:flex}.week-day:hover:not(.is-rest){border-color:var(--blue);background:#12226e0a}.week-day.is-today{border-color:var(--blue);background:#12226e0f}.week-day.is-selected{background:var(--blue);border-color:var(--blue);color:var(--white);box-shadow:var(--shadow-main)}.week-day.is-rest{cursor:default;opacity:.7;background:#fafafa;border-color:#eee}.week-day-name{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em;color:#888}.week-day.is-selected .week-day-name{color:#fffc}.week-day-date{font-size:var(--text-md);font-weight:var(--weight-semibold);margin:var(--space-xs) 0;color:var(--black)}.week-day.is-selected .week-day-date{color:var(--white)}.week-day-workout{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--blue);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.week-day.is-selected .week-day-workout{color:var(--white)}.week-day-rest{font-size:var(--text-xs);color:#bbb}.all-workouts-label{font-size:var(--text-xs);font-weight:var(--weight-bold);color:#999;text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--space-sm)}.log-date-row{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.log-date-row .form-label{white-space:nowrap;margin-bottom:0}.log-date-input{max-width:14rem}.workout-logger-date{font-size:var(--text-sm);color:#666;margin-top:var(--space-xs)}.log-saved-badge{color:#155724;font-weight:var(--weight-semibold)}.training-section{margin-bottom:var(--space-2xl)}.training-section-title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--black);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--blue)}.training-date-header{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--blue);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--space-xl);margin-bottom:var(--space-md)}.training-no-program{font-size:var(--text-sm);color:#666}.training-no-program a{color:var(--blue);font-weight:var(--weight-semibold)}.history-edit-form{margin-top:var(--space-md)}.history-edit-exercise{border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm);background:#f8f9fa;border:1px solid #ddd}.history-edit-exercise-name{font-weight:var(--weight-semibold);font-size:var(--text-sm);margin-bottom:var(--space-sm);color:var(--blue)}.history-edit-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}@media (width<=48rem){.active-content,.history-content{padding:var(--space-lg) var(--space-md)}.active-header{flex-direction:column;align-items:flex-start}.week-days{gap:2px}.week-day{padding:var(--space-xs) 2px}.week-day-date{font-size:var(--text-sm)}.exercise-log-inputs{grid-template-columns:1fr}.set-row,.set-row-header{grid-template-columns:2rem 1fr 1fr 2rem}.history-log-header{flex-direction:column}.history-exercise-row{flex-direction:column;align-items:flex-start}.save-workout-row{flex-direction:column}}
