:root{--cf-orange: #f6821f;--cf-orange-hover: #e57714;--cf-orange-soft: rgba(246, 130, 31, .08);--bg: #f6f7f8;--surface: #ffffff;--border: #e3e5e8;--border-strong: #c9ced5;--text: #1d1f25;--text-muted: #5b6470;--text-faint: #8993a4;--shadow: 0 1px 2px rgba(16, 24, 40, .05);--shadow-menu: 0 6px 20px rgba(16, 24, 40, .12);--radius: 6px;--radius-lg: 10px;--radius-pill: 9999px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-brand{display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.95rem;color:var(--text)}.topbar-brand .brand-mark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--cf-orange);border-radius:var(--radius);color:#fff;font-weight:700;font-size:.85rem}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.6rem;height:38px;padding:.25rem .5rem .25rem .35rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-pill);color:var(--text);font-size:.85rem;font-weight:500;width:auto;max-width:none}.user-menu-trigger:hover{background:var(--cf-orange-soft);transform:none;box-shadow:none}.user-menu-trigger.is-open{background:var(--cf-orange-soft);border-color:var(--border)}.user-menu-trigger .trigger-name{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-pill);overflow:hidden;flex-shrink:0;background:var(--cf-orange-soft);color:var(--cf-orange);font-weight:600;font-size:.78rem}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-lg{width:40px;height:40px;font-size:.95rem}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);overflow:hidden;z-index:30}.dropdown-header{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.dropdown-header .avatar{width:40px;height:40px;font-size:.95rem}.dropdown-header .header-text{min-width:0}.dropdown-header .header-name{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-header .header-email{color:var(--text-muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-meta{padding:.65rem 1rem;display:flex;flex-direction:column;gap:.3rem;border-bottom:1px solid var(--border)}.dropdown-meta .meta-row{display:flex;justify-content:space-between;font-size:.78rem}.dropdown-meta .meta-label{color:var(--text-faint)}.dropdown-meta .meta-value{color:var(--text-muted);text-transform:capitalize}.dropdown-action{display:flex;align-items:center;gap:.5rem;width:100%;padding:.7rem 1rem;background:transparent;border:none;border-radius:0;color:var(--text);font-size:.85rem;font-weight:500;text-align:left;cursor:pointer}.dropdown-action:hover{background:var(--bg);transform:none;box-shadow:none}.dropdown-action.danger{color:#d12b2b}.dropdown-action.danger:hover{background:#d12b2b0f}#app{min-height:100vh}#app-content{max-width:920px;margin:0 auto;padding:2.5rem 1.5rem}.page-title{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.page-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:1.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.75rem;margin-bottom:1.25rem}.card h2{font-size:1.05rem;font-weight:600;margin-bottom:.35rem}.card .card-muted{color:var(--text-muted);font-size:.88rem;margin-bottom:1.25rem}.center-card{text-align:center}.center-card .illustration{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1.1rem;background:var(--cf-orange-soft);color:var(--cf-orange);border-radius:var(--radius-lg);font-size:1.6rem;font-weight:700}.stack{display:flex;flex-direction:column;gap:.85rem;align-items:center}button{height:40px;padding:0 1rem;border-radius:var(--radius);font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:background .12s ease,border-color .12s ease;width:auto}button:hover{background:var(--bg)}.btn-primary{background:var(--cf-orange);border-color:var(--cf-orange);color:#fff;font-weight:600;width:100%;max-width:280px}.btn-primary:hover{background:var(--cf-orange-hover);border-color:var(--cf-orange-hover)}.btn-secondary{width:100%;max-width:280px}.btn-danger{background:var(--surface);border-color:var(--border-strong);color:#d12b2b;width:100%;max-width:280px}.btn-danger:hover{background:#d12b2b0f}.btn-block{width:100%;max-width:none}button:disabled{opacity:.6;cursor:not-allowed}.banner{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border-radius:var(--radius);font-size:.85rem;margin-bottom:1rem}.banner.error{background:#d12b2b0f;border:1px solid rgba(209,43,43,.25);color:#b32424}.banner.info{background:var(--cf-orange-soft);border:1px solid rgba(246,130,31,.25);color:#a35a12}.loading{color:var(--text-faint);font-size:.85rem}.detail-list{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1.25rem;font-size:.88rem}.detail-list dt{color:var(--text-faint)}.detail-list dd{color:var(--text);word-break:break-word}.empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty .empty-title{color:var(--text);font-weight:600;margin-bottom:.35rem;font-size:1.05rem}.empty .empty-text{font-size:.9rem;max-width:420px;margin:0 auto 1.25rem}@media (max-width: 600px){.topbar{padding:0 .75rem}#app-content{padding:1.25rem .75rem}.card{padding:1.1rem;margin-bottom:.85rem}.user-menu-trigger .trigger-name{display:none}.field-label{font-size:.8rem}.field input,.field select{font-size:.95rem}.page-title{font-size:1.6rem}.page-subtitle{font-size:.95rem}.workout-summary-exercises{font-size:.92rem}.workout-summary-meta{font-size:.82rem}}.workout-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:-.25rem}.field{display:flex;flex-direction:column;gap:.3rem;min-width:120px}.field-grow{flex:1 1 200px}.field-num{max-width:96px;min-width:76px}.field-label{font-size:.75rem;color:var(--text-faint)}.field input,.field select{height:38px;padding:0 .6rem;border:1px solid var(--border-strong);border-radius:var(--radius);font-family:inherit;font-size:.875rem;color:var(--text);background:var(--surface);width:100%}.field select{font-size:1rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235b6470' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:1.75rem}.field input:focus,.field select:focus{outline:2px solid var(--cf-orange);outline-offset:1px;border-color:var(--cf-orange)}.exercise-list{display:flex;flex-direction:column;gap:.75rem}.exercise-row{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;background:var(--bg)}.exercise-row.alt{background:var(--surface)}.exercise-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.exercise-index{font-size:.78rem;font-weight:600;color:var(--text-muted)}.remove-exercise{height:26px;padding:0 .6rem;font-size:.75rem;color:#d12b2b;border-color:transparent;background:transparent}.remove-exercise:hover{background:#d12b2b0f}.exercise-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.form-actions .btn-secondary,.form-actions .btn-primary{width:auto;max-width:none}.workout-banner{margin-bottom:1rem}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.card-head h2{margin-bottom:.1rem}.card-head .btn-primary{width:auto;max-width:none;flex-shrink:0}.workout-summary-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.workout-summary-item{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.workout-summary-item:last-child{border-bottom:none}.workout-summary-date{flex-shrink:0;width:5.5rem;font-weight:600;font-size:.85rem;color:var(--text)}.workout-summary-body{min-width:0}.workout-summary-meta{font-size:.78rem;color:var(--text-faint);margin-bottom:.2rem}.workout-summary-exercises{font-size:.88rem;color:var(--text-muted);word-break:break-word}.workout-summary-notes{font-size:.8rem;color:var(--text-faint);font-style:italic;margin-top:.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182866;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;z-index:50;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);width:100%;max-width:640px;padding:1.5rem}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.modal-head h2{margin-bottom:0}.modal-close{width:32px;height:32px;padding:0;border:1px solid transparent;background:transparent;font-size:1.4rem;line-height:1;color:var(--text-muted)}.modal-close:hover{background:var(--bg);border-color:var(--border)}@media (max-width: 600px){.form-row{flex-direction:column}.exercise-fields{grid-template-columns:1fr}.field,.field-grow{min-width:0}.modal-overlay{padding:.75rem .5rem}.modal{padding:1rem}.modal-head{margin-bottom:.85rem}.card-head{flex-direction:column;gap:.75rem;margin-bottom:1rem}.card-head .btn-primary{width:100%;max-width:none}.workout-summary-item{gap:.75rem;padding:.6rem 0}}.btn-back{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .7rem;font-size:.85rem;color:var(--text-muted);cursor:pointer;margin-bottom:1rem;width:auto;max-width:none}.btn-back:hover{background:var(--bg)}.detail-notes{font-size:.88rem;color:var(--text-muted);font-style:italic;padding:.5rem 0 .75rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.detail-exercise-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.detail-exercise-item{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.detail-exercise-name{font-weight:600;font-size:.92rem;color:var(--text)}.detail-exercise-meta{font-size:.8rem;color:var(--text-muted)}.workout-summary-item-clickable{cursor:pointer;border-radius:var(--radius);transition:background .12s ease}.workout-summary-item-clickable:hover{background:var(--bg)}.workout-summary-item-clickable:focus-visible{outline:2px solid var(--cf-orange);outline-offset:2px}.workout-summary-chevron{flex-shrink:0;align-self:center;color:var(--text-faint);font-size:1.2rem;margin-left:auto;padding-left:.25rem}
