:root{--c-primary: #c41e3a;--c-primary-dark: #8b0000;--c-primary-text: #e8697a;--c-bg: #1a1a2e;--c-card: #16213e;--c-card-alt: #1e2a4a;--c-input: #2a2a4a;--c-border: #2a2a4a;--c-text: #fff;--c-text-muted: #a0a0b4;--c-text-dim: #8a8aa0;--c-success: #166534;--c-success-light: #4ade80;--c-error: #7f1d1d;--c-error-light: #fca5a5;--c-blue: #60a5fa;--c-glow: rgba(96, 165, 250, .6);--gradient-primary: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));--fs-xs: .55rem;--fs-sm: .65rem;--fs-md: .75rem;--fs-base: .85rem;--fs-lg: 1rem;--fs-2xl: 1.3rem;--c-overlay: rgba(0, 0, 0, .7);--c-hover: rgba(255, 255, 255, .05);--c-active: rgba(255, 255, 255, .1);--c-separator: rgba(255, 255, 255, .05);--c-warmup-bg: #1a2540;--c-warmup-border: #3a3a5a;--c-card-border: #444;--c-toggle-inactive: #4a4a5a;--c-badge-open: #333;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}body.light-theme{--c-bg: #f0f2f5;--c-card: #ffffff;--c-card-alt: #f8f9fa;--c-input: #dfe3e8;--c-border: #d1d5db;--c-text: #111827;--c-text-muted: #4b5563;--c-text-dim: #6b7280;--c-success: #22c55e;--c-success-light: #16a34a;--c-error: #fee2e2;--c-error-light: #991b1b;--c-blue: #2563eb;--c-glow: rgba(37, 99, 235, .3);--c-overlay: rgba(0, 0, 0, .4);--c-hover: rgba(0, 0, 0, .05);--c-active: rgba(0, 0, 0, .1);--c-separator: rgba(0, 0, 0, .08);--c-warmup-bg: var(--c-bg);--c-warmup-border: var(--c-border);--c-card-border: var(--c-border);--c-primary-text: var(--c-primary);--c-toggle-inactive: #d1d5db;--c-badge-open: #e5e7eb;color-scheme:light}body.light-theme .day-btn.complete.active{background:#16653426}body.light-theme .group-header{background:#0000000d}body.light-theme .group-header.clickable:active{background:#00000014}body.light-theme .input-group.narrow input,body.light-theme .notes-input{background:#eaeef4}body.light-theme textarea.notes-input.expanded{box-shadow:0 0 20px #00000026}body.light-theme .input-group label{color:var(--c-text-muted)}body.light-theme .ios-install-overlay{background:#00000080}body.light-theme .header-plan-menu{box-shadow:0 4px 12px #0000001a}body.light-theme .header-plan-option.active{background:#c41e3a1a}body.light-theme .status-badge.done{color:#fff}body.light-theme .status-badge.skipped{background:#ef4444;color:#fff}body.light-theme .toast{color:#fff}body.light-theme .auth-screen{--c-bg: #1a1a2e;--c-card: #16213e;--c-text: #fff;--c-text-muted: #a0a0b4;--c-text-dim: #8a8aa0;--c-border: #2a2a4a;--c-input: #2a2a4a;color:#fff;background:#1a1a2e;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;min-height:auto;padding:12px}body.light-theme .auth-screen.hidden{display:none}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;color-scheme:dark}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--c-bg);color:var(--c-text);min-height:100vh;padding:8px 8px 30px;padding-top:max(8px,env(safe-area-inset-top));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(30px,env(safe-area-inset-bottom))}.auth-screen{display:none;flex-direction:column;align-items:center;min-height:100dvh;padding:12px;text-align:center}.auth-screen-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;pointer-events:none}.auth-screen-content>*{pointer-events:auto}.auth-screen.show{display:flex}.auth-logo{width:120px;height:120px;margin-bottom:20px}.auth-title{color:var(--c-primary-text);font-size:var(--fs-2xl);font-weight:700;margin-bottom:8px}.auth-subtitle{color:var(--c-text-muted);font-size:var(--fs-base);margin-bottom:30px}.auth-btn{display:flex;align-items:center;gap:12px;padding:14px 28px;background:#fff;color:#333;border:none;border-radius:var(--radius-lg);font-size:var(--fs-lg);font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.auth-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.auth-btn:active{transform:scale(.98)}.auth-btn svg{width:20px;height:20px}.install-btn{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 20px;background:transparent;color:var(--c-text-muted);border:1px solid var(--c-border);border-radius:var(--radius-lg);font-size:var(--fs-base);font-weight:500;cursor:pointer;transition:color .15s,border-color .15s}.install-btn:hover{color:var(--c-text);border-color:var(--c-text-muted)}.install-btn svg{width:18px;height:18px}.ios-install-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;z-index:500;align-items:center;justify-content:center;padding:20px}.ios-install-overlay.show{display:flex}.ios-install-card{background:var(--c-card);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:320px;text-align:center}.ios-install-title{color:var(--c-text);font-size:var(--fs-lg);font-weight:700;margin-bottom:20px}.ios-install-steps{display:flex;flex-direction:column;gap:0;align-items:center}.ios-install-step{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;opacity:0;animation:iosStepIn .4s ease forwards}.ios-install-step:nth-child(1){animation-delay:.1s}.ios-install-step:nth-child(3){animation-delay:.25s}.ios-install-step:nth-child(5){animation-delay:.4s}.ios-install-step:nth-child(7){animation-delay:.55s}.ios-step-num{width:26px;height:26px;border-radius:50%;background:var(--c-primary);color:var(--c-bg);font-size:var(--fs-md);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ios-step-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-lg);flex-shrink:0;color:var(--c-text)}.ios-step-icon svg{width:22px;height:22px}.ios-step-label{color:var(--c-text-muted);font-size:var(--fs-base);font-weight:500;text-align:left}.ios-step-connector{width:2px;height:12px;background:var(--c-border);margin-left:28px}.ios-install-dismiss{margin-top:20px;padding:10px 32px;background:var(--c-primary);color:var(--c-bg);border:none;border-radius:var(--radius-lg);font-size:var(--fs-base);font-weight:600;cursor:pointer;opacity:0;animation:iosStepIn .4s ease .75s forwards}@keyframes iosStepIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.setup-screen{display:none;flex-direction:column;align-items:center;padding:12px;max-width:500px;margin:0 auto;min-height:100dvh}.setup-screen.show{display:flex}.setup-title{color:var(--c-primary-text);font-size:var(--fs-2xl);font-weight:700;margin-bottom:8px}.setup-desc{color:var(--c-text-muted);font-size:var(--fs-base);margin-bottom:20px;text-align:center}.setup-input{width:100%;padding:14px;border:2px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-input);color:var(--c-text);font-size:var(--fs-base);margin-bottom:12px}.setup-input:focus{outline:none;border-color:var(--c-primary)}.setup-input::placeholder{color:var(--c-text-dim)}.setup-btn{width:100%;padding:14px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--fs-lg);font-weight:600;cursor:pointer}.setup-btn:disabled{opacity:.5;cursor:not-allowed}.setup-error{color:var(--c-error-light);font-size:var(--fs-md);margin-top:8px}.setup-user{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:10px 16px;background:var(--c-card);border-radius:var(--radius-lg);width:100%}.setup-user-avatar{width:36px;height:36px;border-radius:50%}.setup-user-info{flex:1;text-align:left}.setup-user-name{font-size:var(--fs-base);font-weight:600}.setup-user-email{font-size:var(--fs-md);color:var(--c-text-muted)}.setup-signout{padding:6px 12px;background:transparent;border:1px solid var(--c-border);color:var(--c-text-muted);border-radius:var(--radius-md);font-size:var(--fs-md);cursor:pointer}.app-screen{display:none}.app-screen.show{display:block;padding-top:40px}.header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;margin-bottom:0;position:fixed;top:0;left:0;right:0;background:var(--c-bg);z-index:200;padding-top:max(6px,env(safe-area-inset-top));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.header-center{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.header-plan-dropdown{position:relative}.header-plan-btn{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-md);transition:background .2s;background:transparent;border:none}.header-plan-btn:hover{background:var(--c-hover)}.header-plan-btn:active{background:var(--c-active)}.header h1{color:var(--c-text);font-size:var(--fs-base);font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.header-dropdown-arrow{color:var(--c-text-muted);font-size:var(--fs-xs);transition:transform .2s;flex-shrink:0}.header-plan-menu{display:none;position:absolute;top:100%;left:0;min-width:180px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius-md);margin-top:4px;max-height:300px;overflow-y:auto;z-index:210;box-shadow:0 8px 24px #0006}.header-plan-menu.show{display:block}.header-plan-option{padding:10px 14px;cursor:pointer;font-size:var(--fs-base);color:var(--c-text-muted);transition:background .15s;border-bottom:1px solid var(--c-border)}.header-plan-option:last-child{border-bottom:none}.header-plan-option:hover{background:var(--c-hover)}.header-plan-option.active{color:var(--c-text);background:#c41e3a33}.header-selector-btn{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-md);transition:background .2s;background:transparent;border:none;color:var(--c-text);font-size:var(--fs-base);font-weight:500}.header-selector-btn:hover{background:var(--c-hover)}.header-selector-btn:active{background:var(--c-active)}.header-selector-btn .week-label{color:var(--c-text)}.header-selector-btn .day-label{color:var(--c-text-muted);margin-left:2px}.header-selector-btn .week-label.complete,.header-selector-btn .day-label.complete{color:var(--c-success-light)}.header-selector-btn .selector-arrow{color:var(--c-text-muted);font-size:var(--fs-xs);transition:transform .2s;margin-left:2px}.header-selector-btn.expanded .selector-arrow{transform:rotate(180deg)}.selector-section{display:none;position:fixed;top:40px;left:0;right:0;background:var(--c-bg);z-index:199;padding:0 8px 8px;border-bottom:1px solid var(--c-border);padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.selector-section.show{display:block}.app-screen.selector-open{padding-top:110px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:1}.header-icon-btn{background:transparent;border:none;color:var(--c-text);cursor:pointer;padding:6px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:background .2s}.header-icon-btn:hover{background:var(--c-hover)}.header-icon-btn:active{background:var(--c-active)}.header-icon-btn svg{width:20px;height:20px}.week-tabs-container{margin-bottom:8px}.week-tabs{display:flex;gap:0;border-bottom:1px solid var(--c-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.week-tabs::-webkit-scrollbar{display:none}.week-tab{flex-shrink:0;padding:8px 14px;background:transparent;border:none;color:var(--c-text-muted);font-size:var(--fs-base);font-weight:500;cursor:pointer;position:relative;transition:color .2s;white-space:nowrap}.week-tab:hover{color:var(--c-text)}.week-tab.active{color:var(--c-text);font-weight:600}.week-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--c-primary);border-radius:2px 2px 0 0}.week-tab.complete{color:var(--c-success-light)}.week-tab.complete.active:after{background:var(--c-success-light)}.day-selector-row{display:flex;gap:6px;padding:0;overflow-x:auto;flex-wrap:wrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.day-selector-row::-webkit-scrollbar{display:none}.day-selector-row:empty{display:none}.day-btn{flex-shrink:0;padding:6px 12px;background:transparent;border:1px solid var(--c-border);color:var(--c-text-muted);font-size:var(--fs-md);font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;border-radius:var(--radius-md)}.day-btn:hover{color:var(--c-text);border-color:var(--c-text-muted)}.day-btn.active{color:var(--c-text);font-weight:600;background:var(--c-active);border-color:var(--c-text)}.day-btn.complete{color:var(--c-success-light);border-color:var(--c-success)}.day-btn.complete.active{background:#1665344d;border-color:var(--c-success-light)}.recap-btn{border-style:dashed}.recap-btn.active{border-style:solid}#recap-content.hidden{display:none}.recap-group{border-left-color:var(--c-text-dim)}.recap-group .group-label{font-size:var(--fs-xs);line-height:1.3;white-space:normal;word-break:break-word;color:var(--c-text)}.recap-group .notes-input{width:100%;box-sizing:border-box}.recap-day-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid var(--c-separator)}.recap-day-row:last-child{border-bottom:none}.recap-day-label{background:var(--c-input);color:var(--c-text);padding:0 6px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:600;flex-shrink:0;min-width:50px;text-align:center;height:34px;line-height:34px}.recap-day-row .input-group.narrow{flex:0 0 65px;min-width:60px}.recap-day-row .input-group.narrow input{font-size:var(--fs-base);height:34px}.recap-avg-row{display:flex;align-items:center;gap:8px;padding:8px 4px 4px;border-top:1px solid var(--c-active);margin-top:4px}.recap-avg-label{color:var(--c-text-dim);font-size:var(--fs-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.recap-avg-value{color:var(--c-blue);font-weight:700;font-size:var(--fs-base)}.recap-pain-row{margin-bottom:10px}.recap-pain-row:last-child{margin-bottom:0}.recap-pain-label{display:block;color:var(--c-text);font-size:var(--fs-md);font-weight:600;margin-bottom:4px;padding-left:2px}.exercise-group{background:var(--c-card);border-radius:var(--radius-lg);padding:6px;margin-bottom:8px;border:1px solid var(--c-border);border-left:4px solid var(--c-border);overflow:hidden}.exercise-group.complete{border-left-color:var(--c-success-light)}.group-label{color:var(--c-primary-text);font-size:var(--fs-sm);font-weight:700;letter-spacing:1px;margin-bottom:4px;padding-left:4px}.group-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;margin:-6px -6px 6px;background:#0003;border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:relative;overflow:hidden}@keyframes collapse-countdown{0%{width:100%}to{width:0%}}.collapse-indicator{position:fixed;left:50%;transform:translate(-50%) translateY(-100%);max-width:500px;width:90%;z-index:199;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000004d;cursor:pointer;transition:transform .3s ease;overflow:hidden;background:var(--c-card)}.collapse-indicator.show{transform:translate(-50%) translateY(0)}.collapse-indicator-row{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;position:relative;z-index:1}.collapse-indicator-label{font-size:var(--fs-md);font-weight:700;color:var(--c-text);text-shadow:0 0 4px var(--c-card)}.collapse-indicator-check{font-size:var(--fs-md);font-weight:700;color:var(--c-success-light);text-shadow:0 0 4px var(--c-card)}.collapse-indicator-bar{position:absolute;top:0;left:0;height:100%;background:#4ade8073;animation:collapse-countdown-width var(--collapse-duration, 4s) linear forwards}@keyframes collapse-countdown-width{0%{width:100%}to{width:0%}}body.light-theme .collapse-indicator{box-shadow:0 2px 8px #0000001f}body.light-theme .collapse-indicator-bar{background:#16a36a33}body.light-theme .collapse-indicator-label,body.light-theme .collapse-indicator-check{text-shadow:0 0 4px var(--c-card)}.group-header.clickable{cursor:pointer}.group-header.clickable:active{background:#0000004d}.group-header .group-label{margin:0;padding:0}.group-toggle-icon{color:var(--c-text-dim);font-size:var(--fs-xs);transition:transform .2s}.exercise-group.collapsed .group-toggle-icon{transform:rotate(-90deg)}.exercise-group.collapsed .group-header{margin-bottom:-6px;border-radius:var(--radius-lg)}.group-content{display:block}.exercise-group.collapsed .group-content{display:none}.warmup-toggle{background:var(--c-card-alt);border-radius:var(--radius-md);padding:8px 12px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border:1px dashed var(--c-warmup-border)}.warmup-toggle:active{background:var(--c-input)}.warmup-toggle-label{color:var(--c-text-muted);font-size:var(--fs-md);font-weight:600}.warmup-toggle-icon{color:var(--c-text-dim);font-size:var(--fs-xs);transition:transform .2s}.warmup-toggle.expanded .warmup-toggle-icon{transform:rotate(180deg)}.warmup-content{display:none;padding-left:6px;border-left:2px dashed var(--c-warmup-border);margin-left:6px;margin-bottom:8px}.warmup-content.show{display:block}.day-summary-content{display:none;margin-bottom:8px}.day-summary-content.show{display:block}.day-summary-input{width:100%;box-sizing:border-box}.warmup-card{background:var(--c-warmup-bg);border-radius:var(--radius-md);padding:8px;margin-bottom:4px;border-left:3px solid var(--c-text-dim)}.warmup-card .exercise-name{font-size:var(--fs-md);color:var(--c-text-muted)}.warmup-card .exercise-meta{font-size:var(--fs-xs)}.exercise-card{background:var(--c-card-alt);border-radius:var(--radius-lg);padding:8px;margin-bottom:6px;border-left:4px solid var(--c-card-border);position:relative;overflow:hidden}.exercise-card:last-child{margin-bottom:0}.exercise-card.saving{opacity:.7}.status-badge{position:absolute;top:6px;right:6px;font-size:var(--fs-xs);font-weight:700;padding:2px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.status-badge.done{background:var(--c-success);color:var(--c-success-light)}.status-badge.skipped{background:var(--c-error);color:var(--c-error-light)}.status-badge.open{background:var(--c-badge-open);color:var(--c-text-muted)}.exercise-header{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px;padding-right:45px}.exercise-code{background:var(--c-input);color:var(--c-primary-text);padding:2px 5px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:700;flex-shrink:0}.exercise-name{font-weight:600;font-size:var(--fs-base);line-height:1.3;word-break:break-word}.set-label{color:var(--c-text-muted);font-size:var(--fs-sm)}.exercise-meta{color:var(--c-text-dim);font-size:var(--fs-sm);margin-bottom:6px}.exercise-meta span{margin-right:8px}.target-kg{color:var(--c-blue);font-weight:600}.plate-loader{display:flex;align-items:center;gap:1px;margin-left:auto;flex-shrink:0}.plate{display:flex;align-items:center;justify-content:center;border-radius:2px;font-size:var(--fs-xs);font-weight:700;color:#000;flex-shrink:0;border:1px solid rgba(0,0,0,.3)}.plate-25{width:8px;height:32px;background:#e53935}.plate-20{width:7px;height:28px;background:#1e88e5}.plate-15{width:6px;height:24px;background:#fdd835}.plate-10{width:6px;height:20px;background:#43a047}.plate-5{width:5px;height:16px;background:#fff}.plate-2_5{width:4px;height:14px;background:#e53935}.plate-1_25{width:3px;height:12px;background:#fdd835}.plate-loader-warning{font-size:var(--fs-xs);color:var(--c-error-light);margin-left:4px}.exercise-top-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;padding-right:45px}.exercise-top-row .exercise-name{flex:1;min-width:0}.input-row{display:flex;gap:6px;margin-bottom:6px}.input-group{flex:1}.input-group.narrow{flex:.35;min-width:60px}.input-group.wide{flex:.65}.input-group label{display:block;color:var(--c-text-dim);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}input{width:100%;height:34px;border:none;border-radius:var(--radius-md);background:var(--c-input);color:var(--c-text);font-size:var(--fs-md);text-align:center}input:focus{outline:2px solid var(--c-primary)}.rpe-row{display:flex;gap:2px}.rpe-btn{flex:1;height:34px;border:none;border-radius:5px;background:var(--c-input);color:var(--c-text-dim);font-weight:600;font-size:var(--fs-md);cursor:pointer;transition:all .15s ease;min-width:0;position:relative;overflow:hidden}.rpe-btn.selected{background:var(--gradient-primary);color:#fff}.rpe-btn:active{transform:scale(.94)}.rpe-btn.goal-single{border:2px dotted var(--c-blue)}.rpe-btn.goal-start{border:2px dotted var(--c-blue);border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.rpe-btn.goal-middle{border-top:2px dotted var(--c-blue);border-bottom:2px dotted var(--c-blue);border-left:none;border-right:none;border-radius:0}.rpe-btn.goal-end{border:2px dotted var(--c-blue);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.notes-row{display:flex;gap:6px;margin-top:6px;position:relative}.notes-input{flex:1;text-align:left;font-size:var(--fs-md);padding:8px 10px}textarea.notes-input{resize:none;overflow:hidden;height:34px;border:none;border-radius:var(--radius-md);background:var(--c-input);color:var(--c-text);font-family:inherit;font-size:16px;white-space:nowrap;text-overflow:ellipsis;line-height:34px;padding:0 10px}textarea.notes-input:focus{outline:none}textarea.notes-input.expanded{position:fixed;z-index:1000;min-height:80px;max-height:calc(7em + 24px);overflow-y:auto;white-space:pre-wrap;word-wrap:break-word;border-radius:12px;background:var(--c-card);box-shadow:0 0 20px #0006;outline:none;line-height:1.4;padding:10px 12px}.skip-btn{flex:0 0 50px;padding:8px;border:none;border-radius:var(--radius-md);background:var(--c-input);color:var(--c-text-dim);font-weight:600;font-size:var(--fs-md);cursor:pointer}.skip-btn:active{transform:scale(.97)}.day-section{margin-bottom:16px}.day-section.hidden{display:none}.day-title{display:flex;justify-content:space-between;align-items:center;color:var(--c-text-muted);font-size:var(--fs-sm);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;padding-left:4px}.day-summary-arrow{cursor:pointer;font-size:var(--fs-xs);color:var(--c-text-dim);transition:transform .2s;padding:4px 8px;-webkit-tap-highlight-color:transparent;outline:none}.day-title.expanded .day-summary-arrow{transform:rotate(180deg)}.loading{text-align:center;padding:40px 20px;color:var(--c-text-dim)}.spinner{width:28px;height:28px;border:3px solid var(--c-input);border-top-color:var(--c-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--c-success);color:var(--c-text);padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-base);opacity:0;pointer-events:none;transition:opacity .2s;z-index:100;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}.toast.error{background:var(--c-error)}.toast.show{opacity:1;pointer-events:auto}.offline-indicator{display:none;position:fixed;top:0;left:0;right:0;background:var(--c-error);color:#fff;text-align:center;padding:4px;font-size:var(--fs-md);font-weight:600;z-index:300}.offline-indicator.show{display:block}.offline-indicator.slow{background:var(--c-warning, #f59e0b)}body.light-theme .offline-indicator{background:#dc2626}body.light-theme .offline-indicator.slow{background:#d97706}.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--c-overlay);z-index:400;align-items:center;justify-content:center;padding:20px}.modal-overlay.show{display:flex}.modal{background:var(--c-card);border-radius:var(--radius-lg);padding:14px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;position:relative}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-title{color:var(--c-primary-text);font-size:var(--fs-lg);font-weight:700;margin:0}.modal-close-btn{background:transparent;border:none;color:var(--c-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s}.modal-close-btn:hover{color:var(--c-text);background:var(--c-active)}.modal-close-btn svg{width:20px;height:20px}.modal-section{margin-bottom:8px}.modal-section.compact{margin-bottom:4px}.modal-label{color:var(--c-text-muted);font-size:var(--fs-md);margin-bottom:6px;display:block}.modal-value{color:var(--c-text);font-size:var(--fs-base);word-break:break-all;background:var(--c-input);padding:10px;border-radius:var(--radius-md)}.modal-btns{display:flex;gap:8px;margin-top:6px}.modal-btn{flex:1;padding:10px 8px;border:none;border-radius:var(--radius-md);font-weight:500;font-size:var(--fs-base);cursor:pointer;transition:all .15s}.modal-btn.primary{background:var(--c-input);color:var(--c-text)}.modal-btn.primary:hover{background:var(--c-card-alt)}.modal-btn.secondary{background:transparent;color:var(--c-text-muted);border:1px solid var(--c-border)}.modal-btn.secondary:hover{background:var(--c-hover);color:var(--c-text)}.modal-btn.danger{background:transparent;color:var(--c-error-light);border:1px solid var(--c-error)}.modal-btn.danger:hover{background:#7f1d1d4d}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--c-separator)}.toggle-row:last-child{border-bottom:none}.toggle-info{flex:1}.toggle-title{color:var(--c-text);font-size:var(--fs-base);font-weight:600;margin-bottom:1px}.toggle-desc{color:var(--c-text-dim);font-size:var(--fs-sm)}.toggle-switch{width:44px;height:24px;background:var(--c-toggle-inactive);border-radius:12px;position:relative;cursor:pointer;transition:background .3s}.toggle-switch.active{background:var(--c-success)}.toggle-switch-slider{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s;box-shadow:0 1px 3px #0000004d}.toggle-switch.active .toggle-switch-slider{transform:translate(20px)}.config-info-footer{margin-top:16px;padding-top:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:var(--fs-sm);color:var(--c-text-dim)}.config-info-item{display:flex;gap:4px;align-items:baseline}.config-info-item .label{font-size:var(--fs-xs);color:var(--c-text-dim)}.config-info-item .value{color:var(--c-text-muted);font-size:var(--fs-sm)}.powered-by{font-size:var(--fs-sm);color:var(--c-text-dim);text-align:center;margin-top:16px;position:relative;z-index:2;pointer-events:auto}.auth-screen .powered-by{padding-bottom:16px}.setup-screen .powered-by{margin-top:auto;padding-bottom:16px}.powered-by a{color:inherit;text-decoration:none}.powered-by a span{font-weight:600;color:var(--c-text-muted)}.radio-group{display:flex;gap:8px;margin-top:8px}.radio-btn{flex:1;padding:8px;background:var(--c-input);color:var(--c-text-muted);border:none;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:all .2s}.radio-btn.active{background:var(--gradient-primary);color:#fff}.plate-grid{display:flex;justify-content:space-between;gap:4px;margin-top:8px}.plate-stepper{display:flex;flex-direction:column;align-items:center;border-radius:var(--radius-md);padding:6px 4px;flex:1;min-width:0;min-height:42px;justify-content:center;border:1px solid rgba(0,0,0,.2)}.plate-stepper-label{font-size:var(--fs-xs);color:#111;font-weight:700;margin-bottom:1px;white-space:nowrap;text-shadow:0 0 2px rgba(255,255,255,.5)}.plate-stepper-controls{display:none;flex-direction:column;align-items:center}.plate-grid.home-gym-active .plate-stepper-controls{display:flex}.plate-stepper-btn{background:transparent;border:none;color:#111;cursor:pointer;padding:1px 4px;font-size:var(--fs-xs);line-height:1;transition:color .15s}.plate-stepper-btn:hover{color:#333}.plate-stepper-btn:active{color:#000}.plate-stepper-value{font-size:var(--fs-base);font-weight:600;color:#111;min-width:16px;text-align:center;line-height:1.2}.cycle-selector{margin-top:8px}.cycle-buttons{display:flex;gap:6px;flex-wrap:wrap}.cycle-btn{padding:8px 12px;background:var(--c-input);color:var(--c-text-muted);border:none;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:600;cursor:pointer}.cycle-btn.active{background:var(--gradient-primary);color:#fff}@keyframes splashSpin{to{transform:rotate(360deg)}}
