@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--glass-bg:#161c5073;--glass-bg-strong:#1c246499;--glass-border:#8b5cf62e;--glass-shadow:0 8px 32px #0204148c, 0 1px 0 #ffffff0a inset;--text-primary:#f5f3ff;--text-secondary:#dde2ff94;--accent:#a78bfa;--accent-strong:#8b5cf6;--accent-deep:#6d28d9;--accent-light:#c4b5fd;--accent-rgb:167, 139, 250;--accent-strong-rgb:139, 92, 246;--accent-deep-rgb:109, 40, 217;--accent-light-rgb:196, 181, 253;--surface-rgb:22, 28, 80;--surface-strong-rgb:28, 36, 100;--bg-base:#07051f;--danger:#f87171;--success:#34d399;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes glowPulse{0%,to{box-shadow:0 0 18px rgba(var(--accent-strong-rgb), .3)}50%{box-shadow:0 0 30px rgba(var(--accent-strong-rgb), .55)}}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(var(--accent-strong-rgb), .28);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-strong-rgb), .5)}*{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-strong-rgb), .28) transparent}body{font-feature-settings:"cv02", "cv03", "cv04", "cv11";background:var(--bg-base,#07051f) var(--bg-image,url(/background.webp)) center / cover no-repeat fixed;min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}@media (width<=768px){body{background-attachment:scroll}}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(14px);border-radius:16px}.glass-strong{background:var(--glass-bg-strong);border:1px solid rgba(var(--accent-strong-rgb), .22);box-shadow:var(--glass-shadow), 0 0 0 1px #ffffff08 inset;-webkit-backdrop-filter:blur(18px);border-radius:16px}.glass-input{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);background:#ffffff0d;border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s,background .2s,box-shadow .2s}.glass-input::placeholder{color:var(--text-secondary)}.glass-input:focus{border-color:var(--accent);background:rgba(var(--accent-rgb), .08);box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb), .18)}.glass-button{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(var(--accent-deep-rgb), .4);border:none;border-radius:12px;padding:12px 18px;font-family:inherit;font-size:.95rem;font-weight:600;transition:transform .12s,box-shadow .15s,filter .15s;position:relative;overflow:hidden}.glass-button:before{content:"";opacity:1;pointer-events:none;background:linear-gradient(135deg,#ffffff2e 0%,#0000 60%);position:absolute;inset:0}.glass-button:hover:not(:disabled){box-shadow:0 8px 24px rgba(var(--accent-deep-rgb), .55);filter:brightness(1.1);transform:translateY(-2px)}.glass-button:active:not(:disabled){box-shadow:0 2px 8px rgba(var(--accent-deep-rgb), .4);transition-duration:60ms;transform:translateY(0)scale(.97)}.glass-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;filter:none;transform:none}.glass-button-secondary{border:1px solid var(--glass-border);box-shadow:none;background:#ffffff12}.glass-button-secondary:before{display:none}.glass-button-secondary:hover:not(:disabled){filter:none;background:#ffffff1f;box-shadow:0 4px 12px #0003}.gradient-text{background:linear-gradient(135deg, var(--accent-light), var(--accent), #818cf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.skeleton{background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 50%,#ffffff0a 100%) 0 0/400px 100%;border-radius:8px;animation:1.4s infinite shimmer}.error-text{color:var(--danger);margin:4px 0 0;font-size:.85rem}.text-secondary{color:var(--text-secondary)}.page-enter{animation:.32s cubic-bezier(.22,1,.36,1) both fadeUp}.app-layout{flex:1;align-items:stretch;display:flex}.auth-layout{flex-direction:column;flex:1;align-items:center;display:flex}.auth-layout-brand{align-items:center;gap:10px;margin-top:48px;font-size:1.3rem;font-weight:700;display:flex}.auth-layout-brand svg{color:var(--accent)}.sidebar{flex-direction:column;flex-shrink:0;width:270px;height:calc(100vh - 40px);margin:20px 0 20px 20px;padding:24px 16px;display:flex;position:sticky;top:20px}.sidebar-brand{letter-spacing:.02em;align-items:center;gap:8px;margin:0 0 28px 8px;font-size:1.25rem;font-weight:700;display:flex}.sidebar-brand svg{color:var(--accent);flex-shrink:0}.sidebar-nav{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-strong-rgb), .25) transparent;flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.sidebar-link{color:#dde2ffb3;border-radius:14px;align-items:center;gap:14px;padding:13px 16px;font-size:1.05rem;font-weight:500;transition:background .18s,color .18s,transform .12s;display:flex;position:relative}.sidebar-link svg{flex-shrink:0}.sidebar-link-icon{color:var(--accent-light);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-link.active .sidebar-link-icon{color:#ede9fe}.sidebar-badge{background:var(--accent-strong);color:#fff;min-width:22px;height:22px;box-shadow:0 0 12px rgba(var(--accent-strong-rgb), .6);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.sidebar-link:hover{background:rgba(var(--accent-strong-rgb), .13);color:var(--text-primary);transform:translate(2px)}.sidebar-link.active{background:linear-gradient(90deg, rgba(var(--accent-strong-rgb), .45), rgba(var(--accent-deep-rgb), .15));color:#fff;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .3), 0 4px 16px rgba(var(--accent-deep-rgb), .25);font-weight:600}.sidebar-link.active:before{content:"";background:linear-gradient(180deg, #e9d5ff, var(--accent));width:3px;box-shadow:0 0 14px var(--accent), 0 0 6px var(--accent-light);border-radius:0 3px 3px 0;position:absolute;top:8px;bottom:8px;left:0}.sidebar-divider{background:var(--glass-border);height:1px;margin:10px 4px}.sidebar-mode-switch{background:rgba(var(--accent-strong-rgb), .12);border:1px solid rgba(var(--accent-strong-rgb), .35);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:16px;padding:10px 12px;transition:background .2s,border-color .2s;display:flex}.sidebar-mode-switch:hover{background:rgba(var(--accent-strong-rgb), .2);border-color:rgba(var(--accent-strong-rgb), .55)}.sidebar-mode-switch-label{color:var(--text-secondary);white-space:nowrap;font-size:.8rem;font-weight:700;transition:color .2s}.sidebar-mode-switch-label.active{color:var(--text-primary);text-shadow:0 0 10px rgba(var(--accent-rgb), .6)}.sidebar-mode-switch-track{border:1px solid rgba(var(--accent-strong-rgb), .45);background:#0f123299;border-radius:999px;flex-shrink:0;width:46px;height:25px;transition:background .2s,border-color .2s;position:relative;box-shadow:inset 0 1px 3px #0006}.sidebar-mode-switch[aria-pressed=true] .sidebar-mode-switch-track{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(var(--accent-rgb), .7), inset 0 1px 3px #00000040}.sidebar-mode-switch-knob{background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #00000073}.sidebar-mode-switch[aria-pressed=true] .sidebar-mode-switch-knob{transform:translate(21px)}.profile-mode-switch-mobile{background:rgba(var(--surface-rgb), .6);border:1px solid var(--glass-border);border-radius:999px;gap:2px;padding:3px;display:none}.profile-mode-switch-mobile button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;min-height:44px;padding:8px 16px;font-size:.82rem;font-weight:700;transition:background .15s,color .15s}.profile-mode-switch-mobile button.active{background:var(--accent-strong);color:#fff;box-shadow:0 0 14px rgba(var(--accent-strong-rgb), .55)}.sidebar-footer{border-top:1px solid var(--glass-border);flex-direction:column;gap:8px;padding-top:14px;display:flex}.sidebar-footer .glass-button,.sidebar-footer .glass-button-secondary{text-align:center}.sidebar-user{border-radius:12px;align-items:center;gap:12px;padding:8px;transition:background .15s;display:flex}.sidebar-user:hover{background:#ffffff0f}.sidebar-user-name{color:var(--text-primary);font-size:1rem;font-weight:600}.sidebar-user-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:44px;height:44px}.sidebar-user-avatar-fallback{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));color:#fff;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.bottom-nav,.mobile-top-bar,.sidebar-drawer-overlay,.sidebar-drawer-close{display:none}@media (width<=768px){.app-layout{flex-direction:column}.sidebar{z-index:300;background:rgb(var(--surface-rgb));border-radius:0 16px 16px 0;width:min(270px,82vw);height:100dvh;margin:0;transition:transform .25s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-layout.drawer-open .sidebar{transform:translate(0)}.sidebar-drawer-overlay{z-index:250;opacity:0;pointer-events:none;background:#04030a99;transition:opacity .2s;display:block;position:fixed;inset:0}.app-layout.drawer-open .sidebar-drawer-overlay{opacity:1;pointer-events:auto}.mobile-top-bar{z-index:200;background:rgba(var(--surface-rgb), .95);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-top-bar-logo{width:44px;height:44px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.mobile-top-bar-actions{align-items:center;gap:8px;display:flex}.mobile-top-bar-avatar{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:.9rem;font-weight:700;display:flex;overflow:hidden}.mobile-top-bar-avatar img{object-fit:cover;width:100%;height:100%}.mobile-top-bar-hamburger{border:1px solid rgba(var(--accent-strong-rgb), .5);width:44px;height:44px;color:var(--text-primary);background:0 0;border-radius:10px;justify-content:center;align-items:center;display:flex}.sidebar-brand-row{justify-content:space-between;align-items:center;display:flex}.sidebar-drawer-close{border:1px solid var(--glass-border);width:44px;height:44px;color:var(--text-secondary);background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.bottom-nav{z-index:100;background:rgba(var(--surface-rgb), .97);border-top:1px solid var(--glass-border);padding:8px 4px calc(8px + env(safe-area-inset-bottom));gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateZ(0)}.bottom-nav-group{flex:1;gap:2px;min-width:0;display:flex}.bottom-nav-group-center{flex:none}.bottom-nav-link{min-width:0;min-height:44px;color:var(--text-secondary);text-align:center;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-size:.66rem;font-weight:600;display:flex}.bottom-nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.bottom-nav-icon{justify-content:center;align-items:center;display:flex}.bottom-nav-link.active{color:var(--accent)}.bottom-nav-link.active .bottom-nav-icon{filter:drop-shadow(0 0 6px rgba(var(--accent-rgb), .7))}.bottom-nav-link.primary .bottom-nav-icon{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));color:#fff;width:46px;height:46px;box-shadow:0 4px 16px rgba(var(--accent-deep-rgb), .55), 0 0 0 4px var(--bg-base);border-radius:50%;margin-top:-16px}.bottom-nav-link.primary.active .bottom-nav-icon{filter:none}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.week-calendar{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important}.week-day{text-align:center!important;border-radius:10px!important;flex-direction:column!important;align-items:center!important;gap:4px!important;padding:8px 2px!important}.week-day-icon{border-radius:8px!important;width:28px!important;height:28px!important}.week-day-text{align-items:center!important}.week-day-label{font-size:.68rem!important}.week-day-number{white-space:normal!important;font-size:.6rem!important}.week-day-today{padding:1px 5px!important;font-size:.55rem!important}.profile-mode-switch-mobile{margin-bottom:16px;display:inline-flex}.page-header{flex-wrap:wrap;row-gap:12px}.page-header h1{font-size:1.3rem}}.page-center{flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.auth-card{width:100%;max-width:420px;padding:36px}.purpose-picker{gap:10px;margin:20px 0;display:flex}.purpose-option{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;text-align:center;background:#ffffff0a;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px 8px;font-size:.75rem;font-weight:600;display:flex;position:relative}.purpose-option.selected{border-color:var(--accent);background:rgba(var(--accent-strong-rgb), .14);color:var(--text-primary)}.purpose-option.unavailable{opacity:.7}.purpose-soon{color:#fbbf24;background:#fbbf2433;border:1px solid #fbbf2466;border-radius:999px;padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;top:-8px;right:-6px}.auth-card h1{margin:0 0 6px;font-size:1.5rem}.auth-card form{flex-direction:column;gap:14px;margin-top:20px;display:flex}.metric-history{margin-top:20px}.table-scroll{overflow-x:auto}.metric-history-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.85rem}.metric-history-table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--glass-border);padding:8px 10px;font-size:.75rem}.metric-history-table td{border-bottom:1px solid #ffffff0f;padding:8px 10px}.metric-history-actions{gap:8px;display:flex}.metric-history-actions .glass-button-secondary{padding:6px 10px;font-size:.78rem}.modal-backdrop{-webkit-backdrop-filter:blur(6px);z-index:100;background:#050412d9;justify-content:center;align-items:center;padding:20px;animation:.22s cubic-bezier(.22,1,.36,1) both fadeUp;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:700px;max-height:90vh;overflow-y:auto}.modal-content>.glass,.modal-content>.glass-strong{background:rgb(var(--surface-rgb))}.metric-form-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-top:14px;display:grid}.metric-form-field .field-label{align-items:flex-end;min-height:2.2em;display:flex}.field-hint{color:var(--text-secondary);text-align:center;margin-top:3px;font-size:.7rem;display:block}.field-label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;display:block}.auth-switch{text-align:center;margin-top:18px;font-size:.9rem}.google-signin-button{border-radius:999px;justify-content:center;margin-top:18px;display:flex;overflow:hidden}.auth-divider{color:var(--text-secondary);align-items:center;gap:10px;margin:18px 0 4px;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--glass-border);flex:1;height:1px}.auth-step-email{margin:0 0 4px;font-size:.85rem}.auth-dev-link{word-break:break-all;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:.78rem}.auth-switch a{color:var(--accent);font-weight:600}.page-container{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:36px 20px 40px;animation:.3s cubic-bezier(.22,1,.36,1) both fadeUp}@media (width<=768px){.page-container{padding-top:20px}}.page-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.025em;color:var(--text-primary);margin:0;font-size:1.7rem;font-weight:800}.week-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.week-day{font:inherit;color:inherit;text-align:left;cursor:pointer;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;align-items:flex-start;gap:14px;min-width:0;padding:16px;transition:border-color .15s,transform .12s;display:flex;position:relative}.week-day.selected{background:linear-gradient(160deg, rgba(var(--accent-strong-rgb), .55), rgba(var(--accent-deep-rgb), .35));border-color:var(--accent);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .6), 0 0 24px rgba(var(--accent-strong-rgb), .45)}.week-day-icon{width:46px;height:46px;color:rgba(var(--accent-light-rgb), .55);background:#ffffff0d;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.week-day.attended .week-day-icon{background:color-mix(in srgb, var(--day-accent) 22%, transparent);border:1px solid color-mix(in srgb, var(--day-accent) 45%, transparent);color:var(--day-accent);box-shadow:0 0 14px color-mix(in srgb, var(--day-accent) 35%, transparent)}.week-day.selected .week-day-icon{color:#fff;background:#ffffff24}.week-day-text{flex-direction:column;gap:2px;min-width:0;display:flex}.week-day-label{font-size:1.1rem;font-weight:700}.week-day-number{color:var(--text-secondary);white-space:nowrap;font-size:.88rem}.week-day.selected .week-day-number{color:#fffc}.week-day-check{background:var(--day-accent,var(--accent));width:8px;height:8px;box-shadow:0 0 8px var(--day-accent,var(--accent));border-radius:50%;margin-top:8px}.week-day.selected .week-day-check{background:#f472b6;box-shadow:0 0 8px #f472b6}.filter-bar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:12px 18px;display:flex}.filter-actions{gap:8px;display:flex}.session-card-link{display:block}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.3fr);gap:14px;margin-bottom:20px;display:grid}.stat-tile{flex-direction:column;gap:8px;padding:18px 20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.stat-tile:hover{z-index:2;box-shadow:var(--glass-shadow), 0 8px 32px rgba(var(--accent-deep-rgb), .25);border-color:rgba(var(--accent-strong-rgb), .35);transform:translateY(-3px)}.stat-tile-header{align-items:center;gap:12px;margin-bottom:6px;display:flex}.stat-tile-label{color:#dde2ffd9;flex:1;font-size:.9rem}.profile-stat-clickable{cursor:pointer}.profile-stat-chevron{color:var(--text-secondary);opacity:.6;flex-shrink:0}.stat-tile-title{flex:1;font-size:.95rem;font-weight:600}.stat-tile-icon{background:linear-gradient(145deg, rgba(var(--accent-strong-rgb), .45), rgba(var(--accent-deep-rgb), .25));border:1px solid rgba(var(--accent-rgb), .35);color:#ddd6fe;width:46px;height:46px;box-shadow:0 0 18px rgba(var(--accent-strong-rgb), .3);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-tile-delta{white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:3px 8px;font-size:.76rem;font-weight:700;display:inline-flex}.stat-tile-delta.positive{color:#4ade80;background:#22c55e24}.stat-tile-delta.neutral{color:var(--text-secondary);background:#ffffff14}.stat-tile-delta.negative{color:#f87171;background:#ef444424}.stat-tile-value-row{align-items:baseline;gap:8px;display:flex}.stat-tile-value-row .stat-tile-delta{align-self:center;margin-left:auto}.stat-tile-value{letter-spacing:-.03em;background:linear-gradient(135deg, #ede9fe 0%, var(--accent-light) 70%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.3rem;font-weight:800;line-height:1}.stat-tile-unit{color:#dde2ffbf;font-size:1.35rem;font-weight:500}.stat-tile-sub{color:var(--text-secondary);font-size:.82rem}.stat-tile-flame{color:#c084fc;opacity:.35;position:absolute;bottom:16px;right:18px}.stat-tile.streak.active .stat-tile-flame{opacity:1;color:#e879f9;filter:drop-shadow(0 0 10px #d946efbf)}.progress-track{background:#ffffff14;border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-deep), var(--accent));height:100%;box-shadow:0 0 10px rgba(var(--accent-rgb), .7);border-radius:999px}.stat-tile.chart{gap:0}.line-chart{width:100%;height:auto;display:block}.line-chart-grid{stroke:#dde2ff14;stroke-width:1px}.line-chart-label{fill:var(--text-secondary);font-size:9px}.line-chart-wrap{position:relative}.line-chart-guide{stroke:rgba(var(--accent-light-rgb), .45);stroke-width:1px;stroke-dasharray:3 3}.line-chart-tooltip{--tx:-50%;--ty:calc(-100% - 12px);transform:translate(var(--tx), var(--ty));background:rgb(var(--surface-rgb));border:1px solid rgba(var(--accent-rgb), .45);white-space:nowrap;pointer-events:none;z-index:2;border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;font-size:.82rem;display:flex;position:absolute;box-shadow:0 8px 20px #02041499}.line-chart-tooltip.below{--ty:14px}.line-chart-tooltip.align-end{--tx:calc(-100% + 14px)}.line-chart-tooltip.align-start{--tx:-14px}.line-chart-tooltip-title{color:var(--text-secondary);font-size:.74rem}.line-chart-tooltip strong{color:#ddd6fe;font-size:1rem}.line-chart-dot{fill:var(--accent-light);stroke:rgb(var(--surface-rgb));stroke-width:1.5px;pointer-events:none;transition:r .12s}.workout-list{flex-direction:column;gap:10px;display:flex}.workout-row{background:linear-gradient(90deg, color-mix(in srgb, var(--row-accent) 16%, transparent), transparent 45%), var(--glass-bg);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:14px 18px 14px 22px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative;overflow:hidden}.workout-row:before{content:"";background:var(--row-accent);width:4px;box-shadow:0 0 12px var(--row-accent);position:absolute;top:0;bottom:0;left:0}.session-card-link:hover .workout-row{border-color:color-mix(in srgb, var(--row-accent) 55%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--row-accent) 24%, transparent), transparent 55%), var(--glass-bg);box-shadow:4px 0 24px color-mix(in srgb, var(--row-accent) 18%, transparent);transform:translate(3px)}.workout-row-icon{background:color-mix(in srgb, var(--row-accent) 18%, rgba(var(--surface-rgb), .6));border:1px solid color-mix(in srgb, var(--row-accent) 40%, transparent);width:54px;height:54px;color:var(--row-accent);box-shadow:0 0 16px color-mix(in srgb, var(--row-accent) 25%, transparent);border-radius:15px;justify-content:center;align-items:center;display:flex}.workout-row-info{flex-direction:column;gap:3px;min-width:0;display:flex}.workout-row-info .text-secondary{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.workout-row-title{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:700;overflow:hidden}.workout-row-meta{color:#dde2ffcc;grid-template-columns:120px 96px 104px 116px;align-items:center;gap:12px;font-size:.85rem;display:grid}.workout-row-meta-item{white-space:nowrap;align-items:center;gap:8px;display:flex}.workout-row-meta-item svg{color:#a5b4fc;flex-shrink:0}.workout-row-actions{align-items:center;gap:8px;display:flex}.workout-row-view{border:1px solid rgba(var(--accent-rgb), .28);background:rgba(var(--accent-strong-rgb), .12);white-space:nowrap;border-radius:12px;align-items:center;gap:6px;padding:9px 16px;font-size:.88rem;font-weight:600;transition:background .15s;display:inline-flex}.session-card-link:hover .workout-row-view{background:rgba(var(--accent-strong-rgb), .25)}.workout-row-delete{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex}.workout-row-delete:hover{color:var(--danger);background:#ef44441f;border-color:#ef44444d}.muscle-icon{-webkit-mask:var(--muscle-icon) center / contain no-repeat;-webkit-mask:var(--muscle-icon) center / contain no-repeat;mask:var(--muscle-icon) center / contain no-repeat;filter:drop-shadow(0 0 4px color-mix(in srgb, currentColor 70%, transparent));background-color:currentColor;flex-shrink:0;display:inline-block}.exercise-icon-chip{background:color-mix(in srgb, var(--exercise-color,var(--accent)) 20%, transparent);width:28px;height:28px;color:var(--exercise-color,var(--accent));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.exercise-thumb{background:#ffffff0f;border-radius:8px;flex-shrink:0;display:inline-flex;overflow:hidden}.exercise-thumb img{object-fit:cover;width:100%;height:100%}.exercise-picker-trigger{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:10px;display:flex}.exercise-picker-trigger-selected{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:10px;display:flex;overflow:hidden}.exercise-picker-modal-wrap{max-width:960px;max-height:none;overflow:visible}.exercise-picker-modal{flex-direction:column;gap:14px;height:min(820px,88vh);padding:24px;display:flex}.exercise-picker-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.exercise-picker-header h3{margin:0;font-size:1.25rem}.exercise-picker-count{white-space:nowrap;font-size:.85rem}.exercise-picker-modal .form-actions{margin-top:0}.muscle-filter-row{flex-wrap:wrap;gap:8px;display:flex}.muscle-filter-chip{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:999px;padding:7px 15px;font-size:.85rem;transition:background .15s,border-color .15s,color .15s}.muscle-filter-chip:hover{color:var(--text-primary);border-color:color-mix(in srgb, var(--exercise-color,var(--accent)) 60%, transparent)}.muscle-filter-chip.active{background:color-mix(in srgb, var(--exercise-color,var(--accent)) 30%, transparent);border-color:var(--exercise-color,var(--accent));color:var(--text-primary);font-weight:600}.exercise-option-grid{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex:1;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-auto-rows:max-content;align-content:start;gap:14px;min-height:0;padding:2px 6px 2px 2px;display:grid;overflow:hidden auto}.exercise-picker-empty{text-align:center;grid-column:1/-1;padding:40px 0}.exercise-option-card{border:1px solid var(--glass-border);min-width:0;color:var(--text-primary);cursor:pointer;text-align:left;background:#ffffff08;border-radius:14px;flex-direction:column;padding:0;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.exercise-option-select{min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;padding:0;display:flex}.exercise-option-delete{z-index:1;color:#fda4af;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a081499;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s,color .15s;display:flex;position:absolute;top:6px;right:6px}.exercise-option-delete:hover:not(:disabled){background:var(--danger);color:#fff}.exercise-option-delete:disabled{opacity:.5;cursor:not-allowed}.exercise-option-card:hover{border-color:color-mix(in srgb, var(--exercise-color) 55%, transparent);background:#ffffff0f;transform:translateY(-2px)}.exercise-option-card:focus-visible{outline:2px solid var(--exercise-color);outline-offset:2px}.exercise-option-card.selected{border-color:var(--accent);background:rgba(var(--accent-strong-rgb), .16);box-shadow:0 0 0 1px var(--accent)}.exercise-option-media{aspect-ratio:3/2;background:color-mix(in srgb, var(--exercise-color) 14%, #ffffff08);color:var(--exercise-color);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.exercise-option-media img{object-fit:cover;object-position:50% 60%;width:100%;height:100%;position:absolute;inset:0}.exercise-option-body{flex-direction:column;gap:3px;min-width:0;padding:10px 12px 12px;display:flex}.exercise-option-name{font-size:.95rem;font-weight:600;line-height:1.25}.exercise-option-group{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.exercise-option-group:before{content:"";background:var(--exercise-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.exercise-option-create{border-style:dashed;border-color:rgba(var(--accent-strong-rgb), .45)}.exercise-option-create:hover{border-color:var(--accent);background:rgba(var(--accent-strong-rgb), .1)}.exercise-option-create .exercise-option-media{background:rgba(var(--accent-strong-rgb), .12);color:var(--accent)}.exercise-option-custom-badge{color:#fff;background:rgba(var(--accent-strong-rgb), .85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;padding:2px 8px;font-size:.64rem;font-weight:700;position:absolute;top:6px;left:6px}.exercise-create-form{flex-direction:column;display:flex}.exercise-create-photo{border:1px dashed var(--glass-border);width:100%;height:120px;color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-bottom:14px;font-size:.8rem;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.exercise-create-photo:hover{border-color:var(--accent);background:rgba(var(--accent-strong-rgb), .08)}.exercise-create-photo img{object-fit:cover;width:100%;height:100%}@media (width<=640px){.modal-backdrop:has(.exercise-picker-modal-wrap){padding:10px}.exercise-picker-modal{gap:12px;height:calc(100dvh - 20px);padding:16px}.muscle-filter-row{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:0 16px 4px;overflow-x:auto}.muscle-filter-row::-webkit-scrollbar{display:none}.exercise-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exercise-option-body{padding:8px 10px 10px}.exercise-option-name{font-size:.88rem}}@media (width<=1320px){.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-row-meta{grid-template-columns:112px 90px 112px}.workout-row-meta-item:nth-child(3){display:none}}@media (width<=1200px){.week-day{flex-direction:column;gap:10px}.workout-row{grid-template-columns:auto minmax(0,1fr) auto;row-gap:10px}.workout-row-meta{flex-wrap:wrap;grid-area:2/2/auto/-1;gap:6px 18px;display:flex}.workout-row-meta-item:nth-child(3){display:flex}.workout-row-meta-item:empty{display:none}}@media (width<=1000px){.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.week-calendar{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.week-day{padding:10px}.stats-row{grid-template-columns:1fr}.workout-row{gap:12px;padding:12px 12px 12px 16px}.workout-row-icon{width:46px;height:46px}.workout-row-meta{grid-column:1/-1}.workout-row-view{gap:0;padding:8px;font-size:0}}.status-pill{border:1px solid var(--glass-border);color:var(--text-secondary);background:#ffffff14;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:600}.status-pill-active{color:#34d399;background:#34d39929;border-color:#34d39966}.subscription-toggle{gap:8px;display:flex}.subscription-compact{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.subscription-compact-row{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.subscription-compact-row>div{align-items:center;gap:8px;display:flex}.subscription-compact-label{color:var(--text-secondary);font-size:.78rem}.subscription-compact-staff{color:var(--text-secondary);opacity:.75;font-size:.7rem}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;text-decoration:underline}.link-button:hover{color:var(--accent-strong)}.member-card-header{align-items:center;gap:12px;min-width:0;display:flex}.member-card-header>div{flex-direction:column;min-width:0;display:flex}.member-card-header>div>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-card-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:44px;height:44px}.member-card-avatar-fallback{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));color:#fff;justify-content:center;align-items:center;font-weight:700;display:flex}.messages-layout{gap:16px;height:calc(100vh - 220px);min-height:420px;display:flex}.messages-contacts{flex-direction:column;flex-shrink:0;gap:4px;width:300px;padding:8px;display:flex;overflow-y:auto}.contact-row{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.contact-row:hover{background:#ffffff0d}.contact-row.selected{background:rgba(var(--accent-strong-rgb), .16)}.contact-row-info{flex-direction:column;flex:1;min-width:0;display:flex}.contact-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.contact-row-role{color:var(--text-secondary);font-weight:400}.contact-row-preview{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.contact-unread-badge{background:var(--accent-strong);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;display:flex}.messages-thread{flex-direction:column;flex:1;min-width:0;padding:0;display:flex}.messages-empty{flex:1;justify-content:center;align-items:center;display:flex}.messages-thread-header{border-bottom:1px solid var(--glass-border);align-items:center;gap:10px;padding:16px 20px;display:flex}.messages-back{display:none}.messages-list{flex-direction:column;flex:1;gap:10px;padding:16px 20px;display:flex;overflow-y:auto}.message-bubble{background:#ffffff0f;border-radius:14px 14px 14px 4px;align-self:flex-start;max-width:70%;padding:8px 12px}.message-bubble.mine{background:rgba(var(--accent-strong-rgb), .22);border-radius:14px 14px 4px;align-self:flex-end}.message-bubble p{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.9rem}.message-bubble span{color:var(--text-secondary);margin-top:4px;font-size:.68rem;display:block}.messages-compose{border-top:1px solid var(--glass-border);gap:10px;padding:14px 20px;display:flex}.messages-compose .glass-input{flex:1}@media (width<=768px){.messages-layout{height:calc(100dvh - 230px - env(safe-area-inset-bottom));min-height:320px}.messages-contacts{width:100%}.messages-layout:not(.has-selection) .messages-thread,.messages-layout.has-selection .messages-contacts{display:none}.messages-back{width:36px;height:36px;color:var(--text-primary);background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin:-6px 0 -6px -8px;display:flex;transform:rotate(180deg)}}.empty-state{text-align:center;color:var(--text-secondary);padding:40px}.form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.meal-item-row-header{color:var(--text-secondary);grid-template-columns:1.4fr 1fr auto;gap:10px;margin-bottom:6px;font-size:.75rem;display:grid}.meal-item-row{grid-template-columns:1.4fr 1fr auto;align-items:center;gap:10px;margin-bottom:8px;display:grid}.feature-icon{color:var(--accent);display:inline-block}.section-title{text-align:center;margin:10px 0 20px;font-size:1.3rem}.role-badge{background:rgba(var(--accent-rgb), .2);border:1px solid var(--glass-border);color:var(--accent);border-radius:999px;padding:3px 9px;font-size:.7rem;position:absolute;top:16px;right:16px}.role-badge-static{margin-top:6px;display:inline-block;position:static}.profile-role-badge-mobile{display:none}.profile-summary{padding:24px 28px}.profile-summary-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.profile-summary-email{text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;overflow:hidden}.profile-summary-identity{align-items:center;gap:18px;min-width:0;display:flex}.profile-summary-identity>div{min-width:0}.profile-avatar{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));cursor:pointer;color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;padding:0;font-family:inherit;font-size:1.4rem;font-weight:700;display:flex;position:relative;overflow:hidden}.profile-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.profile-avatar-overlay{opacity:0;background:#0e0a1fa6;justify-content:center;align-items:center;font-size:.65rem;font-weight:600;transition:opacity .15s;display:flex;position:absolute;inset:0}.profile-avatar:hover .profile-avatar-overlay{opacity:1}.profile-summary h3{align-items:center;gap:8px;margin:0 0 2px;display:flex}.profile-edit-trigger{border:1px solid var(--glass-border);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.profile-edit-trigger:hover{color:var(--text-primary);border-color:rgba(var(--accent-strong-rgb), .4)}@media (width<=768px){.profile-summary-top{flex-direction:column;align-items:stretch}.profile-follow-stats{border-top:1px solid var(--glass-border);width:100%;margin-top:16px;padding-top:16px}.profile-follow-stat{flex:1;min-width:0;padding:10px 12px}.profile-follow-stat .stat-tile-label{font-size:.78rem}.profile-follow-stat-body .stat-tile-value{font-size:1.4rem}.subscription-cards{grid-template-columns:1fr}.subscription-compact{border-top:1px solid var(--glass-border);flex-flow:wrap;align-items:center;gap:10px;padding-top:16px}.subscription-compact-row{background:#ffffff0a;border-radius:10px;align-items:flex-start;gap:2px;padding:8px 14px}}.feature-card{position:relative}.preview-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.preview-card{padding:26px}.preview-card h3{margin:0 0 4px}.preview-caption{margin:0 0 16px;font-size:.85rem}.plan-preview{flex-direction:column;gap:6px;display:flex}.plan-row{border-bottom:1px solid #ffffff14;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:8px 0;font-size:.9rem;display:grid}.plan-row-header{color:var(--text-secondary);border-bottom:1px solid var(--glass-border);font-size:.75rem}.plan-row:last-child{border-bottom:none}.progress-chart-wrap{position:relative}.progress-chart{width:100%;height:auto;display:block}.chart-line-baseline{stroke-dasharray:6 6}.chart-hint{color:var(--text-secondary);margin:8px 0 0;font-size:.8rem}.chart-crosshair{stroke:#ffffff40;stroke-width:1px;stroke-dasharray:3 3}.chart-tooltip{background:rgba(var(--surface-rgb), .95);border:1px solid var(--glass-border);pointer-events:none;white-space:nowrap;z-index:5;border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%,-100%)translateY(-10px);box-shadow:0 4px 16px #0006}.chart-tooltip strong{color:var(--text-primary);font-size:.85rem}.chart-tooltip span{color:var(--text-secondary);font-size:.7rem}.chart-gridline{stroke:#ffffff14;stroke-width:1px}.chart-area{fill:rgba(var(--accent-strong-rgb), .12)}.chart-line{fill:none;stroke:var(--accent-strong);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--accent-strong)}.chart-dot-end{fill:var(--accent-strong);stroke:#ffffffb3;stroke-width:2px}.chart-hit{fill:#0000}.chart-label{fill:var(--text-primary);font-size:22px;font-weight:700}.weekly-bar-chart{width:100%;height:auto;display:block}.weekly-bar{fill:var(--accent-strong)}.weekly-bar-value{font-size:10px}.weekly-bar-label{fill:var(--text-secondary);font-size:8.5px}.download-card{text-align:center;max-width:460px;padding:40px}.download-card h1{margin:14px 0 10px;font-size:1.5rem}.store-badges{flex-direction:column;gap:10px;margin-top:24px;display:flex}.member-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:1fr;gap:16px;display:grid}.member-tile-link{min-width:0;display:block}.member-tile{flex-direction:column;gap:14px;height:100%;padding:20px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.member-tile:before{content:"";background:var(--role-color);height:3px;box-shadow:0 0 16px var(--role-color);position:absolute;inset:0 0 auto}.member-tile-link:hover .member-tile{border-color:color-mix(in srgb, var(--role-color) 55%, transparent);box-shadow:var(--glass-shadow), 0 12px 36px color-mix(in srgb, var(--role-color) 22%, transparent);transform:translateY(-4px)}.member-tile-header{align-items:center;gap:14px;min-width:0;display:flex}.member-tile .member-card-avatar{width:52px;height:52px;box-shadow:0 0 0 2px color-mix(in srgb, var(--role-color) 60%, transparent);font-size:1.2rem}.member-tile-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.member-tile-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;font-weight:700;overflow:hidden}.member-tile-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.member-tile-role{color:var(--role-color);background:color-mix(in srgb, var(--role-color) 16%, transparent);border:1px solid color-mix(in srgb, var(--role-color) 35%, transparent);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:.76rem;font-weight:700}.member-tile-stats{border-top:1px solid var(--glass-border);flex-direction:column;gap:8px;margin-top:auto;padding-top:14px;display:flex}.member-tile-stat{align-items:center;gap:8px;font-size:.86rem;display:flex}.member-tile-stat svg{color:#a5b4fc;flex-shrink:0}.member-tile-stat-label{color:var(--text-secondary)}.member-tile-stat-value{white-space:nowrap;margin-left:auto;font-weight:600}.member-tile-stat.warning svg,.member-tile-stat.warning .member-tile-stat-value{color:#fbbf24}.log-page,.log-form{flex-direction:column;gap:18px;display:flex}.log-page input[type=number]{appearance:textfield}.log-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.log-page input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.log-header{align-items:center;gap:14px;display:flex}.log-header h1{letter-spacing:-.01em;margin:0;font-size:2rem}.log-header-icon{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));color:#fff;width:40px;height:40px;box-shadow:0 0 10px rgba(var(--accent-strong-rgb), .3);border-radius:50%;justify-content:center;align-items:center;display:flex}.log-card{padding:24px 26px}.log-card-header{color:var(--accent-light);align-items:center;gap:14px;margin-bottom:18px;display:flex}.log-card-header h2{color:var(--text-primary);margin:0;font-size:1.3rem}.log-card-header h2 span,.log-label span{color:var(--text-secondary);font-size:.85em;font-weight:400}.log-start{border-color:rgba(var(--accent-rgb), .4);background:radial-gradient(ellipse at 0% 50%, rgba(var(--accent-strong-rgb), .28), transparent 55%), var(--glass-bg-strong);align-items:center;gap:24px;display:flex}.log-start-icon{background:radial-gradient(circle at 35% 30%, var(--accent-strong), var(--accent-deep));color:#fff;width:74px;height:74px;box-shadow:0 0 26px rgba(var(--accent-strong-rgb), .6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.log-start.running .log-start-icon{background:radial-gradient(circle at 35% 30%,#34d399,#065f46);box-shadow:0 0 26px #34d3998c}.log-start-text{flex:1;min-width:0}.log-start-text h2{margin:0 0 6px;font-size:1.3rem}.log-start-text p{color:var(--text-secondary);max-width:520px;margin:0;font-size:.95rem;line-height:1.5}.log-start-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.log-select{width:280px}.log-start-button,.log-save-button{white-space:nowrap;background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));box-shadow:0 0 22px rgba(var(--accent-strong-rgb), .45);justify-content:center;align-items:center;gap:10px;display:inline-flex}.log-start-button{padding:14px 28px;font-size:1.05rem}.log-timer{align-items:center;gap:12px;display:flex}.log-timer-dot{background:#34d399;border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite pulse-dot;box-shadow:0 0 10px #34d399}.log-timer-time{font-variant-numeric:tabular-nums;color:#6ee7b7;font-size:2rem;font-weight:700}.log-details-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:22px;display:grid}.log-details-grid.no-duration{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.log-label{margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.log-page .glass-input{background:var(--glass-bg-strong);border-color:rgba(var(--accent-rgb), .22);padding:14px 16px;font-size:1rem}.log-page .glass-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb), .2)}.log-page input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.log-duration{grid-template-columns:1fr 1fr;gap:12px;display:grid}.log-suffix-input{position:relative}.log-suffix-input .glass-input{padding-right:58px}.log-suffix-input span{color:var(--text-secondary);pointer-events:none;font-size:.85rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.log-sets-summary{color:var(--text-secondary);align-items:center;gap:16px;margin-left:auto;font-size:.92rem;display:flex}.log-sets-summary>span{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.log-sets-summary svg{color:var(--accent)}.log-sets-summary strong{color:var(--text-primary)}.log-sets-summary-divider{background:var(--glass-border);width:1px;height:22px}.log-exercises{flex-direction:column;gap:14px;display:flex}.log-exercise{border:1px solid var(--glass-border);background:rgba(var(--surface-rgb), .3);border-radius:14px;padding:16px 18px}.log-exercise-header{grid-template-columns:40px minmax(0,1fr) 42px;align-items:center;gap:14px;display:grid}.log-exercise-sets{margin:14px 0 0 54px}.log-exercise-sets-head,.log-exercise-set{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr) 36px 36px;align-items:center;gap:14px;display:grid}.log-exercise-sets-head{color:var(--text-secondary);padding:0 0 8px;font-size:.82rem;font-weight:700}.log-exercise-sets-head span:first-child,.log-exercise-set-number{text-align:center}.log-exercise-sets-head span:first-child{white-space:nowrap}.log-exercise-set+.log-exercise-set{margin-top:8px}.log-exercise-set-number{color:var(--accent-light);font-weight:700}.log-exercise-set .glass-input{padding:11px 14px}.log-exercise-set-remove{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;font-size:1.3rem;line-height:1}.log-exercise-set-remove:hover:not(:disabled){color:#fb7185;background:#f43f5e1f;border-color:#f43f5e4d}.log-exercise-set-remove:disabled{opacity:.3;cursor:not-allowed}.log-add-set-inline{border:1px solid rgba(var(--accent-rgb), .35);background:rgba(var(--accent-strong-rgb), .1);color:#ddd6fe;cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .15s;display:inline-flex}.log-add-set-inline:hover{background:rgba(var(--accent-strong-rgb), .22)}.log-set-number{background:radial-gradient(circle at 35% 30%, var(--accent-strong), var(--accent-deep));width:34px;height:34px;box-shadow:0 0 12px rgba(var(--accent-strong-rgb), .55);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-weight:700;display:flex}.log-set-delete{color:#fb7185;cursor:pointer;background:#f43f5e1a;border:1px solid #f43f5e73;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s;display:inline-flex}.log-set-delete:hover:not(:disabled){background:#f43f5e38}.log-set-delete:disabled{opacity:.35;cursor:not-allowed}.log-add-set{border:1.5px dashed rgba(var(--accent-rgb), .5);color:#ddd6fe;cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin:0;padding:13px;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.log-add-set:hover{background:rgba(var(--accent-strong-rgb), .12);border-color:var(--accent)}.log-notes{resize:vertical;min-height:70px;font-family:inherit}.log-actions{justify-content:flex-end;gap:14px;display:flex}.log-actions .glass-button{padding:14px 26px;font-size:1rem}@media (width<=1200px){.log-start{flex-wrap:wrap}.log-start-actions{width:100%}.log-select{flex:1;width:auto}}@media (width<=900px){.log-details-grid,.log-details-grid.no-duration{grid-template-columns:1fr}.log-card-header{flex-wrap:wrap}.log-sets-summary{width:100%;margin-left:0}}@media (width<=640px){.log-card{padding:18px 16px}.log-header h1{font-size:1.6rem}.log-sets-summary{flex-wrap:wrap;gap:6px 14px;font-size:.85rem}.log-sets-summary-divider{display:none}.log-start{flex-direction:column;align-items:flex-start}.log-start-actions{flex-direction:column;align-items:stretch}.log-exercise{padding:12px}.log-exercise-header{grid-template-columns:34px minmax(0,1fr) 42px;gap:10px}.log-exercise-sets{margin-left:0}.log-exercise-sets-head,.log-exercise-set{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) 34px 28px;gap:6px}.log-exercise-meta,.log-type-hint{margin-left:0}.log-actions .glass-button{flex:1}}.meal-item-row-header,.meal-item-row{grid-template-columns:48px minmax(0,1.6fr) minmax(0,1fr) auto}.food-photo-button{border:1.5px dashed rgba(var(--accent-rgb), .45);background:rgba(var(--accent-strong-rgb), .08);width:46px;height:46px;color:var(--accent-light);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.food-photo-button.has-image{border-style:solid;border-color:var(--glass-border);background:#fff}.food-photo-button img{object-fit:contain;width:100%;height:100%}.food-photo-uploading{background:#07051f99;animation:1s ease-in-out infinite pulse-dot;position:absolute;inset:0}.meal-item-name{flex-direction:column;gap:4px;min-width:0;display:flex}.meal-item-name-input{position:relative}.meal-item-name-input .glass-input{padding-right:46px}.meal-item-search{border:1px solid rgba(var(--accent-rgb), .35);background:rgba(var(--accent-strong-rgb), .18);color:#ddd6fe;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.meal-item-search:hover{background:rgba(var(--accent-strong-rgb), .32)}.meal-item-meta{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.food-search-modal-wrap{max-width:760px;max-height:none;overflow:visible}.food-search-modal{flex-direction:column;gap:14px;height:min(760px,88vh);padding:24px;display:flex}.food-search-header{flex-direction:column;gap:2px;display:flex}.food-search-header h3{margin:0;font-size:1.25rem}.food-search-header .text-secondary{font-size:.85rem}.food-search-input{color:var(--accent);position:relative}.food-search-input svg{position:absolute;top:50%;left:14px;transform:translateY(-50%)}.food-search-input .glass-input{padding-left:42px}.food-search-results{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.food-search-hint{text-align:center;color:var(--text-secondary);margin:30px 0}.food-result{border:1px solid var(--glass-border);color:var(--text-primary);text-align:left;cursor:pointer;background:#ffffff08;border-radius:12px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 12px;transition:border-color .15s,background .15s;display:grid}.food-result:hover{border-color:rgba(var(--accent-rgb), .55);background:rgba(var(--accent-strong-rgb), .1)}.food-result-image{width:56px;height:56px;color:var(--accent-strong);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.food-result-image img{object-fit:contain;width:100%;height:100%}.food-result-info{flex-direction:column;gap:4px;min-width:0;display:flex}.food-result-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.food-result-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:flex}.food-result-store{color:#6ee7b7;background:#10b98124;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:600}.food-result-nutrition{color:var(--text-secondary);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;font-size:.78rem;display:flex}.food-result-nutrition strong{color:var(--text-primary);font-size:.95rem}.food-result-per{font-size:.7rem}.food-search-footer{justify-content:space-between;align-items:center;gap:12px;font-size:.8rem;display:flex}.food-search-footer a{color:var(--accent-light);text-decoration:underline}@media (width<=640px){.food-search-modal{height:calc(100dvh - 20px);padding:16px}.food-result{grid-template-columns:48px minmax(0,1fr)}.food-result-image{width:48px;height:48px}.food-result-nutrition{grid-column:2;align-items:flex-start}.meal-item-row-header{display:none}.meal-item-row{grid-template-columns:46px minmax(0,1fr) auto}.meal-item-row>.glass-input{grid-column:2}}.food-search-hint-small{opacity:.8;font-size:.8rem}.nutrition-form{flex-direction:column;gap:18px;margin-bottom:24px;display:flex}.nutrition-details-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;display:grid}.nutrition-description{resize:vertical;min-height:52px;font-family:inherit}.nutrition-meals{flex-direction:column;gap:14px;display:flex}.nf-meal{border:1px solid var(--glass-border);background:rgba(var(--surface-rgb), .3);border-radius:16px;flex-direction:column;gap:14px;padding:16px;display:flex}.nf-meal-header{align-items:center;gap:14px;display:flex}.nf-meal-icon{width:40px;height:40px;color:var(--meal-color);background:color-mix(in srgb, var(--meal-color) 18%, transparent);border:1px solid color-mix(in srgb, var(--meal-color) 45%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--meal-color) 30%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nf-meal-name{flex:0 560px;min-width:0;position:relative}.nf-meal-name .glass-input{padding-right:40px;font-weight:600}.nf-meal-name svg{color:var(--accent);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.nf-text-danger{color:#dde2ffbf;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;margin-left:auto;padding:8px 10px;font-size:.88rem;display:inline-flex}.nf-text-danger svg{color:#fb7185}.nf-text-danger:hover:not(:disabled){color:#fecdd3;background:#f43f5e1f}.nf-text-danger:disabled,.nf-icon-danger:disabled{opacity:.35;cursor:not-allowed}.nf-icon-danger{color:#fb7185;cursor:pointer;background:#f43f5e14;border:1px solid #f43f5e66;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.nf-icon-danger:hover:not(:disabled){background:#f43f5e33}.nf-options{grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:14px;display:grid}.nf-option{border:1px solid rgba(var(--accent-rgb), .2);background:rgba(var(--surface-rgb), .5);border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.nf-option-header{justify-content:space-between;align-items:center;display:flex}.nf-option-header .nf-icon-danger{background:0 0;border-color:#0000;width:34px;height:34px}.nf-option-pill{color:#ede9fe;background:rgba(var(--accent-strong-rgb), .3);border:1px solid rgba(var(--accent-rgb), .45);border-radius:999px;align-self:flex-start;padding:5px 12px;font-size:.82rem;font-weight:700}.nf-option .meal-item-row-header,.nf-option .meal-item-row{grid-template-columns:48px minmax(0,1.5fr) minmax(0,1fr) 40px;gap:10px}.nf-option .meal-item-row{margin-bottom:0}.nf-option .log-add-set-inline{align-self:flex-start;margin-top:0}.nutrition-form .glass-input{background:rgba(var(--surface-rgb), .55);border-color:rgba(var(--accent-rgb), .22);padding:12px 14px;font-size:.98rem}.nutrition-form .glass-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb), .2)}.nutrition-page .page-header,.plans-page .page-header{gap:16px}.plan-list{flex-direction:column;gap:18px;display:flex}.nplan{flex-direction:column;gap:18px;padding:24px 26px;display:flex}.nplan-header{align-items:flex-start;gap:16px;display:flex}.nplan-icon{color:#fff;background:radial-gradient(circle at 35% 30%,#34d399,#047857);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 0 20px #34d39973}.nplan-title{flex:1;min-width:0}.nplan-title h3{margin:2px 0 4px;font-size:1.35rem}.nplan-title p{color:var(--text-secondary);margin:0 0 8px;font-size:.92rem}.nplan-stats{flex-wrap:wrap;gap:8px;display:flex}.nplan-stats span{color:var(--accent-light);background:rgba(var(--accent-strong-rgb), .14);border:1px solid rgba(var(--accent-rgb), .25);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600}.nplan-actions{flex-shrink:0;gap:8px;display:flex}.nplan-action{border:1px solid rgba(var(--accent-rgb), .3);background:rgba(var(--accent-strong-rgb), .12);color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.nplan-action:hover:not(:disabled){background:rgba(var(--accent-strong-rgb), .25)}.nplan-action.danger{color:#fb7185;background:#f43f5e14;border-color:#f43f5e66;padding:8px 10px}.nplan-action.danger:hover:not(:disabled){background:#f43f5e33}.nplan-meals{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.nplan-meal{border:1px solid var(--glass-border);border-top:3px solid var(--meal-color);background:rgba(var(--surface-rgb), .3);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.nplan-meal-header{align-items:center;gap:10px;display:flex}.nplan-meal-header h4{margin:0;font-size:1.05rem}.nplan-meal-icon{width:34px;height:34px;color:var(--meal-color);background:color-mix(in srgb, var(--meal-color) 18%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nplan-meal-count{color:var(--text-secondary);margin-left:auto;font-size:.78rem}.nplan-options{flex-direction:column;gap:10px;display:flex}.nplan-option{flex-direction:column;gap:8px;display:flex}.nplan-option+.nplan-option{border-top:1px dashed rgba(var(--accent-rgb), .25);padding-top:10px}.nplan-foods{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.nplan-food{align-items:center;gap:12px;display:flex}.nplan-food-image{background:rgba(var(--accent-strong-rgb), .12);width:42px;height:42px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.nplan-food-image img{object-fit:contain;background:#fff;width:100%;height:100%}.nplan-food-text{flex-direction:column;flex:1;min-width:0;display:flex}.nplan-food-name{font-size:.92rem;font-weight:600}.nplan-food-meta{color:var(--text-secondary);font-size:.76rem}.nplan-food-quantity{color:#ddd6fe;background:rgba(var(--accent-strong-rgb), .16);text-align:right;border-radius:999px;flex-shrink:0;max-width:40%;padding:3px 10px;font-size:.78rem;font-weight:600}.nplan-legacy{margin:0}@media (width<=900px){.nutrition-details-grid,.nf-options{grid-template-columns:1fr}}@media (width<=640px){.nf-meal{padding:12px}.nf-meal-header{flex-wrap:wrap}.nf-meal-name{flex:1 1 0}.nf-text-danger{gap:0;margin-left:0;font-size:0}.nf-option .meal-item-row-header{display:none}.nf-option .meal-item-row{grid-template-columns:46px minmax(0,1fr) 40px}.nf-option .meal-item-row>.glass-input{grid-column:2}.nplan{padding:18px 16px}.nplan-header{flex-wrap:wrap}.nplan-actions{width:100%}.nplan-meals{grid-template-columns:1fr}}.plan-form-exercises{flex-direction:column;gap:8px;display:flex}.plan-form-head,.plan-form-row{grid-template-columns:40px minmax(0,2.4fr) repeat(3,minmax(0,1fr)) 40px;align-items:center;gap:12px;display:grid}.plan-form-head{color:var(--text-secondary);padding:0 0 4px;font-size:.82rem;font-weight:700}.plan-form-head span:first-child{text-align:center}.plan-form .glass-input.input-invalid{border-color:#fb7185;box-shadow:0 0 0 3px #f43f5e2e}.plan-form input[type=number]{appearance:textfield}.plan-form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.plan-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.nplan-icon.plan-icon{background:radial-gradient(circle at 35% 30%, var(--accent), var(--accent-deep));box-shadow:0 0 20px rgba(var(--accent-strong-rgb), .5)}.plan-exercise-image{background:color-mix(in srgb, currentColor 14%, transparent)}.plan-exercise-image img{object-fit:cover}.plan-exercise-targets{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.plan-exercise-targets .nplan-food-quantity{white-space:nowrap;max-width:none}.plan-exercise-load{color:var(--text-secondary);font-size:.76rem}@media (width<=640px){.plan-form-head{display:none}.plan-form-row{grid-template-columns:34px repeat(3,minmax(0,1fr)) 40px;gap:8px}.plan-form-row .exercise-picker-trigger{grid-column:2/-1}.plan-form-row>input:first-of-type{grid-column:2}}.nplan-day-actions{border-top:1px solid rgba(var(--accent-rgb), .15);flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px;display:flex}.nplan-day-actions .nplan-action{padding:7px 12px;font-size:.82rem}.nplan-start{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));box-shadow:0 0 14px rgba(var(--accent-strong-rgb), .45);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;font-weight:700;transition:transform .12s;display:inline-flex}.nplan-start:hover{transform:translateY(-1px)}.nplan-day-edit{flex-direction:column;grid-column:1/-1;gap:12px;margin-bottom:0;display:flex}.log-exercise-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:12px 0 0 54px;display:flex}.log-type-select{color:var(--text-secondary);align-items:center;gap:10px;font-size:.84rem;font-weight:600;display:inline-flex}.log-type-select .ui-select{min-width:190px}.log-type-select .ui-select-trigger{padding:8px 12px;font-size:.9rem;font-weight:600}.log-exercise.typed{border-color:color-mix(in srgb, var(--type-color) 45%, transparent);box-shadow:inset 3px 0 0 var(--type-color)}.log-exercise.typed .log-type-select .ui-select-trigger{border-color:var(--type-color);color:color-mix(in srgb, var(--type-color) 45%, white)}.log-type-hint{color:color-mix(in srgb, var(--type-color,var(--accent)) 55%, white);margin:8px 0 0 54px;font-size:.82rem}.log-type-hint strong{color:var(--text-primary)}.log-record{color:#fde68a;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.log-record svg{color:#fbbf24;flex-shrink:0}.log-record strong{color:#fef3c7}.log-record-date,.log-record.empty,.log-record.empty svg{color:var(--text-secondary)}.log-set-check{color:#6ee7b7bf;cursor:pointer;background:0 0;border:1.5px solid #34d39973;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,color .15s;display:inline-flex}.log-set-check:hover:not(:disabled){color:#6ee7b7;background:#10b98126}.log-set-check.checked{color:#fff;background:#10b981;border-color:#10b981;box-shadow:0 0 12px #10b9818c}.log-set-check:disabled{opacity:.3;cursor:not-allowed}.log-exercise-set.done{background:#10b9811a;border-radius:12px;box-shadow:inset 0 0 0 1px #10b98159}.log-exercise-set.done .log-exercise-set-number{color:#6ee7b7}.log-exercise-set.done .glass-input:disabled{opacity:1;color:#d1fae5;cursor:not-allowed;background:#064e3b59;border-color:#10b98159}.log-done-count{color:#6ee7b7;margin-left:4px}.achievement-toast{z-index:200;max-width:min(520px,100vw - 32px);color:var(--text-primary);cursor:pointer;background:linear-gradient(135deg,#3b2a06,#1e1b4b 70%);border:1px solid #fbbf2499;border-radius:18px;align-items:center;gap:16px;padding:16px 22px 16px 16px;animation:.45s cubic-bezier(.2,1.4,.4,1) both achievement-in;display:flex;position:fixed;top:24px;left:50%;box-shadow:0 0 0 1px #fbbf2433,0 12px 40px #0000008c,0 0 40px #fbbf244d}.achievement-toast-icon{color:#451a03;background:radial-gradient(circle at 35% 30%,#fde68a,#d97706);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 0 22px #fbbf24b3}.achievement-toast-text{flex-direction:column;gap:2px;min-width:0;display:flex}.achievement-toast-text strong{color:#fde68a;font-size:1.1rem}.achievement-toast-detail{color:var(--text-secondary);font-size:.82rem}@keyframes achievement-in{0%{opacity:0;transform:translate(-50%,-24px)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}.week-calendar-wrap{margin-bottom:20px}.week-calendar-wrap .week-calendar{margin-bottom:0}.week-calendar-nav{align-items:center;gap:12px;margin-bottom:12px;display:flex}.week-calendar-range{text-align:center;min-width:170px;font-size:1rem;font-weight:700}.week-nav-button{border:1px solid var(--glass-border);background:var(--glass-bg);width:34px;height:34px;color:var(--accent-light);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.week-nav-button:hover:not(:disabled){background:rgba(var(--accent-strong-rgb), .2)}.week-nav-button:disabled{opacity:.35;cursor:not-allowed}.week-nav-prev{display:inline-flex;transform:rotate(180deg)}.week-day:hover{border-color:rgba(var(--accent-rgb), .5);transform:translateY(-1px)}.week-day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.week-day.future{opacity:.55}.week-day-today{vertical-align:middle;color:#fbcfe8;background:#ec489947;border-radius:999px;padding:1px 7px;font-size:.66rem;font-weight:700;position:absolute;top:8px;right:8px}.week-day.today:not(.selected){border-color:#ec489973}.day-header{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 14px;display:flex}.day-header h2{align-items:center;gap:10px;margin:0;font-size:1.25rem;display:flex}.day-header h2 svg{color:var(--accent)}.day-header-today{color:#fbcfe8;background:#ec489947;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.ui-select,.ui-date{min-width:0;position:relative}.ui-select-trigger{border:1px solid rgba(var(--accent-rgb), .22);background:rgba(var(--surface-rgb), .55);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:.98rem;transition:border-color .15s,box-shadow .15s;display:flex}.ui-select-trigger:hover:not(:disabled){border-color:rgba(var(--accent-rgb), .5)}.ui-select-trigger:focus-visible,.ui-select-trigger.open{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-strong-rgb), .2);outline:none}.ui-select-trigger:disabled{opacity:.55;cursor:not-allowed}.ui-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-select-value.placeholder{color:var(--text-secondary)}.ui-select-chevron{color:var(--accent);flex-shrink:0;transition:transform .15s;display:inline-flex;transform:rotate(90deg)}.ui-select-trigger.open .ui-select-chevron{transform:rotate(-90deg)}.ui-select-dot{background:var(--option-color,var(--accent));width:9px;height:9px;box-shadow:0 0 8px var(--option-color,var(--accent));border-radius:50%;flex-shrink:0}.ui-popover{z-index:300;border:1px solid rgba(var(--accent-rgb), .35);background:rgb(var(--surface-rgb));max-width:calc(100vw - 16px);box-shadow:0 18px 40px #020414a6, 0 0 0 1px rgba(var(--accent-strong-rgb), .12);border-radius:14px;padding:6px;animation:.12s ease-out ui-popover-in;position:fixed}@keyframes ui-popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-select-list{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;gap:2px;max-height:min(360px,60vh);display:flex;overflow-y:auto}.ui-select-option{width:100%;max-width:380px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:.94rem;display:flex}.ui-select-option.active{background:rgba(var(--accent-strong-rgb), .18)}.ui-select-option.selected .ui-select-option-label{color:#ede9fe;font-weight:700}.ui-select-option-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-select-option-description{color:var(--text-secondary);font-size:.76rem;line-height:1.35}.ui-select-check,.ui-date-icon{color:var(--accent);flex-shrink:0;display:inline-flex}.ui-calendar{width:296px;padding:12px}.ui-calendar-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ui-calendar-title{font-weight:700}.ui-calendar-nav{border:1px solid var(--glass-border);width:32px;height:32px;color:var(--accent-light);cursor:pointer;background:#ffffff0a;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.ui-calendar-nav.prev svg{transform:rotate(180deg)}.ui-calendar-nav:hover:not(:disabled){background:rgba(var(--accent-strong-rgb), .2)}.ui-calendar-nav:disabled{opacity:.3;cursor:not-allowed}.ui-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.ui-calendar-weekday{text-align:center;color:var(--text-secondary);padding:4px 0;font-size:.74rem;font-weight:700}.ui-calendar-day{height:34px;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;font-size:.88rem}.ui-calendar-day:hover:not(:disabled){background:rgba(var(--accent-strong-rgb), .18)}.ui-calendar-day.today{color:#fbcfe8;border-color:#ec489999}.ui-calendar-day.selected{background:linear-gradient(135deg, var(--accent-strong), var(--accent-deep));color:#fff;box-shadow:0 0 12px rgba(var(--accent-strong-rgb), .55);border-color:#0000;font-weight:700}.ui-calendar-day:disabled{opacity:.25;cursor:not-allowed}.ui-calendar-footer{border-top:1px solid var(--glass-border);justify-content:flex-end;margin-top:10px;padding-top:10px;display:flex}.ui-calendar-today{border:1px solid rgba(var(--accent-rgb), .35);background:rgba(var(--accent-strong-rgb), .14);color:#ede9fe;font:inherit;cursor:pointer;border-radius:9px;padding:6px 14px;font-size:.84rem;font-weight:600}.ui-calendar-today:hover:not(:disabled){background:rgba(var(--accent-strong-rgb), .28)}.profile-progress{flex-direction:column;gap:16px;margin-top:28px;display:flex}.profile-section-header h2{margin:0;font-size:1.3rem}.profile-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.profile-stat .stat-tile-value{font-size:2rem}.profile-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.profile-chart-card{min-width:0;padding:20px 22px 14px}.profile-chart-card h3{margin:0;font-size:1.05rem}.profile-chart-card>.text-secondary{margin:2px 0 10px;font-size:.82rem}.progress-chart-box{width:100%;position:relative}.progress-chart-box svg{display:block}.pc-grid{stroke:#dde2ff14;stroke-width:1px}.pc-axis{fill:var(--text-secondary);font-size:11px}.pc-bar{fill:var(--series);transition:opacity .12s}.progress-chart-box:hover .pc-bar:not(.active){opacity:.55}.pc-line{fill:none;stroke:var(--series);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.pc-area{fill:var(--series);opacity:.1}.pc-dot{fill:var(--series);stroke:rgb(var(--surface-rgb));stroke-width:2px;transition:r .12s}.pc-crosshair{stroke:#dde2ff59;stroke-width:1px}.pc-line2{fill:none;stroke:var(--series2);stroke-width:2px;stroke-dasharray:5 4;stroke-linejoin:round;stroke-linecap:round}.pc-dot2{fill:var(--series2);stroke:rgb(var(--surface-rgb));stroke-width:2px;transition:r .12s}.pc-tooltip-key-dashed{background:0 0;border-top:2px dashed;border-radius:0;width:12px;height:0}.pc-tooltip{--tx:-50%;transform:translate(var(--tx), -100%);border:1px solid rgba(var(--accent-rgb), .35);background:rgb(var(--surface-rgb));white-space:nowrap;pointer-events:none;z-index:2;border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;display:flex;position:absolute;box-shadow:0 8px 20px #02041499}.pc-tooltip.align-end{--tx:calc(-100% + 16px)}.pc-tooltip.align-start{--tx:-16px}.pc-tooltip-label{color:var(--text-secondary);font-size:.74rem}.pc-tooltip-value{color:var(--text-primary);align-items:center;gap:8px;font-size:.98rem;font-weight:700;display:inline-flex}.pc-tooltip-key{border-radius:3px;width:10px;height:10px}.profile-records{padding:20px 22px}.profile-records-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.profile-records-header h3{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.profile-records-header h3 svg{color:#fbbf24}.profile-records-header .text-secondary{font-size:.82rem}.profile-records-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:0 0 8px;padding:0;list-style:none;display:grid}.profile-record{border:1px solid var(--glass-border);background:rgba(var(--surface-rgb), .3);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.profile-record-image{background:color-mix(in srgb, currentColor 14%, transparent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;overflow:hidden}.profile-record-image img{object-fit:cover;width:100%;height:100%}.profile-record-text{flex-direction:column;flex:1;min-width:0;display:flex}.profile-record-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.profile-record-meta{color:var(--text-secondary);font-size:.78rem}.profile-record-value{color:var(--text-secondary);flex-direction:column;flex-shrink:0;align-items:flex-end;font-size:.8rem;display:flex}.profile-record-value strong{color:#fde68a;font-size:1rem}@media (width<=1100px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-charts{grid-template-columns:1fr}}@media (width<=768px){.profile-role-badge-desktop{display:none}.profile-role-badge-mobile{display:inline-block}.profile-summary{padding:18px}.profile-charts{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.profile-chart-card{padding:12px 10px 8px}.profile-chart-card h3{font-size:.78rem}.profile-chart-card>.text-secondary{margin:0 0 6px;font-size:.66rem}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preview-card{padding:14px}.preview-card h3{font-size:.86rem}.preview-caption{font-size:.72rem}.profile-records-list{scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;margin:0 -20px 8px;padding:0 20px 4px;display:flex;overflow-x:auto}.profile-records-list::-webkit-scrollbar{display:none}.profile-record{scroll-snap-align:start;flex:0 0 200px}}@media (width<=640px){.profile-stats{gap:10px}.profile-stat{padding:14px}.profile-stat .stat-tile-header{gap:8px}.profile-stat .stat-tile-icon{width:36px;height:36px}.profile-stat .stat-tile-label{font-size:.8rem}.profile-stat .stat-tile-value{font-size:1.45rem}.profile-stat .stat-tile-unit{font-size:1rem}.profile-stat .stat-tile-sub{font-size:.74rem}.profile-records-header{flex-direction:column;align-items:flex-start;gap:2px}}.plan-creator{color:var(--text-secondary);background:color-mix(in srgb, var(--role-color,var(--accent)) 12%, transparent);border:1px solid color-mix(in srgb, var(--role-color,var(--accent)) 35%, transparent);border-radius:999px;align-items:center;gap:6px;margin-bottom:8px;padding:3px 10px;font-size:.8rem;display:inline-flex}.plan-creator svg{color:var(--role-color,var(--accent))}.plan-creator strong{color:var(--text-primary)}.plan-creator.personal{--role-color:#94a3b8}.schedule-card{padding:14px 14px 10px}.tt-grid-wrap{overflow-x:auto}.tt-grid{grid-template-columns:50px repeat(7,minmax(0,1fr));grid-template-rows:auto calc(var(--hours) * var(--hour-height));display:grid}.tt-day-head{letter-spacing:.02em;color:var(--text-secondary);justify-content:center;padding:0 0 12px;font-size:.85rem;font-weight:700;display:flex}.tt-day-head.today{color:#fff}.tt-day-head{flex-direction:column;align-items:center;gap:5px}.tt-day-head.today .tt-day-name:after{content:"";vertical-align:middle;background:#f472b6;border-radius:50%;width:6px;height:6px;margin:-2px 0 0 6px;display:inline-block;box-shadow:0 0 8px #f472b6}.tt-hours{flex-direction:column;display:flex}.tt-hour{height:var(--hour-height);text-align:right;font-variant-numeric:tabular-nums;color:#dde2ff73;padding-right:10px;font-size:.7rem;transform:translateY(-.55em)}.tt-day{border-left:1px solid #dde2ff0d;flex-direction:column;display:flex;position:relative}.tt-day.today{background:linear-gradient(#f472b612,#f472b605)}.tt-slot{height:var(--hour-height);border-top:1px solid #dde2ff0f;position:relative}.tt-slot:after{content:"";border-top:1px dashed #dde2ff08;position:absolute;top:50%;left:0;right:0}.tt-item{z-index:1;background:linear-gradient(90deg, var(--item-color) 0 3px, transparent 3px), color-mix(in srgb, var(--item-color) 32%, rgb(var(--surface-rgb)));color:var(--text-primary);font:inherit;text-align:left;border:none;border-radius:10px;flex-direction:column;gap:2px;padding:7px 9px 7px 11px;display:flex;position:absolute;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 4px 12px #02041440}button.tt-item{cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}button.tt-item:hover{z-index:2;background:linear-gradient(90deg, var(--item-color) 0 3px, transparent 3px), color-mix(in srgb, var(--item-color) 42%, rgb(var(--surface-rgb)));transform:translateY(-1px);box-shadow:0 8px 20px #02041473}.tt-item.vacant{background:linear-gradient(90deg, var(--item-color) 0 3px, transparent 3px), rgba(var(--surface-rgb), .6);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--item-color) 45%, transparent);outline:1px dashed color-mix(in srgb, var(--item-color) 55%, transparent);outline-offset:-1px}.tt-item.warning{box-shadow:inset 0 0 0 1px #fbbf24b3,0 4px 12px #02041440}.tt-tooltip{background:rgb(var(--surface-rgb));border:1px solid rgba(var(--accent-rgb), .35);color:var(--text-primary);white-space:nowrap;pointer-events:none;z-index:500;border-radius:8px;padding:6px 10px;font-size:.78rem;font-weight:600;position:fixed;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 8px 20px #02041499}.tt-item-time{font-variant-numeric:tabular-nums;color:#dde2ff99;font-size:.68rem}.tt-item-title{font-size:.84rem;font-weight:700;line-height:1.2}.tt-item-subtitle{color:#dde2ffb8;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.tt-item-badge{white-space:nowrap;color:color-mix(in srgb, var(--item-color) 35%, white);background:color-mix(in srgb, var(--item-color) 22%, transparent);border-radius:999px;align-self:flex-start;margin-top:auto;padding:1px 7px;font-size:.64rem;font-weight:700}.tt-item.vacant .tt-item-badge{color:#e2e8f0;background:#94a3b838}.tt-item.warning .tt-item-badge{color:#451a03;background:#fbbf24}.tt-item.compact{padding-top:4px;padding-bottom:4px}.tt-item.compact .tt-item-subtitle{display:none}.tt-empty{text-align:center;margin:14px 0 0}@media (width<=768px){.tt-grid{grid-template-columns:38px repeat(7,minmax(100px,1fr));min-width:max-content}.tt-day-head{padding-bottom:8px;font-size:.7rem}.tt-hour{padding-right:6px;font-size:.6rem}.tt-item-time,.tt-item-title,.tt-item-subtitle{font-size:.6rem}}.tt-hour{position:relative}.tt-hour-half{color:#dde2ff47;font-size:.6rem;position:absolute;top:50%;right:10px}.timetable.dense{--day-pad:5px}.timetable.dense .tt-day{border-left:1px solid #dde2ff1f}.timetable.dense .tt-day.alt,.timetable.dense .tt-day-head.alt{background:#dde2ff08}.timetable.dense .tt-day-head{border-left:1px solid #dde2ff1f;border-radius:10px 10px 0 0;padding:8px 0}.timetable.dense .tt-day-name{font-size:.92rem}.tt-lanes{width:calc(100% - 2 * var(--day-pad,0px));display:flex}.tt-lanes span{text-align:center;letter-spacing:.05em;text-transform:uppercase;color:#dde2ff66;flex:1;min-width:0;font-size:.58rem;font-weight:600;overflow:hidden}.timetable.dense .tt-slot:after{border-top-color:#dde2ff0d}.tt-item.dense{box-shadow:none;border-radius:7px;gap:0;padding:4px 6px 4px 9px}.tt-item.dense .tt-item-title{overflow-wrap:break-word;white-space:normal;font-size:.74rem;line-height:1.15;overflow:hidden}.tt-item.dense .tt-item-subtitle{color:color-mix(in srgb, var(--item-color) 45%, white);font-size:.64rem;font-weight:500}.tt-item.dense.narrow{align-items:center;padding:8px 2px 8px 5px}.tt-item.dense.narrow .tt-item-title{writing-mode:vertical-rl;white-space:nowrap;letter-spacing:.02em;max-height:100%;font-size:.78rem}.tt-item.dense.narrow .tt-item-subtitle,.tt-item.dense.narrow .tt-item-time,.tt-item.dense.short .tt-item-time{display:none}.tt-item.dense.narrow.short{align-items:flex-start;padding:3px 1px 3px 5px}.tt-item.dense.narrow.short .tt-item-title{writing-mode:horizontal-tb;letter-spacing:0;text-overflow:clip;font-size:.62rem}.tt-item.dense .tt-item-time{color:#dde2ff73;margin-top:auto;font-size:.6rem}.tt-item-subtitle.who{color:#ecefffeb;font-weight:600}.management-staff li{gap:8px}.management-staff-link{flex:1;min-width:0}.team-remove{color:#fda4af;font:inherit;cursor:pointer;background:0 0;border:1px solid #f43f5e59;border-radius:8px;flex-shrink:0;padding:5px 10px;font-size:.78rem;font-weight:600}.team-remove:hover{background:#f43f5e26}.schedule-legend{color:var(--text-secondary);flex-wrap:wrap;gap:8px 16px;margin-bottom:14px;font-size:.84rem;display:flex}.schedule-legend span{align-items:center;gap:6px;display:inline-flex}.schedule-legend span:before{content:"";background:var(--item-color,#94a3b8);border-radius:3px;width:12px;height:12px}.schedule-legend .vacant:before{background:0 0;border:1.5px dashed #94a3b8}.schedule-legend .warning:before{background:0 0;border:1.5px solid #fbbf24}.schedule-alert{background:linear-gradient(90deg, #fbbf2424, transparent 60%), var(--glass-bg-strong);border-color:#fbbf2473;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:14px;padding:14px 18px;display:flex}.schedule-alert strong{color:#fde68a}.schedule-alert .glass-button{margin-left:auto;padding:8px 14px;font-size:.85rem}.schedule-note{margin-top:10px;font-size:.82rem}.schedule-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.schedule-form{width:100%;max-width:620px}.schedule-form h3{margin:0 0 16px}.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.schedule-form-grid label,.schedule-form-grid>div{flex-direction:column;min-width:0;display:flex}.schedule-form-grid .span-2{grid-column:1/-1}.schedule-form .glass-input{background:rgba(var(--surface-rgb), .55);border-color:rgba(var(--accent-rgb), .22)}.schedule-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.schedule-form-actions .nf-text-danger{margin-left:0;margin-right:auto}.session-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:4px;display:grid}.session-detail-grid .span-2{grid-column:1/-1}.session-detail-value{color:var(--text-primary);margin-top:4px;font-size:.97rem}.client-source-badge{border-radius:20px;padding:2px 7px;font-size:.7rem}.client-source-gym{color:#3b82f6;background:#3b82f626}.client-source-external{color:#f59e0b;background:#f59e0b26}.invite-code-box{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;align-items:center;gap:10px;margin-top:8px;padding:8px 14px;display:inline-flex}.invite-code-value{letter-spacing:.12em;color:var(--accent);font-family:monospace;font-size:1.1rem;font-weight:600}.invite-code-copy{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.8rem;transition:color .15s}.invite-code-copy:hover{color:var(--accent)}.class-detail{border-top:3px solid var(--item-color);flex-direction:column;gap:10px;width:100%;max-width:520px;display:flex}.class-detail h3{margin:0;font-size:1.4rem}.class-detail-kind{background:color-mix(in srgb, var(--item-color) 25%, transparent);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:.76rem;font-weight:700}.class-detail-facts{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.class-detail-facts li{align-items:center;gap:8px;display:flex}.class-detail-facts svg{color:var(--accent)}.class-detail-alert{color:#fde68a;background:#fbbf241f;border:1px solid #fbbf2466;border-radius:10px;margin:0;padding:10px 12px}.class-detail-ask{gap:8px;display:flex}.team-chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.team-chip{border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:1px;padding:8px 14px;font-size:.9rem;display:flex}.team-chip span{color:var(--text-secondary);font-size:.74rem}.team-chip.active{border-color:var(--accent);background:rgba(var(--accent-strong-rgb), .25);box-shadow:0 0 14px rgba(var(--accent-strong-rgb), .35)}@media (width<=768px){.team-chips{gap:6px}.team-chip{flex:calc(50% - 6px);min-width:0;padding:7px 10px;font-size:.8rem}.team-chip strong,.team-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-chip span{font-size:.68rem}}.management-tile-link{min-width:0;display:block}.management-tile-link .profile-stat{height:100%;transition:border-color .15s}.management-tile-link:hover .profile-stat{border-color:rgba(var(--accent-rgb), .5)}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.management-card{flex-direction:column;gap:10px;padding:20px 22px;display:flex}.management-card h3{margin:0;font-size:1.05rem}.management-card>.glass-button{align-self:flex-start;margin-top:auto;padding:8px 14px;font-size:.85rem}.management-list,.management-staff,.management-top{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.management-list li{justify-content:space-between;align-items:baseline;gap:10px;font-size:.92rem;display:flex}.management-list li:has(.management-dot){justify-content:flex-start}.management-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;transform:translateY(-1px)}.management-dot.warning{background:#fbbf24}.management-dot.vacant{background:#94a3b8}.management-links{gap:8px;margin-top:auto;display:flex}.management-links .glass-button{padding:8px 14px;font-size:.85rem}.management-staff li{background:rgba(var(--surface-rgb), .3);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.88rem;display:flex}.management-staff-name{align-items:center;gap:8px;display:flex}.management-top a{border-radius:10px;align-items:center;gap:10px;padding:6px 8px;font-size:.9rem;display:flex}.management-top a:hover{background:rgba(var(--accent-strong-rgb), .12)}.management-top a .text-secondary{margin-left:auto;font-size:.8rem}.management-top .member-card-avatar{width:32px;height:32px;font-size:.85rem}.management-rank{color:#fde68a;width:18px;font-weight:700}@media (width<=1000px){.management-grid{grid-template-columns:1fr}}@media (width<=640px){.schedule-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-form-grid{grid-template-columns:1fr}}.page-header-actions{flex-wrap:wrap;gap:10px;display:flex}.management-staff-link{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.management-staff li:has(.management-staff-link):hover{background:rgba(var(--accent-strong-rgb), .16)}.remove-person-button{color:#fecdd3;border-color:#f43f5e73}.remove-person-button:hover{background:#f43f5e2e}.add-person-hint{margin:10px 0 0;font-size:.8rem}.generate-rules{flex-direction:column;gap:6px;margin:0 0 12px;padding-left:18px;font-size:.92rem;display:flex}.generate-result p{margin:0 0 10px}.generate-gaps{color:#fde68a;margin:0 0 10px;padding-left:18px;font-size:.85rem}.generate-hours{flex-direction:column;gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.generate-hours li{background:rgba(var(--surface-rgb), .35);border-radius:8px;justify-content:space-between;gap:10px;padding:6px 10px;font-size:.88rem;display:flex}.tt-item.busy{opacity:.55;cursor:default}button.tt-item.busy:hover{box-shadow:none;transform:none}.clients-grid{margin-bottom:28px}.client-tile{flex-direction:column;gap:12px;display:flex}.client-tile-head{color:inherit;text-decoration:none}.client-tile-head:hover .member-tile-name{text-decoration:underline}.client-sessions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.client-session-chip,.client-session-add{border:1px solid rgba(var(--accent-rgb), .45);background:rgba(var(--accent-rgb), .16);color:var(--accent-light);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600}.client-session-add{background:0 0;border-style:dashed;padding:4px 9px}.client-session-chip:hover,.client-session-add:hover{background:rgba(var(--accent-rgb), .28)}.client-no-session{font-size:.8rem}@media (width<=768px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-tile{gap:10px;padding:12px}.member-tile-header{gap:8px}.member-tile .member-card-avatar{width:38px;height:38px;font-size:.95rem}.member-tile-name{font-size:.9rem}.member-tile-email{font-size:.72rem}.member-tile-role{padding:2px 8px;font-size:.68rem}.member-tile-stats{gap:5px;padding-top:10px}.member-tile-stat{font-size:.74rem}.client-source-badge{padding:1px 6px;font-size:.62rem}.client-session-chip,.client-session-add{padding:3px 8px;font-size:.68rem}.client-no-session{font-size:.7rem}}.clients-schedule-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.clients-schedule-head h2{margin:0;font-size:1.2rem}.clients-schedule-head .schedule-legend{margin:0}.clients-form-hint{margin-top:12px}.modal-content.generate-modal-wrap{max-width:860px}.generate-modal{max-width:none}.generate-intro{margin:-6px 0 14px;font-size:.86rem}.generate-section{margin-bottom:16px}.generate-section .log-label span{color:var(--text-secondary);font-weight:400}.generate-rules-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.generate-field-label{color:var(--text-secondary);margin-bottom:5px;font-size:.75rem;display:block}.generate-people{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.generate-people li{background:rgba(var(--surface-rgb), .4);border-radius:10px;grid-template-columns:minmax(0,1fr) auto 104px 112px;align-items:center;gap:10px;padding:7px 10px;display:grid}.generate-people li.off{opacity:.45}.generate-person{cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex}.generate-person input{width:16px;height:16px;accent-color:var(--accent-strong)}.generate-person>span{flex-direction:column;min-width:0;display:flex}.generate-person strong{font-size:.88rem}.generate-person .text-secondary{font-size:.72rem}.generate-functions{gap:4px;display:flex}.generate-fn{border:1px solid rgba(var(--accent-rgb), .25);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 9px;font-size:.74rem}.generate-fn.on{background:rgba(var(--accent-strong-rgb), .35);color:#fff;border-color:#0000;font-weight:600}.generate-fn:disabled{cursor:default}.generate-hours-input{color:var(--text-secondary);align-items:center;gap:6px;font-size:.74rem;display:flex}.generate-hours-input .glass-input{text-align:center;width:56px;padding:6px 8px}.generate-tip{font-size:.8rem}@media (width<=760px){.generate-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.generate-people li{grid-template-columns:minmax(0,1fr) 104px}.generate-functions{grid-column:1/-1}}.tt-item.cancelled{opacity:.6;background:#94a3b81f;border-style:solid;border-color:#94a3b866 #94a3b866 #94a3b866 #94a3b8}.tt-item.cancelled .tt-item-title{text-decoration:line-through}.tt-item.cancelled .tt-item-badge{color:#fecdd3;background:#f43f5e59}.schedule-legend .cancelled:before{background:#94a3b859}.schedule-form-hint{margin:-4px 0 0;font-size:.8rem}.class-occurrence{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.class-occurrence>div{background:rgba(var(--surface-rgb), .4);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;font-size:.82rem;display:flex}.class-occurrence strong{font-size:1rem}.class-deadline{margin:0;font-size:.85rem}.class-detail-alert.cancelled{color:#fecdd3;background:#f43f5e1f;border-color:#f43f5e66}.class-enrolled ul{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.class-enrolled li{background:rgba(var(--accent-strong-rgb), .18);border-radius:999px;padding:3px 10px;font-size:.82rem}.class-enrolled p{margin:4px 0 0}.friends-link-card,.friends-add-card{margin-bottom:16px;padding:22px 24px}.friends-link-card h3,.friends-add-card h3{margin:0 0 14px}.friends-add-card h3{align-items:center;gap:8px;display:flex}.friends-link-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.friends-link-row .glass-button,.friends-link-row .glass-button-secondary{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.friends-add-form{gap:10px;display:flex}.friends-add-form .glass-input{flex:1}.friends-tabs{gap:8px;margin-bottom:14px;display:flex}.friends-tab{border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;padding:8px 16px;font-size:.86rem;font-weight:600}.friends-tab.active{border-color:var(--accent);background:rgba(var(--accent-strong-rgb), .25);color:var(--text-primary)}.friends-list{flex-direction:column;gap:4px;display:flex}.friend-row{border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.friend-row:hover{background:#ffffff0d}.friend-row-identity{min-width:0;color:inherit;flex:1;align-items:center;gap:10px;text-decoration:none;display:flex}.friend-row-identity>div{flex-direction:column;min-width:0;display:flex}.friend-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.friend-row-role{color:var(--text-secondary);font-size:.78rem}.friends-follow-back{flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;display:inline-flex}.invite-preview{text-align:center;flex-direction:column;align-items:center;display:flex}.invite-preview .member-card-avatar{width:72px;height:72px;font-size:1.6rem}.friend-compare-header{align-items:center;gap:14px;margin-bottom:16px;padding:16px 20px;display:flex}.friend-compare-header .member-card-avatar{width:52px;height:52px;font-size:1.2rem}.friend-unfollow-btn{white-space:nowrap;margin-left:auto}.compare-period-picker{gap:8px;margin-bottom:16px;display:flex}.friend-compare-card{flex-direction:column;gap:18px;margin-bottom:16px;padding:20px 22px;display:flex}.compare-legend{border-bottom:1px solid var(--glass-border);gap:16px;padding-bottom:12px;display:flex}.compare-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.compare-legend-item:before{content:"";border-radius:3px;width:10px;height:10px}.compare-legend-item.mine:before{background:var(--accent)}.compare-legend-item.theirs:before{background:#64748b}.compare-legend-item.dashed:before{background:0 0;border-top:2px dashed #94a3b8;border-radius:0;width:14px;height:0}.compare-row-label{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:8px;font-size:.86rem;font-weight:600;display:flex}.compare-row-values{justify-content:space-between;margin-bottom:6px;font-size:1.1rem;font-weight:700;display:flex}.compare-value.mine{color:var(--accent-light)}.compare-value.theirs{color:#94a3b8}.compare-bar{background:#ffffff0f;border-radius:999px;height:8px;display:flex;overflow:hidden}.compare-bar-mine{background:var(--accent)}.compare-bar-theirs{background:#64748b}.profile-follow-stats{flex-shrink:0;gap:12px;display:flex}.profile-follow-stat{border:1px solid var(--glass-border);background:rgba(var(--surface-rgb), .3);border-radius:14px;align-items:center;gap:12px;min-width:150px;padding:12px 16px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.profile-follow-stat:hover{border-color:rgba(var(--accent-strong-rgb), .4);background:rgba(var(--surface-rgb), .5)}.profile-follow-stat-body{flex-direction:column;gap:2px;display:flex}.profile-follow-stat-body .stat-tile-value{font-size:1.6rem}.profile-follow-stat-cta{color:var(--accent);align-items:center;gap:2px;font-size:.72rem;display:inline-flex}.subscription-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.subscription-card{align-items:center;gap:14px;padding:16px 18px;display:flex}.subscription-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.subscription-card-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.subscription-card-status{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.subscription-dot{background:#6b7280;border-radius:50%;flex-shrink:0;width:8px;height:8px}.subscription-dot.active{background:#34d399;box-shadow:0 0 6px #34d399b3}.subscription-dot.late{background:#fbbf24;box-shadow:0 0 6px #fbbf24b3}.subscription-detail-late{color:#fbbf24;margin:0;font-weight:600}.subscription-card-action{flex-shrink:0;min-height:44px;padding:8px 14px}.subscription-card-hint{max-width:120px;color:var(--text-secondary);text-align:right;flex-shrink:0;font-size:.72rem;line-height:1.3}.subscription-detail-price{color:var(--accent-light);margin:14px 0 4px;font-size:1.6rem;font-weight:800}
