.login{background:var(--muted);border:none;color:var(--text);padding:8px 12px;border-radius:0;font-weight:700;cursor:pointer;transition:.2s}.login:hover{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.home{text-align:center;margin-top:2rem;color:var(--text)}.home-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.home-subtitle{color:var(--subtext);font-size:14px;margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}.home-links{display:grid;grid-template-columns:1fr;gap:1rem;max-width:700px;margin:0 auto;text-align:left}@media (min-width: 640px){.home-links{grid-template-columns:repeat(3,1fr)}}.home-link{display:flex;flex-direction:column;padding:1.25rem 1rem;background:var(--card);border:1px solid var(--border-color);text-decoration:none;color:var(--text);border-radius:var(--radius);transition:box-shadow .2s ease,transform .15s ease}.home-link:hover{box-shadow:0 4px 20px #0000000f;transform:translateY(-2px)}.home-link-title{font-size:1.1rem;font-weight:600;margin-bottom:.25rem;display:block}.home-link-text{font-size:13px;color:var(--subtext)}.home-auth{margin:3rem auto;max-width:500px}.home-auth-content{background:var(--card);border:1px solid var(--border-color);border-radius:var(--radius);padding:2rem;text-align:center}.home-auth-content h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text)}.home-auth-content p{color:var(--subtext);margin-bottom:1.5rem}.home-features{margin-top:3rem;max-width:1000px;margin-left:auto;margin-right:auto}.home-features h2{font-size:1.25rem;margin-bottom:2rem;color:var(--text)}.home-features-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;text-align:left}@media (min-width: 640px){.home-features-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 968px){.home-features-grid{grid-template-columns:repeat(3,1fr)}}.home-feature{background:var(--card);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.5rem;transition:transform .15s ease,box-shadow .2s ease}.home-feature:hover{box-shadow:0 4px 20px #0000000f;transform:translateY(-2px)}.home-feature h3{font-size:1rem;margin-bottom:.5rem;color:var(--text)}.home-feature p{font-size:13px;color:var(--subtext);line-height:1.5}.add-session-form{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1rem;background:var(--bg-card);color:var(--text-primary);width:100%;margin:0;border:1px solid var(--border-color);border-radius:12px}.add-session-form .form-title{font-size:1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:.25rem}.add-session-form .form-group{display:flex;flex-direction:column;gap:.35rem;width:100%}.add-session-form label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.add-session-form input,.add-session-form textarea{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:.65rem .75rem;font-size:.95rem;font-family:inherit;border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease}.add-session-form input:focus,.add-session-form textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #ff6b354d}.add-session-form textarea{resize:vertical;min-height:70px}.add-session-form .error-text{color:var(--danger);font-size:.85rem;font-weight:500}.add-session-form .submit-btn{background:var(--accent-primary);padding:.65rem 1.25rem;border:1px solid var(--accent-primary);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border-radius:6px}.add-session-form .submit-btn:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary);transform:translateY(-1px)}.add-session-form .submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (min-width: 640px){.add-session-form{padding:1.5rem 1.25rem;gap:1.25rem}.add-session-form .form-title{font-size:1.35rem}.add-session-form input,.add-session-form textarea{font-size:1rem}}.sessions-container{max-width:1200px;margin:0 auto;padding:24px;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.sessions-container .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.sessions-container .page-title{font-size:28px;font-weight:700}.sessions-container .header-actions{display:flex;gap:12px}.sessions-container .filter-btn{padding:10px 20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.sessions-container .filter-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.sessions-container .filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.sessions-container .stats-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.sessions-container .stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px}.sessions-container .stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.sessions-container .stat-label{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sessions-container .stat-icon{width:20px;height:20px}.sessions-container .stat-value{font-size:32px;font-weight:700;margin-bottom:4px;letter-spacing:-1px}.sessions-container .stat-subtitle{font-size:13px;color:var(--text-secondary)}.sessions-container .sessions-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;margin-top:32px;margin-bottom:24px}.sessions-container .section-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.sessions-container .section-title{font-size:18px;font-weight:600}.sessions-container .session-count{font-size:14px;color:var(--text-secondary)}.sessions-container .session-list{list-style:none;padding:0;margin:0}.sessions-container .session-item{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-color);transition:background .2s ease;cursor:pointer}.sessions-container .session-item:hover{background:var(--bg-tertiary)}.sessions-container .session-item:last-child{border-bottom:none}.sessions-container .session-date{flex:0 0 120px;font-size:14px;font-weight:500;background-color:transparent;padding:0;border-radius:0}.sessions-container .session-lift-container{flex:1;min-width:0}.sessions-container .session-lift{font-size:14px;font-weight:600}.sessions-container .session-lift-secondary{font-size:12px;color:var(--text-muted)}.sessions-container .session-stat{flex:1;text-align:center;min-width:80px}.sessions-container .session-stat-value{font-size:14px;font-weight:600}.sessions-container .session-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.sessions-container .session-pr-badge{flex:0 0 100px;text-align:center}.sessions-container .session-actions{flex:0 0 auto;display:flex;gap:8px}.sessions-container .no-sessions{color:var(--text-secondary);font-size:.95rem;text-align:center;margin-top:1rem}.sessions-container .session-list-container{position:relative;min-height:200px}.sessions-container .session-list-loading{position:absolute;inset:0;background:var(--glass);display:flex;align-items:center;justify-content:center;z-index:10}.sessions-container .edit-form{flex:1;width:100%;padding:20px;background:var(--bg-tertiary);border-radius:8px}.sessions-container .edit-form .form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.sessions-container .edit-form .form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.sessions-container .edit-form .form-group input,.sessions-container .edit-form .form-group textarea{padding:.75rem;border:1px solid var(--border-color);font-size:.9rem;background:var(--bg-card);color:var(--text-primary);border-radius:6px}.sessions-container .edit-form .form-group input:focus,.sessions-container .edit-form .form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.sessions-container .edit-form textarea{resize:vertical;min-height:80px}.sessions-container .edit-actions{display:flex;gap:12px;justify-content:flex-end}.sessions-container .btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.sessions-container .btn.view{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.sessions-container .btn.view:hover{border-color:var(--accent-primary);color:var(--text-primary)}.sessions-container .btn.edit{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.sessions-container .btn.edit:hover{border-color:var(--accent-primary);color:var(--text-primary)}.sessions-container .btn.delete{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.sessions-container .btn.delete:hover{border-color:var(--danger);color:var(--danger)}.sessions-container .btn.save{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.sessions-container .btn.save:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.sessions-container .btn.cancel{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.sessions-container .btn.cancel:hover{background:var(--muted);color:var(--text-primary)}.sessions-container .pr-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.sessions-container .pr-badge.yes{background:#22c55e26;color:var(--success)}.sessions-container .pr-badge.no{background:#88888826;color:var(--text-muted)}@media (max-width: 1024px){.sessions-container .stats-overview{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.sessions-container{padding:16px}.sessions-container .page-header{flex-direction:column;gap:16px;align-items:flex-start}.sessions-container .session-item{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.sessions-container .session-date{flex:none}.sessions-container .session-lift-container{width:100%}.sessions-container .session-stat{width:100%;text-align:left;display:flex;align-items:center;gap:8px}.sessions-container .session-stat-label{text-transform:none}.sessions-container .session-pr-badge{flex:none;width:100%;text-align:left}.sessions-container .session-actions{width:100%;display:flex;gap:8px}.sessions-container .session-actions .btn{flex:1;justify-content:center}.sessions-container .stats-overview{grid-template-columns:1fr}.sessions-container .header-actions{flex-wrap:wrap}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--border-color);margin-top:1rem}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:var(--bg-card);border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;color:var(--text-primary)}.pagination-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-muted)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{display:flex;gap:.5rem}.pagination-page{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-card);border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;color:var(--text-primary)}.pagination-page:hover{background:var(--bg-tertiary)}.pagination-page.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--text-muted)}.pagination-jump{display:flex;align-items:center;gap:.5rem;font-size:14px;color:var(--text-secondary)}.pagination-jump-input{width:80px;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;text-align:center;font-size:14px;background:var(--bg-card);color:var(--text-primary)}.pagination-jump-input:focus{outline:none;border-color:var(--accent-primary)}@media (max-width: 768px){.pagination-controls{flex-wrap:wrap;gap:.75rem}.pagination-jump{order:10;width:100%;justify-content:center}}.exercise-list{display:flex;flex-direction:column;gap:1rem}.exercise{background:var(--card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.exercise-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.exercise-title-section{display:flex;align-items:center;gap:12px}.collapse-btn{background:transparent;border:none;color:var(--subtext);font-size:14px;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s ease;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.collapse-btn:hover{color:var(--text)}.exercise h3{font-size:15px;margin:0;color:var(--text);font-weight:600}.exercise-variation{color:var(--subtext);font-weight:400;margin-left:4px}.exercise-meta-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:14px}.exercise-meta-row:last-of-type{border-bottom:none}.meta{padding:12px 16px;font-size:13px;color:var(--subtext)}.exercise-meta-label{color:var(--subtext);text-transform:uppercase;font-size:11px;letter-spacing:.5px;font-weight:600}.exercise-meta-value{font-weight:500;color:var(--text)}.exercise-actions{display:flex;gap:8px}.edit-btn{background:#8888881a;border:1px solid var(--subtext);color:var(--subtext);padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease}.edit-btn:hover{background:#8883}.delete-btn{background:#ef44441a;border:1px solid var(--error);color:var(--error);padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease}.delete-btn:hover{background:#ef444433}button.small{padding:4px 8px;font-size:12px}.exercise-content{padding:0}.sets{width:100%;border-collapse:collapse}.sets th,.sets td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color);font-size:14px;color:var(--text)}.sets th:last-child,.sets td:last-child{text-align:right}.sets td:last-child{display:flex;gap:8px;justify-content:flex-end}.sets th{background:var(--bg-tertiary);color:var(--subtext);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.sets tbody tr:last-child td{border-bottom:none}.weight{font-weight:600;color:var(--text)}.reps{font-weight:500;color:var(--subtext)}.notes{color:var(--subtext)}.notes-container{position:relative}.notes-text{cursor:pointer;display:block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.notes-dropdown{position:absolute;top:100%;left:0;z-index:1000;background:var(--card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;padding:12px;min-width:200px;max-width:300px;margin-top:4px}.notes-close{position:absolute;top:4px;right:4px;background:transparent;border:none;color:var(--subtext);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .2s}.notes-close:hover{background:var(--bg-tertiary);color:var(--text)}.notes-content{color:var(--text);font-style:italic;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.set-edit-form-inline{display:flex;gap:6px;align-items:center}.set-edit-input{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text);padding:6px 8px;font-size:13px;border-radius:6px;width:80px;font-family:var(--mono);font-weight:500;box-sizing:border-box}.set-edit-input:focus{outline:none;border-color:var(--accent)}.set-edit-input.weight{color:var(--text)}.set-edit-input.reps{color:var(--subtext)}.duration{font-weight:500;color:var(--subtext)}.duration-edit-inputs{display:flex;gap:4px;align-items:center}.set-edit-input.small{width:50px;font-size:12px;padding:4px 6px}.no-exercises{font-style:italic;color:var(--subtext);text-align:center;padding:2rem}.exercise-list-header{display:flex;justify-content:flex-end;gap:8px;padding:0 0 12px}.exercise-list-header button{background:transparent;border:1px solid var(--border-color);color:var(--subtext);padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease}.exercise-list-header button:hover{border-color:var(--accent);color:var(--text)}@media (max-width: 768px){.exercise-header{flex-direction:column;align-items:flex-start;gap:12px}.exercise-actions{width:100%}.exercise-actions button{flex:1;text-align:center}.exercise-meta-row{grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}.exercise-meta-row .exercise-meta-label:nth-child(3){grid-column:span 2}.meta{padding:12px 16px}.sets{display:flex;flex-direction:column}.sets thead{display:none}.sets tbody{display:flex;flex-direction:column}.sets tr{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.sets tr:last-child{border-bottom:none}.sets td{display:flex;justify-content:space-between;align-items:center;padding:0;border-bottom:none}.sets td:before{content:attr(data-label);font-weight:500;color:var(--subtext);font-size:12px;text-transform:uppercase}.sets td:last-child{justify-content:center;gap:8px;padding-top:8px;border-top:1px dashed var(--border-color);margin-top:8px}.sets td:last-child button{flex:1;text-align:center}}.add-set-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;font-size:.95rem}.set-row{display:flex;flex-direction:column;gap:1rem;border-left:2px solid var(--accent)}.set-row .input{background:var(--muted);border:1px solid rgba(255,255,255,.05);color:var(--text);padding:.5rem .75rem;font-size:.95rem;border-radius:0}.set-row .input::placeholder{color:var(--subtext)}.set-row .textarea{background:var(--muted);border:1px solid rgba(255,255,255,.05);padding:.5rem .75rem;font-size:.95rem;color:var(--text);transition:border .2s,box-shadow .2s;min-height:70px;resize:vertical;border-radius:0}.set-row .textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff2d0040}.set-row .textarea::placeholder{color:var(--subtext)}.duration-inputs{display:flex;gap:.4rem}.form-buttons{display:flex;gap:.5rem}.btn.add-set{background:var(--muted);border:none;color:var(--text);padding:8px 12px;border-radius:0;font-weight:700;cursor:pointer;transition:.2s}.btn.add-set:hover{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.btn.cancel{background:var(--muted);border:none;color:var(--text);padding:8px 12px;border-radius:0;font-weight:700;cursor:pointer;transition:.2s}.btn.cancel:hover{background:#666;color:#fff}.edit-set-row{display:flex;flex-direction:column;gap:.75rem;border-left:3px solid var(--accent);padding-left:.75rem}.edit-set-row input{background:var(--bg-card);border:1px solid var(--border-color);padding:.5rem .75rem;font-size:.95rem;color:var(--text);transition:border-color .2s ease;border-radius:6px}.edit-set-row input:focus{outline:none;border-color:var(--accent)}.edit-set-row button{appearance:none;cursor:pointer;padding:8px 12px;border:1px solid var(--error);border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--error);transition:all .2s ease}.edit-set-row button:hover{background:#ef44441a;border-color:var(--error)}.edit-set-row button:focus{outline:none}.edit-set-row button:focus-visible{outline:3px solid rgba(239,68,68,.18);outline-offset:2px}.edit-set-row input::placeholder{color:var(--text-muted)}.edit-exercise-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:12px}.edit-exercise-form .field{display:flex;flex-direction:column;gap:.5rem}.edit-exercise-form .field-label{font-size:.85rem;font-weight:500;color:var(--subtext)}.edit-exercise-form input,.edit-exercise-form select{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.5rem .75rem;font-size:.95rem;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease;border-radius:6px}.edit-exercise-form input:focus,.edit-exercise-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff6b352e}.edit-exercise-form textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.5rem .75rem;font-size:.95rem;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease;min-height:70px;resize:vertical;border-radius:6px;font-family:inherit}.edit-exercise-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff6b352e}.edit-sets{display:flex;flex-direction:column;gap:1rem}.exercise-edit-buttons{display:flex;gap:.5rem;margin-top:.5rem}.exercise-edit-buttons .btn{flex:1;appearance:none;cursor:pointer;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;transition:all .2s ease}.exercise-edit-buttons .btn:focus{outline:none}.exercise-edit-buttons .btn.primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.exercise-edit-buttons .btn.primary:hover{background:var(--accent-light);border-color:var(--accent-light)}.exercise-edit-buttons .btn.primary:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.exercise-edit-buttons .btn.secondary{background:transparent;border:1px solid var(--border-color);color:var(--subtext)}.exercise-edit-buttons .btn.secondary:hover{border-color:var(--accent);color:var(--accent)}.exercise-edit-buttons .btn.secondary:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.exercise-type-select{padding:.5rem .75rem}.session-detail{display:flex;flex-direction:column;gap:1rem}.session-card{background:var(--card);padding:18px;border-radius:0;border:1px solid rgba(255,255,255,.05)}.session-card h2{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.session-notes{margin-top:8px;font-style:italic;color:var(--subtext)}.timestamps{margin-top:6px;font-size:.8rem;color:var(--subtext)}.loading{text-align:center;padding:2rem;color:var(--text-muted);font-style:italic}.bulk-mode-buttons{display:flex;gap:12px;flex-wrap:wrap;padding:0rem 1rem}.bulk-mode-buttons .btn{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-weight:500;cursor:pointer;background:transparent;color:var(--subtext)}.bulk-mode-buttons .btn:hover{border-color:var(--accent);color:var(--text)}.bulk-mode-buttons .btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.bulk-mode-buttons .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.timer{background:var(--card);padding:12px;border-radius:0;text-align:center;margin-top:20px;font-weight:700;font-size:16px;border:1px solid rgba(255,255,255,.05)}.timer-mode{display:flex;gap:.5rem}.timer-mode button{flex:1;padding:8px 12px;background:var(--muted);border:none;color:var(--text);cursor:pointer;font-size:.85rem;border-radius:0;font-weight:700;transition:.2s}.timer-mode button.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.time{font-size:1.3rem;font-weight:700;text-align:center;letter-spacing:.5px;color:var(--text)}.controls{display:flex;justify-content:center;gap:.5rem}.set-time{display:flex;justify-content:center;gap:1rem;font-size:.85rem;color:var(--subtext)}.set-time label{display:flex;align-items:center;gap:.25rem}.set-time input{width:60px;padding:.25rem;border:1px solid rgba(255,255,255,.05);background:var(--muted);color:var(--text);text-align:right;border-radius:0}.bulk-exercise-form{display:flex;flex-direction:column;gap:1rem}.add-exercises-section{padding:1rem;display:flex;flex-direction:column;gap:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.btn.add-exercise{appearance:none;cursor:pointer;padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;font-weight:500;font-size:14px;background:transparent;color:var(--subtext);transition:all .2s ease}.btn.add-exercise:hover{border-color:var(--accent-teal);color:var(--accent-teal)}.btn.add-exercise:focus{outline:none}.btn.add-exercise:focus-visible{outline:3px solid rgba(20,184,166,.18);outline-offset:2px}.btn.quick-log-submit{appearance:none;cursor:pointer;padding:8px 16px;border:1px solid var(--accent);border-radius:6px;font-weight:500;font-size:14px;background:var(--accent);color:#fff;transition:all .2s ease}.btn.quick-log-submit:hover{background:var(--accent-light);border-color:var(--accent-light)}.btn.quick-log-submit:focus{outline:none}.btn.quick-log-submit:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.btn.save-submit{appearance:none;cursor:pointer;padding:8px 16px;border:1px solid var(--accent);border-radius:6px;font-weight:500;font-size:14px;background:var(--accent);color:#fff;transition:all .2s ease}.btn.save-submit:hover{background:var(--accent-light);border-color:var(--accent-light)}.btn.save-submit:focus{outline:none}.btn.save-submit:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.set-row{display:flex;flex-direction:column;gap:1rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.duration-inputs{display:flex;gap:.5rem}.btn.remove-set{appearance:none;cursor:pointer;padding:6px 10px;border:1px solid var(--error);border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--error);transition:all .2s ease}.btn.remove-set:hover{background:#ef44441a;border-color:var(--error)}.btn.remove-set:focus{outline:none}.btn.remove-set:focus-visible{outline:3px solid rgba(239,68,68,.18);outline-offset:2px}.btn.add-set{appearance:none;cursor:pointer;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--subtext);transition:all .2s ease;width:fit-content}.set-row .input{background:var(--bg-card);border:1px solid var(--border-color);padding:.5rem .75rem;font-size:.95rem;color:var(--text);border-radius:6px;transition:border-color .2s ease}.set-row .input:focus{outline:none;border-color:var(--accent)}.set-row .input::placeholder{color:var(--text-muted)}.bulk-exercise-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:12px;margin-bottom:12px}.exercise-hierarchy{padding:1rem;display:flex;flex-direction:column;gap:1rem}.exercise-type-indicator{display:flex;justify-content:flex-start;margin-bottom:.5rem}.exercise-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:4px}.exercise-badge.dictionary{background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent)}.exercise-badge.custom{background:#22c55e26;color:var(--success);border:1px solid var(--success)}.exercise-badge.add-custom{background:#8b5cf626;color:#8b5cf6;border:1px solid #8b5cf6}.field{display:flex;flex-direction:column;gap:.5rem}.field-label{font-size:.85rem;font-weight:500;color:var(--subtext)}.type-radio-group{display:flex;gap:1.25rem;flex-wrap:wrap}.radio-option{display:flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.95rem;color:var(--text);transition:color .2s ease}.radio-option input[type=radio]{accent-color:var(--accent);width:1rem;height:1rem;cursor:pointer}.radio-option:hover span{color:var(--accent)}.textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.5rem .75rem;font-size:.95rem;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease;min-height:70px;resize:vertical;border-radius:6px}.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff6b352e}.sets-section{display:flex;flex-direction:column;gap:1rem}.btn.remove{appearance:none;cursor:pointer;padding:8px 12px;border:1px solid var(--error);border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--error);transition:all .2s ease}.btn.remove:hover{background:#ef44441a;border-color:var(--error)}.btn.remove:focus{outline:none}.btn.remove:focus-visible{outline:3px solid rgba(239,68,68,.18);outline-offset:2px}.btn.add-set{appearance:none;cursor:pointer;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--subtext);transition:all .2s ease}.btn.add-set:hover{border-color:var(--accent);color:var(--accent)}.btn.add-set:focus{outline:none}.btn.add-set:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.exercise-selector{display:flex;flex-direction:column;gap:.75rem}.mode-toggle{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:.95rem;font-weight:500;color:var(--text)}.mode-toggle label{display:flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none}.mode-toggle input[type=radio]{accent-color:var(--accent);cursor:pointer;width:1rem;height:1rem}.input{appearance:none;background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.6rem .75rem;font-size:.95rem;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease;width:100%;border-radius:6px}.input:hover{border-color:var(--accent)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff6b352e}.input::placeholder{color:var(--text-muted)}.input option{background:var(--bg-card);color:var(--text)}.btn{appearance:none;cursor:pointer;padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;font-weight:500;font-size:14px;background:transparent;color:var(--subtext);transition:all .2s ease}.btn:hover{border-color:var(--accent);color:var(--accent)}.add-new-custom-exercise-btn{appearance:none;cursor:pointer;padding:8px 12px;border:1px solid var(--success);border-radius:6px;font-size:13px;font-weight:500;background:#22c55e1a;color:var(--success);transition:all .2s ease}.add-new-custom-exercise-btn:hover{background:#22c55e33;border-color:var(--success)}.add-new-custom-exercise-btn:focus{outline:none}.add-new-custom-exercise-btn:focus-visible{outline:3px solid rgba(34,197,94,.18);outline-offset:2px}.custom-selector,.custom-select-row,.custom-add-row{display:flex;flex-direction:column;gap:.5rem}.add-actions{display:flex;justify-content:flex-end}.back-btn{appearance:none;cursor:pointer;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--subtext);transition:all .2s ease}.back-btn:hover{border-color:var(--accent);color:var(--accent)}.quick-log-input-wrapper{display:flex;flex-direction:column;gap:1rem;padding:18px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.quick-log-instructions{background:var(--bg-tertiary);padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;color:var(--text-secondary)}.quick-log-instructions pre{background:var(--bg-tertiary);padding:.5rem;font-size:.9rem;overflow-x:auto}.quick-log-instructions code{background:var(--accent-subtle);padding:.1rem .25rem;font-size:.9rem;color:var(--accent-primary)}.quick-log-input-wrapper textarea{width:100%;min-height:100px;padding:.75rem;font-size:1rem;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);resize:vertical;border-radius:6px;transition:border-color .2s ease,background .2s ease}.quick-log-input-wrapper textarea:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-card)}.quick-log-input-wrapper textarea::placeholder{color:var(--text-muted)}.quick-log-input-wrapper .error{color:var(--error);font-size:.875rem;font-weight:500}.quick-log-input-wrapper .btn.parse{appearance:none;cursor:pointer;padding:8px 16px;border:1px solid var(--accent);border-radius:6px;font-weight:500;font-size:14px;background:var(--accent);color:#fff;transition:all .2s ease;align-self:flex-start}.quick-log-input-wrapper .btn.parse:hover{background:var(--accent-light);border-color:var(--accent-light)}.quick-log-input-wrapper .btn.parse:focus{outline:none}.quick-log-input-wrapper .btn.parse:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.quick-log-auto-processed{margin-top:1rem}.quick-log-auto-processed .auto-processed-content{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px}.quick-log-auto-processed h3{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.auto-processed-list{display:flex;flex-direction:column;gap:.5rem;padding:0;margin:0;list-style:none}.auto-processed-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;background:#22c55e0d;border-left:3px solid var(--success);border-radius:0 8px 8px 0;transition:background-color .2s ease}.auto-processed-main{display:flex;align-items:center;gap:.75rem;justify-content:space-between}.auto-processed-info{display:flex;align-items:center;gap:.75rem;flex:1}.clickable-exercise{cursor:pointer;color:var(--accent);text-decoration:underline;text-decoration-style:dotted}.clickable-exercise:hover{color:var(--accent-light)}.clickable-item{cursor:pointer;transition:background-color .2s ease}.clickable-item:hover{background-color:#3b82f60d}.toggle-suggestions-btn{appearance:none;cursor:pointer;background:transparent;border:none;color:var(--subtext);padding:.25rem;font-size:.8rem;transition:color .2s ease}.toggle-suggestions-btn:hover{color:var(--accent-primary)}.suggestion-btn.keep-current{border-color:#8b5cf6;color:#8b5cf6}.suggestion-btn.keep-current:hover{background:#8b5cf61a;border-color:#8b5cf6}.auto-processed-item.dictionary-match{background:var(--accent-subtle);border-left-color:var(--accent)}.auto-processed-item.custom-match{background:#22c55e0d;border-left-color:var(--success)}.auto-processed-item.add-custom-match{background:#8b5cf60d;border-left-color:#8b5cf6}.source-badge{font-size:.75rem;padding:.2rem .5rem;background:var(--accent-subtle);color:var(--accent);font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.source-badge.dictionary-badge{background:var(--accent-subtle);color:var(--accent)}.source-badge.custom-badge{background:#22c55e26;color:var(--success)}.source-badge.add-custom-badge{background:#8b5cf626;color:#8b5cf6}.auto-processed-note{display:flex;flex-direction:column;font-size:.85rem;color:var(--text-secondary);margin:.5rem 0 0;font-style:italic;gap:.25rem}.exercise-details{font-size:.875rem;color:var(--subtext);margin-left:auto}.auto-processed-note{display:flex;flex-direction:column;font-size:.8rem;color:var(--subtext);margin:.5rem 0 0;font-style:italic;gap:.25rem}.auto-processed-suggestions{margin-top:.5rem;padding-left:1rem;border-left:2px solid var(--border-color)}.quick-log-suggestions{margin-top:1rem}.quick-log-suggestions .suggestions-content{display:flex;flex-direction:column;gap:1rem}.quick-log-suggestions h3{margin-bottom:.5rem;font-size:1rem;font-weight:600;color:var(--text)}.suggestion-item{display:flex;flex-direction:column;gap:1rem;border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px;padding:1rem}.suggestion-section{display:flex;flex-direction:column;gap:.5rem}.suggestion-section-title{margin:0;font-size:.85rem;font-weight:600;color:var(--subtext);padding:.25rem 0;text-transform:uppercase;letter-spacing:.5px}.suggestion-btn.exact-match{border-color:var(--success);color:var(--success)}.suggestion-btn.exact-match:hover{background:#22c55e1a;border-color:var(--success)}.suggestion-btn.partial-match{border-color:var(--accent);color:var(--accent)}.suggestion-btn.partial-match:hover{background:var(--accent-subtle);border-color:var(--accent)}.suggestion-list{display:flex;flex-direction:column;gap:.5rem;padding:0;margin:0;list-style:none}.suggestion-list-item{width:100%}.suggestion-btn,.btn.small.secondary{appearance:none;cursor:pointer;width:100%;text-align:left;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-weight:500;font-size:13px;background:transparent;color:var(--subtext);transition:all .2s ease}.suggestion-btn:hover,.btn.small.secondary:hover{border-color:var(--accent);color:var(--text)}.goal-card{background:var(--bg-card);border-radius:12px;padding:18px;border:1px solid var(--border-color);transition:all .2s ease;margin-bottom:24px}.goal-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-color:var(--accent-primary)}.goal-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.goal-card-title{display:flex;align-items:center;gap:.5rem}.goal-card-title h3{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.goal-status{font-size:.875rem;font-weight:500}.goal-status.active{color:var(--success)}.goal-status.completed{color:var(--accent-primary)}.goal-status.paused{color:var(--warning)}.goal-progress{margin-bottom:1rem}.progress-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.progress-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.progress-status{font-size:.875rem;font-weight:500}.progress-status.on-track{color:var(--success)}.progress-status.behind{color:var(--warning)}.progress-bar-container{width:100%;background-color:var(--bg-tertiary);border-radius:3px;height:.5rem;margin-bottom:.5rem}.progress-bar{background-color:var(--accent-primary);height:.5rem;border-radius:3px;transition:width .3s}.progress-percentage{font-size:.75rem;color:var(--text-secondary);text-align:center}.goal-details{margin-bottom:1rem}.goal-detail-row{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.5rem}.goal-detail-label{color:var(--text-secondary)}.goal-detail-value{font-weight:500;color:var(--text-primary)}.goal-actions{display:flex;flex-wrap:wrap;gap:.5rem}.goal-btn{padding:.25rem .75rem;font-size:.875rem;border-radius:4px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease;background:transparent;color:var(--text-secondary)}.goal-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.goal-btn.primary:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.goal-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.goal-btn.secondary:hover{border-color:var(--accent-primary);color:var(--text-primary)}.goal-btn.warning{background-color:var(--warning);border-color:var(--warning);color:#fff}.goal-btn.warning:hover{background-color:#d97706;border-color:#d97706}.goal-btn.success{background-color:var(--success);border-color:var(--success);color:#fff}.goal-btn.success:hover{background-color:#047857;border-color:#047857}.goal-btn.danger{background-color:var(--danger);border-color:var(--danger);color:#fff}.goal-btn.danger:hover{background-color:#b91c1c;border-color:#b91c1c}@media (max-width: 768px){.goal-actions{flex-direction:column}.goal-btn{width:100%}}.goal-form-page{max-width:28rem;margin:0 auto;padding:0}.goal-form-header{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:1rem}.goal-form-header h2{font-size:1.25rem;font-weight:700;color:var(--text);margin:0;padding:0}.goal-form-body{padding:0}.goal-form-error{margin-bottom:1rem;padding:.75rem;background-color:#ff00001a;border:1px solid rgba(255,0,0,.2);border-radius:0;color:#f66}.form-group{margin-bottom:.75rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--subtext);margin-bottom:.25rem}.form-input,.form-select{width:100%;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.05);border-radius:0;font-size:.95rem;background-color:var(--muted);color:var(--text);transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ff2d001a}.form-input:disabled,.form-select:disabled{background-color:var(--muted);color:var(--subtext);cursor:not-allowed}.form-btn{flex:1;padding:.5rem .75rem;border-radius:0;border:1px solid rgba(255,255,255,.05);font-weight:500;cursor:pointer;transition:background-color .2s;background:var(--muted);color:var(--text)}.form-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:var(--accent)}.form-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-2),var(--accent))}.form-btn.primary:disabled{background:var(--muted);color:var(--subtext);cursor:not-allowed}.form-btn.secondary{background:var(--muted);color:var(--text);border-color:#ffffff0d}.form-btn.secondary:hover{background:var(--muted)}.exercise-loading{width:100%;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.05);border-radius:0;background-color:var(--muted);color:var(--subtext);font-size:.9rem}.progress-chart{background:var(--bg-card);border-radius:12px;padding:18px;border:1px solid var(--border-color)}.progress-chart h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.progress-circle-container{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.progress-circle{position:relative}.progress-percentage-display{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-percentage-display .percentage{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.progress-percentage-display .label{font-size:.75rem;color:var(--text-secondary)}.progress-stats{display:flex;flex-direction:column;gap:1rem}.progress-stat-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--bg-tertiary);border-radius:6px}.progress-stat-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.progress-stat-value{font-size:.875rem;font-weight:500}.progress-stat-value.on-track{color:var(--success)}.progress-stat-value.behind{color:var(--warning)}.progress-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.progress-card{padding:.75rem;border-radius:6px}.progress-card.current{background-color:#ff6b3526}.progress-card.current .card-label{color:var(--accent-primary)}.progress-card.current .card-value{color:var(--accent-secondary)}.progress-card.target{background-color:#22c55e26}.progress-card.target .card-label,.progress-card.target .card-value{color:var(--success)}.progress-card.time{background-color:#f59e0b26;grid-column:1 / -1}.progress-card.time .card-label,.progress-card.time .card-value{color:var(--warning)}.card-label{font-size:.75rem;font-weight:500;margin-bottom:.25rem}.card-value{font-size:.875rem;font-weight:600}.success-message{padding:.75rem;background-color:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:6px;display:flex;align-items:center;gap:.5rem}.success-message .message{font-size:.875rem;font-weight:500;color:var(--success)}.progress-breakdown{margin-top:1rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.progress-breakdown h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;text-align:center}.breakdown-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.breakdown-card{padding:1rem;background-color:var(--bg-card);border-radius:6px;border:1px solid var(--border-color);text-align:center;transition:transform .2s ease,box-shadow .2s ease}.breakdown-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.breakdown-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.breakdown-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.breakdown-weight{font-size:.75rem;color:var(--text-secondary);background-color:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;display:inline-block}.goal-type-indicator{text-align:center;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500}.goal-type.weight-only{background-color:#ff6b3526;color:var(--accent-primary);border:1px solid rgba(255,107,53,.3)}.goal-type.rep-only{background-color:#22c55e26;color:var(--success);border:1px solid rgba(34,197,94,.3)}.goal-type.combined{background-color:#f59e0b26;color:var(--warning);border:1px solid rgba(245,158,11,.3)}.grace-period-notice{padding:.75rem;background-color:#ff6b351a;border:1px solid rgba(255,107,53,.2);border-radius:6px;text-align:center}.grace-period-notice span{font-size:.875rem;color:var(--accent-primary);font-weight:500}@media (max-width: 768px){.progress-cards,.breakdown-cards{grid-template-columns:1fr}}.goal-detail-page{max-width:64rem;margin:0 auto;padding:0}.goal-detail-header{padding:.5rem 0;border-bottom:1px solid var(--bg-hover, #e5e7eb);margin-bottom:1rem}.goal-detail-title{font-size:1.5rem;font-weight:700;color:var(--text);margin:0;padding:0}.goal-detail-meta{display:flex;align-items:center;gap:.75rem}.goal-status-badge{padding:.25rem .75rem;border-radius:0;font-size:.875rem;font-weight:500}.goal-status-badge.active{background-color:#0596691a;color:var(--accent-green, #059669)}.goal-status-badge.completed{background-color:#2563eb1a;color:var(--accent-blue, #2563eb)}.goal-status-badge.paused{background-color:#d977061a;color:var(--accent-yellow, #d97706)}.goal-detail-date{font-size:.875rem;color:var(--subtext)}.goal-detail-close{background:none;border:none;font-size:1.5rem;color:var(--subtext);cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.goal-detail-close:hover{color:var(--text)}.goal-detail-error{margin-bottom:1rem;padding:.75rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:0;color:#dc2626}.goal-detail-grid{display:grid;grid-template-columns:1fr;gap:1rem;padding:0}.goal-detail-section{background:var(--bg-panel, white);border-radius:0;padding:.75rem;border:1px solid var(--bg-hover, #e5e7eb)}.goal-detail-section h3{font-size:1.125rem;font-weight:600;color:var(--text);margin-bottom:.75rem}.goal-detail-list{display:flex;flex-direction:column;gap:.5rem}.goal-detail-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--bg-hover, #f3f4f6)}.goal-detail-item:last-child{border-bottom:none}.goal-detail-label{font-size:.875rem;color:var(--subtext)}.goal-detail-value{font-size:.875rem;font-weight:500;color:var(--text)}.goal-detail-actions{display:flex;flex-direction:column;gap:.5rem}.goal-detail-action-btn{width:100%;padding:.5rem .75rem;border-radius:0;border:1px solid var(--muted);font-weight:500;cursor:pointer;transition:background-color .2s;background:var(--bg-dark);color:var(--text)}.goal-detail-action-btn.primary{background-color:var(--accent-blue, #2563eb);color:#fff;border-color:var(--accent-blue, #2563eb)}.goal-detail-action-btn.primary:hover{background-color:var(--accent-blue-hover, #1d4ed8)}.goal-detail-action-btn.warning{background-color:var(--accent-yellow, #d97706);color:#fff;border-color:var(--accent-yellow, #d97706)}.goal-detail-action-btn.warning:hover{background-color:#b45309}.goal-detail-action-btn.success{background-color:var(--accent-green, #059669);color:#fff;border-color:var(--accent-green, #059669)}.goal-detail-action-btn.success:hover{background-color:#047857}.progress-chart-loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.progress-chart-loading .skeleton-title{height:1rem;background-color:var(--bg-hover, #e5e7eb);border-radius:0;width:33%}.progress-chart-loading .skeleton-circle{width:8rem;height:8rem;background-color:var(--bg-hover, #e5e7eb);border-radius:0}.progress-chart-loading .skeleton-item{height:.75rem;background-color:var(--bg-hover, #e5e7eb);border-radius:0;width:100%}.progress-chart-loading .skeleton-item.short{width:75%}.progress-chart-empty{text-align:center;color:var(--text-muted, #6b7280)}.progress-chart-empty h4{font-weight:500;margin-bottom:.5rem;color:var(--text)}.progress-chart-empty p{font-size:.875rem}@media (min-width: 1024px){.goal-detail-grid{grid-template-columns:1fr 1fr}}.goals-page{max-width:1200px;margin:0 auto;padding:1rem}.goals-header{margin-bottom:1rem}.goals-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.5px}.goals-header p{color:var(--text-secondary)}.goals-error{margin-bottom:1.5rem;padding:1rem;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--danger)}.goals-actions{margin-bottom:1rem}.add-goal-btn{background:var(--accent-primary);color:#fff;padding:.75rem 1.5rem;border-radius:6px;border:none;font-weight:500;cursor:pointer;transition:all .2s ease}.add-goal-btn:hover{background:var(--accent-secondary)}.goals-section{margin-bottom:1.5rem}.goals-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.loading-skeleton{display:flex;flex-direction:column;gap:1rem}.skeleton-header{height:2rem;background-color:var(--bg-tertiary);border-radius:6px;width:25%}.skeleton-subheader{height:1rem;background-color:var(--bg-tertiary);border-radius:6px;width:50%}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.skeleton-card{height:16rem;background-color:var(--bg-tertiary);border-radius:12px}.empty-state{text-align:center;padding:2rem 1rem}.empty-state .icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.empty-state p{color:var(--text-secondary);margin-bottom:1.5rem}@media (max-width: 768px){.goals-page{padding:.5rem}.goals-grid,.skeleton-grid{grid-template-columns:1fr}}.custom-exercise-manager{background:var(--card);border:1px solid var(--border-color);border-radius:12px;padding:18px;max-width:960px;margin:0 auto}.exercise-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.exercise-manager-header h2{margin:0;color:var(--text);font-size:1.5rem;font-weight:600}.close-btn{appearance:none;cursor:pointer;background:transparent;border:1px solid var(--border-color);font-size:1.5rem;color:var(--subtext);padding:.25rem .5rem;border-radius:6px;transition:all .2s ease}.close-btn:hover{border-color:var(--accent);color:var(--accent)}.close-btn:focus{outline:none}.close-btn:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.loading{text-align:center;padding:2.5rem;color:var(--subtext);font-size:1rem}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--error);padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.create-exercise-section{margin-bottom:2rem}.create-exercise-section h3{margin:0 0 1rem;color:var(--text);font-size:1.125rem;font-weight:500}.create-exercise-form{display:flex;gap:.75rem;align-items:center}.exercise-input{flex:1;padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-tertiary);color:var(--text);transition:border-color .2s ease}.exercise-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff6b352e}.create-btn{appearance:none;cursor:pointer;padding:.625rem 1rem;border:1px solid var(--accent);border-radius:6px;font-size:.875rem;font-weight:500;background:var(--accent);color:#fff;transition:all .2s ease}.create-btn:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent-light)}.create-btn:disabled{background:var(--muted);border-color:var(--border-color);color:var(--subtext);cursor:not-allowed}.create-btn:focus{outline:none}.create-btn:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.exercises-section{margin-bottom:2rem}.exercises-section:last-child{margin-bottom:0}.exercises-section h3{margin:0 0 1rem;color:var(--text);font-size:1.125rem;font-weight:500}.no-exercises{color:var(--subtext);font-style:italic;text-align:center;padding:1.25rem;background:var(--bg-tertiary);border-radius:6px;border:1px dashed var(--border-color)}.exercise-list{display:flex;flex-direction:column;gap:.5rem}.exercise-item{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.exercise-item.readonly{background:var(--bg-tertiary);border-color:var(--border-color)}.exercise-display{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem}.exercise-name{font-weight:500;color:var(--text)}.exercise-category{background:var(--bg-tertiary);color:var(--subtext);padding:.125rem .5rem;border-radius:4px;font-size:.75rem;margin-left:.5rem}.exercise-actions{display:flex;gap:.5rem}.btn.edit-btn,.btn.delete-btn{appearance:none;cursor:pointer;padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--subtext);transition:all .2s ease}.btn.edit-btn{border-color:var(--accent);color:var(--accent)}.btn.edit-btn:hover{background:var(--accent-subtle);border-color:var(--accent)}.btn.delete-btn{border-color:var(--error);color:var(--error)}.btn.delete-btn:hover{background:#ef44441a;border-color:var(--error)}.btn.edit-btn:focus,.btn.delete-btn:focus{outline:none}.btn.edit-btn:focus-visible,.btn.delete-btn:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.exercise-edit{display:flex;align-items:center;padding:.75rem 1rem;gap:.75rem}.exercise-edit .exercise-input{flex:1}.edit-actions{display:flex;gap:.5rem}.btn.save-btn,.btn.cancel-btn{appearance:none;cursor:pointer;padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--subtext);transition:all .2s ease}.btn.save-btn{border-color:var(--success);color:var(--success)}.btn.save-btn:hover{background:#22c55e1a;border-color:var(--success)}.btn.cancel-btn:hover{border-color:var(--accent);color:var(--accent)}.btn.save-btn:focus-visible,.btn.cancel-btn:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}@media (max-width: 640px){.custom-exercise-manager{margin:1rem;padding:1rem}.create-exercise-form{flex-direction:column;align-items:stretch}.exercise-display{flex-direction:column;align-items:flex-start;gap:.5rem}.exercise-actions{align-self:flex-end}.exercise-edit{flex-direction:column;align-items:stretch;gap:.5rem}.edit-actions{justify-content:flex-end}}.exercise-analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.exercise-analytics-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.exercise-analytics-period-selector{display:flex;gap:.5rem}.exercise-analytics-period-btn{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.exercise-analytics-period-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.exercise-analytics-period-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.exercise-analytics-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.exercise-analytics-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem;text-align:center;position:relative}.exercise-analytics-card-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;display:inline-flex;align-items:center;gap:.375rem}.exercise-analytics-info-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-muted);font-size:10px;font-weight:600;cursor:help;position:relative}.exercise-analytics-info-icon:hover .exercise-analytics-tooltip{visibility:visible;opacity:1;transform:translate(-50%) translateY(0)}.exercise-analytics-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(4px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;z-index:10;transition:all .2s ease;box-shadow:0 4px 12px #0003}.exercise-analytics-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--bg-card)}.exercise-analytics-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.exercise-analytics-card-value.positive{color:var(--success)}.exercise-analytics-card-value.negative{color:var(--danger)}.exercise-analytics-card-value.neutral{color:var(--text-primary)}.exercise-analytics-chart-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.exercise-analytics-chart-btn{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.exercise-analytics-chart-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.exercise-analytics-chart-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.exercise-analytics-chart{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem;height:300px}@media (max-width: 768px){.exercise-analytics-summary{grid-template-columns:1fr}.exercise-analytics-header{flex-direction:column;align-items:flex-start;gap:1rem}}.exercises-page{max-width:1480px;margin:0 auto;padding:0 32px 48px;color:var(--text)}.exercises-header{text-align:center;margin-bottom:2rem}.exercises-header h1{font-size:1.5rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.exercises-header p{font-size:14px;color:var(--subtext);margin:0}.exercises-actions{display:flex;justify-content:center;margin-bottom:2rem}.btn.manage-custom-exercises-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:.75rem 1.5rem;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn.manage-custom-exercises-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.exercises-content{text-align:center;padding:3rem 1rem;background-color:var(--card);border-radius:var(--radius);border:1px solid var(--border-color)}.exercises-content p{font-size:14px;color:var(--subtext);margin:0}.exercise-progress-section{margin-top:2rem}.exercise-controls{display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem;background-color:var(--card);border-radius:var(--radius);border:1px solid var(--border-color);align-items:flex-end}.exercise-selector,.period-selector{flex:1;min-width:200px}.exercise-selector label,.period-selector label{display:block;font-weight:500;color:var(--subtext);margin-bottom:.5rem;font-size:13px}.exercise-dropdown,.period-dropdown{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text);font-size:14px}.exercise-dropdown:focus,.period-dropdown:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.loading-message,.no-data-message,.welcome-message{text-align:center;padding:2rem;background-color:var(--card);border-radius:var(--radius);border:1px solid var(--border-color)}.loading-message{color:var(--subtext);font-style:italic}.no-data-message{color:var(--subtext)}.no-data-message p{margin-bottom:1rem}.no-data-message p:last-child{margin-bottom:0}.welcome-message h3{color:var(--text);margin-bottom:1rem}.welcome-message p{color:var(--subtext);margin-bottom:1rem}.welcome-message p:last-child{margin-bottom:0}.welcome-message ul{text-align:left;color:var(--subtext);max-width:400px;margin:1rem auto 0}.welcome-message li{margin-bottom:.5rem}.progress-charts{margin-top:2rem}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}@media (max-width: 768px){.exercises-page{padding:1rem}.exercises-header h1{font-size:1.5rem}.exercises-actions{flex-direction:column;align-items:center;gap:1rem}.manage-custom-exercises-btn{width:100%;max-width:300px}.exercise-controls{flex-direction:column;gap:1rem;align-items:stretch}.exercise-selector,.period-selector{min-width:auto}.charts-grid{grid-template-columns:1fr}}.group-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:18px;margin-bottom:24px;transition:all .2s ease}.group-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-color:var(--accent-primary)}.group-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.group-card-title{display:flex;align-items:center;gap:.5rem}.group-card-title h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.group-description{margin-bottom:1rem}.group-description p{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.group-details{margin-bottom:1rem}.group-detail-row{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.5rem}.group-detail-label{color:var(--text-secondary)}.group-detail-value{font-weight:500;color:var(--text-primary)}.group-actions{display:flex;flex-wrap:wrap;gap:.5rem}.group-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.6rem;font-size:1rem;cursor:pointer;transition:all .2s ease;border-radius:6px}.group-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}@media (max-width: 768px){.group-actions{flex-direction:column}.group-btn{width:100%}}.group-form-page{max-width:28rem;margin:0 auto;padding:0}.group-form-header{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:1rem}.group-form-header h2{font-size:1.25rem;font-weight:700;color:var(--text);margin:0;padding:0}.group-form-body{padding:0}.group-form-error{margin-bottom:1rem;padding:.75rem;background-color:#ff00001a;border:1px solid rgba(255,0,0,.2);border-radius:0;color:#f66}.field{margin-bottom:.75rem}.field-label{display:block;font-size:.875rem;font-weight:500;color:var(--subtext);margin-bottom:.25rem}.input,.textarea,.select{width:100%;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.05);font-size:.95rem;background-color:var(--muted);color:var(--text);transition:border-color .2s,box-shadow .2s;font-family:inherit;border-radius:0}.textarea{resize:vertical;min-height:100px}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff2d0040}.input:disabled,.textarea:disabled,.select:disabled{background-color:var(--muted);color:var(--subtext);cursor:not-allowed}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;gap:.5rem;margin-top:.75rem}.form-btn{flex:1;background:transparent;border:1px solid rgba(255,255,255,.05);color:var(--text);padding:.6rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.form-btn:hover{background:var(--muted)}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.member-sessions-view{display:flex;flex-direction:column;gap:.5rem}.member-sessions-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.member-sessions-header .back-btn{padding:.4rem .6rem;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.8rem;border-radius:4px}.member-sessions-header .back-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.member-sessions-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.member-sessions-error{margin-bottom:1rem;padding:.5rem;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger);border-radius:6px}.member-sessions-loading,.member-sessions-empty{text-align:center;padding:1rem 0;color:var(--text-secondary)}.member-sessions-empty p{font-size:1rem;margin:0}.member-sessions-list{display:flex;flex-direction:column;gap:.75rem}.session-card{background:var(--bg-card);padding:1rem;border:1px solid var(--border-color);border-radius:12px}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.session-header h3{font-size:1.1rem;font-weight:600;margin:0;color:var(--text-primary)}.session-date{font-size:.8rem;color:var(--text-secondary);background-color:var(--bg-tertiary);padding:.2rem .4rem;border-radius:4px}.session-notes{margin-top:.25rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.member-sessions-view .exercises-list{display:flex;flex-direction:column}.member-sessions-view .exercise-card{background:var(--bg-card);color:var(--text-primary);padding:0rem;display:flex;flex-direction:column;gap:.5rem;transition:background .2s ease}.member-sessions-view .exercise-header{border-bottom:1px solid var(--border-color);padding-bottom:.25rem;margin-bottom:.25rem;padding-left:.5rem}.exercise-title-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem}.exercise-title{margin:0;padding:0;font-weight:600;font-size:1rem;color:var(--text-primary)}.exercise-variation{color:var(--text-secondary);font-weight:400}.set-summary{font-size:.8rem;color:var(--text-secondary);font-weight:500}.exercise-type{display:inline-block;margin:0;font-size:.8rem;font-weight:500;color:var(--text-secondary)}.exercise-notes{color:var(--text-secondary);font-size:.85rem;margin-top:.25rem;margin-left:.5rem}.member-sessions-view .sets{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13px}.member-sessions-view .sets th,.member-sessions-view .sets td{padding:6px 8px;text-align:left;border-bottom:1px dashed var(--border-color)}.member-sessions-view .sets th{color:var(--text-secondary);text-transform:uppercase;font-size:12px;letter-spacing:.05em}.member-sessions-view .sets .weight{font-weight:700;color:var(--accent-primary)}.member-sessions-view .sets .reps,.member-sessions-view .sets .duration{font-weight:700;color:var(--accent-secondary)}.member-sessions-view .sets .notes-container{position:relative}.member-sessions-view .sets .notes-text{color:var(--text-secondary);font-style:italic;display:block;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-sessions-view .sets tbody tr{background:#ff6b3512;border-radius:6px}@media (max-width: 768px){.member-sessions-view{padding:0 .5rem}.member-sessions-header{flex-wrap:wrap;gap:.5rem}.session-header{flex-direction:column;align-items:flex-start;gap:.25rem}.member-sessions-view .exercise-header,.member-sessions-view .exercise-notes{margin-left:0;padding-left:0}.member-sessions-view .sets{font-size:14px;border-collapse:separate;border-spacing:0}.member-sessions-view .sets thead{display:none}.member-sessions-view .sets tbody tr{display:flex;flex-direction:column;gap:6px;padding:8px;margin-bottom:8px;background:#ff6b3512;border-radius:6px;border:1px solid var(--border-color)}.member-sessions-view .sets td{display:flex;justify-content:space-between;align-items:center;padding:0;border-bottom:none;width:100%}.member-sessions-view .sets td:first-child:before{content:"Set";font-weight:700;color:var(--text-secondary);margin-right:12px}.member-sessions-view .sets td.weight:before{content:"Weight";font-weight:700;color:var(--text-secondary);margin-right:12px}.member-sessions-view .sets td.reps:before{content:"Reps";font-weight:700;color:var(--text-secondary);margin-right:12px}.member-sessions-view .sets td.duration:before{content:"Duration";font-weight:700;color:var(--text-secondary);margin-right:12px}.member-sessions-view .sets td.notes:before{content:"Notes";font-weight:700;color:var(--text-secondary);margin-right:12px}.member-sessions-view .sets .notes-text{max-width:150px}}.invite-form{padding:18px;border:1px solid rgba(255,255,255,.05);border-radius:0;background:var(--card);margin:1rem 0}.invite-form h4{margin:0 0 1rem;color:var(--text)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--subtext)}.form-group input{width:100%;padding:.5rem;border:1px solid rgba(255,255,255,.05);border-radius:0;font-size:1rem;background:var(--muted);color:var(--text)}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff2d0040}.form-group input:disabled{background-color:var(--muted);opacity:.6}.error-message{color:#f66;font-size:.9rem;margin-bottom:1rem;padding:.5rem;background-color:#ff00001a;border:1px solid rgba(255,0,0,.2);border-radius:0}.form-actions{display:flex;gap:.5rem}.submit-btn,.cancel-btn{padding:.5rem 1rem;border:none;border-radius:0;cursor:pointer;font-size:.9rem;transition:background-color .2s}.submit-btn{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-2),var(--accent))}.cancel-btn{background:var(--muted);color:var(--text);border:1px solid rgba(255,255,255,.05)}.cancel-btn:hover:not(:disabled){background:var(--muted)}.submit-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.form-actions{flex-direction:column}.submit-btn,.cancel-btn{width:100%}}.group-detail{max-width:48rem;margin:0 auto;padding:0}.group-detail-loading,.group-detail-error{text-align:center;padding:2rem;font-size:1rem}.group-detail-error{color:red;background-color:#ff00001a;border:1px solid #FF0000}.group-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.back-btn,.add-member-btn,.invite-member-btn,.add-btn,.cancel-btn,.view-sessions-btn,.remove-btn{background:var(--muted);border:none;color:var(--text);padding:8px 12px;border-radius:0;font-size:1rem;font-weight:700;cursor:pointer}.back-btn:hover,.add-member-btn:hover,.invite-member-btn:hover,.add-btn:hover,.cancel-btn:hover,.view-sessions-btn:hover,.remove-btn:hover{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.remove-btn{padding:.25rem .5rem;font-size:.75rem}.group-info{background:var(--card);border:1px solid rgba(255,255,255,.05);padding:1.25rem 1rem;margin-bottom:1.5rem}.group-info h2{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 .5rem}.group-description{color:var(--subtext);margin:.5rem 0 1rem;line-height:1.5}.group-meta{display:flex;gap:1rem;font-size:.875rem;color:var(--subtext)}.members-section{background:var(--card);border:1px solid rgba(255,255,255,.05);padding:1.25rem 1rem}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.members-header h3{font-size:1.125rem;font-weight:600;color:var(--text);margin:0}.member-actions-buttons{display:flex;gap:.5rem}.add-member-form{display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem;background-color:var(--muted);border:1px solid var(--muted)}.input,.select{padding:.5rem .75rem;border:1px solid var(--muted);background-color:var(--bg-dark);color:var(--text);font-size:.875rem}.input{flex:1}.select{min-width:100px}.select.small{padding:.25rem .5rem;font-size:.75rem}.members-list{display:flex;flex-direction:column;gap:.75rem}.member-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--muted);background-color:var(--muted)}.member-info{display:flex;flex-direction:column;gap:.25rem}.member-name{font-weight:500;color:var(--text)}.member-email{font-size:.875rem;color:var(--subtext)}.member-joined{font-size:.75rem;color:var(--subtext)}.member-actions{display:flex;align-items:center;gap:.5rem}.member-role{padding:.25rem .5rem;font-size:.75rem;font-weight:500;text-transform:uppercase}.member-role.admin{background-color:#f59e0b1a;color:#92400e;border:1px solid rgba(245,158,11,.2)}.member-role.member{background-color:#3b82f61a;color:#1e40af;border:1px solid rgba(59,130,246,.2)}@media (max-width: 768px){.group-detail-header{flex-direction:column;gap:.5rem;align-items:stretch}.group-meta{flex-direction:column;gap:.25rem}.members-header{flex-direction:column;gap:.5rem;align-items:stretch}.member-actions-buttons,.add-member-form{flex-direction:column}.member-item{flex-direction:column;align-items:stretch;gap:.75rem}.member-actions{justify-content:space-between}}.groups-list{max-width:64rem;margin:0;padding:0}.groups-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.groups-list-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.create-group-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 12px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.create-group-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.create-group-btn.empty-state{padding:.75rem 1.5rem;font-size:1rem;margin-top:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.create-group-btn.empty-state:hover{border-color:var(--accent-primary);color:var(--text-primary)}.groups-list-error{margin-bottom:1rem;padding:.75rem;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--danger);border-radius:6px}.groups-list-loading{text-align:center;padding:2rem;font-size:1rem;color:var(--text-secondary)}.groups-list-empty{text-align:center;padding:3rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.groups-list-empty h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.groups-list-empty p{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media (max-width: 768px){.groups-list-header{flex-direction:column;gap:1rem;align-items:stretch}.groups-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.groups-list-empty{padding:2rem .5rem}}.groups-page{min-height:100vh;background-color:var(--bg-primary)}.groups-container{padding:2rem 1rem;max-width:none}@media (max-width: 768px){.groups-container{padding:1rem .5rem}}.invite-list{margin:1rem 0}.invite-list h3{margin-bottom:1rem;color:#333}.invite-list-loading,.invite-list-error,.invite-list-empty{padding:1rem;text-align:center;color:#666}.invite-list-error{color:#dc3545}.invite-list-items{display:flex;flex-direction:column;gap:.75rem}.invite-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #ddd;border-radius:0;background-color:#f8f9fa}.invite-info h4{margin:0 0 .5rem;color:#333}.invite-info p{margin:.25rem 0;color:#666;font-size:.9rem}.invite-date{font-style:italic}.invite-actions{display:flex;gap:.5rem}.accept-btn,.decline-btn{padding:.5rem 1rem;border:none;border-radius:0;cursor:pointer;font-size:.9rem;transition:background-color .2s}.accept-btn{background-color:#28a745;color:#fff}.accept-btn:hover:not(:disabled){background-color:#218838}.decline-btn{background-color:#dc3545;color:#fff}.decline-btn:hover:not(:disabled){background-color:#c82333}.accept-btn:disabled,.decline-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.invite-item{flex-direction:column;align-items:stretch;gap:1rem}.invite-actions{justify-content:center}}.user-invites-page{max-width:800px;margin:0 auto;padding:2rem 1rem}.user-invites-header{text-align:center;margin-bottom:2rem}.user-invites-header h1{font-size:2rem;font-weight:600;color:var(--text);margin:0 0 .5rem}.user-invites-header p{color:var(--subtext);font-size:1.1rem;margin:0}@media (max-width: 768px){.user-invites-page{padding:1rem .5rem}.user-invites-header h1{font-size:1.5rem}.user-invites-header p{font-size:1rem}}.calendar-view{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.calendar-header h2{font-size:1.5rem;font-weight:600;margin:0;color:var(--text-primary)}.nav-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-size:1.5rem;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:6px}.nav-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.calendar-stats{display:flex;justify-content:space-around;padding:1rem 2rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.calendar-stats .stat{text-align:center}.calendar-stats .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.calendar-stats .stat-label{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.calendar-grid{padding:1rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-bottom:none;border-radius:6px 6px 0 0}.weekday{background:var(--bg-tertiary);padding:.75rem;text-align:center;font-weight:600;color:var(--text-secondary);font-size:.875rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px}.calendar-day{background:var(--bg-card);min-height:80px;padding:.5rem;cursor:pointer;transition:all .2s;position:relative;display:flex;flex-direction:column}.calendar-day:hover{background:var(--bg-tertiary)}.calendar-day.other-month{background:var(--bg-tertiary);color:var(--text-secondary)}.calendar-day.today{background:var(--bg-tertiary);border:2px solid var(--accent-primary)}.calendar-day.has-workout-current-month{background:#22c55e26;border:1px solid var(--success)}.calendar-day.has-workout-other-month{background:#22c55e1a}.day-number{font-weight:600;font-size:.875rem;margin-bottom:.25rem;color:var(--text-primary)}.workout-summary-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.workout-summary-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.workout-summary-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.workout-summary-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.close-btn{background:none;border:1px solid var(--border-color);font-size:1.5rem;cursor:pointer;color:var(--text-secondary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:4px}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.workout-summary-date{padding:1rem 1.5rem;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.workout-summary-stats{display:flex;justify-content:space-around;padding:1.5rem;border-bottom:1px solid var(--border-color)}.workout-summary-stats .stat{text-align:center}.workout-summary-stats .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.workout-summary-stats .stat-label{font-size:.875rem;color:var(--text-secondary)}.workout-summary-sessions{padding:1.5rem}.session-summary{margin-bottom:1.5rem}.session-summary:last-child{margin-bottom:0}.session-header h4{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.session-notes{margin:0 0 1rem;color:var(--text-secondary);font-style:italic}.exercise-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.exercise-item:last-child{border-bottom:none}.exercise-name{font-weight:500;color:var(--text-primary)}.exercise-sets{font-size:.875rem;color:var(--text-secondary)}@media (max-width: 768px){.calendar-page,.calendar-header{padding:1rem}.calendar-header h2{font-size:1.25rem}.calendar-stats{padding:.75rem 1rem}.calendar-stats .stat-value{font-size:1.25rem}.calendar-day{min-height:60px;padding:.25rem}.day-number{font-size:.75rem}.workout-summary-modal{margin:1rem;max-height:90vh}}@media (max-width: 480px){.calendar-stats{flex-direction:column;gap:.75rem}.calendar-stats .stat{display:flex;justify-content:space-between;align-items:center}.calendar-stats .stat-value{font-size:1.125rem}.calendar-day{min-height:50px}.weekday{padding:.5rem .25rem;font-size:.75rem}}.calendar-page{padding:2rem;max-width:960px;margin:0 auto}.calendar-page-header{text-align:center;margin-bottom:2rem}.calendar-page-header h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.5px}.calendar-page-header p{font-size:1.1rem;color:var(--text-secondary)}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--accent-primary);animation:spin 1s linear infinite;margin-bottom:1rem;border-radius:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-error{background:var(--bg-card);border:1px solid var(--danger);color:var(--danger);padding:1rem;margin-bottom:1rem;text-align:center;border-radius:6px}:root{--bg: #0d0d0d;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--card: #1e1e1e;--muted: #2a2a2a;--border-color: #2a2a2a;--border-light: #1a1a1a;--accent: #ff6b35;--accent-light: #ff8c5a;--accent-dark: #cc5529;--accent-subtle: rgba(255, 107, 53, .1);--text: #f0f0f0;--subtext: #888;--text-muted: #555;--success: #22c55e;--error: #ef4444;--warning: #f59e0b;--info: #3b82f6;--radius: 12px;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", monospace;--ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--glass: rgba(30, 30, 30, .8);--bg-dark: var(--bg);--bg-panel: var(--card);--bg-hover: var(--muted);--text-light: var(--text);--text-muted: var(--subtext);--border-dark: var(--border-color);--border-light: var(--border-light);--accent-blue: var(--accent);--accent-green: var(--success);--accent-red: var(--error);--accent-purple: #8b5cf6;--accent-orange: var(--accent);--accent-teal: var(--success);--accent-cyan: var(--accent);--accent-primary: var(--accent);--accent-secondary: var(--accent-light);--accent-tertiary: var(--accent-dark);--bg-card: var(--card);--text-primary: var(--text);--text-secondary: var(--subtext)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ui);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}.btn,a.btn,button.btn,input[type=button].btn,input[type=submit].btn{appearance:none;cursor:pointer;padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;font-weight:500;font-size:14px;background:transparent;color:var(--subtext);transition:all .2s ease}.btn:hover{border-color:var(--accent);color:var(--text)}.btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.btn.small{padding:6px 10px;font-size:13px}a.btn:link,a.btn:visited{text-decoration:none}.btn:focus{outline:none}.btn:focus-visible{outline:3px solid rgba(255,107,53,.18);outline-offset:2px}.btn[disabled],.btn.disabled{opacity:.55;cursor:not-allowed;transform:none}.weight{font-weight:700;color:var(--accent)}.reps{font-weight:700;color:var(--accent-light)}.rest{color:var(--subtext);font-size:12px}.heavy{background:var(--accent-subtle);border-radius:var(--radius)}body{background:var(--bg);color:var(--text);margin:0}.navbar{background:var(--card);padding:20px;color:var(--text);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10;margin-bottom:24px}.navbar-container{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;width:100%;position:relative}.navbar-logo{font-size:24px;font-weight:700;letter-spacing:-.5px;color:var(--text);display:flex;align-items:center;gap:12px}.logo-badge{width:40px;height:40px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#fff}.logo-text span{color:var(--accent)}.navbar-links{display:flex;gap:8px;align-items:center;transition:all .3s ease}.navbar-links a{font-weight:500;font-size:14px;color:var(--subtext);transition:all .2s ease;text-decoration:none;padding:10px 20px;border:1px solid var(--border-color);border-radius:6px}.navbar-links a:hover{border-color:var(--accent);color:var(--text)}.navbar-links a.active{background:var(--accent);border-color:var(--accent);color:#fff}.user-name{font-size:14px;color:var(--subtext)}.main-content{max-width:1400px;margin:0 auto;padding:24px}@media (min-width: 768px){.main-content{padding:24px}}.menu-toggle{display:none;background:none;border:none;color:var(--text);font-size:1.6rem;cursor:pointer}@media (max-width: 600px){.menu-toggle{display:block}.navbar-container{flex-direction:column;align-items:stretch}.navbar-links{display:flex;flex-direction:column;background:var(--card);border-top:1px solid var(--border-color);padding:0;gap:0;max-height:0;overflow:hidden;opacity:0;transition:all .25s ease-in-out;width:100%}.navbar-links.open{max-height:400px;opacity:1;padding:.5rem 0rem;margin-top:.5rem}.navbar-links a,.navbar-links button,.navbar-links div{width:100%;text-align:left;padding:.5rem 0;font-size:14px}.navbar-logo{display:flex;align-items:center;justify-content:space-between;width:100%}.user-name{margin-top:.5rem}}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text)}.auth-required-container{display:flex;justify-content:center;align-items:center;min-height:400px;padding:2rem}.auth-required-content{background:var(--card);border:1px solid var(--border-color);border-radius:var(--radius);padding:2rem;text-align:center;max-width:400px;width:100%}.auth-required-content h2{font-size:1.5rem;margin-bottom:1rem;color:var(--text)}.auth-required-content p{color:var(--subtext);margin-bottom:1.5rem}.logout{background:var(--muted);border:none;color:var(--text);padding:8px 12px;border-radius:0;font-weight:700;cursor:pointer;transition:.2s}.logout:hover{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.not-found{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.not-found-content{text-align:center;max-width:500px;width:100%}.not-found-title{font-size:6rem;font-weight:700;color:var(--accent);margin:0;line-height:1}.not-found-subtitle{font-size:2rem;font-weight:600;color:var(--text);margin:1rem 0}.not-found-description{font-size:1.1rem;color:var(--subtext);margin:1.5rem 0;line-height:1.5}.not-found-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.not-found-link{display:inline-block;padding:.75rem 1.5rem;border-radius:0;text-decoration:none;font-weight:500;transition:all .2s ease;border:2px solid transparent}.not-found-link.primary{background:var(--accent);color:#fff}.not-found-link.primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.not-found-link.secondary{background:transparent;color:var(--text);border-color:#ffffff0d}.not-found-link.secondary:hover{background:var(--muted);transform:translateY(-1px)}@media (max-width: 640px){.not-found-title{font-size:4rem}.not-found-subtitle{font-size:1.5rem}.not-found-actions{flex-direction:column;align-items:center}.not-found-link{width:200px}}
