*{box-sizing:border-box}:root{--color-primary-50: #fff7ed;--color-primary-100: #ffedd5;--color-primary-200: #fed7aa;--color-primary-300: #fdba74;--color-primary-400: #fb923c;--color-primary-500: #f97316;--color-primary-600: #ea580c;--color-primary-700: #c2410c;--color-primary-800: #9a3412;--color-primary-900: #7c2d12;--color-neutral-50: #f9fafb;--color-neutral-100: #f3f4f6;--color-neutral-200: #e5e7eb;--color-neutral-300: #d1d5db;--color-neutral-400: #9ca3af;--color-neutral-500: #6b7280;--color-neutral-600: #4b5563;--color-neutral-700: #374151;--color-neutral-800: #1f2937;--color-neutral-900: #111827;--color-neutral-950: #0a0c10;--color-success: #22c55e;--color-success-dark: #16a34a;--color-error: #ef4444;--color-error-dark: #dc2626;--color-warning: #eab308;--primary: var(--color-primary-500);--primary-dark: var(--color-primary-600);--primary-light: var(--color-primary-400);--bg: var(--color-neutral-950);--bg-card: var(--color-neutral-900);--bg-input: var(--color-neutral-800);--bg-hover: var(--color-neutral-700);--text: var(--color-neutral-50);--text-muted: var(--color-neutral-400);--text-faint: var(--color-neutral-500);--border: var(--color-neutral-800);--border-light: var(--color-neutral-700);--tab-bar-bg: rgba(10, 12, 16, .85);--tab-bar-border: rgba(255, 255, 255, .08);--success: var(--color-success);--error: var(--color-error);--warning: var(--color-warning);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}html,body,#root{height:100%;margin:0;padding:0;overscroll-behavior:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}#root{display:flex;flex-direction:column;position:relative;overflow:hidden}.loading{display:flex;align-items:center;justify-content:center;height:100vh;height:100dvh;background:var(--bg)}.loading:after{content:"";width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.page-transition{position:absolute;inset:0}.page-transition.page-enter .page-content,.page-transition.page-enter .detail-content,.page-transition.page-enter .workout-content{animation:slideInRight .25s ease-out both}.page-transition.page-exit .page-content,.page-transition.page-exit .detail-content,.page-transition.page-exit .workout-content{animation:slideInLeft .25s ease-out both}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:2rem 1.5rem;padding-top:calc(env(safe-area-inset-top) + 2rem);padding-bottom:calc(env(safe-area-inset-bottom) + 2rem)}.auth-hero{display:flex;flex-direction:column;align-items:center;margin-bottom:3rem}.auth-icon{position:relative;width:100px;height:60px;margin-bottom:1.5rem}.auth-icon-bar{position:absolute;top:50%;left:10%;right:10%;height:8px;background:var(--primary);border-radius:4px;transform:translateY(-50%)}.auth-icon-weight{position:absolute;top:50%;width:18px;height:48px;background:var(--primary);border-radius:4px;transform:translateY(-50%)}.auth-icon-weight.left{left:0}.auth-icon-weight.right{right:0}.auth-hero h1{font-size:2.5rem;font-weight:800;margin:0;letter-spacing:-.02em}.auth-tagline{margin:.5rem 0 0;color:var(--text-muted);font-size:1rem}.auth-form{width:100%;max-width:320px}.auth-form input{width:100%;padding:1rem;margin-bottom:1rem;border:none;border-radius:12px;background:var(--bg-card);color:var(--text);font-size:1rem}.auth-form input::placeholder{color:var(--text-muted)}.auth-form input:focus{outline:none;box-shadow:0 0 0 2px var(--primary)}.auth-form button{width:100%;padding:1rem;margin-top:.5rem;border:none;border-radius:12px;background:var(--primary);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .1s ease,background .15s ease}.auth-form button:hover{background:var(--primary-dark)}.auth-form button:active{transform:scale(.98)}.auth-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer{margin-top:2rem;text-align:center;color:var(--text-muted);font-size:.875rem}.auth-footer a{color:var(--primary);text-decoration:none;font-weight:500}a{-webkit-tap-highlight-color:transparent}a:active{opacity:.7}.card-link{display:block;text-decoration:none;color:inherit}.card-link:visited,.card-link:visited *{color:inherit}.card-link:active{opacity:.7}.card-link .card-action{color:var(--primary)}.error{color:var(--error);padding:.75rem 1rem;border-radius:12px;margin-bottom:1rem;font-size:.875rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .15s ease-out}.modal{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;width:100%;max-width:320px;animation:slideUp .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page{display:flex;flex-direction:column;height:100%;min-height:100vh;min-height:100dvh;padding-bottom:80px}.page-header{padding:1rem;padding-top:calc(env(safe-area-inset-top) + 1rem);display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--bg);position:sticky;top:0;z-index:10}.page-header h1{margin:0;font-size:1.5rem;font-weight:700}.header-action{background:var(--primary);color:#fff;text-decoration:none;font-size:.875rem;font-weight:600;padding:.5rem .75rem;border-radius:8px;-webkit-tap-highlight-color:transparent}.header-action:active{opacity:.7}.back-button{background:none;border:none;color:var(--primary);font-size:1.25rem;cursor:pointer;padding:.75rem;margin:-.75rem;margin-right:0;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.back-button:active{opacity:.5}.page-content{flex:1;padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;overscroll-behavior:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--tab-bar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--tab-bar-border);padding:.5rem .75rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom));z-index:100}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;color:var(--text-muted);text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;position:relative;-webkit-tap-highlight-color:transparent}.nav-item:active{opacity:.5}.nav-item.active{color:var(--primary)}.nav-icon{font-size:1.25rem;line-height:1}.nav-icon.barbell,.nav-icon.cycle,.nav-icon.profile{position:relative;width:1.25rem;height:1.25rem}.nav-icon.barbell:before{content:"";position:absolute;top:50%;left:0;right:0;height:3px;background:currentColor;border-radius:0 0 50% 50%/0 0 100% 100%;transform:translateY(-30%)}.nav-icon.barbell:after{content:"";position:absolute;top:50%;left:0;right:0;height:12px;transform:translateY(-50%);background:linear-gradient(currentColor,currentColor) 0 0 / 4px 100% no-repeat,linear-gradient(currentColor,currentColor) 100% 0 / 4px 100% no-repeat;border-radius:1px}.nav-icon.cycle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;border:2px solid currentColor;border-radius:50%;border-right-color:transparent}.nav-icon.cycle:after{content:"";position:absolute;top:2px;right:1px;width:0;height:0;border-left:4px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent}.nav-icon.profile:before{content:"";position:absolute;top:2px;left:50%;transform:translate(-50%);width:8px;height:8px;border:2px solid currentColor;border-radius:50%}.nav-icon.profile:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:14px;height:7px;border:2px solid currentColor;border-bottom:none;border-radius:7px 7px 0 0}.nav-label{font-size:.625rem;font-weight:500;letter-spacing:.01em}button{padding:.75rem 1rem;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}button:active{opacity:.7}button:disabled{opacity:.6;cursor:not-allowed}button:disabled:active{opacity:.6}button.secondary{background:var(--bg-input);color:var(--text)}button.danger{background:var(--error)}.button-row{display:flex;gap:.5rem;margin-bottom:1rem}.button-row button{flex:1}.inline-form{background:var(--bg-card);padding:1rem;border-radius:8px;margin-bottom:1rem}.inline-form input{width:100%;padding:.75rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text);font-size:1rem}.inline-form input:focus,.inline-form select:focus{outline:none;border-color:var(--primary)}.inline-form select{width:100%;padding:.75rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text);font-size:1rem}.group-list{list-style:none;padding:0;margin:0}.group-list li{margin-bottom:.5rem}.group-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-card);border-radius:8px;text-decoration:none;color:var(--text);-webkit-tap-highlight-color:transparent}.group-item:visited{color:var(--text)}.group-item:active{opacity:.7}.group-item.skeleton{min-height:4.5rem;animation:pulse 1.5s ease-in-out infinite}.group-name{font-weight:600}.group-code{font-family:monospace;color:var(--text-muted);font-size:.875rem}.empty-state{text-align:center;color:var(--text-muted);padding:2rem}.card{background:var(--bg-card);border-radius:12px;padding:1rem;margin-bottom:1rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.card-title{font-weight:600;margin:0}.card-subtitle{color:var(--text-muted);font-size:.875rem}.members-list{list-style:none;padding:0;margin:0}.member-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.member-item:last-child{border-bottom:none}.workout-card{background:var(--bg-card);border-radius:12px;padding:1rem;margin-bottom:1rem}.workout-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.workout-title{font-weight:600;margin:0}.workout-date,.workout-group{color:var(--text-muted);font-size:.875rem}.workout-status{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background:var(--bg-input)}.status-badge.completed{background:var(--success);color:#fff}.progress-bar{height:8px;background:var(--bg-input);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease}.exercise-input{display:grid;grid-template-columns:1fr;gap:.5rem;padding:1rem;background:var(--bg-card);border-radius:8px;margin-bottom:.5rem}.exercise-input input{padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text);font-size:1rem}.exercise-input input:focus{outline:none;border-color:var(--primary)}.exercise-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.exercise-row input{padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text);font-size:.875rem}.exercise-row input:focus{outline:none;border-color:var(--primary)}.exercise-row span{color:var(--text-muted);font-size:.875rem}.exercise-list{list-style:none;padding:0;margin:0 0 1rem}.exercise-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-card);border-radius:8px;margin-bottom:.5rem}.exercise-name{font-weight:600}.exercise-details{color:var(--text-muted);font-size:.875rem}.invites-container{min-height:3.5rem}.invite-card{background:var(--bg-card);border-radius:12px;padding:1rem;margin-bottom:1rem;animation:fadeIn .15s ease-out}.invite-info{margin-bottom:.75rem}.invite-group{font-weight:600}.invite-from{color:var(--text-muted);font-size:.875rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 0 1rem}.section-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.input-group{margin-bottom:.75rem}.input-group label{display:block;margin-bottom:.25rem;font-size:.875rem;color:var(--text-muted)}.input-group input,.input-group select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text);font-size:1rem}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--primary)}.PWABadge{position:fixed;bottom:80px;left:1rem;right:1rem}@media(prefers-color-scheme:light){:root{--primary: var(--color-primary-600);--primary-dark: var(--color-primary-700);--primary-light: var(--color-primary-500);--bg: var(--color-neutral-100);--bg-card: var(--color-neutral-50);--bg-input: var(--color-neutral-200);--bg-hover: var(--color-neutral-300);--text: var(--color-neutral-900);--text-muted: var(--color-neutral-500);--text-faint: var(--color-neutral-400);--border: var(--color-neutral-200);--border-light: var(--color-neutral-300);--tab-bar-bg: rgba(249, 250, 251, .85);--tab-bar-border: rgba(0, 0, 0, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15)}}.week-picker{background:var(--bg-input);border-radius:8px;padding:.75rem;margin-bottom:.75rem}.week-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.week-picker-month{font-weight:600;font-size:.875rem}.week-picker-nav{background:transparent;border:none;color:var(--text);font-size:1rem;padding:.25rem .5rem;cursor:pointer}.week-picker-nav:hover{background:var(--bg-card)}.week-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.week-picker-weekday{text-align:center;font-size:.625rem;color:var(--text-muted);padding:.25rem}.week-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.week-picker-day{text-align:center;padding:.5rem .25rem;font-size:.75rem;cursor:pointer;transition:background .15s}.week-picker-day.other-month{color:var(--text-muted);opacity:.5}.week-picker-day.today{font-weight:700;color:var(--primary)}.week-picker-day.hovered{background:var(--bg-card)}.week-picker-day.hovered.week-start{border-radius:4px 0 0 4px}.week-picker-day.hovered.week-end{border-radius:0 4px 4px 0}.week-picker-day.selected{background:var(--primary);color:#fff}.week-picker-day.selected.today{color:#fff}.week-picker-day.week-start.selected{border-radius:4px 0 0 4px}.week-picker-day.week-end.selected{border-radius:0 4px 4px 0}.dropdown{position:relative;margin-bottom:.75rem}.dropdown-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;cursor:pointer;text-align:left}.dropdown-trigger:hover{background:var(--bg-input);border-color:var(--primary)}.dropdown-trigger.open{border-color:var(--primary);border-radius:8px 8px 0 0}.dropdown-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{width:10px;height:10px;margin-left:.5rem;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;flex-shrink:0}.dropdown-arrow.open{transform:rotate(-135deg) translateY(-2px)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--primary);border-top:none;border-radius:0 0 8px 8px;max-height:300px;overflow-y:auto;z-index:100}.dropdown-option{padding:.75rem;cursor:pointer;border-bottom:1px solid var(--border)}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover{background:var(--bg-input)}.dropdown-option.selected{background:var(--primary);color:#fff}.dropdown-option.selected .dropdown-option-description{color:#fffc}.dropdown-option-label{font-weight:500}.dropdown-option-description{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.detail-page{display:flex;flex-direction:column;height:100vh;height:100dvh}.detail-header{position:sticky;top:0;z-index:10;padding:1rem;padding-top:calc(env(safe-area-inset-top) + 1rem);border-bottom:1px solid var(--border);background:var(--bg);display:flex;align-items:center;gap:.5rem;flex-shrink:0}.detail-header h1{margin:0;font-size:1.25rem}.detail-content{flex:1;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch}.workout-page{display:flex;flex-direction:column;height:100vh;height:100dvh}.workout-header{position:sticky;top:0;z-index:10;padding:1rem;padding-top:calc(env(safe-area-inset-top) + 1rem);border-bottom:1px solid var(--border);background:var(--bg);display:flex;align-items:flex-start;gap:.75rem;flex-shrink:0}.workout-header .back-button{margin-top:.125rem}.workout-header-info{flex:1;min-width:0}.workout-header h1{margin:0;font-size:1.125rem;line-height:1.3}.workout-header-subtitle{margin:.25rem 0 0;font-size:.75rem;color:var(--text-muted)}.workout-content{flex:1;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch}.workout-footer{position:sticky;bottom:0;padding:1rem;background:var(--bg);border-top:1px solid var(--border);flex-shrink:0;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.rpe-selector{margin-bottom:1rem}.rpe-label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem;text-align:center}.rpe-options{display:flex;gap:.25rem;justify-content:space-between}.rpe-option{flex:1;padding:.5rem 0;font-size:.875rem;font-weight:500;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.rpe-option:hover{background:var(--bg-hover);color:var(--text)}.rpe-option.selected{background:var(--primary);border-color:var(--primary);color:#fff}.workout-exercises{display:flex;flex-direction:column;gap:.75rem}.workout-exercise{background:var(--bg-card);border-radius:10px;padding:.75rem}.workout-exercise-name{font-weight:600;font-size:.9rem;margin-bottom:.5rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.workout-sets{display:flex;flex-direction:column;gap:.25rem}.workout-set{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:var(--bg-input);border-radius:6px;padding:.625rem .75rem}.workout-set-sets{font-size:.875rem;color:var(--text-muted)}.workout-set-reps{font-weight:600;font-size:1rem;text-align:center}.workout-set-weight{color:var(--primary);font-weight:700;font-size:1rem;text-align:right}.workout-set-percent{color:var(--text-muted);font-size:.875rem;text-align:right}.cycles-list{display:flex;flex-direction:column;gap:1rem}.cycle-card{background:var(--bg-card);border-radius:12px;overflow:hidden;animation:fadeIn .15s ease-out}.cycle-card.skeleton{min-height:140px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.3}}.cycle-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border)}.cycle-card-title{display:flex;flex-direction:column;gap:.125rem}.cycle-card-name{margin:0;font-size:1rem;font-weight:600}.cycle-card-phase,.cycle-card-week{font-size:.75rem;color:var(--text-muted)}.session-grid{display:flex;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.session-dot{width:2rem;height:1.5rem;border-radius:6px;background:var(--bg-input);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:#fff}.session-dot.completed{background:var(--success);border-color:var(--success)}.cycle-card-button{width:100%;border-radius:0;padding:1rem}.cycle-card-button.week-complete{background:var(--bg-input);color:var(--text-muted)}.cycle-upcoming{padding:1rem;text-align:center;background:var(--bg-input)}.cycle-upcoming-date{font-weight:600;color:var(--text);margin-bottom:.25rem}.cycle-upcoming-details{font-size:.875rem;color:var(--text-muted)}.cycle-complete{padding:1rem;text-align:center;color:var(--success);font-weight:500}.workout-exercise-notes{margin-top:.5rem;font-size:.75rem;color:var(--text-muted);font-style:italic;grid-column:1 / -1}.install-prompt{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));z-index:200;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-prompt-content{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.install-prompt-icon{position:relative;width:48px;height:48px;background:var(--bg-input);border-radius:12px;flex-shrink:0}.install-icon-bar{position:absolute;top:50%;left:25%;right:25%;height:4px;background:var(--primary);border-radius:2px;transform:translateY(-50%)}.install-icon-weight{position:absolute;top:50%;width:8px;height:20px;background:var(--primary);border-radius:2px;transform:translateY(-50%)}.install-icon-weight.left{left:8px}.install-icon-weight.right{right:8px}.install-prompt-text{display:flex;flex-direction:column;gap:.125rem}.install-prompt-text strong{font-size:1rem}.install-prompt-text span{font-size:.875rem;color:var(--text-muted)}.install-prompt-actions{display:flex;gap:.75rem}.install-prompt-actions button{flex:1;padding:.75rem}.pull-indicator-overlay{display:flex;align-items:flex-start;justify-content:center}.pull-spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%}.pull-spinner.spinning{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.member-progress-list{display:flex;flex-direction:column;gap:.75rem}.member-progress-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.member-progress-name{font-size:.875rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-progress-dots{display:flex;gap:.375rem}.progress-dot{width:28px;height:28px;border-radius:50%;background:var(--bg-input);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:var(--text-muted)}.progress-dot.completed{background:var(--success);border-color:var(--success);color:#fff}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.pagination button{padding:.5rem 1rem;font-size:.875rem}.pagination-info{font-size:.875rem;color:var(--text-muted)}
