.friends-view{max-width:800px;margin:0 auto}.friends-view .page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.discoverable-btn{padding:.375rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:all .2s}.discoverable-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.discoverable-btn.active{background:var(--color-success);border-color:var(--color-success);color:#fff}.discoverable-btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--color-surface);border-radius:var(--radius);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.welcome-modal{padding:1.5rem}.welcome-modal h2{margin:0 0 1rem;color:var(--color-primary)}.welcome-content p{margin:0 0 1rem;line-height:1.5}.welcome-section{background:var(--color-surface-light);padding:1rem;border-radius:var(--radius);margin-bottom:1rem}.welcome-section h3{margin:0 0 .5rem;font-size:.95rem}.welcome-section p{margin:0;font-size:.9rem}.welcome-section ul{margin:0;padding-left:1.25rem}.welcome-section li{margin-bottom:.5rem;font-size:.9rem}.welcome-section li:last-child{margin-bottom:0}.welcome-note{font-size:.85rem;color:var(--color-text-muted);font-style:italic}.welcome-modal .btn{width:100%;margin-top:.5rem}.friends-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.friends-tabs .tab{background:transparent;border:none;color:var(--color-text-muted);padding:.5rem 1rem;font-size:.9rem;cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;transition:all .2s;display:flex;align-items:center;gap:.5rem}.friends-tabs .tab:hover{color:var(--color-text);background:var(--color-surface-light)}.friends-tabs .tab.active{color:var(--color-primary);background:var(--color-surface);border-bottom:2px solid var(--color-primary)}.friends-tabs .badge{background:var(--color-danger);color:#fff;padding:.125rem .5rem;border-radius:10px;font-size:.75rem}.friend-search{margin-bottom:1rem}.friend-search.collapsed{padding:0}.search-header{width:100%;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left}.search-header h3{margin:0;font-size:.9rem;color:var(--color-text-muted)}.search-header:hover h3,.friend-search.expanded .search-header h3{color:var(--color-text)}.search-body{padding:0 1rem 1rem}.search-explanation{margin-bottom:.75rem;color:var(--color-text-muted);font-size:.8rem}.search-explanation p{margin-bottom:.5rem}.status-legend-card{padding:.5rem 1rem;margin-bottom:1rem}.status-legend-card h4{display:none}.status-legend{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0;margin:0;justify-content:center}.status-legend li{display:flex;align-items:center;gap:.25rem;font-size:.7rem;color:var(--color-text-muted)}.status-dot{width:10px;height:10px;border-radius:2px}.status-dot.completed{background:var(--color-success)}.status-dot.pending{background:var(--color-warning)}.status-dot.missed{background:var(--color-danger)}.status-dot.off-day{background:#f97316}.status-dot.unscheduled{background:#374151}.search-form{display:flex;gap:.5rem}.search-input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:.9rem}.search-input:focus{outline:none;border-color:var(--color-primary)}.search-result{margin-top:1rem;padding:1rem;background:var(--color-surface-light);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between}.found-user{display:flex;align-items:center;gap:.75rem}.user-avatar,.friend-avatar,.request-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.user-avatar-placeholder,.friend-avatar-placeholder,.request-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-weight:600}.connection-status{color:var(--color-text-muted);font-size:.875rem}.friends-list{display:flex;flex-direction:column;gap:.75rem;overflow:visible}.friend-row.card{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;overflow:visible;position:relative}.friend-info{display:flex;align-items:center;gap:.75rem;min-width:180px}.friend-details{display:flex;flex-direction:column;gap:.25rem}.friend-name{font-weight:500}.permission-badge{font-size:.7rem;padding:.125rem .5rem;border-radius:10px;text-transform:uppercase}.permission-badge.friend{background:var(--color-surface-light);color:var(--color-text-muted)}.permission-badge.partner{background:var(--color-primary);color:#fff}.friend-calendar{flex:1;min-width:0;display:flex;align-items:center;gap:1rem;overflow:hidden}.calendar-strip{display:flex;gap:2px;flex-wrap:nowrap}.status-box{width:16px;height:16px;border-radius:2px}.calendar-strip-loading,.calendar-strip-error{font-size:.75rem;color:var(--color-text-muted)}.friend-stats{display:flex;gap:.75rem;font-size:.8rem}.friend-stats .stat{display:flex;align-items:center;gap:.25rem}.friend-stats .stat.completed:before{content:"";width:8px;height:8px;background:var(--color-success);border-radius:2px}.friend-stats .stat.streak:before{content:"";width:8px;height:8px;background:var(--color-warning);border-radius:2px}.friend-actions{display:flex;gap:.25rem;flex-shrink:0;align-items:center;flex-wrap:nowrap;margin-left:auto}.actions-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 12px #0000004d;z-index:100;min-width:160px}.actions-dropdown button{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:transparent;border:none;color:var(--color-text);cursor:pointer;font-size:.875rem}.actions-dropdown button:hover{background:var(--color-surface-light)}.actions-dropdown button.danger{color:var(--color-danger)}.requests-section{margin-bottom:1.5rem}.requests-section h3{margin-bottom:.75rem;color:var(--color-text-muted);font-size:.9rem;text-transform:uppercase}.request-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin-bottom:.5rem}.request-info{display:flex;align-items:center;gap:.75rem}.request-name{font-weight:500}.request-actions{display:flex;gap:.5rem}.request-status{color:var(--color-text-muted);font-size:.875rem}.discovery-settings{display:flex;flex-direction:column;gap:1rem}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:1rem}.setting-info h3{margin-bottom:.25rem}.setting-info p,.setting-description{color:var(--color-text-muted);font-size:.875rem}.toggle{position:relative;display:inline-block;width:48px;height:26px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--color-surface-light);border-radius:26px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle input:checked+.toggle-slider{background:var(--color-success)}.toggle input:checked+.toggle-slider:before{transform:translate(22px)}.blocked-users h3{margin-bottom:.25rem}.blocked-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.blocked-user-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:var(--color-surface-light);border-radius:var(--radius)}.error-message{color:var(--color-danger);padding:.5rem;margin-top:.5rem;font-size:.875rem}.success-message{color:var(--color-success);padding:.5rem;margin-top:.5rem;font-size:.875rem}.btn-small{padding:.25rem .5rem;font-size:.8rem}.btn-secondary{background:var(--color-surface-light);color:var(--color-text)}.friend-calendar-view{max-width:900px;margin:0 auto}.friend-calendar-view .page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.friend-calendar-view .page-header h1{margin:0}.friend-stats-bar{display:flex;justify-content:center;gap:3rem;padding:1rem;margin-bottom:1.5rem}.friend-stats-bar .stat{display:flex;flex-direction:column;align-items:center}.friend-stats-bar .stat-value{font-size:1.5rem;font-weight:600;color:var(--color-primary)}.friend-stats-bar .stat-label{font-size:.8rem;color:var(--color-text-muted)}.calendar-navigation{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.current-month{font-size:1.1rem;font-weight:500;min-width:160px;text-align:center}.friend-calendar-grid{padding:1rem}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-header-cell{text-align:center;font-size:.75rem;color:var(--color-text-muted);padding:.5rem}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-cell{aspect-ratio:1;padding:.25rem;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;min-height:60px}.calendar-cell.empty{background:transparent}.calendar-cell.completed{background:#22c55e33;border:1px solid var(--color-success)}.calendar-cell.missed{background:#ef444433;border:1px solid var(--color-danger)}.calendar-cell.off-day{background:#f9731633;border:1px solid #f97316}.calendar-cell.no-workout,.calendar-cell.no-data,.calendar-cell.before-program{background:var(--color-surface-light);opacity:.5}.calendar-cell.future{background:var(--color-surface-light)}.calendar-cell.today{box-shadow:0 0 0 2px var(--color-primary)}.day-number{font-size:.8rem;font-weight:500}.cell-label{font-size:.6rem;color:var(--color-text-muted)}.cell-check{color:var(--color-success);font-weight:700}.cell-workout{font-size:.55rem;text-align:center;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}@media(max-width:768px){.friend-row.card{flex-direction:column;align-items:flex-start;gap:.75rem}.friend-info{min-width:unset}.friend-calendar{width:100%;overflow:visible}.calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;width:100%}.status-box{width:100%;aspect-ratio:1;height:auto}.friend-stats{margin-left:auto}.friend-actions{width:100%;justify-content:flex-end}.search-form{flex-direction:column}.search-result{flex-direction:column;gap:1rem;align-items:flex-start}.friend-stats-bar{gap:1.5rem}.calendar-cell{min-height:40px}.cell-workout{display:none}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:1rem}.login-card{background:#1e1e2e;border-radius:16px;padding:3rem 2rem;width:100%;max-width:400px;text-align:center;box-shadow:0 25px 50px -12px #00000080}.login-card h1{color:#fff;font-size:2rem;margin:0 0 .5rem;font-weight:700}.login-subtitle{color:#888;margin:0 0 2rem;font-size:1rem}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem}.login-buttons{display:flex;flex-direction:column;gap:1rem}.btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-google{background:#fff;color:#333}.btn-google:hover:not(:disabled){background:#f5f5f5;transform:translateY(-1px)}.btn-apple{background:#000;color:#fff}.btn-apple:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px)}.login-help{color:#666;font-size:.875rem;line-height:1.6}.login-help code{background:#ffffff1a;padding:.125rem .375rem;border-radius:4px;font-family:monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}:root{--color-bg: #0a0e17;--color-surface: #131a2b;--color-surface-light: #1c2840;--color-primary: #5a9ff0;--color-success: #22c55e;--color-danger: #ef4444;--color-warning: #ffeb3b;--color-text: #f1f5f9;--color-text-muted: #8899aa;--color-border: #2a3a52;--radius: 8px;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .5)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh}.app{height:100%;display:flex;flex-direction:column}.nav{background:var(--color-surface);padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);min-height:60px;display:flex;align-items:center;justify-content:space-between;position:relative}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:var(--color-text-muted);text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--color-primary)}.nav-stats{display:flex;gap:1.5rem;align-items:center;position:absolute;left:50%;transform:translate(-50%)}.nav-right{display:flex;align-items:center;gap:.75rem}.nav-user{display:flex;align-items:center;gap:.5rem}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{color:var(--color-text-muted);font-size:.875rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.375rem .75rem;border-radius:var(--radius);font-size:.75rem;cursor:pointer;transition:all .2s}.btn-logout:hover{background:var(--color-surface-light);color:var(--color-text)}.loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.main-content{flex:1;padding:1.5rem;max-width:1200px;margin:0 auto;width:100%}.main-content .calendar-view,.main-content .calendar-view>*{display:flex;flex-direction:column;flex:1;min-height:0}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:600}.card{background:var(--color-surface);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#4a8fe0}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#1da850}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{background:var(--color-surface-light);color:var(--color-text)}.btn-sm{padding:.25rem .5rem;font-size:.75rem}input,textarea,select{background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;color:var(--color-text);font-size:.875rem;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input[type=number]{width:5rem}.stats{display:flex;gap:1.5rem;align-items:center}.stat{background:transparent;padding:0;text-align:center;min-width:70px;display:flex;flex-direction:column;justify-content:center}.stat-value{font-size:1.1rem;font-weight:700;line-height:1.2}.stat-value.success{color:var(--color-success)}.stat-value.danger{color:var(--color-danger)}.stat-value.warning{color:#ffeb3b;text-shadow:0 0 10px #ffeb3b,0 0 20px #ffeb3b,0 0 30px #ffd700;font-size:1.3rem}.stat-value.warning+.stat-label{color:#ffeb3b;text-shadow:0 0 8px rgba(255,235,59,.5)}.stat-label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.calendar-view{display:flex;flex-direction:column;height:calc(100vh - 60px - 3rem)}.calendar{display:flex;flex-direction:column;flex:1;min-height:0}.calendar-weeks{display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;min-height:0}.week-row{display:flex;gap:4px}.day-header{display:flex;gap:4px;margin-bottom:.5rem;flex-shrink:0}.day-header span{flex:1;text-align:center;font-size:.875rem;color:var(--color-text-muted);font-weight:500;padding:.5rem 0}.day-cell{flex:1;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:.75rem;cursor:pointer;transition:transform .1s;background:var(--color-surface-light)}.day-cell:hover{transform:scale(1.05)}.day-cell.completed{background:var(--color-success);color:#1a1a1a;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.day-cell.completed .day-date{color:#1a1a1a;align-self:flex-start}.completed-workout-info{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;flex:1}.completed-workout-display{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%}.day-cell.completed .completed-workout-display .workout-title{font-size:1.35rem!important;font-weight:700;color:#0a0a0a!important;text-align:center;white-space:normal!important;word-wrap:break-word;overflow:visible!important;text-overflow:clip!important;line-height:1.1}.day-cell.completed .completed-workout-display .checkmark{font-size:1.5rem;font-weight:700;color:#0a0a0a}.day-cell.missed{background:var(--color-danger);color:#fff}.day-cell.partial{background:#6b8cae;color:#fff}.day-cell.partial .day-date,.day-cell.partial .workout-title,.day-cell.partial .checkmark{color:#fff}.day-cell.today{box-shadow:0 0 0 2px var(--color-primary)}.day-cell.no-workout{background:var(--color-surface);color:var(--color-text-muted)}.program-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}@media(max-width:900px){.program-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:500px){.program-grid{grid-template-columns:1fr}}.day-column{background:var(--color-surface);border-radius:var(--radius);padding:.75rem;min-height:200px}.day-column h3{font-size:.875rem;font-weight:600;margin-bottom:.75rem;color:var(--color-primary)}.exercise-list{display:flex;flex-direction:column;gap:.5rem}.exercise-row{background:var(--color-surface-light);border-radius:4px;padding:.5rem}.exercise-row input{margin-bottom:.5rem}.exercise-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.exercise-meta input{width:4rem;padding:.25rem .5rem;font-size:.75rem}.exercise-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.add-exercise-btn{width:100%;margin-top:.5rem}.workout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.workout-date{font-size:.875rem;color:var(--color-text-muted)}.workout-progress{font-size:.875rem;color:var(--color-text-muted);background:var(--color-surface);padding:.25rem .75rem;border-radius:1rem}.workout-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.workout-list-item{display:flex;justify-content:space-between;align-items:center;background:var(--color-surface);border-radius:var(--radius);padding:1rem 1.25rem;border:2px solid transparent;transition:all .2s}.workout-list-item.in-progress{border-color:var(--color-primary);background:var(--color-surface-light)}.workout-list-item.active{border-color:var(--color-primary);box-shadow:0 0 0 2px #5a9ff033}.workout-list-item.completed{background:#22c55e26;border-color:#22c55e4d;opacity:.8}.workout-list-info{display:flex;align-items:center;gap:.75rem}.workout-list-check{font-size:1.25rem;font-weight:700;color:var(--color-success)}.workout-list-title{font-size:1.1rem;font-weight:600}.workout-list-item.completed .workout-list-title{color:var(--color-text-muted)}.workout-list-actions{display:flex;gap:.5rem}.past-date-warning{background:#ffc1071a;border:1px solid var(--color-warning);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;text-align:center}.past-date-warning .warning-title{margin:0;color:var(--color-warning);font-size:.9rem;font-weight:600}.past-date-warning .warning-subtitle{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.8rem}.adhoc-input-group{display:flex;flex-direction:column;gap:.5rem}.adhoc-title-input{width:100%;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem}.adhoc-title-input:focus{outline:none;border-color:var(--color-primary)}.adhoc-input-actions{display:flex;gap:.5rem}.quick-start-btn{border-style:dashed}.workout-detail{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.add-exercise-btn{width:100%;margin:1rem 0}.add-exercise-form{background:var(--color-surface);border-radius:var(--radius);padding:1.25rem;margin:1rem 0}.add-exercise-form h4{margin-bottom:1rem;font-size:1.1rem}.add-exercise-form .form-group{margin-bottom:1rem}.add-exercise-form .form-group label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.25rem}.add-exercise-form input,.add-exercise-form select{width:100%;padding:.5rem .75rem;background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem}.add-exercise-form input:focus,.add-exercise-form select:focus{outline:none;border-color:var(--color-primary)}.exercise-input-wrapper{position:relative}.exercise-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);max-height:200px;overflow-y:auto;z-index:10}.exercise-option{padding:.5rem .75rem;cursor:pointer}.exercise-option:hover{background:var(--color-primary);color:#fff}.add-exercise-form .hint{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.add-exercise-form .form-row{display:flex;gap:1rem}.add-exercise-form .form-row .form-group{flex:1}.add-exercise-form .form-row input{width:100%}.add-exercise-form .form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.workout-entries{display:flex;flex-direction:column;gap:1rem}.workout-entry{background:var(--color-surface);border-radius:var(--radius);padding:1rem}.workout-entry h3{font-size:1rem;margin-bottom:.75rem}.planned-info{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem}.actual-inputs{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-group label{font-size:.75rem;color:var(--color-text-muted)}.input-group input{width:6rem}.timer-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.timer-display{font-size:2rem;font-weight:700;font-family:Courier New,monospace;text-align:center;margin:.5rem 0}.timer-display.warning{color:var(--color-warning)}.timer-display.complete{color:var(--color-success)}.timer-buttons{display:flex;gap:.5rem;justify-content:center}.notes-input{margin-top:.75rem}.notes-input textarea{min-height:60px;resize:vertical}.complete-workout-btn{margin-top:1.5rem;width:100%;padding:1rem;font-size:1rem}.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-muted)}.empty-state{text-align:center;padding:2rem;color:var(--color-text-muted)}.autocomplete{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-height:150px;overflow-y:auto;z-index:10;box-shadow:var(--shadow)}.autocomplete-option{padding:.5rem .75rem;cursor:pointer;font-size:.875rem}.autocomplete-option:hover{background:var(--color-surface-light)}.workout-completed{background:var(--color-surface);padding:2rem;border-radius:var(--radius);text-align:center}.workout-completed h2{color:var(--color-success);margin-bottom:.5rem}.completed-entries{margin-top:1.5rem;text-align:left}.completed-entry{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.completed-entry:last-child{border-bottom:none}.scroll-indicator{text-align:center;padding:1rem;color:var(--color-text-muted);font-size:.875rem}.day-cell{flex:1;min-height:80px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;border-radius:4px;font-size:.75rem;cursor:pointer;transition:transform .1s;background:var(--color-surface-light);padding:4px;overflow:hidden}.day-date{font-weight:600;font-size:.7rem;margin-bottom:2px}.day-workout-info{width:100%;overflow:hidden}.workout-summary{margin-bottom:2px}.day-workout-info .workout-title{font-size:.6rem;font-weight:600;color:var(--color-text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-workout-info .workout-sections{display:flex;flex-wrap:wrap;gap:2px}.day-workout-info .section-name{font-size:.55rem;color:var(--color-text-muted);background:var(--color-surface-light);padding:1px 3px;border-radius:2px}.off-day-label{font-size:.6rem;color:var(--color-warning);font-style:italic;display:block}.off-day-reason-label{font-size:.55rem;color:var(--color-text-muted);display:block;margin-top:2px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-cell.before-program{background:var(--color-surface-light);opacity:.4}.day-cell.off-day{background:var(--color-surface);border:1px dashed var(--color-warning)}.program-section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1.25rem;font-weight:600}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.template-card{background:var(--color-surface);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.template-card-header h3{font-size:1rem;font-weight:600}.template-card-actions{display:flex;gap:.5rem}.template-notes-preview{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-card-content .template-sections{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem}.section-tag{font-size:.75rem;padding:.25rem .5rem;background:var(--color-surface-light);border-radius:4px;color:var(--color-text-muted)}.empty-sections{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.template-stats{font-size:.75rem;color:var(--color-text-muted);display:flex;gap:1rem}.template-schedule{font-size:.75rem;color:var(--color-primary);margin-top:.5rem}.new-template-form{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.new-template-form input{flex:1;min-width:200px}.template-editor{background:var(--color-bg);min-height:100vh}.editor-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.btn-back{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.875rem}.btn-back:hover{color:var(--color-text)}.template-title-input{flex:1;font-size:1.25rem;font-weight:600;background:transparent;border:none;color:var(--color-text)}.template-title-input:focus{outline:none;border-bottom:2px solid var(--color-primary)}.template-notes{padding:0 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.template-notes-input{width:100%;background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;color:var(--color-text);font-size:.875rem;resize:vertical;min-height:50px}.template-notes-input:focus{outline:none;border-color:var(--color-primary)}.editor-content{padding:1rem;max-width:800px;margin:0 auto}.sections-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.section-block{background:var(--color-surface);border-radius:var(--radius);padding:1rem}.section-block{cursor:grab;transition:transform .2s,opacity .2s,box-shadow .2s}.section-block:active{cursor:grabbing}.section-block.dragging{opacity:.5;transform:scale(.98)}.section-block.drag-over{box-shadow:0 0 0 2px var(--color-primary);transform:scale(1.01)}.section-block .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.section-header-left{display:flex;align-items:center;gap:.5rem}.drag-handle{color:var(--color-text-muted);cursor:grab;font-size:1rem;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.section-block .section-header h3{font-size:1rem;font-weight:600;color:var(--color-primary)}.section-exercises{display:flex;flex-direction:column;gap:.5rem}.section-exercises .exercise-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;background:var(--color-surface-light);border-radius:4px}.section-exercises .exercise-name{flex:1;font-weight:500}.section-exercises .exercise-inputs{display:flex;gap:.5rem;align-items:center}.section-exercises .exercise-inputs input{width:70px;padding:.25rem .5rem;font-size:.75rem}.btn-add-exercise{width:100%;padding:.5rem;margin-top:.5rem;background:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted);cursor:pointer;border-radius:4px;font-size:.875rem}.btn-add-exercise:hover{border-color:var(--color-primary);color:var(--color-primary)}.add-exercise-form{display:flex;gap:.5rem;margin-top:.5rem;align-items:flex-start}.autocomplete-wrapper{flex:1;position:relative}.suggestions-list{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;max-height:150px;overflow-y:auto;z-index:10}.suggestion-item{padding:.5rem;cursor:pointer;font-size:.875rem}.suggestion-item:hover{background:var(--color-surface-light)}.add-section-form{display:flex;gap:.5rem}.add-section-form input{flex:1}.schedule-section{background:var(--color-surface);border-radius:var(--radius);padding:1rem;margin-top:2rem}.schedule-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem}.current-schedules{margin-bottom:1rem}.schedule-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--color-surface-light);border-radius:4px;margin-bottom:.5rem}.schedule-dates{font-size:.75rem;color:var(--color-text-muted)}.add-schedule-form{display:flex;flex-direction:column;gap:1rem}.day-selector{display:flex;flex-wrap:wrap;gap:.5rem}.day-checkbox{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:var(--color-surface-light);border-radius:4px;cursor:pointer;font-size:.875rem}.day-checkbox.selected{background:var(--color-primary);color:#fff}.day-checkbox input{display:none}.date-range{display:flex;gap:1rem;flex-wrap:wrap}.date-range label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--color-text-muted)}.date-range input{width:auto}.schedule-manager .schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}@media(max-width:900px){.schedule-manager .schedule-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:500px){.schedule-manager .schedule-grid{grid-template-columns:1fr}}.schedule-day{background:var(--color-surface);border-radius:var(--radius);padding:.75rem;min-height:120px}.schedule-day h4{font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:var(--color-primary)}.day-schedules{display:flex;flex-direction:column;gap:.5rem}.schedule-entry{display:flex;flex-direction:column;padding:.5rem;background:var(--color-surface-light);border-radius:4px;font-size:.75rem}.schedule-title{font-weight:500}.btn-add-schedule{width:100%;padding:.5rem;background:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted);cursor:pointer;border-radius:4px;font-size:.75rem}.btn-add-schedule:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-add-schedule:disabled{opacity:.5;cursor:not-allowed}.add-schedule-inline{display:flex;flex-direction:column;gap:.5rem}.add-schedule-inline select,.add-schedule-inline input{font-size:.75rem;padding:.25rem}.off-days-manager{background:var(--color-surface);border-radius:var(--radius);padding:1rem;margin-top:.5rem}.off-day-form{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.off-day-form input[type=date]{width:auto}.off-day-form input[type=text]{flex:1;min-width:150px}.off-days-list{display:flex;flex-direction:column;gap:.5rem}.off-day-item{display:flex;align-items:center;gap:1rem;padding:.5rem;background:var(--color-surface-light);border-radius:4px}.off-day-date{font-weight:500}.off-day-reason{flex:1;font-size:.875rem;color:var(--color-text-muted)}.btn-icon{padding:.25rem .5rem;font-size:.75rem;background:var(--color-surface-light);border:none;border-radius:4px;color:var(--color-text-muted);cursor:pointer}.btn-icon:hover{background:var(--color-border);color:var(--color-text)}.btn-icon.btn-danger:hover{background:var(--color-danger);color:#fff}.btn-secondary{background:var(--color-surface-light);color:var(--color-text);border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem}.btn-secondary:hover{background:var(--color-border)}.btn-small{padding:.25rem .5rem;font-size:.75rem}.empty-message{color:var(--color-text-muted);font-size:.875rem;text-align:center;padding:1rem 0}.workout-section{margin-bottom:1.5rem}.workout-section .section-header{font-size:.875rem;font-weight:600;color:var(--color-primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.off-day-display{background:var(--color-surface);padding:2rem;border-radius:var(--radius);text-align:center;color:var(--color-text-muted)}.workout-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.workout-tab{padding:.5rem 1rem;background:var(--color-surface);border:none;border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;font-size:.875rem}.workout-tab.active{background:var(--color-primary);color:#fff}.scheduled-workout{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem}.scheduled-workout h2{font-size:1.25rem;margin-bottom:1rem}.scheduled-workout.greyed{opacity:.5}.template-section{margin-bottom:1rem}.template-section h4{font-size:.875rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.template-section ul{list-style:none;padding-left:0}.template-section li{display:flex;justify-content:space-between;padding:.5rem;background:var(--color-surface-light);border-radius:4px;margin-bottom:.25rem;font-size:.875rem}.exercise-target{color:var(--color-text-muted)}.missed-message{text-align:center;color:var(--color-danger);font-style:italic;margin-top:1rem}.other-workouts{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border)}.other-workouts h4{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem}.other-workout-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--color-surface);border-radius:var(--radius);margin-bottom:.5rem}.entry-details{font-size:.875rem;color:var(--color-text-muted)}.entry-notes{margin-top:.25rem;font-style:italic}.missed-workout-template{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border)}.template-preview.greyed{opacity:.5}.sets-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.set-row{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--color-surface-light);border-radius:4px}.set-row.added-set{border-left:3px solid var(--color-primary)}.set-number{font-size:.75rem;font-weight:600;color:var(--color-text-muted);min-width:45px}.set-inputs{display:flex;gap:.5rem;flex-wrap:wrap;flex:1}.input-group.small{display:flex;flex-direction:column;gap:.15rem}.input-group.small label{font-size:.65rem;color:var(--color-text-muted)}.input-group.small input{width:60px;padding:.35rem .5rem;font-size:.8rem}.btn-add-set{width:100%;padding:.5rem;background:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted);cursor:pointer;border-radius:4px;font-size:.875rem;transition:all .2s}.btn-add-set:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-delete-set{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem;transition:color .2s}.btn-delete-set:hover{color:var(--color-danger)}.time-input{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.completed-sets{display:flex;flex-direction:column;gap:.25rem}.completed-set{display:flex;gap:.5rem;font-size:.8rem}.completed-set .set-label{font-weight:500;color:var(--color-text)}.completed-set span{color:var(--color-text-muted)}.time-display{display:block;margin-top:.25rem;color:var(--color-text-muted)}@media(max-width:500px){.set-row{flex-wrap:wrap}.set-inputs{width:100%}.input-group.small input{width:55px}}.goals-view{padding:0}.goals-view .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.goals-view .page-header h1{font-size:1.5rem}.goals-section{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.goals-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.goals-section .section-header h2{font-size:1.125rem;font-weight:600}.profile-summary{display:flex;gap:1.5rem;flex-wrap:wrap}.profile-stat{padding:.5rem 1rem;background:var(--color-surface-light);border-radius:var(--radius);font-size:.875rem}.profile-stat.unit-badge{background:var(--color-primary);color:#fff;font-size:.75rem}.profile-form{display:flex;flex-direction:column;gap:1rem}.form-row,.form-row label{display:flex;flex-direction:column;gap:.25rem}.form-label{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.form-row input,.form-row textarea,.form-row select{padding:.5rem .75rem;background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.875rem}.form-row textarea{resize:vertical;min-height:60px}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--color-primary)}.form-row-group{display:flex;gap:1rem}.form-row-group .form-row{flex:1}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.unit-toggle,.goal-type-toggle{display:flex;gap:0}.unit-btn,.type-btn{padding:.5rem 1rem;background:var(--color-surface-light);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:.875rem;transition:all .2s}.unit-btn:first-child,.type-btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.unit-btn:last-child,.type-btn:last-child{border-radius:0 var(--radius) var(--radius) 0;border-left:none}.unit-btn.active,.type-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.height-inputs{display:flex;align-items:center;gap:.5rem}.height-inputs input{width:60px}.height-separator{color:var(--color-text-muted);font-size:.875rem}.goal-type-description{padding:.75rem;background:var(--color-surface-light);border-radius:var(--radius);margin-bottom:1rem}.goal-type-description p{font-size:.875rem;color:var(--color-text-muted);margin:0}.new-goal-form{padding:1rem;background:var(--color-surface-light);border-radius:var(--radius);margin-bottom:1rem}.goals-grid{display:flex;flex-direction:column;gap:1rem}.goal-item{padding:1rem;background:var(--color-surface-light);border-radius:var(--radius);border-left:3px solid var(--color-border)}.goal-item.achievement{border-left-color:var(--color-primary)}.goal-item.body_stat{border-left-color:var(--color-success)}.goal-item.editing{border-left-color:var(--color-warning)}.goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.goal-title-row{display:flex;flex-direction:column;gap:.25rem}.goal-type-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:999px;text-transform:uppercase;font-weight:600}.goal-type-badge.achievement{background:#5a9ff033;color:var(--color-primary)}.goal-type-badge.body_stat{background:#22c55e33;color:var(--color-success)}.goal-title{font-size:1rem;font-weight:600;margin:0}.goal-actions{display:flex;gap:.5rem}.goal-content{font-size:.875rem}.goal-description{color:var(--color-text-muted);margin-bottom:.75rem}.goal-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.goal-metric{color:var(--color-text-muted)}.goal-range{font-weight:500;color:var(--color-success)}.goal-progress{padding:.75rem;background:var(--color-surface);border-radius:var(--radius);margin-top:.75rem}.progress-label{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.progress-text{margin:.25rem 0 0;color:var(--color-text)}.goal-progress-actions{margin-top:.75rem}.progress-form{display:flex;flex-direction:column;gap:.5rem}.progress-form textarea{padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.875rem;resize:vertical}.btn-sm{padding:.35rem .75rem;font-size:.75rem}.archived-goals-section{background:var(--color-surface);opacity:.8}.archived-goals-list{display:flex;flex-direction:column;gap:1rem}.archived-goal-wrapper{position:relative}.archived-goal-wrapper .goal-item{opacity:.7}.restore-btn{margin-top:.5rem}.measurements-section .bmi-display{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--color-surface-light);border-radius:var(--radius)}.bmi-label{color:var(--color-text-muted);font-size:.875rem}.bmi-value{font-size:1.25rem;font-weight:600}.bmi-category{font-size:.875rem}.bmi-normal{color:var(--color-success)}.bmi-underweight,.bmi-overweight{color:var(--color-warning)}.bmi-obese{color:var(--color-danger)}.measurement-form{padding:1rem;background:var(--color-surface-light);border-radius:var(--radius);margin-bottom:1.5rem}.measurement-inputs{display:flex;gap:1rem;margin-bottom:1rem}.measurement-inputs .form-row{flex:1}.notes-row{margin-bottom:1rem}.measurements-history h3{font-size:1rem;margin-bottom:.75rem}.measurements-list{display:flex;flex-direction:column;gap:.5rem}.measurement-row{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--color-surface-light);border-radius:var(--radius)}.measurement-date{font-weight:500;min-width:100px}.measurement-data{display:flex;gap:1rem;flex:1;flex-wrap:wrap}.measurement-weight{font-weight:500}.measurement-bmi,.measurement-fat{color:var(--color-text-muted);font-size:.875rem}.measurement-notes{flex:1;color:var(--color-text-muted);font-size:.875rem;font-style:italic}.stat.stat-link{text-decoration:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center}.stat.stat-link:hover{opacity:.8;transform:scale(1.05);transition:all .2s}.nav-profile-stats{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--color-text-muted);padding:.25rem .5rem;background:var(--color-surface-light);border-radius:999px}.nav-stat-sep{opacity:.5}.profile-compact{padding:1rem;text-align:center}.profile-edit-link{background:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted);padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:all .2s}.profile-edit-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.profile-compact-editing{border:1px solid var(--color-border)}.nav-tooltips{display:flex;gap:.5rem;align-items:center}.nav-tooltip-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-light);color:var(--color-text-muted);cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.nav-tooltip-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:1200px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);font-weight:600;font-size:1rem}.modal-close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{color:var(--color-text);background:var(--color-surface-light)}.modal-body{padding:1.25rem}.developer-message{margin:0;font-size:1rem;line-height:1.6;white-space:pre-wrap;color:var(--color-text)}.no-message{margin:0;font-size:1rem;color:var(--color-text-muted);font-style:italic;text-align:center;padding:1rem 0}.message-prompt{margin:0 0 1rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.modal-body textarea{width:100%;padding:.75rem;background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.9375rem;resize:vertical;margin-bottom:1rem;min-height:100px}.modal-body textarea:focus{outline:none;border-color:var(--color-primary)}.btn-send{width:100%}.btn-send:disabled{opacity:.5;cursor:not-allowed}.message-sent{margin:0;font-size:1rem;color:var(--color-success);text-align:center;padding:1.5rem 0}.import-export-modal{max-width:500px}.import-export-tabs{display:flex;gap:0;margin-bottom:1rem}.import-export-tab{flex:1;padding:.75rem 1rem;background:var(--color-surface-light);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:.875rem;transition:all .2s}.import-export-tab:first-child{border-radius:var(--radius) 0 0 var(--radius)}.import-export-tab:last-child{border-radius:0 var(--radius) var(--radius) 0;border-left:none}.import-export-tab:hover{background:var(--color-surface)}.import-export-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tab-description{font-size:.875rem;color:var(--color-text-muted);margin:0 0 1rem}.selection-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.btn-select-action{font-size:.75rem;padding:.25rem .5rem;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;border-radius:4px;transition:all .2s}.btn-select-action:hover{border-color:var(--color-primary);color:var(--color-primary)}.template-selection-list{max-height:250px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.template-select-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .2s}.template-select-item:last-child{border-bottom:none}.template-select-item:hover{background:var(--color-surface-light)}.template-select-item.selected{background:#5a9ff01a}.template-select-checkbox{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.template-select-info{flex:1;min-width:0}.template-select-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-select-meta{font-size:.75rem;color:var(--color-text-muted)}.import-json-input{width:100%;min-height:150px;padding:.75rem;font-family:Courier New,monospace;font-size:.8rem;resize:vertical;background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text)}.import-json-input:focus{outline:none;border-color:var(--color-primary)}.import-json-input::placeholder{color:var(--color-text-muted)}.import-error{color:var(--color-danger);font-size:.875rem;margin-top:.5rem;padding:.5rem;background:#ef44441a;border-radius:4px}.import-preview{background:var(--color-surface-light);border-radius:var(--radius);padding:1rem}.import-preview-header{font-weight:600;margin-bottom:.75rem}.import-preview-list{display:flex;flex-direction:column;gap:.5rem}.import-preview-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--color-surface);border-radius:4px}.import-preview-title{font-weight:500}.import-preview-stats{font-size:.75rem;color:var(--color-text-muted)}.import-result{text-align:center;padding:1rem 0}.import-result-success{color:var(--color-success);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.import-result-details{font-size:.875rem;color:var(--color-text-muted)}.import-result-details p{margin:.25rem 0}@media(max-width:480px){.modal-overlay{padding:.75rem}.modal-header{padding:.875rem 1rem}.modal-body{padding:1rem}}@media(max-width:768px){.day-cell.completed .completed-workout-display .workout-title{font-size:1rem!important}.day-cell.completed .completed-workout-display .checkmark{font-size:1.2rem}}@media(max-width:480px){.day-cell.completed .completed-workout-display .workout-title{font-size:.65rem!important}.day-cell.completed .completed-workout-display .checkmark{font-size:.85rem}}@media(max-width:768px){.nav{flex-wrap:wrap;flex-direction:column;align-items:center;padding:.75rem;gap:.5rem;min-height:auto}.nav-stats{order:1;position:static;transform:none;width:100%;justify-content:center}.nav-right{order:2;margin-left:0;justify-content:center;width:100%}.nav-links{order:3;width:100%;justify-content:center;gap:1.5rem}.user-name{display:none}}@media(max-width:480px){.nav{padding:.5rem}.nav-links{gap:.5rem}.nav-links a{font-size:.875rem}.nav-stats{gap:.75rem}.stat{min-width:45px}.stat-value{font-size:1rem}.stat-label{font-size:.55rem}.btn-logout{padding:.25rem .5rem;font-size:.7rem}.nav-tooltip-btn{width:24px;height:24px;font-size:.75rem}}@media(max-width:600px){.profile-summary{flex-direction:column;gap:.5rem}.form-row-group,.measurement-inputs{flex-direction:column}.measurement-row{flex-direction:column;align-items:flex-start}.measurement-data{width:100%}.goal-header{flex-direction:column;gap:.5rem}.goal-actions{width:100%;justify-content:flex-end}}.weekly-planner{padding:1.5rem;max-width:1400px;margin:0 auto}.planner-loading{display:flex;justify-content:center;align-items:center;min-height:300px}.planner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.planner-nav{display:flex;align-items:center;gap:1rem}.planner-title{font-size:1.25rem;font-weight:600;min-width:180px;text-align:center}.btn-nav{background:var(--color-surface-light);border:1px solid var(--color-border);color:var(--color-text);width:36px;height:36px;border-radius:var(--radius);cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-nav:hover{background:var(--color-primary);border-color:var(--color-primary)}.btn-reset{font-size:.875rem;padding:.5rem 1rem}.planner-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}.desktop-only{display:grid}.mobile-only{display:none}.planner-day-column{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-height:200px;display:flex;flex-direction:column;transition:all .2s}.planner-day-column.is-today{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.planner-day-column.is-off-day{opacity:.7;background:var(--color-bg)}.planner-day-column.drag-over{background:var(--color-surface-light);border-color:var(--color-success);border-style:dashed}.day-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-light);border-radius:var(--radius) var(--radius) 0 0}.day-name{font-weight:600;font-size:.875rem}.today-badge{font-size:.6875rem;background:var(--color-primary);color:#fff;padding:.125rem .375rem;border-radius:4px;margin-left:.5rem}.btn-add-workout{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);width:28px;height:28px;border-radius:var(--radius);cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-add-workout:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.day-content{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.off-day-label{color:var(--color-text-muted);font-size:.8125rem;text-align:center;padding:1rem .5rem;display:flex;flex-direction:column;gap:.25rem}.off-day-reason{font-size:.75rem;font-style:italic}.no-workouts{color:var(--color-text-muted);font-size:.8125rem;text-align:center;padding:1rem .5rem}.planned-workout-card{background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);padding:.625rem .75rem;cursor:grab;display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:all .2s;min-height:44px}.planned-workout-card:hover{border-color:var(--color-primary);background:var(--color-surface)}.planned-workout-card.dragging{opacity:.5;cursor:grabbing}.planned-workout-card.ad-hoc{border-left:3px solid var(--color-warning)}.workout-card-content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.workout-title{font-size:.8125rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-hoc-badge{font-size:.625rem;background:var(--color-warning);color:#000;padding:.125rem .375rem;border-radius:4px;flex-shrink:0}.btn-delete-workout{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.125rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.btn-delete-workout:hover{background:var(--color-danger);color:#fff}.delete-confirm{display:flex;align-items:center;gap:.375rem;font-size:.75rem}.delete-confirm span{color:var(--color-text-muted)}.btn-confirm-yes,.btn-confirm-no{background:transparent;border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font-size:.6875rem;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.btn-confirm-yes:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-confirm-no:hover{background:var(--color-surface-light)}.add-workout-modal{max-width:400px}.add-workout-modal .modal-body{padding:1rem 1.25rem}.mode-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.mode-tab{flex:1;background:var(--color-surface-light);border:1px solid var(--color-border);color:var(--color-text-muted);padding:.625rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;transition:all .2s}.mode-tab:hover{background:var(--color-surface)}.mode-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.add-workout-modal .form-group{margin-bottom:1rem}.add-workout-modal label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.template-select,.adhoc-input{width:100%;padding:.75rem;background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.9375rem}.template-select:focus,.adhoc-input:focus{outline:none;border-color:var(--color-primary)}.add-workout-modal .error-message{color:var(--color-danger);font-size:.8125rem;margin-top:.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border)}@media(max-width:768px){.weekly-planner{padding:1rem}.planner-header{flex-direction:column;align-items:stretch}.planner-nav{justify-content:center}.btn-reset{width:100%}.desktop-only{display:none}.mobile-only{display:flex;flex-direction:column;gap:.75rem}.planner-day-column.mobile{min-height:auto}.planner-day-column.mobile .day-header{padding:.625rem .75rem}.planner-day-column.mobile .day-name{font-size:.9375rem}.planner-day-column.mobile .day-content{padding:.5rem .75rem}.planner-day-column.mobile.is-off-day .day-content,.planner-day-column.mobile .no-workouts{padding:.5rem .75rem;text-align:left}.add-workout-modal{max-width:none;margin:0 1rem}}
