:root{--color-placeholder:#000;--color-placeholder-hover:#0063f7;--color-text-secondary:#636363;--color-success:#4caf50;--color-success-dark:#2e7d32;--color-success-bg:#f1f8f1;--color-success-border:#c8e6c9;--color-info:#2196f3;--color-info-dark:#1565c0;--color-info-bg:#e3f2fd;--color-info-border:#90caf9;--color-warning:#ff9800;--color-warning-dark:#f57f17;--color-warning-bg:#fff8e1;--color-warning-border:#ffc107;--color-danger:#e53935;--color-danger-dark:#c62828;--color-danger-bg:#fdecea;--color-danger-border:#ef9a9a;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--color-bg-subtle:#fafafa;--color-bg-hover:#f5f5f5;--color-surface:#fff;--color-text:#111;--color-instructor:#c9960c;--color-instructor-bg:#fdf8e8;--color-instructor-border:#e8c547;--color-instructor-dark:#a67c00;--glow-instructor:0 0 8px #c9960c80, 0 0 20px #c9960c40;--shadow-card:0 0 10px #00000014;--shadow-panel:-4px 0 24px #0000001f;--shadow-modal:0 8px 40px #00000038;--btn-primary-bg:#000;--btn-primary-text:#fff;--btn-primary-hover-bg:#1a1a1a;--btn-primary-hover-shadow:0 8px 24px #00000080;--btn-secondary-border:#555;--btn-secondary-text:#222;--btn-secondary-hover-bg:#2a2a2a;--btn-secondary-active-bg:#111;--btn-icon-hover-bg:#e4e4e4}*{box-sizing:border-box;margin:0;padding:0;font-family:Montserrat Alternates,sans-serif}body{background:radial-gradient(#fff 0%,#000 100%);width:100%;min-height:100vh}.lp{color:#000;background:#fff;min-height:100vh;font-family:inherit;overflow-x:hidden}.lp-btn-primary{color:#fff;cursor:pointer;letter-spacing:.02em;background:#000;border:2px solid #000;border-radius:8px;padding:12px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:background .18s,color .18s,transform .15s,box-shadow .18s}.lp-btn-primary:hover{background:#1a1a1a;transform:translateY(-2px);box-shadow:0 8px 24px #00000038}.lp-btn-ghost{color:#000;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s}.lp-btn-ghost:hover{background:#f0f0f0}.lp-btn-outline{color:#000;cursor:pointer;background:0 0;border:2px solid #000;border-radius:8px;padding:12px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:background .18s,color .18s,transform .15s}.lp-btn-outline:hover{color:#fff;background:#000;transform:translateY(-2px)}.lp-btn-lg{border-radius:10px;padding:16px 36px;font-size:15px}.lp-logo{letter-spacing:-.5px;color:#000;align-items:center;gap:8px;font-size:20px;font-weight:900;text-decoration:none;display:flex}.lp-logo-img{object-fit:contain;filter:brightness(0);width:auto;height:32px}.lp-nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;padding:18px 60px;display:flex;position:sticky;top:0}.lp-nav-actions{align-items:center;gap:8px;display:flex}.lp-hero{color:#fff;background:#000;align-items:center;min-height:calc(100vh - 65px);padding:80px 60px;display:flex;position:relative;overflow:hidden}.lp-hero-inner{z-index:2;max-width:620px;position:relative}.lp-hero-tag{color:#000;letter-spacing:.1em;text-transform:uppercase;background:#fff;border-radius:100px;margin-bottom:28px;padding:5px 14px;font-size:11px;font-weight:800;display:inline-block}.lp-hero-title{letter-spacing:-2px;color:#fff;margin:0 0 24px;font-size:clamp(42px,6vw,80px);font-weight:900;line-height:1.04}.lp-hero-sub{color:#ffffffb8;margin-bottom:44px;font-size:17px;line-height:1.65}.lp-hero-actions{flex-wrap:wrap;gap:16px;display:flex}.lp-hero .lp-btn-primary{color:#000;background:#fff;border-color:#fff}.lp-hero .lp-btn-primary:hover{background:#e8e8e8;box-shadow:0 8px 28px #ffffff2e}.lp-hero .lp-btn-outline{color:#fff;border-color:#ffffff80}.lp-hero .lp-btn-outline:hover{color:#000;background:#fff;border-color:#fff}.lp-hero-grid{opacity:.12;pointer-events:none;grid-template-columns:repeat(7,1fr);gap:22px;display:grid;position:absolute;top:50%;right:60px;transform:translateY(-50%)}.lp-hero-cell{background:#fff;border-radius:50%;width:6px;height:6px}.lp-features{background:#fff;padding:100px 60px}.lp-section-title{letter-spacing:-1px;color:#000;margin:0 0 56px;font-size:32px;font-weight:900}.lp-features-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.lp-feature-card{border:1.5px solid #e8e8e8;border-radius:14px;padding:32px 28px;transition:border-color .18s,box-shadow .18s,transform .18s}.lp-feature-card:hover{border-color:#000;transform:translateY(-4px);box-shadow:0 8px 32px #00000014}.lp-feature-icon{margin-bottom:16px;font-size:26px;display:block}.lp-feature-title{color:#000;margin:0 0 10px;font-size:16px;font-weight:800}.lp-feature-desc{color:#555;margin:0;font-size:14px;line-height:1.65}.lp-cta{color:#fff;text-align:center;background:#000;padding:100px 60px}.lp-cta-title{letter-spacing:-1.5px;color:#fff;margin:0 0 18px;font-size:clamp(28px,4vw,48px);font-weight:900}.lp-cta-sub{color:#ffffffa6;margin:0 0 44px;font-size:16px;line-height:1.65}.lp-cta .lp-btn-primary{color:#000;background:#fff;border-color:#fff;font-size:16px}.lp-cta .lp-btn-primary:hover{background:#e8e8e8;box-shadow:0 8px 28px #ffffff26}.lp-footer{background:#fff;border-top:1px solid #e8e8e8;justify-content:space-between;align-items:center;padding:32px 60px;display:flex}.lp-footer-copy{color:#888;margin:0;font-size:13px}@media (width<=768px){.lp-nav{padding:16px 24px}.lp-hero{min-height:auto;padding:60px 24px}.lp-hero-grid{display:none}.lp-hero-title{letter-spacing:-1.5px}.lp-hero-sub br{display:none}.lp-hero-actions{flex-direction:column}.lp-hero-actions .lp-btn-lg{text-align:center;width:100%}.lp-features{padding:64px 24px}.lp-features-grid{grid-template-columns:1fr}.lp-cta{padding:64px 24px}.lp-cta-sub br{display:none}.lp-footer{text-align:center;flex-direction:column;gap:10px;padding:28px 24px}}.auth-page{justify-content:center;align-items:center;height:100vh;display:flex;overflow:hidden}.container{background:#fff;border-radius:10px;justify-content:center;align-items:center;width:60%;height:70%;margin:0;display:flex;position:relative;overflow:hidden;box-shadow:0 0 10px #0000001a}.form{flex-direction:column;width:50%;padding:20px;display:flex}.form h1{text-align:center}.form p{margin:10px 40px 25px}.server-alert{opacity:0;border-radius:4px;max-height:0;margin:0 35px;padding:0 14px;font-size:13px;font-weight:500;transition:max-height .4s,opacity .4s,padding .4s,margin .4s;overflow:hidden}.server-alert.visible{opacity:1;max-height:60px;margin:-12px 35px 16px;padding:8px 14px}.server-alert.error{color:#c62828;background:#fdecea;border-left:3px solid #e53935}.server-alert.success{color:#2e7d32;background:#e8f5e9;border-left:3px solid #4caf50}.form input{background:0 0;border:1px solid #0000;border-bottom-color:#000;border-radius:4px 4px 3px 3px;outline:none;margin:12px 20px;padding:10px;transition:border-color .3s}.form input::placeholder{color:var(--color-placeholder)}.input-wrapper{margin:12px 35px;position:relative;transform:translateZ(0)}.input-wrapper input{width:100%;margin:0;padding-right:40px}.input-wrapper label{pointer-events:none;color:var(--color-placeholder);background:0 0;padding:0 4px;font-size:16px;transition:top .3s,font-size .3s,color .3s,background .3s;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input-wrapper input:focus~label,.input-wrapper input:not(:placeholder-shown)~label{color:var(--color-placeholder);background:#fff;font-size:14px;top:0}.input-wrapper input:focus{border-color:var(--color-placeholder)}.input-wrapper svg{transition:color .3s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.input-wrapper input:focus~svg{color:var(--color-placeholder)}.form .button{background:var(--color-placeholder);color:#fff;cursor:pointer;border:none;border-radius:4px;align-self:center;width:70%;margin:20px;padding:10px;transition:transform .3s,box-shadow .3s,opacity .4s}.form .button:hover{background:radial-gradient(circle,#4a4a4a,#000);transform:translateY(-2px)}.card{justify-content:center;align-items:center;width:50%;height:100%;display:flex;position:relative}.card .form{width:100%}.form>*,.overlay-content>*{transition:transform .4s,opacity .4s}.container.loginActive .form.register>*{opacity:0;pointer-events:none;transform:translate(100%)}.container.loginActive .overlay-login>*,.container:not(.loginActive) .form.login>*{opacity:0;pointer-events:none;transform:translate(-100%)}.container:not(.loginActive) .overlay-register>*{opacity:0;pointer-events:none;transform:translate(100%)}.container:not(.loginActive) .form.login>:first-child{opacity:0;pointer-events:none;transition-delay:0s;transform:translate(-100%)}.container:not(.loginActive) .form.login>:nth-child(2){opacity:0;pointer-events:none;transition-delay:60ms;transform:translate(-100%)}.container:not(.loginActive) .form.login>:nth-child(3){opacity:0;pointer-events:none;transition-delay:.12s;transform:translate(-100%)}.container:not(.loginActive) .form.login>:nth-child(4){opacity:0;pointer-events:none;transition-delay:.18s;transform:translate(-100%)}.container:not(.loginActive) .form.login>:nth-child(5){opacity:0;pointer-events:none;transition-delay:.24s;transform:translate(-100%)}.container:not(.loginActive) .form.login>:nth-child(6){opacity:0;pointer-events:none;transition-delay:.3s;transform:translate(-100%)}.container:not(.loginActive) .form.login>:nth-child(7){opacity:0;pointer-events:none;transition-delay:.36s;transform:translate(-100%)}.container:not(.loginActive) .form.login>:nth-child(8){opacity:0;pointer-events:none;transition-delay:.42s;transform:translate(-100%)}.container:not(.loginActive) .overlay-register>:first-child{opacity:0;pointer-events:none;transition-delay:0s;transform:translate(100%)}.container:not(.loginActive) .overlay-register>:nth-child(2){opacity:0;pointer-events:none;transition-delay:60ms;transform:translate(100%)}.container:not(.loginActive) .overlay-register>:nth-child(3){opacity:0;pointer-events:none;transition-delay:.12s;transform:translate(100%)}.container:not(.loginActive) .overlay-register>:nth-child(4){opacity:0;pointer-events:none;transition-delay:.18s;transform:translate(100%)}.container:not(.loginActive) .form.register>:first-child{opacity:1;pointer-events:auto;transition-delay:.8s;transform:translate(0)}.container:not(.loginActive) .form.register>:nth-child(2){opacity:1;pointer-events:auto;transition-delay:.86s;transform:translate(0)}.container:not(.loginActive) .form.register>:nth-child(3){opacity:1;pointer-events:auto;transition-delay:.92s;transform:translate(0)}.container:not(.loginActive) .form.register>:nth-child(4){opacity:1;pointer-events:auto;transition-delay:.98s;transform:translate(0)}.container:not(.loginActive) .form.register>:nth-child(5){opacity:1;pointer-events:auto;transition-delay:1.04s;transform:translate(0)}.container:not(.loginActive) .form.register>:nth-child(6){opacity:1;pointer-events:auto;transition-delay:1.1s;transform:translate(0)}.container:not(.loginActive) .form.register>:nth-child(7){opacity:1;pointer-events:auto;transition-delay:1.16s;transform:translate(0)}.container:not(.loginActive) .form.register>:nth-child(8){opacity:1;pointer-events:auto;transition-delay:1.22s;transform:translate(0)}.container:not(.loginActive) .form.register>:nth-child(9){opacity:1;pointer-events:auto;transition-delay:1.28s;transform:translate(0)}.container:not(.loginActive) .overlay-login>:first-child{opacity:1;pointer-events:auto;transition:background .3s,color .3s,transform .4s .8s,opacity .4s .8s;transform:translate(0)}.container:not(.loginActive) .overlay-login>:nth-child(2){opacity:1;pointer-events:auto;transition:background .3s,color .3s,transform .4s .86s,opacity .4s .86s;transform:translate(0)}.container:not(.loginActive) .overlay-login>:nth-child(3){opacity:1;pointer-events:auto;transition:background .3s,color .3s,transform .4s .92s,opacity .4s .92s;transform:translate(0)}.container:not(.loginActive) .overlay-login>:nth-child(4){opacity:1;pointer-events:auto;transition:background .3s,color .3s,transform .4s .98s,opacity .4s .98s;transform:translate(0)}.container.loginActive .form.register>:first-child{opacity:0;pointer-events:none;transition-delay:0s;transform:translate(100%)}.container.loginActive .form.register>:nth-child(2){opacity:0;pointer-events:none;transition-delay:60ms;transform:translate(100%)}.container.loginActive .form.register>:nth-child(3){opacity:0;pointer-events:none;transition-delay:.12s;transform:translate(100%)}.container.loginActive .form.register>:nth-child(4){opacity:0;pointer-events:none;transition-delay:.18s;transform:translate(100%)}.container.loginActive .form.register>:nth-child(5){opacity:0;pointer-events:none;transition-delay:.24s;transform:translate(100%)}.container.loginActive .form.register>:nth-child(6){opacity:0;pointer-events:none;transition-delay:.3s;transform:translate(100%)}.container.loginActive .form.register>:nth-child(7){opacity:0;pointer-events:none;transition-delay:.36s;transform:translate(100%)}.container.loginActive .form.register>:nth-child(8){opacity:0;pointer-events:none;transition-delay:.42s;transform:translate(100%)}.container.loginActive .form.register>:nth-child(9){opacity:0;pointer-events:none;transition-delay:.48s;transform:translate(100%)}.container.loginActive .overlay-login>:first-child{opacity:0;pointer-events:none;transition-delay:0s;transform:translate(-100%)}.container.loginActive .overlay-login>:nth-child(2){opacity:0;pointer-events:none;transition-delay:60ms;transform:translate(-100%)}.container.loginActive .overlay-login>:nth-child(3){opacity:0;pointer-events:none;transition-delay:.12s;transform:translate(-100%)}.container.loginActive .overlay-login>:nth-child(4){opacity:0;pointer-events:none;transition-delay:.18s;transform:translate(-100%)}.container.loginActive .form.login>:first-child{opacity:1;pointer-events:auto;transition-delay:.92s;transform:translate(0)}.container.loginActive .form.login>:nth-child(2){opacity:1;pointer-events:auto;transition-delay:.98s;transform:translate(0)}.container.loginActive .form.login>:nth-child(3){opacity:1;pointer-events:auto;transition-delay:1.04s;transform:translate(0)}.container.loginActive .form.login>:nth-child(4){opacity:1;pointer-events:auto;transition-delay:1.1s;transform:translate(0)}.container.loginActive .form.login>:nth-child(5){opacity:1;pointer-events:auto;transition-delay:1.16s;transform:translate(0)}.container.loginActive .form.login>:nth-child(6){opacity:1;pointer-events:auto;transition-delay:1.22s;transform:translate(0)}.container.loginActive .form.login>:nth-child(7){opacity:1;pointer-events:auto;transition-delay:1.28s;transform:translate(0)}.container.loginActive .form.login>:nth-child(8){opacity:1;pointer-events:auto;transition-delay:1.34s;transform:translate(0)}.container.loginActive .overlay-register>:first-child{opacity:1;pointer-events:auto;transition:background .3s,color .3s,transform .4s .92s,opacity .4s .92s;transform:translate(0)}.container.loginActive .overlay-register>:nth-child(2){opacity:1;pointer-events:auto;transition:background .3s,color .3s,transform .4s .98s,opacity .4s .98s;transform:translate(0)}.container.loginActive .overlay-register>:nth-child(3){opacity:1;pointer-events:auto;transition:background .3s,color .3s,transform .4s 1.04s,opacity .4s 1.04s;transform:translate(0)}.container.loginActive .overlay-register>:nth-child(4){opacity:1;pointer-events:auto;transition:background .3s,color .3s,transform .4s 1.1s,opacity .4s 1.1s;transform:translate(0)}.container-aux{background:var(--color-placeholder);justify-content:center;align-items:center;width:50%;height:100%;display:flex}.container-aux .aux{color:#fff;flex-direction:column;align-items:center;width:100%;display:flex}.container-aux .aux h1{margin-bottom:20px}.container-aux .aux button{color:var(--color-placeholder);cursor:pointer;background:#fff;border:none;border-radius:4px;padding:10px;transition:transform .3s,box-shadow .3s}.overlay-panel{background:var(--color-placeholder);width:50%;height:100%;transition:transform .4s,opacity .3s;position:absolute;top:0;left:0}.container:not(.loginActive) .overlay-panel{transition-delay:.4s;transform:translate(0)}.container.loginActive .overlay-panel{transition-delay:.4s;transform:translate(100%)}.overlay-content{text-align:center;color:#fff;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:50%;height:100%;padding:40px;display:flex;position:absolute;top:0}.overlay-login{left:0}.overlay-register{left:50%}.container.loginActive .overlay-register,.container:not(.loginActive) .overlay-login{pointer-events:auto}.overbutton{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff;border-radius:4px;padding:10px 24px;transition:background .3s,color .3s,transform .4s,opacity .4s}.overbutton:hover{color:var(--color-placeholder);background:#fff;transition-delay:0s}.password-rules{opacity:0;pointer-events:none;max-height:0;margin:0 20px;padding:0 0 0 10px;font-size:12px;list-style:none;transition:max-height .5s,opacity .5s,margin .5s;overflow:hidden}.password-rules.visible{opacity:1;pointer-events:auto;max-height:80px;margin:0 20px 8px}@keyframes shake{0%{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}to{transform:translate(0)}}.password-rules.visible.shake{animation:.4s shake}.password-rules li{color:var(--color-text-secondary);transition:color .3s}.password-rules li:before{content:"✕  ";color:var(--color-text-secondary)}.password-rules li.valid{color:#4caf50}.password-rules li.valid:before{content:"✓  ";color:#4caf50}.password-rules li.error{color:#e53935;font-weight:500}.password-rules li.error:before{content:"✕  ";color:#e53935}.forgot-password{text-align:center;color:var(--color-text-secondary);margin-top:8px;font-size:12px}.forgot-link{color:var(--color-placeholder);font-weight:600;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.forgot-link:hover{text-decoration:underline}.container.forgotActive .overlay-panel,.container.forgotActive .overlay-login{opacity:0;pointer-events:none;transition:opacity .25s}.container.forgotContentReturning .overlay-panel{transition:opacity}.container.forgotActive.loginActive .overlay-register>:first-child{opacity:0;pointer-events:none;transition-delay:0s;transform:translate(100%)}.container.forgotActive.loginActive .overlay-register>:nth-child(2){opacity:0;pointer-events:none;transition-delay:60ms;transform:translate(100%)}.container.forgotActive.loginActive .overlay-register>:nth-child(3){opacity:0;pointer-events:none;transition-delay:.12s;transform:translate(100%)}.container.forgotActive.loginActive .overlay-register>:nth-child(4){opacity:0;pointer-events:none;transition-delay:.18s;transform:translate(100%)}.container.forgotActive.loginActive .form.login>:first-child{opacity:0;pointer-events:none;transition-delay:0s;transform:translate(-100%)}.container.forgotActive.loginActive .form.login>:nth-child(2){opacity:0;pointer-events:none;transition-delay:60ms;transform:translate(-100%)}.container.forgotActive.loginActive .form.login>:nth-child(3){opacity:0;pointer-events:none;transition-delay:.12s;transform:translate(-100%)}.container.forgotActive.loginActive .form.login>:nth-child(4){opacity:0;pointer-events:none;transition-delay:.18s;transform:translate(-100%)}.container.forgotActive.loginActive .form.login>:nth-child(5){opacity:0;pointer-events:none;transition-delay:.24s;transform:translate(-100%)}.container.forgotActive.loginActive .form.login>:nth-child(6){opacity:0;pointer-events:none;transition-delay:.3s;transform:translate(-100%)}.container.forgotActive.loginActive .form.login>:nth-child(7){opacity:0;pointer-events:none;transition-delay:.36s;transform:translate(-100%)}.container.forgotActive.loginActive .form.login>:nth-child(8){opacity:0;pointer-events:none;transition-delay:.42s;transform:translate(-100%)}.container.loginActive.forgotReturning .form.login>:first-child{opacity:1;pointer-events:auto;transition-delay:80ms;transform:translate(0)}.container.loginActive.forgotReturning .form.login>:nth-child(2){opacity:1;pointer-events:auto;transition-delay:.14s;transform:translate(0)}.container.loginActive.forgotReturning .form.login>:nth-child(3){opacity:1;pointer-events:auto;transition-delay:.2s;transform:translate(0)}.container.loginActive.forgotReturning .form.login>:nth-child(4){opacity:1;pointer-events:auto;transition-delay:.26s;transform:translate(0)}.container.loginActive.forgotReturning .form.login>:nth-child(5){opacity:1;pointer-events:auto;transition-delay:.32s;transform:translate(0)}.container.loginActive.forgotReturning .form.login>:nth-child(6){opacity:1;pointer-events:auto;transition-delay:.38s;transform:translate(0)}.container.loginActive.forgotReturning .form.login>:nth-child(7){opacity:1;pointer-events:auto;transition-delay:.44s;transform:translate(0)}.container.loginActive.forgotReturning .form.login>:nth-child(8){opacity:1;pointer-events:auto;transition-delay:.5s;transform:translate(0)}.container.loginActive.forgotContentReturning .overlay-register>:first-child{opacity:1;pointer-events:auto;transition-delay:0s;transform:translate(0)}.container.loginActive.forgotContentReturning .overlay-register>:nth-child(2){opacity:1;pointer-events:auto;transition-delay:60ms;transform:translate(0)}.container.loginActive.forgotContentReturning .overlay-register>:nth-child(3){opacity:1;pointer-events:auto;transition-delay:.12s;transform:translate(0)}.container.loginActive.forgotContentReturning .overlay-register>:nth-child(4){opacity:1;pointer-events:auto;transition-delay:.18s;transform:translate(0)}.forgot-cover{background:var(--color-placeholder);z-index:100;pointer-events:none;width:100%;height:100%;transition:transform .45s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;transform:translate(50%)}.forgot-cover.phase-1{transform:translate(0)}.forgot-cover.phase-2{transform:translateY(-85%)}.forgot-cover.phase-exit-down{transition:transform .28s ease-in;transform:translateY(0)}.forgot-cover.phase-exit-right{transition:transform .42s ease-in;transform:translate(50%)}.forgot-back-bar{z-index:102;pointer-events:none;opacity:0;align-items:center;width:100%;height:15%;padding:0 24px;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.forgot-back-bar.visible{pointer-events:auto;opacity:1}.forgot-back-btn{color:#fff;cursor:pointer;letter-spacing:.3px;background:0 0;border:1.5px solid #ffffffb3;border-radius:20px;padding:6px 18px;font-family:inherit;font-size:13px;transition:background .25s,border-color .25s,color .25s}.forgot-back-btn:hover{background:#ffffff2e;border-color:#fff}.forgot-form-container{z-index:101;pointer-events:none;opacity:0;justify-content:center;align-items:center;transition:opacity .5s,transform .5s cubic-bezier(.2,0,.2,1);display:flex;position:absolute;inset:15% 0 0;transform:translateY(70px)}.forgot-form-container.visible{pointer-events:auto;opacity:1;transform:translateY(0)}.form.forgot{background:#fff;border-radius:8px;width:55%;max-width:340px;padding:20px;box-shadow:0 4px 24px #0000001f}.code-input{letter-spacing:10px;text-align:center;font-size:22px;font-weight:700;padding-right:10px!important}.register-success{text-align:center;align-items:center}.register-success-icon{color:var(--color-placeholder);margin-bottom:4px;font-size:48px}.verify-spinner{border:3px solid #e0e0e0;border-top-color:var(--color-placeholder);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form .button:disabled{opacity:.5;cursor:not-allowed;transform:none}.overlay-brand{flex-direction:column;align-items:center;gap:8px;margin-bottom:8px;display:flex}.overlay-logo{object-fit:contain;width:72px;height:72px}.overlay-brand-name{letter-spacing:.5px;color:#fff;font-size:22px;font-weight:800}@media (width<=640px){.auth-page{align-items:stretch}.container{width:100%;height:100dvh;box-shadow:none;border-radius:0;overflow:hidden}.overlay-panel{height:110px;position:absolute;top:0;width:100%!important;transition:none!important;left:0!important;transform:none!important}.overlay-content{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;height:110px;padding:16px 20px;position:absolute;top:0;width:100%!important;left:0!important}.overlay-content h1{flex:1;margin:0;font-size:16px;font-weight:700;line-height:1.3}.overlay-content p{display:none}.overlay-brand{flex-direction:row;flex-shrink:0;gap:8px;margin-bottom:0}.overlay-logo{width:36px;height:36px}.overlay-brand-name{font-size:15px}.overbutton{white-space:nowrap;flex-shrink:0;padding:8px 18px;font-size:13px}.card{height:calc(100dvh - 110px);top:110px;left:0;overflow-y:auto;width:100%!important;position:absolute!important}.form{width:100%;padding:24px 0 48px}.form h1{font-size:26px}.form p{margin:8px 16px 20px;font-size:13px}.input-wrapper{margin:12px 16px}.server-alert{margin:0 16px}.server-alert.visible{margin:-8px 16px 12px}.password-rules{margin:0 16px;padding-left:16px}.password-rules.visible{margin:0 16px 8px}.forgot-password{margin:8px 16px}.form.forgot{width:calc(100% - 32px);max-width:none;box-shadow:none;border-radius:0;padding:24px 0 48px;overflow-y:auto}.forgot-back-bar{height:64px}.forgot-form-container{align-items:flex-start;padding-top:16px;top:64px}.forgot-cover{transform:translateY(100%)}.forgot-cover.phase-1{transform:translateY(0)}.forgot-cover.phase-2{transform:translateY(calc(64px - 100%))}.forgot-cover.phase-exit-down{transform:translateY(0)}.forgot-cover.phase-exit-right{transition:transform .42s ease-in;transform:translateY(100%)}.form .button{width:calc(100% - 32px);margin:20px 16px}.container.loginActive .form.register>*,.container:not(.loginActive) .form.login>*{transform:translateY(14px)!important}.container.loginActive .overlay-login>*,.container:not(.loginActive) .overlay-register>*{transform:translateY(-6px)!important}.container.loginActive .form.login>*,.container:not(.loginActive) .form.register>*,.container.loginActive .overlay-register>*,.container:not(.loginActive) .overlay-login>*{transform:translateY(0)!important}}.dashboard-page{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;height:100vh;padding:16px;display:flex;overflow:hidden}.navbar{box-shadow:var(--shadow-card);background:#fff;border-radius:10px;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.navbar-brand{color:#000;letter-spacing:1px;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.navbar-brand-logo{object-fit:contain;filter:brightness(0);width:auto;height:28px}.navbar-greeting{color:var(--color-text-secondary);font-size:13px}.navbar-user{align-items:center;gap:16px;font-size:14px;font-weight:600;display:flex}.user-menu-wrapper{position:relative}.user-avatar-btn{color:#fff;cursor:pointer;background:#000;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-family:inherit;font-size:13px;transition:opacity .2s,transform .2s,box-shadow .2s;display:flex}.user-avatar-btn:hover{opacity:.82;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.user-avatar-btn:active{box-shadow:none;opacity:.7;transform:translateY(0)}.user-avatar-initial{background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;line-height:1;display:flex}.user-avatar-chevron{opacity:.7;transition:transform .25s}.user-avatar-chevron.rotated{transform:rotate(180deg)}.user-dropdown{z-index:100;pointer-events:none;opacity:0;transform-origin:100% 0;background:#fff;border-radius:10px;width:210px;padding:6px;transition:opacity .2s,transform .2s;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-6px)scale(.97);box-shadow:0 8px 32px #00000024,0 2px 8px #00000014}.user-dropdown.visible{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.user-dropdown-header{flex-direction:column;gap:2px;padding:10px 12px 8px;display:flex}.user-dropdown-name{color:#111;font-size:13px;font-weight:600}.user-dropdown-email{color:#888;font-size:11px}.user-dropdown-divider{background:#f0f0f0;height:1px;margin:4px 0}.user-dropdown-item{color:#222;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.user-dropdown-item:hover{background:#f5f5f5}.user-dropdown-item.danger{color:#d32f2f}.user-dropdown-item.danger:hover{background:#fef2f2}.dashboard-body{flex:1;gap:16px;min-height:0;display:flex;overflow:hidden}.sidebar{background:#000;border-radius:10px;flex-direction:column;flex-shrink:0;gap:4px;width:220px;padding:24px 12px;display:flex}.sidebar-item{color:#ffffff80;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.sidebar-item:hover{color:#fff;background:#ffffff14}.sidebar-item.active{color:#000;background:#fff;font-weight:600}.sidebar-spacer{flex:1}.sidebar-logout{color:#fff6;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.sidebar-logout:hover{color:#fff;background:#ffffff14}.bottom-nav{display:none}.content{box-shadow:var(--shadow-card);background:#fff;border-radius:10px;flex:1;min-height:0;overflow:hidden}.content-scroll{height:100%;padding:32px;overflow-y:auto}.content-loading,.content-error{color:var(--color-text-secondary);font-size:14px}@media (width<=640px){.dashboard-page{gap:0;height:100dvh;padding:0}.navbar{height:52px;box-shadow:none;background:#000;border-bottom:1px solid #222;border-radius:0;padding:0 16px}.navbar-brand{color:#fff}.navbar-brand-logo{filter:brightness(0)invert()}.navbar-greeting{display:none}.user-avatar-btn{color:#000;background:#fff}.user-avatar-initial{background:#0000001a}.dashboard-body{flex:1;gap:0;min-height:0;overflow:hidden}.sidebar{display:none}.content{box-shadow:none;border-radius:0}.content-scroll{padding:20px 16px 88px}.bottom-nav{z-index:50;height:64px;padding:0 8px;padding-bottom:env(safe-area-inset-bottom);background:#000;border-top:1px solid #222;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 0;font-family:inherit;font-size:10px;font-weight:500;transition:color .15s,background .15s;display:flex}.bottom-nav-item.active{color:#fff;font-weight:700}.bottom-nav-item:active{background:#ffffff14}.user-dropdown{left:auto;right:0}}.dashboard-home h2{margin-bottom:8px;font-size:22px}.dashboard-home p{color:var(--color-text-secondary);font-size:14px}.page-placeholder h2{margin-bottom:8px;font-size:22px}.page-placeholder p{color:var(--color-text-secondary);font-size:14px}.dash-field{margin-bottom:4px;position:relative}.dash-field input,.dash-field select,.dash-field textarea{box-sizing:border-box;background:0 0;border:none;border-bottom:1.5px solid #ccc;border-radius:0;outline:none;width:100%;padding:18px 0 6px;font-family:inherit;font-size:14px;transition:border-color .3s}.dash-field textarea{resize:vertical;min-height:72px}.dash-field input:focus,.dash-field select:focus,.dash-field textarea:focus{border-bottom-color:#000}.dash-field label{color:var(--color-text-secondary);pointer-events:none;font-size:14px;transition:top .25s,font-size .25s,color .25s;position:absolute;top:18px;left:0}.dash-field input:focus~label,.dash-field input:not(:placeholder-shown)~label,.dash-field textarea:focus~label,.dash-field textarea:not(:placeholder-shown)~label,.dash-field select:focus~label,.dash-field select~label{color:#888;font-size:11px;top:2px}.crud-section{flex-direction:column;gap:20px;display:flex}.crud-section h2{letter-spacing:-.5px;margin-bottom:0;font-size:22px}.crud-header{justify-content:space-between;align-items:center;display:flex}.crud-breadcrumb{color:var(--color-text-secondary);margin-bottom:-8px;font-size:14px}.breadcrumb-link{cursor:pointer;text-decoration:underline}.breadcrumb-link:hover{color:#000}.crud-list{flex-direction:column;gap:0;list-style:none;display:flex}.crud-item{border:none;border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.crud-item:last-child{border-bottom:none}.crud-item.vertical{flex-direction:column;align-items:stretch;padding:16px 0}.crud-item-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.crud-item-info{flex-direction:column;gap:2px;display:flex}.crud-item-name{font-size:14px;font-weight:600}.crud-item-name.clickable{cursor:pointer}.crud-item-name.clickable:hover{text-decoration:underline}.crud-item-sub{color:var(--color-text-secondary);margin-left:6px;font-size:12px}.crud-item-info .crud-item-sub{margin-left:0}.crud-item-actions{flex-shrink:0;gap:8px;display:flex}.crud-empty{color:var(--color-text-secondary);font-size:14px}.crud-form{border:none;border-top:1px solid var(--color-border-light);background:0 0;flex-direction:column;gap:4px;padding:20px 0 8px;display:flex}.crud-form.inline{background:0 0;border:none;flex:1;padding:4px 0}.crud-form>input,.crud-form>select{box-sizing:border-box;background:0 0;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:none;width:100%;padding:10px 0 7px;font-family:inherit;font-size:14px;transition:border-color .3s}.crud-form>input:focus,.crud-form>select:focus{border-bottom-color:#000}.form-row-inline{gap:16px;display:flex}.form-row-inline input{flex:1;min-width:0}.form-actions{gap:8px;margin-top:8px;display:flex}.form-hint{color:var(--color-text-secondary);margin-bottom:8px;font-size:12px}.log-form{margin-top:8px}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.btn-primary:hover{background:var(--btn-primary-hover-bg);box-shadow:var(--btn-primary-hover-shadow);transform:translateY(-2px)scale(1.02)}.btn-primary:active{box-shadow:none;background:var(--btn-primary-bg);transform:translateY(0)scale(1)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--btn-secondary-text);border:1.5px solid var(--btn-secondary-border);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.btn-ghost:hover{background:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-bg);color:var(--btn-primary-text)}.btn-ghost:active{background:var(--btn-secondary-active-bg);border-color:var(--btn-secondary-active-bg);color:var(--btn-primary-text)}.btn-ghost.btn-sm{color:var(--btn-secondary-text);border:1.5px solid var(--btn-secondary-border);background:0 0;font-weight:600}.btn-ghost.btn-sm:hover{background:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-bg);color:var(--btn-primary-text);opacity:1;transform:translateY(-1px)}.btn-ghost.btn-sm:active{background:var(--btn-secondary-active-bg);border-color:var(--btn-secondary-active-bg);color:var(--btn-primary-text);transform:translateY(0)}.btn-sm{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:4px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.btn-sm:hover{background:var(--btn-primary-hover-bg);transform:translateY(-1px)scale(1.02);box-shadow:0 4px 14px #00000059}.btn-sm:active{background:var(--btn-primary-bg);box-shadow:none;transform:translateY(0)scale(1)}.btn-sm:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-danger-sm{color:var(--color-danger-dark);border:1px solid var(--color-danger);cursor:pointer;background:0 0;border-radius:4px;padding:5px 12px;font-family:inherit;font-size:12px;transition:background .2s,color .2s}.btn-danger-sm:hover{background:var(--color-danger);color:#fff}.drill-selectors{flex-wrap:wrap;gap:8px;display:flex}.drill-selectors select{cursor:pointer;appearance:auto;background:0 0;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:none;min-width:160px;padding:8px 4px 6px;font-family:inherit;font-size:14px;transition:border-color .3s}.drill-selectors select:focus{border-bottom-color:#000}.goal-card{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:10px;max-width:340px;padding:20px;display:flex}.goal-row{color:var(--color-text-secondary);justify-content:space-between;font-size:14px;display:flex}.goal-row strong{color:#000}.pagination{color:var(--color-text-secondary);align-items:center;gap:12px;margin-top:8px;font-size:13px;display:flex}@media (width<=640px){.crud-header{flex-wrap:wrap;gap:10px}.form-row-inline{flex-direction:column;gap:0}.drill-selectors select{flex:1;min-width:0}.goal-card{max-width:100%}}.active-badge{color:#fff;letter-spacing:.5px;background:#000;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.account-page h2{margin-bottom:4px;font-size:22px}.account-page h3{margin:24px 0 4px;font-size:15px;font-weight:600}.account-subtitle{color:var(--color-text-secondary);margin-bottom:24px;font-size:14px}.account-info{border:1px solid var(--color-border-light);border-radius:8px;flex-direction:column;gap:10px;margin-bottom:16px;padding:16px;display:flex}.info-row{color:var(--color-text-secondary);justify-content:space-between;font-size:14px;display:flex}.info-row strong{color:#000}.account-form{flex-direction:column;gap:0;display:flex}.form-row{gap:24px;margin-bottom:4px;display:flex}.form-row .dash-field{flex:1;min-width:0}.account-error{color:var(--color-danger-dark);margin-bottom:12px;font-size:13px}.account-success{color:var(--color-success-dark);margin-bottom:12px;font-size:13px}.account-btn{color:#fff;cursor:pointer;background:#000;border:none;border-radius:6px;align-self:flex-start;margin-top:8px;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s,box-shadow .2s}.account-btn:hover{opacity:.82;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.account-btn:active{box-shadow:none;opacity:.7;transform:translateY(0)}.account-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.pd-tab{flex-direction:column;gap:24px;display:flex}.pd-view{flex-direction:column;gap:20px;display:flex}.pd-view-header{justify-content:space-between;align-items:center;display:flex}.pd-view-title{color:#111;font-size:15px;font-weight:700}.pd-group{border:1.5px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:16px 20px;display:flex}.pd-group-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 10px;font-size:11px;font-weight:700}.pd-fields-row{grid-template-columns:1fr 1fr;gap:0;display:grid}.pd-field{border-bottom:1px solid var(--color-border-light);flex-direction:column;gap:3px;padding:10px 0;display:flex}.pd-fields-row .pd-field:nth-child(odd){border-right:1px solid var(--color-border-light);padding-right:20px}.pd-fields-row .pd-field:nth-child(2n){padding-left:20px}.pd-fields-row:last-child .pd-field{border-bottom:none}.pd-field-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.pd-field-value{color:#111;font-size:14px;font-weight:500}.pd-field-empty{color:var(--color-text-secondary);font-style:italic;font-weight:400}.pd-edit-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pd-edit-title{color:#111;margin:0;font-size:15px;font-weight:700}.pd-cancel-top{font-size:13px}.pd-edit-form{flex-direction:column;gap:0;display:flex}.pd-section-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em;margin:20px 0 4px;font-size:12px;font-weight:700}.pd-field--sm{max-width:160px}.pd-form-actions{align-items:center;gap:10px;margin-top:20px;display:flex}.account-btn--ghost{color:#374151;border:1.5px solid var(--color-border);box-shadow:none;background:0 0}.account-btn--ghost:hover{opacity:1;box-shadow:none;background:#f3f4f6;transform:none}.account-btn--sm{padding:6px 16px;font-size:13px}.account-tabs{border-bottom:1px solid var(--color-border-light);gap:4px;margin-bottom:28px;display:flex}.account-tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:500;transition:color .18s,border-color .18s}.account-tab:hover{color:#111}.account-tab.active{color:#000;border-bottom-color:#000;font-weight:600}.account-tab-content{animation:.18s tab-fade}@keyframes tab-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.security-tab{flex-direction:column;display:flex}.security-divider{background:var(--color-border-light);height:1px;margin:4px 0}@media (width<=640px){.form-row{flex-direction:column;gap:0}.pd-fields-row{grid-template-columns:1fr}.pd-fields-row .pd-field:nth-child(odd){border-right:none;padding-right:0}.pd-fields-row .pd-field:nth-child(2n){padding-left:0}.pd-field--sm{max-width:100%}.sec-row{grid-template-columns:1fr;gap:8px;padding:20px 0}.sec-row-info{padding-top:0}.sec-field{max-width:100%}.account-page h2{font-size:18px}}.sec-row{grid-template-columns:220px 1fr;align-items:start;gap:24px;padding:24px 0;display:grid}.sec-row-info{flex-direction:column;gap:4px;padding-top:10px;display:flex}.sec-row-title{color:#111;font-size:14px;font-weight:600}.sec-row-desc{color:var(--color-text-secondary);font-size:12px;line-height:1.4}.sec-row-form{flex-direction:column;gap:4px;display:flex}.sec-field{max-width:360px}@keyframes wk-shake{0%{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-5px)}60%{transform:translate(5px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}to{transform:translate(0)}}.wk-panel-error{color:#c62828;background:#fff0f0;border:1.5px solid #e53935;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:600;animation:.45s wk-shake}.wk-cards-grid{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.wk-card{border:1.5px solid var(--color-border);background:#fff;border-radius:14px;flex-direction:column;width:420px;max-width:100%;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.wk-card:hover{transform:translateY(-2px);box-shadow:0 6px 22px #0000001a}.wk-card--active{border-width:2px;border-color:#111}.wk-card-active-stripe{background:#000;flex-shrink:0;height:4px}.wk-card-body{flex-direction:column;flex:1;gap:14px;padding:28px;display:flex}.wk-card-top{flex-direction:column;gap:4px;display:flex}.wk-card-name-row{align-items:center;gap:10px;display:flex}.wk-card-name{letter-spacing:-.3px;cursor:pointer;font-size:20px;font-weight:700;transition:opacity .15s}.wk-card-name:hover{opacity:.65}.wk-active-pill{color:#fff;letter-spacing:.5px;text-transform:uppercase;background:#000;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.wk-card-meta{color:var(--color-text-secondary);font-size:13px}.wk-dots{gap:6px;display:flex}.wk-dot-wrap{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.wk-dot{border-radius:3px;width:100%;height:7px}.wk-dot--on{background:#111}.wk-dot--rest{background:#bdbdbd}.wk-dot--off{background:#ececec}.wk-dot-label{text-transform:uppercase;letter-spacing:.2px;color:var(--color-text-secondary);font-size:10px;font-weight:700}.wk-card-actions{border-top:1px solid var(--color-border-light);flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px;display:flex}.wk-confirming{background:var(--color-danger)!important;color:#fff!important;border-color:var(--color-danger)!important}.wk-days-page{flex-direction:column;gap:24px;display:flex}.wk-back-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;transition:color .15s}.wk-back-btn:hover{color:#000}.wk-page-active-badge{color:#fff;letter-spacing:.5px;text-transform:uppercase;vertical-align:middle;background:#000;border-radius:20px;margin-left:10px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block;position:relative;top:-3px}.wk-week-grid{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.wk-slot{box-sizing:border-box;border-radius:12px;flex-direction:column;gap:10px;min-height:240px;padding:18px 16px;transition:box-shadow .2s,transform .15s;display:flex;position:relative}.wk-slot--empty{background:var(--color-bg-subtle);cursor:pointer;text-align:center;border:2px dashed #dedede;justify-content:center;align-items:center;gap:8px;font-family:inherit;transition:border-color .15s,background .15s}.wk-slot--empty:hover{background:var(--color-bg-hover);border-color:#aaa}.wk-slot--adding{border:2px solid var(--color-primary,#333);background:var(--color-bg-subtle);align-items:flex-start;gap:10px}.wk-slot-desc-input{border:1px solid var(--color-border);box-sizing:border-box;background:#fff;border-radius:6px;outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.wk-slot-desc-input:focus{border-color:var(--color-primary,#333)}.wk-slot-inline-actions{gap:6px;width:100%;display:flex}.wk-slot--set{border:1px solid var(--color-border);background:#fff}.wk-slot--set:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000017}.wk-slot--rest{background:linear-gradient(145deg,#fafafa,#f5f5f5);border:1px solid #e8e8e8}.wk-slot--rest:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000000f}.wk-slot-weekday{text-transform:uppercase;letter-spacing:.7px;color:#888;font-size:11px;font-weight:800}.wk-slot-add-label{color:#bbb;font-size:11px;font-weight:500}.wk-slot-header{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.wk-slot-badge{background:var(--color-border-light);color:#555;border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700}.wk-slot-badge.rest{background:0 0;padding:0;font-size:14px}.wk-slot-desc{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.wk-slot-pills{flex-direction:column;flex:1;gap:4px;display:flex}.wk-slot-pill{color:#444;background:var(--color-border-light);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:500;overflow:hidden}.wk-slot-pill--more{color:#888;background:#e4e4e4;font-weight:700}.wk-slot-empty-hint{color:#ccc;margin-top:auto;font-size:11px;font-style:italic}.wk-slot-footer{border-top:1px solid var(--color-border-light);opacity:0;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;transition:opacity .15s;display:flex}.wk-slot--set:hover .wk-slot-footer,.wk-slot--rest:hover .wk-slot-footer{opacity:1}.wk-slot-main-btns{align-items:center;gap:5px;display:flex}.wk-slot-manage-btn{color:#fff;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;background:#111;border:none;border-radius:5px;padding:4px 9px;font-family:inherit;font-size:10px;font-weight:700;transition:opacity .15s}.wk-slot-manage-btn:hover{opacity:.75}.wk-slot-transfer-btn{border:1px solid var(--color-border);cursor:pointer;width:24px;height:24px;color:var(--color-text-secondary);background:0 0;border-radius:5px;justify-content:center;align-items:center;font-size:13px;transition:background .15s,color .15s;display:flex}.wk-slot-transfer-btn:hover{color:#111;background:#f0f0f0}.wk-slot-icon-btns{gap:4px;display:flex}.wk-slot-icon-btn{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;line-height:1;transition:background .15s,border-color .15s;display:flex}.wk-slot-icon-btn:hover{background:var(--btn-icon-hover-bg)}.wk-slot-icon-btn--danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-dark)}.wk-slot-icon-btn--confirm{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.wk-checkbox-label{color:#444;cursor:pointer;align-items:center;gap:8px;margin:8px 0 0;font-size:14px;display:flex}.wk-checkbox-label input{cursor:pointer}.wk-panel-overlay{z-index:200;background:#00000059;position:fixed;inset:0}.wk-panel{z-index:201;background:#fff;flex-direction:column;width:440px;max-width:95vw;height:100vh;animation:.25s panelSlideIn;display:flex;position:fixed;top:0;right:0;box-shadow:-4px 0 28px #00000021}.wk-panel-header{border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:28px 28px 20px;display:flex}.wk-panel-super{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-secondary);margin-bottom:4px;font-size:10px;font-weight:700}.wk-panel-title{letter-spacing:-.5px;font-size:22px;font-weight:800}.wk-panel-subtitle{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.wk-panel-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:18px;transition:background .15s}.wk-panel-close:hover{background:var(--btn-icon-hover-bg)}.wk-panel-body{flex-direction:column;flex:1;gap:14px;padding:24px 28px;display:flex;overflow-y:auto}.wk-panel-section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-secondary);font-size:12px;font-weight:700}.wk-panel-ex-list{flex-direction:column;gap:8px;display:flex}.wk-panel-ex-card{background:#fff;border:1px solid #ebebeb;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:box-shadow .15s;display:flex}.wk-panel-ex-order{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.wk-order-num{color:var(--color-text-secondary);font-size:10px;font-weight:700;line-height:1}.wk-order-btn{border:1px solid var(--color-border-light);cursor:pointer;width:18px;height:16px;color:var(--color-text-secondary);background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;transition:background .12s,color .12s;display:flex}.wk-order-btn:hover:not(:disabled){color:#fff;background:#111;border-color:#111}.wk-order-btn:disabled{opacity:.25;cursor:default}.wk-panel-ex-card:hover{box-shadow:0 2px 10px #00000012}.wk-panel-ex-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.wk-panel-ex-name{font-size:14px;font-weight:600}.wk-panel-ex-muscles{flex-wrap:wrap;gap:4px;display:flex}.wk-panel-ex-muscle{white-space:nowrap;border:1px solid;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.wk-panel-ex-unlink{color:var(--color-danger-dark);border:1px solid var(--color-danger-border);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.wk-panel-ex-unlink:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.wk-panel-empty{text-align:center;color:var(--color-text-secondary);padding:28px 0 16px;font-size:13px;line-height:1.8}.wk-panel-hint{color:var(--color-text-secondary);background:var(--color-bg-hover);border-radius:8px;padding:12px 16px;font-size:13px}.wk-panel-link-area{border-top:1px solid var(--color-border-light);padding-top:8px}.wk-panel-link-form{flex-direction:column;gap:4px;margin-top:12px;display:flex}.wk-panel-link-title{text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-secondary);margin-bottom:10px;font-size:12px;font-weight:700}.wk-panel-muscle-filter{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.ex-chip--sm{padding:4px 10px;font-size:11px}.wk-goal-toggle{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:8px;margin:4px 0 0;font-size:13px;font-weight:500;display:flex}.wk-goal-toggle input[type=checkbox]{cursor:pointer;accent-color:#111;width:15px;height:15px}.wk-goal-fields{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:10px;flex-direction:column;gap:4px;margin-top:4px;padding:14px;display:flex}.wk-goal-hint{color:var(--color-text-secondary);margin-top:4px;font-size:11px}.wk-existing-goal{background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:8px;margin-top:4px;padding:10px 14px}.wk-existing-goal-label{color:var(--color-text-secondary);margin-bottom:8px;font-size:11px;font-weight:600}.wk-existing-goal-stats{color:var(--color-text);gap:20px;font-size:13px;display:flex}.wk-transfer-from{color:var(--color-text-secondary);margin-bottom:10px;font-size:13px}.wk-transfer-desc{font-style:italic}.wk-transfer-preview{background:var(--color-bg-hover);border-radius:8px;flex-direction:column;gap:4px;margin-bottom:16px;padding:10px 12px;list-style:none;display:flex}.wk-transfer-preview li{color:var(--color-text);font-size:13px}.wk-transfer-preview li:before{content:"→ ";color:var(--color-text-secondary)}.wk-transfer-error{color:var(--color-danger-dark,#c62828);margin-bottom:8px;font-size:12px}@media (width<=640px){.wk-cards-grid{flex-direction:column;align-items:stretch}.wk-card{width:100%}.wk-week-grid{grid-template-columns:1fr;gap:8px}.wk-slot{min-height:100px;padding:14px}.wk-slot-footer{opacity:1}.wk-panel{border-radius:16px 16px 0 0;width:100%;max-width:100%;height:90vh;animation:.25s panelSlideUp;top:auto;bottom:0}@keyframes panelSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.dash-field--unit:after{content:attr(data-unit);color:var(--color-text-secondary);pointer-events:none;font-size:12px;position:absolute;bottom:8px;right:0}@keyframes gold-card-glow{0%,to{box-shadow:0 0 6px #c9960c4d, 0 0 18px #c9960c26, var(--shadow-card,0 0 10px #00000014)}50%{box-shadow:0 0 14px #c9960c8c, 0 0 32px #c9960c47, var(--shadow-card,0 0 10px #00000014)}}@keyframes gold-stripe-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.wk-card--assigned{border-color:#c9960c;animation:3s ease-in-out infinite gold-card-glow;position:relative}.wk-card-active-stripe--instructor{background:linear-gradient(90deg,#a67c00,#c9960c,#f5d060,#c9960c,#a67c00) 0 0/250% 100%;animation:2.8s linear infinite gold-stripe-shimmer}.wk-assigned-badge-row{align-items:center;gap:8px;padding:8px 28px 0;display:flex}.wk-instructor-badge{color:var(--color-instructor);background:var(--color-instructor-bg);border:1px solid var(--color-instructor-border);text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.wk-instructor-name{color:var(--color-text-secondary);font-size:11px}.wk-assigned-section{flex-direction:column;gap:16px;margin-top:28px;display:flex}.wk-assigned-section-header{align-items:baseline;gap:12px;display:flex}.wk-assigned-section-title{color:#111;margin:0;font-size:15px;font-weight:700}.wk-assigned-section-hint{color:var(--color-text-secondary);font-size:12px}.wk-card--pending{border-color:var(--color-warning,#ff9800);position:relative}.wk-pending-badge{color:var(--color-warning-dark,#f57f17);background:var(--color-warning-bg,#fff8e1);border:1px solid var(--color-warning-border,#ffc107);text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.wk-pending-section{border-left:3px solid var(--color-warning,#ff9800);padding-left:12px}.wk-pending-count{background:var(--color-warning,#ff9800);color:#fff;border-radius:9999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.wk-reject-btn{color:var(--color-danger,#e53935)!important}.wk-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wkh-btn--active{background:#f0f0f0!important;border-color:#bbb!important}.wkh-container{border:1.5px solid var(--color-border);background:#fff;border-radius:14px;overflow:hidden}.wkh-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.wkh-header-left{flex-direction:column;gap:2px;display:flex}.wkh-title{color:#111;font-size:15px;font-weight:700}.wkh-subtitle{color:var(--color-text-secondary);font-size:12px}.wkh-close{color:#888;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1;transition:background .15s}.wkh-close:hover{color:#333;background:#f0f0f0}.wkh-empty{color:var(--color-text-secondary);text-align:center;padding:32px 24px;font-size:13px}.wkh-list{flex-direction:column;display:flex}.wkh-week{border-bottom:1px solid var(--color-border);transition:background .15s}.wkh-week:last-child{border-bottom:none}.wkh-week--open{background:#fdf8e8;border-bottom-color:#e8c547;border-left:4px solid #c9960c;box-shadow:inset 4px 0 12px #c9960c1f}.wkh-week-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 24px;transition:background .15s;display:flex}.wkh-week-header:hover{background:#00000008}.wkh-week--open .wkh-week-header:hover{background:#c9960c12}.wkh-week-meta{flex-direction:column;gap:6px;display:flex}.wkh-week-range{color:#222;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.wkh-current-badge{color:#fff;letter-spacing:.3px;background:#111;border-radius:20px;padding:2px 7px;font-size:10px;font-weight:700}.wkh-week-dots{align-items:center;gap:5px;display:flex}.wkh-dot{background:#e0e0e0;border-radius:50%;width:10px;height:10px}.wkh-dot.wkh-status--completed{background:#22c55e}.wkh-dot.wkh-status--partial{background:#f59e0b}.wkh-dot.wkh-status--missed{background:#ef4444}.wkh-week-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.wkh-overall{color:#555;background:#f0f0f0;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.wkh-overall.wkh-status--completed{color:#15803d;background:#dcfce7}.wkh-overall.wkh-status--partial{color:#b45309;background:#fef3c7}.wkh-overall.wkh-status--missed{color:#b91c1c;background:#fee2e2}.wkh-chevron{color:#888;font-size:11px}.wkh-days{flex-direction:column;gap:8px;padding:0 24px 14px;display:flex}.wkh-day{background:#f9f9f9;border:1.5px solid #e8e8e8;border-radius:10px;overflow:hidden}.wkh-day-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 14px;font-family:inherit;display:flex}.wkh-day-left{flex-direction:column;gap:2px;display:flex}.wkh-day-name{color:#222;font-size:13px;font-weight:700}.wkh-day-desc{color:var(--color-text-secondary);font-size:11px}.wkh-day-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.wkh-day-count{color:#555;font-size:12px;font-weight:600}.wkh-day-status{color:#555;background:#ebebeb;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:600}.wkh-day-status.wkh-status--completed{color:#15803d;background:#dcfce7}.wkh-day-status.wkh-status--partial{color:#b45309;background:#fef3c7}.wkh-day-status.wkh-status--missed{color:#b91c1c;background:#fee2e2}.wkh-day-chevron{color:#999;font-size:10px}.wkh-exercises{border-top:1px solid #e8e8e8;flex-direction:column;gap:0;display:flex}.wkh-ex{border-bottom:1px solid #f0f0f0;padding:9px 14px 9px 20px}.wkh-ex:last-child{border-bottom:none}.wkh-ex-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.wkh-ex-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.wkh-ex-dot--done{background:#22c55e}.wkh-ex-dot--missed{background:#d1d5db}.wkh-ex-name{color:#333;font-size:13px;font-weight:600}.wkh-ex--missed .wkh-ex-name{color:#999}.wkh-ex-not-done{color:#bbb;padding-left:16px;font-size:11px}.wkh-ex-session{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;padding-left:16px;display:flex}.wkh-ex-session-date{color:#888;min-width:70px;font-size:11px}.wkh-ex-session-stat{color:#444;font-size:12px;font-weight:600}.wkh-ex-session-sep{color:#ccc;font-size:11px}.wkh-ex-session-notes{color:#888;flex-basis:100%;margin-top:1px;padding-left:0;font-size:11px;font-style:italic}.wkh-ex-session-block{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.wkh-ex-session-block:last-child{margin-bottom:0}.wkh-annotate-btn{color:#a67c00;cursor:pointer;background:#fdf8e8;border:1px solid #e8c547;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:3px 9px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.wkh-annotate-btn:hover{background:#fef3cc;border-color:#c9960c;box-shadow:0 0 6px #c9960c59}.wkh-instructor-note{color:#a67c00;background:#fdf8e8;border-left:3px solid #c9960c;border-radius:0 6px 6px 0;margin-left:16px;padding:5px 10px;font-size:12px;box-shadow:-2px 0 10px #c9960c4d}.wkh-instructor-note-label{margin-right:4px;font-weight:700}.wkh-note-editor{flex-direction:column;gap:6px;margin-left:16px;display:flex}.wkh-note-textarea{resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #e8c547;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.wkh-note-textarea:focus{border-color:#c9960c;box-shadow:0 0 0 2px #c9960c2e}.wkh-note-actions{gap:6px;display:flex}@media (width<=480px){.wkh-week-header{padding:12px 16px}.wkh-days{padding:0 16px 12px}.wkh-week-range{font-size:12px}}.ex-page{flex-direction:column;gap:24px;display:flex}.ex-page-hero{justify-content:space-between;align-items:flex-end;display:flex}.ex-page-title{letter-spacing:-.8px;margin-bottom:6px;font-size:26px;font-weight:800}.ex-page-stats{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.ex-stat{font-weight:500}.ex-stat--linked{color:var(--color-success-dark);font-weight:600}.ex-stat-sep{color:#d0d0d0}.exercise-goal-row{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0 2px;display:flex}.ex-filters{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.ex-search-wrap{flex-shrink:0;position:relative}.ex-search-icon{color:var(--color-text-secondary);pointer-events:none;font-size:16px;line-height:1;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.ex-search{border:1px solid var(--color-border);background:var(--color-bg-subtle);border-radius:8px;outline:none;width:200px;padding:7px 12px 7px 32px;font-family:inherit;font-size:13px;transition:border-color .2s,background .2s}.ex-search:focus{background:#fff;border-color:#000}.ex-filter-chips{flex-wrap:wrap;gap:6px;display:flex}.ex-chip{border:1px solid var(--color-border);cursor:pointer;color:#444;white-space:nowrap;background:#fff;border-radius:20px;padding:5px 13px;font-family:inherit;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s,transform .1s}.ex-chip:hover{background:var(--btn-icon-hover-bg);border-color:var(--btn-secondary-border)}.ex-chip.active{color:#fff;background:#000;border-color:#000}.ex-groups{flex-direction:column;gap:16px;display:flex}.ex-group{border:1px solid #e8e8e8;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.ex-group-header{background:var(--color-bg-subtle);border:none;border-bottom:1px solid var(--color-border-light);cursor:pointer;justify-content:space-between;align-items:center;width:100%;padding:14px 20px;font-family:inherit;transition:background .15s;display:flex}.ex-group-header:hover{background:#f3f3f3}.ex-group-left{align-items:center;gap:10px;display:flex}.ex-group-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ex-group-name{color:#111;letter-spacing:-.2px;font-size:14px;font-weight:700}.ex-group-count{color:var(--color-text-secondary);background:#e8e8e8;border-radius:20px;padding:1px 8px;font-size:12px;font-weight:600}.ex-group-right{align-items:center;gap:10px;display:flex}.ex-group-linked-badge{color:var(--color-success-dark);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600}.ex-group-chevron{color:var(--color-text-secondary);font-size:10px}.ex-group-grid{background:#fff;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:16px;display:grid}.ex-card{background:#fff;border:1px solid #ebebeb;border-radius:10px;flex-direction:column;gap:12px;padding:16px;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex;position:relative}.ex-card:hover{border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 18px #00000017}.ex-card--linked{border-left:3px solid #000}.ex-card-top{flex-direction:column;gap:8px;display:flex}.ex-card-top--clickable{cursor:pointer;border-radius:6px;margin:-4px;padding:4px;transition:background .15s}.ex-card-top--clickable:hover{background:var(--color-bg-subtle)}.ex-card-top--clickable:hover .ex-card-name{text-decoration:underline}.ex-card-name{color:#111;letter-spacing:-.2px;font-size:14px;font-weight:700;line-height:1.3}.ex-card-muscles{flex-wrap:wrap;gap:4px;display:flex}.ex-card-muscle{border-radius:20px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.ex-card-bottom{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex}.ex-card-links{align-items:center;gap:6px;display:flex}.ex-link-dot{background:var(--color-success);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 2px #4caf5033}.ex-link-label{color:var(--color-success-dark);font-size:11px;font-weight:600}.ex-card-unlinked{color:#bdbdbd;font-size:11px;font-style:italic}.ex-card-actions{opacity:0;flex-shrink:0;gap:6px;transition:opacity .15s;display:flex}.ex-card-actions.visible{opacity:1}.ex-btn-edit{color:#fff;cursor:pointer;background:#111;border:none;border-radius:5px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:opacity .15s}.ex-btn-edit:hover{opacity:.75}.ex-btn-delete{color:var(--color-danger-dark);border:1px solid var(--color-danger-border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.ex-btn-delete:hover,.ex-btn-delete.confirming{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.ex-modal-overlay{z-index:300;background:#0006;justify-content:center;align-items:center;animation:.15s overlayIn;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.ex-modal{background:#fff;border-radius:14px;width:420px;max-width:92vw;padding:28px;animation:.2s modalIn;box-shadow:0 16px 48px #0003}@keyframes modalIn{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ex-modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.ex-modal-header h3{letter-spacing:-.3px;font-size:18px;font-weight:700}.ex-modal-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px;transition:background .15s}.ex-modal-close:hover{background:var(--btn-icon-hover-bg)}.ex-modal--wide{width:560px}.ex-picker-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:12px;font-weight:600}.ex-muscle-picker{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.ex-muscle-chip{cursor:pointer;border:1.5px solid;border-radius:20px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:opacity .15s,transform .1s}.ex-muscle-chip:hover{opacity:.85;transform:translateY(-1px)}.ex-muscle-chip.active{box-shadow:0 2px 8px #00000026}.ex-muscle-chip.disabled{cursor:not-allowed}.ex-picker-hint{color:var(--color-text-secondary);margin:0 0 4px;font-size:11px}.ex-picker-hint-inline{color:var(--color-text-secondary);font-size:12px;font-weight:400}.ex-form-error{color:var(--color-danger-dark);margin-top:8px;font-size:12px}.ex-empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.ex-empty-icon{margin-bottom:4px;font-size:48px;line-height:1}.ex-empty-title{color:#111;font-size:17px;font-weight:700}.ex-empty-sub{color:var(--color-text-secondary);max-width:320px;margin-bottom:4px;font-size:13px;line-height:1.6}.home-section{flex-direction:column;gap:20px;display:flex}.home-header{justify-content:space-between;align-items:flex-start;display:flex}.home-header h2{margin-bottom:4px;font-size:22px}.home-workout-name{color:var(--color-text-secondary);font-size:14px}.home-workout-hero{text-align:center;padding:8px 0 4px}.home-workout-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-secondary);margin-bottom:8px;font-size:11px;font-weight:700}.home-workout-title{letter-spacing:-1px;color:#000;font-size:32px;font-weight:800;line-height:1.1}.home-today-badge{color:#fff;background:#000;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600}.home-rest p{color:var(--color-text-secondary);font-size:14px}.home-hint{color:var(--color-text-secondary);margin-top:8px;font-size:14px}.home-today{flex-direction:column;gap:12px;display:flex}.home-today-header{justify-content:space-between;align-items:center;display:flex}.home-today-title{font-size:15px;font-weight:600}.home-counter{color:var(--color-text-secondary);font-size:13px;font-weight:500}.home-counter.done{color:var(--color-success-dark)}.home-alert{border-radius:8px;align-items:center;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.home-alert.warning{background:var(--color-warning-bg);color:var(--color-warning-dark);border-left:3px solid var(--color-warning-border)}.home-alert.success{background:var(--color-success-bg);color:var(--color-success-dark);border-left:3px solid var(--color-success)}.home-alert.info{background:var(--color-info-bg);color:var(--color-info-dark);border-left:3px solid var(--color-info)}.home-exercise-list{flex-direction:column;gap:8px;list-style:none;display:flex}.home-exercise-item{border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.home-exercise-item.done{border-color:var(--color-success-border);background:var(--color-success-bg)}.home-exercise-item.pending{background:var(--color-bg-subtle)}.home-ex-info{align-items:center;gap:8px;display:flex}.home-ex-status{color:var(--color-text-secondary);font-size:14px}.home-exercise-item.done .home-ex-status{color:var(--color-success)}.home-ex-name{font-size:14px;font-weight:600}.home-ex-muscle{color:var(--color-text-secondary);font-size:12px}.home-ex-detail{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.home-ex-values,.home-ex-defaults{color:#333;font-size:13px}.home-ex-defaults{color:var(--color-text-secondary)}.home-ex-diff{font-size:12px;font-weight:600}.home-ex-diff.positive{color:var(--color-success-dark)}.home-ex-diff.negative{color:var(--color-danger-dark)}.home-ex-diff.neutral{color:var(--color-text-secondary)}.day-carousel{align-items:stretch;gap:8px;display:flex}.carousel-arrow{cursor:pointer;color:#fff;background:#111;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:44px;height:44px;font-size:26px;line-height:1;transition:background .15s,transform .15s,box-shadow .15s;display:flex;box-shadow:0 3px 12px #00000047}.carousel-arrow:hover:not(:disabled){background:#333;transform:scale(1.08);box-shadow:0 5px 18px #00000059}.carousel-arrow:active:not(:disabled){transform:scale(.93)}.carousel-arrow:disabled{opacity:.22;cursor:not-allowed;box-shadow:none}.carousel-track{flex:1;align-items:stretch;gap:12px;display:flex}.day-card-placeholder{flex:1}@keyframes trackExitLeft{0%{opacity:1;transform:translate(0)}to{opacity:.35;transform:translate(-28px)}}@keyframes trackExitRight{0%{opacity:1;transform:translate(0)}to{opacity:.35;transform:translate(28px)}}@keyframes trackEnterFromRight{0%{opacity:.35;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes trackEnterFromLeft{0%{opacity:.35;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.carousel-track.track-exit-left{animation:.12s ease-in forwards trackExitLeft}.carousel-track.track-exit-right{animation:.12s ease-in forwards trackExitRight}.carousel-track.track-enter-right{animation:.23s ease-out forwards trackEnterFromRight}.carousel-track.track-enter-left{animation:.23s ease-out forwards trackEnterFromLeft}.day-card{border:1px solid var(--color-border);border-radius:12px;flex:1;min-width:0;padding:20px;transition:opacity .3s,transform .3s,box-shadow .3s}.day-card--active{opacity:1;z-index:2;border-color:#111;flex:2;position:relative;transform:scale(1);box-shadow:0 6px 24px #00000021}.day-card--side{opacity:.72;transform-origin:top;cursor:pointer;transition:opacity .2s,transform .2s,box-shadow .2s;transform:scale(.94);box-shadow:0 2px 8px #0000000f}.day-card--side:hover{opacity:.9;transform:scale(.96);box-shadow:0 4px 14px #0000001a}.day-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.day-card-name{font-size:15px;font-weight:700;display:block}.day-card-date{color:var(--color-text-secondary);margin-top:2px;font-size:11px;display:block}.day-card-today-badge{color:#fff;letter-spacing:.5px;background:#000;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600}.day-card-description{color:var(--color-text-secondary);margin-bottom:10px;font-size:12px}.day-card-badges{align-items:center;gap:6px;display:flex}.day-card-counter{color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:20px;padding:2px 8px;font-size:12px;font-weight:600}.day-card-counter.done{color:var(--color-success-dark);border-color:var(--color-success-border);background:var(--color-success-bg)}.day-card-empty{color:var(--color-text-secondary);font-size:13px;font-style:italic}.day-card-cta{justify-content:center;width:100%;margin-top:14px}.day-card-exercises{flex-direction:column;gap:0;list-style:none;display:flex}.day-card-exercise{border-bottom:1px solid var(--color-border-light);flex-direction:column;padding:10px 0;font-size:13px;display:flex}.day-card-exercise:last-child{border-bottom:none}.day-card-exercise.clickable{cursor:pointer;border-radius:6px;margin:0 -6px;padding:4px 6px;transition:background .15s}.day-card-exercise.clickable:hover{background:var(--color-bg-hover)}.day-card-exercise-row{align-items:flex-start;gap:10px;display:flex}.day-card-exercise-row.clickable{cursor:pointer;border-radius:6px;margin:0 -6px;padding:4px 6px;transition:background .15s}.day-card-exercise-row.clickable:hover{background:var(--color-bg-hover)}.day-card-ex-status{color:#ccc;flex-shrink:0;width:16px;padding-top:1px;font-size:13px}.day-card-exercise.done .day-card-ex-status{color:var(--color-success)}.day-card-ex-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.day-card-ex-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.day-card-ex-name{font-size:13px;font-weight:600}.day-card-ex-muscle{color:var(--color-text-secondary);background:var(--color-bg-hover);border-radius:10px;padding:1px 7px;font-size:11px}.day-card-ex-bottom{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.day-card-ex-summary{color:var(--color-success-dark);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600}.day-card-ex-goal{color:var(--color-info-dark);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:10px;padding:2px 10px;font-size:12px}.day-card-ex-right{flex-shrink:0;align-items:center;display:flex}.day-card-ex-add{color:#fff;cursor:pointer;background:#000;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;line-height:1;transition:opacity .2s;display:flex}.day-card-ex-add:hover{opacity:.7}.day-card-ex-cancel{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:14px;transition:color .2s}.day-card-ex-cancel:hover{color:var(--color-danger-dark)}.day-card-mini-sub{color:var(--color-text-secondary);margin-top:6px;font-size:12px}.day-card-mini-detail{color:var(--color-text-secondary);font-size:11px;font-weight:500}.day-card-mini-status{letter-spacing:.3px;white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700}.day-card-mini-status.done{background:var(--color-success-bg);color:var(--color-success-dark);border:1px solid var(--color-success-border)}.day-card-mini-status.partial{background:var(--color-info-bg);color:var(--color-info-dark);border:1px solid var(--color-info-border)}.day-card-mini-status.pending{background:var(--color-bg-hover);color:#9e9e9e;border:1px solid var(--color-border)}.day-card-log-form{border:none;border-top:1px solid var(--color-border-light);background:0 0;flex-direction:column;gap:10px;margin-top:4px;padding:10px 0 4px;display:flex}.log-form-row{gap:16px;display:flex}.log-form-row label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;flex-direction:column;flex:1;gap:4px;min-width:0;font-size:11px;font-weight:600;display:flex}.log-form-row label input{box-sizing:border-box;background:0 0;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:none;width:100%;min-width:0;padding:6px 0 4px;font-family:inherit;font-size:13px;transition:border-color .3s}.log-form-row label input:focus{border-bottom-color:#000}.log-form-notes{box-sizing:border-box;background:0 0;border:none;border-bottom:1px solid #ccc;border-radius:0;outline:none;width:100%;padding:6px 0 4px;font-family:inherit;font-size:13px;transition:border-color .3s}.log-form-notes:focus{border-bottom-color:#000}.log-form-error{color:var(--color-danger-dark);font-size:12px}.log-form-actions{gap:8px;display:flex}.progress-badge{background:#f9f9f9;border-left:3px solid #000;border-radius:4px;margin-top:8px;padding:10px 14px}.progress-msg{margin-bottom:6px;font-size:13px;font-weight:500}.progress-diffs{flex-wrap:wrap;gap:8px;display:flex}.progress-diff{border-radius:20px;padding:2px 8px;font-size:12px;font-weight:600}.progress-diff.positive{background:var(--color-success-bg);color:var(--color-success-dark)}.progress-diff.negative{background:var(--color-danger-bg);color:var(--color-danger-dark)}.progress-goal{color:var(--color-text-secondary);margin-top:6px;font-size:12px}.ex-log-feedback{background:var(--color-bg-subtle);border-left:3px solid #000;border-radius:0 4px 4px 0;flex-direction:column;gap:4px;margin:6px 0 2px 26px;padding:8px 12px;animation:.3s feedbackIn;display:flex}@keyframes feedbackIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ex-log-feedback-msg{color:#222;margin:0;font-size:12px;font-weight:500}.ex-log-feedback-diffs{flex-wrap:wrap;gap:6px;display:flex}.ex-log-diff{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.ex-log-diff.pos{background:var(--color-success-bg);color:var(--color-success-dark)}.ex-log-diff.neg{background:var(--color-danger-bg);color:var(--color-danger-dark)}.ex-log-feedback-goal{color:var(--color-info-dark);margin:0;font-size:11px}.exercise-goal-badge{color:var(--color-info-dark);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:10px;padding:3px 10px;font-size:12px;font-weight:600}.day-card-rest-full{flex-direction:column;gap:14px;margin-top:4px;display:flex}.day-card-rest-header{text-align:center;background:linear-gradient(145deg,#f7f8fa 0%,#eef1f5 100%);border:1px dashed #d8dde6;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:20px 12px 16px;display:flex}.day-card-rest-icon{font-size:34px;line-height:1}.day-card-rest-title{color:#3a3f4b;letter-spacing:.2px;font-size:14px;font-weight:700}.day-card-rest-subtitle{color:var(--color-text-secondary);font-size:11px;line-height:1.5}.rest-tips{flex-direction:column;gap:8px;display:flex}.rest-tip-card{background:#f7f8fa;border:1px solid #ebebeb;border-radius:8px;align-items:flex-start;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.rest-tip-card:hover{background:#f0f2f5}.rest-tip-icon{flex-shrink:0;margin-top:1px;font-size:20px;line-height:1}.rest-tip-body{flex-direction:column;gap:3px;min-width:0;display:flex}.rest-tip-title{color:#2a2d35;font-size:12px;font-weight:700}.rest-tip-text{color:var(--color-text-secondary);font-size:11px;line-height:1.55}.day-card-rest-mini{flex-direction:column;gap:10px;margin-top:4px;display:flex}.day-card-rest-mini-top{text-align:center;background:linear-gradient(145deg,#f7f8fa 0%,#eef1f5 100%);border:1px dashed #d8dde6;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 10px;display:flex}.day-card-rest-mini-icon{font-size:20px;line-height:1}.day-card-rest-mini-label{color:var(--color-text-secondary);letter-spacing:.4px;text-transform:uppercase;font-size:10px;font-weight:700}.rest-tips-mini{flex-direction:column;gap:0;list-style:none;display:flex}.rest-tip-mini-item{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);align-items:center;gap:8px;padding:7px 2px;font-size:11px;display:flex}.rest-tip-mini-item:last-child{border-bottom:none}.rest-tip-mini-title{color:#3a3f4b;font-weight:600}.coach-panel{border-top:1px solid var(--color-border-light);padding-top:28px}.coach-panel-header{align-items:center;gap:10px;margin-bottom:20px;display:flex}.coach-panel-icon{font-size:20px;line-height:1}.coach-panel-title{color:#000;letter-spacing:-.3px;font-size:16px;font-weight:700}.coach-panel-sub{color:var(--color-text-secondary);margin-left:auto;font-size:12px}.coach-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.coach-card{border:1px solid var(--color-border-light);background:#fff;border-radius:10px;transition:box-shadow .2s,transform .2s;animation:.3s cardIn;display:flex;overflow:hidden;box-shadow:0 1px 6px #0000000d}.coach-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000017}@keyframes cardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.coach-card-accent{flex-shrink:0;width:4px}.coach-card--achievement .coach-card-accent{background:var(--color-success)}.coach-card--tip .coach-card-accent{background:var(--color-info)}.coach-card--warning .coach-card-accent{background:var(--color-warning)}.coach-card-body{flex-direction:column;gap:8px;padding:16px 18px;display:flex}.coach-card-exercise{text-transform:uppercase;letter-spacing:.7px;color:var(--color-text-secondary);margin:0;font-size:11px;font-weight:700}.coach-card--achievement .coach-card-exercise{color:var(--color-success-dark)}.coach-card--tip .coach-card-exercise{color:var(--color-info-dark)}.coach-card--warning .coach-card-exercise{color:#e65100}.coach-card-text{color:#222;margin:0;font-size:13px;line-height:1.6}.coach-card-action{color:#555;border-top:1px solid #f5f5f5;margin:0;padding-top:4px;font-size:12px;font-weight:600}.ex-panel-overlay{z-index:200;background:#00000059;position:fixed;inset:0}.ex-panel{z-index:201;width:480px;max-width:95vw;height:100vh;box-shadow:var(--shadow-panel);background:#fff;flex-direction:column;animation:.25s panelSlideIn;display:flex;position:fixed;top:0;right:0;overflow-y:auto}@keyframes panelSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.ex-panel-header{border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:28px 28px 20px;display:flex}.ex-panel-title{margin-bottom:6px;font-size:20px;font-weight:700}.ex-panel-muscles{flex-wrap:wrap;gap:4px;display:flex}.ex-panel-muscle{background:var(--color-bg-hover);color:var(--color-text-secondary);border-radius:10px;padding:2px 10px;font-size:12px;display:inline-block}.ex-panel-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:18px;transition:background .2s}.ex-panel-close:hover{background:var(--color-border-light)}.ex-panel-section{border-bottom:1px solid #f5f5f5;padding:22px 28px}.ex-panel-section:last-child{border-bottom:none}.ex-panel-section h4{text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-secondary);margin-bottom:14px;font-size:13px;font-weight:700}.ex-panel-section-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.ex-panel-section-head h4{margin-bottom:0}.ex-panel-section-actions{gap:6px;display:flex}.ex-panel-section-sub{color:var(--color-text-secondary);font-size:12px}.ex-panel-empty{color:var(--color-text-secondary);font-size:13px}.ex-panel-empty-action{flex-direction:column;display:flex}.ex-panel-goal-stats{gap:16px;margin-bottom:18px;display:flex}.ex-panel-stat{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px;display:flex}.ex-panel-stat span{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:11px}.ex-panel-stat strong{font-size:20px;font-weight:700}.ex-panel-goal-progress{flex-direction:column;gap:10px;display:flex}.ex-panel-progress-title{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px}.ex-panel-bar-row{align-items:center;gap:10px;display:flex}.ex-panel-bar-label{width:52px;color:var(--color-text-secondary);flex-shrink:0;font-size:12px}.ex-panel-bar-track{background:var(--color-border-light);border-radius:4px;flex:1;height:8px;overflow:hidden}.ex-panel-bar-fill{background:var(--color-info);border-radius:4px;height:100%;transition:width .4s}.ex-panel-bar-fill.reached{background:var(--color-success)}.ex-panel-bar-value{color:var(--color-text-secondary);white-space:nowrap;text-align:right;flex-shrink:0;width:110px;font-size:11px}.ex-panel-goal-form{flex-direction:column;gap:10px;display:flex}.ex-panel-progression{align-items:center;gap:12px;margin-bottom:12px;display:flex}.prog-card{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:8px;flex:1;padding:14px}.prog-card.highlight{color:#fff;background:#000;border-color:#000}.prog-card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:4px;font-size:10px}.prog-card.highlight .prog-card-label{color:#fff9}.prog-card-date{margin-bottom:8px;font-size:12px;font-weight:600}.prog-card-values{flex-direction:column;gap:3px;font-size:13px;display:flex}.prog-arrow{color:var(--color-text-secondary);flex-shrink:0;font-size:20px}.prog-diffs{flex-wrap:wrap;gap:8px;display:flex}.prog-diff-badge{border-radius:10px;padding:3px 10px;font-size:12px;font-weight:600}.prog-diff-badge.positive{background:var(--color-success-bg);color:var(--color-success-dark)}.prog-diff-badge.negative{background:var(--color-danger-bg);color:var(--color-danger-dark)}.ex-panel-table{border-collapse:collapse;width:100%;font-size:13px}.ex-panel-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border-light);padding:8px 10px;font-size:11px}.ex-panel-table td{border-bottom:1px solid #f5f5f5;padding:9px 10px}.ex-panel-table tr:last-child td{border-bottom:none}.ex-panel-table tr:hover td{background:var(--color-bg-subtle)}.ex-panel-td-notes{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-style:italic;overflow:hidden}.ex-panel-video-section h4{margin-bottom:12px}.ex-panel-video-wrap{background:#000;border-radius:10px;width:100%;padding-top:56.25%;position:relative;overflow:hidden}.ex-panel-video{border:none;width:100%;height:100%;position:absolute;inset:0}.home-workout-hero-top{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.home-instructor-badge{color:#6366f1;text-transform:uppercase;letter-spacing:.5px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:700}@media (width<=640px){.day-card--side,.day-card-placeholder{display:none}.day-card--active{flex:100%;width:100%}.carousel-arrow{width:36px;height:36px;font-size:22px}.carousel-track{flex:1}}.al-page{flex-direction:column;gap:20px;display:flex}.al-tabs{border-bottom:2px solid var(--color-border);gap:8px;padding-bottom:0;display:flex}.al-tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;margin-bottom:-2px;padding:8px 18px 10px;font-family:inherit;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.al-tab.active{color:#000;border-bottom-color:#000;font-weight:700}.al-section{flex-direction:column;gap:16px;display:flex}.al-section-header{justify-content:space-between;align-items:center;display:flex}.al-section-header-right{align-items:center;gap:10px;display:flex}.al-section-title{color:#111;margin:0;font-size:16px;font-weight:700}.al-card{border:1.5px solid var(--color-border);background:#fff;border-radius:12px;padding:20px}.al-form-card{max-width:520px}.al-form-title{margin:0 0 4px;font-size:15px;font-weight:700}.al-form-hint{color:var(--color-text-secondary);margin:0 0 14px;font-size:12px}.al-form-actions{gap:8px;margin-top:12px;display:flex}.al-label{color:var(--color-text-secondary);margin:0 0 6px;font-size:12px;font-weight:600}.al-modal-overlay{z-index:300;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.al-modal{background:var(--color-surface,#fff);border-radius:16px;flex-direction:column;width:min(520px,100%);max-height:90dvh;display:flex;overflow-y:auto;box-shadow:0 8px 40px #0000002e}.al-modal-header{border-bottom:1.5px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:22px 24px 16px;display:flex}.al-modal-title{color:var(--color-text,#111);margin:0;font-size:18px;font-weight:800}.al-modal-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;font-size:18px;line-height:1;transition:background .15s}.al-modal-close:hover{background:#f3f4f6}.al-modal-body{flex-direction:column;padding:24px;display:flex}.al-modal-label{color:#374151;margin:0 0 8px;font-size:13px;font-weight:600}.al-modal-label-hint{color:var(--color-text-secondary);font-size:12px;font-weight:400}.al-muscle-picker{flex-wrap:wrap;gap:7px;display:flex}.al-muscle-chip-colored{cursor:pointer;border:1.5px solid;border-radius:20px;padding:5px 13px;font-family:inherit;font-size:12px;font-weight:600;transition:opacity .15s,transform .1s}.al-muscle-chip-colored:not(.active):not(.maxed):hover{transform:scale(1.04)}.al-muscle-chip-colored.maxed{cursor:default}.al-picker-hint{color:var(--color-text-secondary);margin:6px 0 0;font-size:11px}.al-ex-library-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.al-ex-library-card{border:1.5px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;transition:box-shadow .15s;display:flex}.al-ex-library-card:hover{box-shadow:0 2px 12px #00000012}.al-ex-library-top{flex-direction:column;flex:1;gap:6px;display:flex}.al-ex-library-name{color:#111;font-size:14px;font-weight:700}.al-ex-library-muscles{flex-wrap:wrap;gap:5px;display:flex}.al-ex-library-muscle{border:1px solid;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.al-ex-library-desc{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.al-ex-library-actions{border-top:1px solid var(--color-border);gap:6px;padding-top:10px;display:flex}.al-confirming{color:#c62828!important;background:#fee2e2!important;border-color:#fca5a5!important}.al-muscle-grid{flex-wrap:wrap;gap:6px;display:flex}.al-muscle-chip{cursor:pointer;color:#374151;background:#f3f4f6;border:1.5px solid #e5e7eb;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500}.al-muscle-chip.selected{color:#fff;background:#000;border-color:#000}.al-muscle-tag{color:var(--color-text-secondary);background:#f3f4f6;border-radius:10px;padding:2px 8px;font-size:11px}.al-cpf-row{align-items:flex-end;gap:8px;display:flex}.al-cpf-field{flex:1}.al-student-found{background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:10px;margin-top:10px;padding:14px}.al-student-found-info{align-items:center;gap:12px;display:flex}.al-student-name{color:#111;font-size:14px;font-weight:700}.al-student-cpf{color:var(--color-text-secondary);font-size:12px}.al-workout-list{flex-direction:column;gap:10px;display:flex}.al-workout-card{border:1.5px solid var(--color-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.al-workout-card-info{flex-direction:column;gap:4px;display:flex}.al-workout-name{color:#111;font-size:15px;font-weight:700}.al-workout-meta{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.al-active-pill{color:#fff;background:#000;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.al-workout-card-actions{flex-shrink:0;gap:8px;display:flex}.al-workout-card-top{align-items:center;gap:8px;display:flex}.al-workout-no-student{color:#aaa;font-style:italic}.al-status-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:10px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.al-status--draft{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1}.al-status--pending{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.al-status--accepted{color:#166534;background:#dcfce7;border:1px solid #86efac}.al-status--rejected{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.al-builder{flex-direction:column;gap:16px;display:flex}.al-builder-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.al-builder-title{flex:1;margin:0;font-size:17px;font-weight:700}.al-builder-badges{gap:8px;display:flex}.al-student-badge{color:#374151;background:#f3f4f6;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.al-student-badge--cpf{color:var(--color-text-secondary);font-weight:400}.al-workout-student-name{color:#111;font-weight:600}.al-workout-student-cpf{color:var(--color-text-secondary);font-size:11px}.al-builder-tabs{gap:4px;display:flex}.al-week-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.al-day-slot{border:1.5px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:10px;min-height:130px;padding:14px;display:flex}.al-day-slot.empty{background:#fafafa;border-style:dashed}.al-day-slot.rest{background:#f8f8fb}.al-day-header{justify-content:space-between;align-items:center;display:flex}.al-day-header-right{align-items:center;gap:6px;display:flex}.al-day-badge{color:#374151;text-align:center;background:#f3f4f6;border-radius:20px;min-width:20px;padding:2px 8px;font-size:11px;font-weight:700}.al-day-badge.rest{background:0 0}.al-day-name{color:#111;font-size:13px;font-weight:700}.al-day-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:15px;line-height:1;transition:color .15s,background .15s}.al-day-remove:hover,.al-day-remove.confirm{color:#e53935}.al-add-day-btn{color:var(--color-text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px}.al-add-day-btn:hover{color:#000}.al-day-desc{color:var(--color-text-secondary);margin:0;font-size:11px}.al-day-form{flex-direction:column;gap:6px;display:flex}.al-mini-field{margin:0!important}.al-checkbox-row{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.al-rest-label{color:var(--color-text-secondary);flex:1;margin:0;font-size:12px}.al-day-pills{flex-direction:column;flex:1;gap:4px;display:flex}.al-day-pill{color:#374151;white-space:nowrap;text-overflow:ellipsis;background:#f3f4f6;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:500;overflow:hidden}.al-day-pill--more{color:#888;background:#e9e9e9}.al-day-empty-hint{color:var(--color-text-secondary);flex:1;font-size:11px;font-style:italic}.al-day-manage-btn{border:1.5px solid var(--color-border);color:#374151;cursor:pointer;text-align:center;background:0 0;border-radius:8px;margin-top:auto;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .15s,color .15s,background .15s}.al-day-manage-btn:hover{color:#111;background:#f9fafb;border-color:#111}.al-panel-overlay{z-index:200;background:#00000059;position:fixed;inset:0}.al-panel{background:var(--color-surface,#fff);border-left:1.5px solid var(--color-border);z-index:201;flex-direction:column;width:min(420px,100vw);height:100dvh;animation:.22s panelSlideIn;display:flex;position:fixed;top:0;right:0;box-shadow:-4px 0 24px #0000001a}.al-panel-header{border-bottom:1.5px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 20px 16px;display:flex}.al-panel-super{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 4px;font-size:10px;font-weight:700}.al-panel-title{color:var(--color-text,#111);margin:0;font-size:22px;font-weight:800}.al-panel-subtitle{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.al-panel-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:6px;font-size:18px;line-height:1;transition:background .15s}.al-panel-close:hover{background:#f3f4f6}.al-panel-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.al-panel-section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 8px;font-size:11px;font-weight:700}.al-panel-empty{color:var(--color-text-secondary);margin:0;font-size:13px;font-style:italic}.al-panel-ex-list{flex-direction:column;gap:8px;display:flex}.al-panel-ex-card{border:1.5px solid var(--color-border);background:#fff;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.al-panel-ex-order-col{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.al-order-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:1px 4px;font-size:12px;line-height:1;transition:background .12s,color .12s}.al-order-btn:hover:not(:disabled){color:#111;background:#f3f4f6}.al-order-btn:disabled{opacity:.2;cursor:default}.al-order-num{color:var(--color-text-secondary);text-align:center;min-width:16px;font-size:11px;font-weight:700}.al-panel-ex-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.al-panel-ex-name{color:#111;font-size:14px;font-weight:600}.al-panel-ex-defaults{color:var(--color-text-secondary);font-size:12px}.al-panel-ex-muscles{flex-wrap:wrap;gap:4px;display:flex}.al-panel-ex-muscle{border:1px solid;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:500}.al-panel-ex-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:14px;line-height:1;transition:color .15s,background .15s}.al-panel-ex-remove:hover{color:#e53935;background:#fff0f0}.al-panel-link-area{border-top:1.5px solid var(--color-border);flex-direction:column;gap:12px;padding-top:4px;display:flex}.al-muscle-filter{flex-wrap:wrap;gap:6px;display:flex}.al-filter-chip{border:1.5px solid var(--color-border);color:#374151;cursor:pointer;background:#f3f4f6;border-radius:20px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.al-filter-chip:hover{border-color:#9ca3af}.al-filter-chip.active{color:#fff;background:#111;border-color:#111}.al-panel-pick-list{flex-direction:column;gap:6px;display:flex}.al-panel-pick-card{border:1.5px solid var(--color-border);cursor:pointer;text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.al-panel-pick-card:hover{border-color:#9ca3af;box-shadow:0 1px 6px #0000000f}.al-panel-pick-card.selected{background:#f9fafb;border-color:#111;box-shadow:0 0 0 2px #00000014}.al-panel-pick-name{color:#111;flex:1;font-size:13px;font-weight:600}.al-panel-pick-muscles{flex-wrap:wrap;gap:4px;display:flex}.al-panel-pick-muscle{border:1px solid;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:500}.al-panel-pick-check{color:#111;flex-shrink:0;font-size:14px;font-weight:700}.al-panel-ex-form{border:1.5px solid var(--color-border);background:#f9fafb;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.al-panel-form-row{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.al-monitoring{flex-direction:column;gap:16px;display:flex}.al-monitoring-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.al-monitoring-title{color:#111;font-size:15px;font-weight:700}.al-monitoring-refresh{align-items:center;gap:10px;display:flex}.al-refresh-time{color:var(--color-text-secondary);font-size:11px}.al-monitor-day{border:1.5px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.al-monitor-day-title{color:#111;margin:0;font-size:14px;font-weight:700}.al-monitor-day-desc{color:var(--color-text-secondary);font-weight:400}.al-monitor-exercise{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.al-monitor-ex-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.al-monitor-ex-name{color:#111;font-size:13px;font-weight:600}.al-monitor-goal{color:var(--color-text-secondary);font-size:12px}.al-monitor-ex-log{flex-direction:column;gap:4px;display:flex}.al-log-latest{color:#111;font-size:13px;font-weight:500}.al-log-date{color:var(--color-text-secondary);font-size:11px;font-weight:400}.al-log-history{color:var(--color-text-secondary);font-size:12px}.al-log-history summary{cursor:pointer}.al-log-list{flex-direction:column;gap:2px;margin:0;padding:4px 0 0 8px;list-style:none;display:flex}.al-log-item{color:#374151;font-size:12px}.al-log-notes{color:var(--color-text-secondary)}.al-monitor-no-log{color:var(--color-text-secondary);font-size:12px;font-style:italic}.al-error{color:#c62828;background:#fff0f0;border:1px solid #e53935;border-radius:8px;margin:0;padding:8px 12px;font-size:13px;font-weight:500}.al-empty{color:var(--color-text-secondary);margin:0;font-size:13px;font-style:italic}.al-log-item--clickable{cursor:pointer;border-radius:6px;padding:6px 8px;transition:background .15s}.al-log-item--clickable:hover{background:var(--color-bg-hover)}.al-log-item-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.al-log-date-label{color:var(--color-text-secondary);min-width:80px;font-size:12px}.al-log-annotate-hint{opacity:.45;margin-left:auto;font-size:13px}.al-log-item--clickable:hover .al-log-annotate-hint{opacity:1}.al-log-instructor-note{color:var(--color-instructor);border-left:2px solid var(--color-instructor);margin-top:4px;padding-left:6px;font-size:12px}.al-log-note-label{font-weight:600}.al-note-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.al-note-modal{background:var(--color-surface);width:min(480px,90vw);box-shadow:var(--shadow-modal);border-radius:14px;flex-direction:column;gap:12px;padding:28px 28px 24px;display:flex}.al-note-title{color:var(--color-text);margin:0;font-size:16px;font-weight:700}.al-note-hint{color:var(--color-text-secondary);margin:0;font-size:13px}.al-note-textarea{border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}.al-note-textarea:focus{border-color:var(--color-instructor);outline:none}.adm-page{max-width:960px;padding:2rem}.adm-header{align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.adm-title{color:var(--color-text);margin:0;font-size:1.4rem;font-weight:700}.adm-count{color:var(--color-text-secondary);font-size:.85rem}.adm-loading{color:var(--color-text-secondary);padding:2rem}.adm-error{color:var(--color-danger);padding:2rem}.adm-save-error{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:6px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.85rem}.adm-table-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;overflow-x:auto}.adm-table{border-collapse:collapse;width:100%;font-size:.875rem}.adm-table thead{background:var(--color-bg-subtle)}.adm-table th{text-align:left;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;font-size:.72rem;font-weight:600}.adm-table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text);vertical-align:middle;padding:.75rem 1rem}.adm-row:last-child td{border-bottom:none}.adm-row:hover{background:var(--color-bg-hover)}.adm-cell-id{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:.8rem}.adm-cell-role{align-items:center;gap:.5rem;display:flex}.adm-role-select{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;transition:border-color .15s}.adm-role-select:hover:not(:disabled){border-color:var(--color-instructor)}.adm-role-select:focus{outline:2px solid var(--color-instructor);border-color:var(--color-instructor)}.adm-role-select:disabled{opacity:.55;cursor:not-allowed}.adm-saving{color:var(--color-text-secondary);font-size:.75rem}.notif-bell-wrapper{position:relative}.notif-bell-btn{cursor:pointer;color:#555;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background .15s,color .15s;display:flex;position:relative}.notif-bell-btn:hover,.notif-bell-btn.open{background:var(--color-bg-hover,#f5f5f5);color:#111}@media (width<=640px){.notif-bell-btn{color:#fff9}.notif-bell-btn:hover,.notif-bell-btn.open{color:#fff;background:#ffffff1a}}@keyframes bell-ring{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}70%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes badge-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ef444480}50%{transform:scale(1.15);box-shadow:0 0 0 4px #ef444400}}.notif-bell-icon--ring{transform-origin:top;animation:2.5s ease-in-out infinite bell-ring}.notif-bell-btn--alert{color:#ef4444!important}@media (width<=640px){.notif-bell-btn--alert{color:#fca5a5!important}}.notif-badge--pulse{animation:2.5s ease-in-out infinite badge-pulse}.notif-badge{color:#fff;text-align:center;pointer-events:none;background:#ef4444;border-radius:9999px;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:2px}.notif-dropdown{border:1px solid var(--color-border,#e0e0e0);width:320px;max-height:480px;box-shadow:var(--shadow-modal,0 8px 40px #00000038);z-index:200;background:#fff;border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.notif-dropdown-header{border-bottom:1px solid var(--color-border-light,#f0f0f0);padding:14px 16px 10px}.notif-dropdown-title{color:#111;letter-spacing:.02em;font-size:13px;font-weight:600}.notif-group{padding:6px 0}.notif-group--read{opacity:.6;border-top:1px solid var(--color-border-light,#f0f0f0)}.notif-item{cursor:pointer;flex-direction:column;gap:8px;padding:12px 16px;transition:background .12s;display:flex}.notif-item:hover{background:var(--color-bg-hover,#f5f5f5)}.notif-item--unread{border-left:3px solid var(--color-instructor,#c9960c);background:linear-gradient(90deg,#c9960c12 0%,#0000 45%);box-shadow:inset 3px 0 10px #c9960c1f}.notif-item-content{flex-direction:column;gap:2px;display:flex}.notif-item-type{text-transform:uppercase;letter-spacing:.06em;color:var(--color-instructor-dark,#a67c00);font-size:11px;font-weight:600}.notif-item-workout{color:#111;font-size:14px;font-weight:500}.notif-item-instructor{color:var(--color-text-secondary,#636363);font-size:12px}.notif-item-status{color:var(--color-text-secondary,#636363);align-self:flex-end;font-size:11px;font-style:italic}.notif-item-actions{gap:8px;display:flex}.notif-accept-btn,.notif-reject-btn{cursor:pointer;border:none;border-radius:6px;flex:1;padding:6px 10px;font-size:12px;font-weight:600;transition:opacity .15s,filter .15s}.notif-accept-btn:disabled,.notif-reject-btn:disabled{opacity:.5;cursor:not-allowed}.notif-accept-btn{color:#fff;background:#22c55e}.notif-accept-btn:hover:not(:disabled){filter:brightness(1.1)}.notif-reject-btn{color:#ef4444;background:0 0;border:1px solid #ef4444}.notif-reject-btn:hover:not(:disabled){background:#ef444414}.notif-empty{color:var(--color-text-secondary,#636363);text-align:center;padding:20px 16px;font-size:13px}.notif-error{background:var(--color-danger-bg,#fdecea);border:1px solid var(--color-danger-border,#ef9a9a);color:var(--color-danger,#e53935);border-radius:6px;margin:8px 16px 0;padding:8px 10px;font-size:12px}@media (width<=480px){.notif-dropdown{width:290px;right:-60px}}
