.navbar{width:100%;background-color:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:1000}.navbar-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:70px}.navbar-brand{display:flex;align-items:center}.brand-link{text-decoration:none;color:inherit}.brand-name{font-size:1.5rem;font-weight:700;color:#333}.navbar-right{display:flex;align-items:center;gap:24px}.navbar-menu{display:flex;list-style:none;margin:0;padding:0;gap:32px}.navbar-item{margin:0}.navbar-link{text-decoration:none;color:#333;font-size:1rem;font-weight:500;transition:color .2s;padding:8px 0;position:relative}.navbar-link:hover,.navbar-link-active{color:var(--color-primary, #3d4f4f)}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-primary, #3d4f4f);transition:width .2s}.navbar-link:hover:after,.navbar-link-active:after{width:100%}.navbar-lang-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid #d1d5db;color:#333;font-family:inherit;font-size:.9rem;font-weight:500;padding:6px 12px;border-radius:999px;cursor:pointer;transition:border-color .2s,color .2s,background-color .2s}.navbar-lang-toggle:hover:not(:disabled){border-color:var(--color-primary, #3d4f4f);color:var(--color-primary, #3d4f4f);background-color:#3d4f4f0a}.navbar-lang-toggle:disabled{opacity:.5;cursor:not-allowed}.navbar-login-cta{padding:10px 24px;font-size:1rem;font-weight:600;background-color:var(--color-accent, #059669);color:#fff!important;border-radius:8px;transition:background-color .2s}.navbar-login-cta:hover{background-color:#047857;color:#fff!important}.navbar-login-cta:after{display:none}.navbar-login-cta-active{box-shadow:0 0 0 2px #05966959}.navbar-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}.hamburger-line{width:25px;height:3px;background-color:#333;border-radius:2px;transition:all .3s ease}.hamburger-line-open:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger-line-open:nth-child(2){opacity:0}.hamburger-line-open:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}@media(max-width:768px){.navbar-container{padding:0 16px}.navbar-hamburger{display:flex}.navbar-menu{position:fixed;top:70px;left:0;right:0;width:100%;background-color:#fff;flex-direction:column;gap:0;padding:20px;box-shadow:0 4px 12px #0000001a;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.navbar-menu-open{transform:translate(0)}.navbar-item{width:100%;border-bottom:1px solid #e5e7eb}.navbar-item:last-child{border-bottom:none}.navbar-link{display:block;padding:16px 0;font-size:1rem;width:100%}.navbar-lang-toggle{width:100%;justify-content:center;padding:12px 0;margin-top:8px;border-radius:8px}.navbar-login-cta{display:block;text-align:center;margin-top:8px;padding:14px 20px}}@media(min-width:769px){.navbar-menu{display:flex!important}}.footer{width:100%;background-color:#1c1917;color:#e7e5e4;padding:48px 20px 28px}.footer-container{max-width:900px;margin:0 auto}.footer-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:32px}.footer-section{display:flex;flex-direction:column;gap:8px}.footer-brand{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:#fff;margin:0}.footer-social{margin-top:4px}.footer-social-link{display:inline-flex;align-items:center;gap:8px;color:#e7e5e4;text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.footer-social-link:hover{color:#fff}.footer-social-link svg{opacity:.9}.footer-contact{display:flex;flex-direction:column;gap:6px}.footer-contact p{font-size:.9rem;color:#a8a29e;margin:0}.footer-contact a{color:#d6d3d1;text-decoration:none}.footer-contact a:hover{color:#fff}.footer-bottom{border-top:1px solid #292524;padding-top:20px;text-align:center}.footer-bottom p{font-size:.85rem;color:#78716c;margin:0}@media(max-width:767px){.footer{padding:40px 16px 24px}.footer-content{grid-template-columns:1fr;gap:24px}}.hero-section{width:100%;padding:64px 20px;background:#f5f3f0}.hero-content{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:56px}.hero-photo-col{flex:0 0 44%}.hero-photo{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:10px;box-shadow:0 4px 16px #00000014}.hero-text-col{flex:1}.hero-title{font-family:var(--font-display);font-size:2.1rem;font-weight:700;margin:0 0 18px;line-height:1.25;color:#1c1917;letter-spacing:-.01em}.hero-subtitle{font-family:var(--font-sans);font-size:1.05rem;font-weight:400;color:#44403c;margin:0 0 14px;line-height:1.7;max-width:38ch}.hero-eyebrow{font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:#78716c;letter-spacing:.03em;margin:0 0 28px}.hero-cta-button{display:inline-block;text-decoration:none;padding:14px 32px;font-size:1rem;font-weight:600;font-family:var(--font-sans);background-color:var(--color-primary, #3d4f4f);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s,box-shadow .2s}.hero-cta-button:hover{background-color:#2d3c3c;box-shadow:0 4px 12px #3d4f4f33}@media(max-width:1023px){.hero-content{gap:40px}.hero-photo-col{flex:0 0 38%}.hero-title{font-size:1.8rem}}@media(max-width:767px){.hero-section{padding:40px 16px}.hero-content{flex-direction:column;gap:28px}.hero-photo-col{flex:none;width:100%}.hero-photo{aspect-ratio:3 / 2;max-height:280px;object-position:center 25%}.hero-text-col{text-align:left}.hero-title{font-size:1.6rem}.hero-subtitle{max-width:none}}.about-section{--about-padding-vertical: var(--spacing-xl);--about-padding-horizontal: 20px;--about-title-size: var(--font-4xl);--about-title-margin: 60px;--about-subtitle-size: 1.8rem;--about-text-size: var(--font-lg);--about-text-margin: var(--spacing-md);width:100%;padding:var(--about-padding-vertical) var(--about-padding-horizontal);background-color:#fff}.about-container{max-width:1200px;margin:0 auto}.about-title{font-size:var(--about-title-size);font-weight:700;text-align:center;margin-bottom:var(--about-title-margin);color:#333}.about-content{max-width:650px;margin:0 auto;text-align:center}.about-subtitle{font-size:var(--about-subtitle-size);font-weight:600;margin-bottom:24px;color:#444}.about-text{font-size:var(--about-text-size);line-height:1.75;color:#666;margin-bottom:var(--about-text-margin)}.about-link-button{padding:12px 32px;font-size:var(--font-base);font-weight:600;background-color:transparent;color:var(--color-primary, #3d4f4f);border:2px solid var(--color-primary, #3d4f4f);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.about-link-button:hover{background-color:var(--color-primary, #3d4f4f);color:#fff}@media(min-width: var(--bp-tablet-min))and (max-width: var(--bp-tablet-max)){.about-section{--about-padding-vertical: var(--spacing-lg)}}@media (max-width: var(--bp-mobile-max)){.about-section{--about-padding-vertical: var(--spacing-lg);--about-padding-horizontal: 16px;--about-title-size: var(--font-3xl);--about-title-margin: var(--spacing-lg)}}.services-section{width:100%;padding:64px 20px;background-color:#fff}.services-container{max-width:900px;margin:0 auto;text-align:center}.services-title{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:16px;color:#1c1917}.services-description{font-size:1.05rem;color:#44403c;max-width:600px;margin:0 auto 48px;line-height:1.75}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{background-color:#fdfcfb;padding:32px 24px;border-radius:8px;border:1px solid #e7e5e0;transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column;height:100%;text-align:left}.service-card:hover{border-color:var(--color-primary, #3d4f4f);box-shadow:0 2px 8px #0000000f}.service-name{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin-bottom:12px;color:#1c1917;padding-bottom:12px;border-bottom:1px solid #e7e5e0;text-align:left}.service-details{margin-bottom:16px;text-align:left;flex-grow:1}.service-details p{margin:0;color:#44403c;font-size:.95rem;line-height:1.7}.service-learn-link{display:inline-flex;align-self:flex-start;margin-top:auto;padding-top:8px;font-size:.9rem;font-weight:600;color:var(--color-primary, #3d4f4f);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.service-learn-link:hover{border-bottom-color:var(--color-primary, #3d4f4f)}@media(min-width:768px)and (max-width:1023px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.services-section{padding:48px 16px}.services-title{font-size:1.6rem}.services-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:24px 16px}}.breathing-section{width:100%;padding:40px 20px;background-color:#fafafa}.breathing-section-content{max-width:1200px;margin:0 auto}@media(max-width:768px){.breathing-section{padding:30px 16px}}.how-it-works-section{--how-it-works-padding-vertical: var(--spacing-xl);--how-it-works-padding-horizontal: 20px;--how-it-works-title-size: var(--font-4xl);--how-it-works-title-margin: 12px;--how-it-works-subtitle-size: var(--font-xl);--how-it-works-intro-size: var(--font-lg);--how-it-works-header-margin: 60px;--how-it-works-grid-gap: 40px;--how-it-works-grid-cols: repeat(auto-fit, minmax(300px, 1fr));--how-it-works-grid-margin: 60px;--how-it-works-card-padding: var(--spacing-md);--how-it-works-icon-margin: 20px;--how-it-works-step-title-size: var(--font-2xl);width:100%;padding:var(--how-it-works-padding-vertical) var(--how-it-works-padding-horizontal);background-color:#fff}.how-it-works-container{max-width:1200px;margin:0 auto}.how-it-works-header{text-align:center;margin-bottom:var(--how-it-works-header-margin)}.how-it-works-title{font-size:var(--how-it-works-title-size);font-weight:700;margin-bottom:var(--how-it-works-title-margin);color:#333}.how-it-works-subtitle{font-size:var(--how-it-works-subtitle-size);font-weight:600;color:var(--color-primary, #3d4f4f);margin-bottom:12px}.how-it-works-intro{font-size:var(--how-it-works-intro-size);color:#666;max-width:650px;margin:0 auto;line-height:1.75}.how-it-works-grid{display:grid;grid-template-columns:var(--how-it-works-grid-cols);gap:var(--how-it-works-grid-gap);margin-top:var(--how-it-works-grid-margin)}.how-it-works-card{text-align:center;padding:var(--how-it-works-card-padding);border:1px solid #e5e7eb;border-radius:12px;background:#fff;transition:box-shadow .2s,transform .2s}.how-it-works-card:hover{box-shadow:0 4px 16px #0000000f;transform:translateY(-2px)}.how-it-works-icon{margin-bottom:var(--how-it-works-icon-margin);color:var(--color-primary, #3d4f4f);display:flex;align-items:center;justify-content:center}.how-it-works-step-label{font-size:var(--font-base);font-weight:600;color:var(--color-primary, #3d4f4f);margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}.how-it-works-step-title{font-size:var(--how-it-works-step-title-size);font-weight:700;margin-bottom:16px;color:#333}.how-it-works-step-text{font-size:var(--font-base);line-height:1.7;color:#666;max-width:280px;margin:0 auto}@media(min-width: var(--bp-tablet-min))and (max-width: var(--bp-tablet-max)){.how-it-works-section{--how-it-works-grid-cols: repeat(auto-fit, minmax(280px, 1fr));--how-it-works-grid-gap: 32px}}@media (max-width: var(--bp-mobile-max)){.how-it-works-section{--how-it-works-padding-horizontal: 16px;--how-it-works-title-size: var(--font-3xl);--how-it-works-grid-cols: 1fr;--how-it-works-grid-gap: var(--spacing-md)}}.testimonials-section{width:100%;padding:48px 20px;background-color:#fff}.testimonials-container{max-width:640px;margin:0 auto}.testimonials-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 32px;color:#1c1917}.testimonials-grid{display:flex;flex-direction:column;gap:24px}.testimonial-card{margin:0;padding:24px;background-color:#fdfcfb;border-radius:8px;border-left:3px solid var(--color-primary, #3d4f4f)}.testimonial-text{font-size:1rem;line-height:1.75;color:#44403c;margin:0 0 12px}.testimonial-author{font-size:.9rem;color:#78716c}.testimonial-author cite{font-style:normal;font-weight:600}@media(max-width:767px){.testimonials-section{padding:40px 16px}.testimonials-title{font-size:1.5rem}.testimonial-card{padding:20px}}.contact-section{width:100%;padding:64px 20px;background-color:#f5f3f0}.contact-container{max-width:900px;margin:0 auto}.contact-title{font-family:var(--font-display);font-size:2rem;font-weight:700;margin:0 0 48px;color:#1c1917}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:start}.contact-context{padding:28px 24px;background:#fff;border-radius:10px;border:1px solid #e7e5e0}.contact-context-heading{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0 0 12px;color:#1c1917}.contact-context-body{font-size:.95rem;color:#44403c;line-height:1.7;margin:0 0 24px}.contact-details{margin:0;padding:0}.contact-detail-row{display:flex;gap:12px;margin-bottom:10px;font-size:.9rem}.contact-detail-row dt{font-weight:600;color:#1c1917;min-width:60px}.contact-detail-row dd{margin:0;color:#44403c}.contact-detail-row dd a{color:var(--color-primary, #3d4f4f);text-decoration:none}.contact-detail-row dd a:hover{text-decoration:underline}.contact-form-wrapper{display:flex;flex-direction:column;gap:20px}.contact-form-status{padding:12px 16px;border-radius:6px;font-size:.9rem;font-weight:500}.contact-form-status-success{background-color:#ecfdf5;color:#047857;border:1px solid #6ee7b7}.contact-form-status-error{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.contact-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:.9rem;font-weight:600;color:#1c1917}.required{color:#b91c1c}.form-group input,.form-group textarea{padding:10px 14px;font-size:.95rem;border:1px solid #d6d3d1;border-radius:6px;transition:border-color .2s;font-family:inherit;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary, #3d4f4f);box-shadow:0 0 0 3px #3d4f4f0f}.form-group textarea{resize:vertical;min-height:110px}.contact-submit-button{padding:12px 28px;font-size:.95rem;font-weight:600;background-color:var(--color-primary, #3d4f4f);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s;align-self:flex-start}.contact-submit-button:hover:not(:disabled){background-color:#2d3c3c}.contact-submit-button:disabled{opacity:.7;cursor:not-allowed}@media(max-width:1023px){.contact-layout{gap:40px}}@media(max-width:767px){.contact-section{padding:48px 16px}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-context{padding:20px}.contact-title{font-size:1.6rem;margin-bottom:32px}}.intake-fieldset{border:1px solid #e7e5e0;border-radius:8px;padding:20px;margin:0;background:#fdfcfb}.intake-legend{font-size:.9rem;font-weight:600;color:#1c1917;padding:0 8px}.intake-fieldset .form-group{margin-bottom:12px}.intake-fieldset .form-group:last-child{margin-bottom:0}.intake-fieldset select{padding:9px 12px;font-size:.95rem;border:1px solid #d6d3d1;border-radius:6px;background:#fff;width:100%;font-family:inherit;transition:border-color .2s;appearance:auto}.intake-fieldset select:focus{outline:none;border-color:var(--color-primary, #3d4f4f);box-shadow:0 0 0 3px #3d4f4f0f}.jp-hero-section{width:100%;min-height:420px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary, #3d4f4f) 0%,#2d3c3c 100%);color:#fff;text-align:center;padding:var(--spacing-lg) 20px;position:relative;overflow:hidden}.jp-hero-content{max-width:720px;margin:0 auto}.jp-hero-badge{display:inline-block;font-family:var(--font-sans);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);padding:6px 14px;border-radius:999px;margin-bottom:22px}.jp-hero-title{font-family:var(--font-display);font-size:var(--font-3xl);font-weight:700;margin:0 0 18px;line-height:1.35;text-shadow:0 2px 4px rgba(0,0,0,.12)}.jp-hero-subtitle{font-family:var(--font-sans);font-size:var(--font-lg);font-weight:500;opacity:.95;margin:0 0 14px;line-height:1.7}.jp-hero-eyebrow{font-family:var(--font-sans);font-size:.9rem;opacity:.78;margin:0 0 32px;letter-spacing:.02em}.jp-hero-cta{display:inline-block;text-decoration:none;padding:14px 36px;font-size:1rem;font-weight:600;font-family:var(--font-sans);background-color:#fff;color:var(--color-primary, #3d4f4f);border:none;border-radius:6px;cursor:pointer;transition:box-shadow .2s}.jp-hero-cta:hover{box-shadow:0 4px 16px #0003}@media(max-width:767px){.jp-hero-section{min-height:360px;padding:var(--spacing-md) 16px}.jp-hero-title{font-size:var(--font-2xl);line-height:1.4}.jp-hero-subtitle{font-size:var(--font-md)}}.jp-how-it-works-section{padding:var(--spacing-xl) 20px;background:#f5f3f0}.jp-how-it-works-container{max-width:980px;margin:0 auto}.jp-how-it-works-header{text-align:center;margin-bottom:var(--spacing-lg)}.jp-how-it-works-title{font-family:var(--font-display);font-size:var(--font-2xl);margin:0 0 4px;color:var(--color-text, #1a1a1a)}.jp-how-it-works-subtitle{font-family:var(--font-sans);color:var(--color-muted, #6b7280);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin:0}.jp-how-it-works-list{list-style:none;padding:0;margin:0;display:grid;gap:20px}.jp-how-it-works-card{display:grid;grid-template-columns:60px 1fr;gap:20px;align-items:flex-start;padding:24px;background:#fff;border:1px solid #e7e5e0;border-radius:var(--radius-md, 12px);box-shadow:0 2px 6px #0000000a}.jp-how-it-works-num{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:var(--color-primary, #3d4f4f);color:#fff;font-family:var(--font-display);font-size:1.6rem;font-weight:700}.jp-how-it-works-step-title{font-family:var(--font-display);font-size:1.25rem;margin:0 0 8px;color:var(--color-text, #1a1a1a)}.jp-how-it-works-step-title-en{font-family:var(--font-sans);font-size:.9rem;font-weight:400;color:var(--color-muted, #6b7280);letter-spacing:.02em}.jp-how-it-works-step-body{font-family:var(--font-sans);font-size:1rem;line-height:1.75;color:var(--color-text, #1a1a1a);margin:0}@media(max-width:640px){.jp-how-it-works-card{grid-template-columns:48px 1fr;gap:16px;padding:18px}.jp-how-it-works-num{width:44px;height:44px;font-size:1.3rem}}.jp-offerings-section{padding:var(--spacing-xl) 20px;background:#fff}.jp-offerings-container{max-width:1100px;margin:0 auto}.jp-offerings-header{text-align:center;margin-bottom:12px}.jp-offerings-title{font-family:var(--font-display);font-size:var(--font-2xl);margin:0 0 4px}.jp-offerings-subtitle{font-family:var(--font-sans);color:var(--color-muted, #6b7280);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin:0}.jp-offerings-note{text-align:center;font-family:var(--font-sans);font-size:.9rem;color:var(--color-muted, #6b7280);margin:0 0 32px}.jp-offerings-empty{font-family:var(--font-sans);text-align:center;color:var(--color-muted, #6b7280);padding:32px 0}.jp-offerings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.jp-offering-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7e5e0;border-radius:var(--radius-md, 12px);padding:26px 24px;box-shadow:0 2px 8px #0000000a;transition:box-shadow .2s,transform .2s}.jp-offering-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.jp-offering-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.jp-offering-card-title{font-family:var(--font-display);font-size:1.3rem;margin:0;flex:1;line-height:1.4}.jp-offering-card-price{font-family:var(--font-sans);font-weight:700;color:var(--color-primary, #3d4f4f);background:#3d4f4f14;padding:4px 10px;border-radius:999px;font-size:.9rem;margin:0;white-space:nowrap}.jp-offering-card-subtitle{font-family:var(--font-sans);font-size:.95rem;color:var(--color-muted, #6b7280);line-height:1.55;margin:0 0 14px}.jp-offering-card-highlights{list-style:none;padding:0;margin:4px 0 22px;flex:1}.jp-offering-card-highlights li{font-family:var(--font-sans);font-size:.95rem;line-height:1.7;padding-left:20px;position:relative}.jp-offering-card-highlights li:before{content:"✓";position:absolute;left:0;color:var(--color-primary, #3d4f4f);font-weight:700}.jp-offering-card-cta{display:inline-block;text-align:center;text-decoration:none;padding:12px 20px;background:var(--color-primary, #3d4f4f);color:#fff;font-family:var(--font-sans);font-weight:600;border-radius:6px;transition:background .2s;margin-top:auto}.jp-offering-card-cta:hover{background:#2d3c3c}@media(max-width:640px){.jp-offerings-grid{grid-template-columns:1fr}}.jp-guides-teaser-section{padding:var(--spacing-xl, 64px) 20px;background:#f5f3f0}.jp-guides-teaser-container{max-width:900px;margin:0 auto}.jp-guides-teaser-header{text-align:center;margin-bottom:32px}.jp-guides-teaser-title{font-family:var(--font-display);font-size:var(--font-2xl, 2rem);margin:0 0 4px;color:#1c1917}.jp-guides-teaser-subtitle{font-family:var(--font-sans);color:#78716c;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.jp-guides-teaser-lead{font-size:1rem;color:#78716c;margin:0}.jp-guides-teaser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:24px}.jp-guides-teaser-card{display:block;padding:24px 22px;background:#fff;border:1px solid #e7e5e0;border-radius:10px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}.jp-guides-teaser-card:hover{border-color:var(--color-primary, #3d4f4f);box-shadow:0 2px 8px #0000000f}.jp-guides-teaser-card-title{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#1c1917}.jp-guides-teaser-card-en{display:block;font-size:.78rem;font-weight:400;color:#78716c;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.jp-guides-teaser-card-desc{margin:0;font-size:.9rem;color:#44403c;line-height:1.5}.jp-guides-teaser-cta{text-align:center}.jp-guides-teaser-link{display:inline-block;color:var(--color-primary, #3d4f4f);font-weight:600;font-size:.95rem;text-decoration:none;padding:8px 0}.jp-guides-teaser-link:hover{text-decoration:underline}.program-catalog-section{width:100%;padding:64px 20px;background-color:#f5f3f0}.program-catalog-container{max-width:900px;margin:0 auto;text-align:center}.program-catalog-title{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:16px;color:#1c1917}.program-catalog-intro{font-size:1.05rem;color:#44403c;margin-bottom:48px;line-height:1.6}.program-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.program-catalog-card{background:#fff;padding:28px 24px;border-radius:8px;border:1px solid #e7e5e0;text-align:left;display:flex;flex-direction:column;transition:border-color .2s}.program-catalog-card:hover{border-color:var(--color-primary, #3d4f4f);box-shadow:0 2px 8px #0000000f}.program-catalog-name{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:#1c1917;margin:0 0 8px}.program-catalog-subtitle{font-size:.95rem;color:#44403c;margin:0 0 12px;line-height:1.5}.program-catalog-price{display:inline-block;align-self:flex-start;padding:3px 10px;border-radius:4px;font-size:.85rem;font-weight:600;background:#3d4f4f14;color:var(--color-primary, #3d4f4f);margin-bottom:14px}.program-catalog-highlights{margin:0;padding-left:20px;font-size:.95rem;color:#44403c;line-height:1.75;flex:1}.program-catalog-footer{margin-top:40px;font-size:.95rem;color:#78716c}.program-catalog-footer a{color:var(--color-primary, #3d4f4f);text-decoration:none;font-weight:600}.program-catalog-footer a:hover{text-decoration:underline}@media(max-width:767px){.program-catalog-section{padding:48px 16px}.program-catalog-grid{grid-template-columns:1fr}.program-catalog-title{font-size:1.6rem}}.trainer-hero-section{width:100%;padding:56px 20px;background:var(--color-primary, #3d4f4f);color:#fff;text-align:center}.trainer-hero-container{max-width:640px;margin:0 auto}.trainer-hero-name{font-family:var(--font-display);font-size:2.2rem;font-weight:700;margin:0 0 12px;line-height:1.2}.trainer-hero-lede{font-size:1.05rem;font-weight:400;margin:0 0 28px;line-height:1.6;opacity:.92}.trainer-hero-cta{display:inline-block;padding:12px 28px;background-color:#fff;color:var(--color-primary, #3d4f4f);text-decoration:none;border-radius:6px;font-weight:600;font-size:1rem;transition:box-shadow .2s}.trainer-hero-cta:hover{box-shadow:0 4px 12px #00000026}@media(max-width:767px){.trainer-hero-section{padding:40px 16px}.trainer-hero-name{font-size:1.8rem}}.trainer-about-section{width:100%;padding:48px 20px;background-color:#fff}.trainer-about-container{max-width:640px;margin:0 auto}.trainer-about-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 20px;color:#1c1917}.trainer-about-bio{font-size:1rem;line-height:1.8;color:#44403c;margin:0}@media(max-width:767px){.trainer-about-section{padding:40px 16px}.trainer-about-title{font-size:1.5rem}}.trainer-credentials-section{width:100%;padding:48px 20px;background-color:#f5f3f0}.trainer-credentials-container{max-width:640px;margin:0 auto}.trainer-credentials-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 32px;color:#1c1917}.trainer-credentials-group{margin-bottom:28px}.trainer-credentials-group:last-child{margin-bottom:0}.trainer-credentials-group-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#78716c;margin:0 0 12px}.trainer-credentials-list{list-style:none;margin:0;padding:0}.trainer-credential-item{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid #e7e5e0;flex-wrap:wrap}.trainer-credential-item:last-child{border-bottom:none}.trainer-credential-name{font-weight:600;font-size:.95rem;color:#1c1917}.trainer-credential-org{font-size:.9rem;color:#78716c}.trainer-credential-year{font-size:.85rem;color:#a8a29e}.trainer-credential-link{font-size:.85rem;font-weight:600;color:var(--color-primary, #3d4f4f);text-decoration:none;margin-left:auto}.trainer-credential-link:hover{text-decoration:underline}@media(max-width:767px){.trainer-credentials-section{padding:40px 16px}.trainer-credentials-title{font-size:1.5rem}.trainer-credential-item{flex-direction:column;gap:2px;align-items:flex-start}.trainer-credential-link{margin-left:0;margin-top:4px}}.trainer-specializations-section{width:100%;padding:48px 20px;background-color:#fff}.trainer-specializations-container{max-width:640px;margin:0 auto}.trainer-specializations-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 32px;color:#1c1917}.trainer-specializations-grid{display:flex;flex-direction:column;gap:20px}.trainer-specialization-card{padding:20px 0;border-bottom:1px solid #e7e5e0}.trainer-specialization-card:last-child{border-bottom:none}.trainer-specialization-icon{display:none}.trainer-specialization-title{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:#1c1917}.trainer-specialization-description{font-size:.95rem;line-height:1.7;color:#44403c;margin:0}@media(max-width:767px){.trainer-specializations-section{padding:40px 16px}.trainer-specializations-title{font-size:1.5rem}}.trainer-philosophy-section{width:100%;padding:48px 20px;background-color:#f5f3f0}.trainer-philosophy-container{max-width:640px;margin:0 auto}.trainer-philosophy-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 32px;color:#1c1917}.trainer-philosophy-grid{display:flex;flex-direction:column;gap:20px}.trainer-philosophy-card{padding:20px 0;border-bottom:1px solid #e7e5e0}.trainer-philosophy-card:last-child{border-bottom:none}.trainer-philosophy-card:hover{transform:none;box-shadow:none}.trainer-philosophy-card-title{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:#1c1917}.trainer-philosophy-card-description{font-size:.95rem;line-height:1.7;color:#44403c;margin:0}@media(max-width:767px){.trainer-philosophy-section{padding:40px 16px}.trainer-philosophy-title{font-size:1.5rem}}.trainer-testimonials-section{width:100%;padding:48px 20px;background-color:#fff}.trainer-testimonials-container{max-width:640px;margin:0 auto}.trainer-testimonials-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 32px;color:#1c1917}.trainer-testimonials-grid{display:flex;flex-direction:column;gap:24px}.trainer-testimonial-card{margin:0;padding:24px;background-color:#fdfcfb;border-radius:8px;border-left:3px solid var(--color-primary, #3d4f4f)}.trainer-testimonial-text{font-size:1rem;line-height:1.75;color:#44403c;margin:0 0 12px}.trainer-testimonial-author{font-size:.9rem;color:#78716c}.trainer-testimonial-author cite{font-style:normal;font-weight:600}@media(max-width:767px){.trainer-testimonials-section{padding:40px 16px}.trainer-testimonials-title{font-size:1.5rem}.trainer-testimonial-card{padding:20px}}.trainer-location-section{width:100%;padding:48px 20px;background-color:#fff}.trainer-location-container{max-width:640px;margin:0 auto}.trainer-location-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 24px;color:#1c1917}.trainer-locations-grid{display:flex;flex-direction:column;gap:16px}.trainer-location-card{padding:20px 0;border-bottom:1px solid #e7e5e0}.trainer-location-card:last-child{border-bottom:none}.trainer-location-card:hover{transform:none;box-shadow:none}.trainer-location-address{margin-bottom:8px;font-size:1rem;color:#1c1917;font-weight:600}.trainer-location-address strong{color:#1c1917;margin-right:0}.trainer-location-description{font-size:.95rem;line-height:1.7;color:#44403c;margin:0}@media(max-width:767px){.trainer-location-section{padding:40px 16px}.trainer-location-title{font-size:1.5rem}}.trainer-social-section{width:100%;padding:48px 20px;background-color:#f5f3f0}.trainer-social-container{max-width:640px;margin:0 auto;text-align:center}.trainer-social-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 24px;color:#1c1917}.trainer-social-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.trainer-social-link{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background-color:#fff;color:#1c1917;text-decoration:none;border-radius:6px;border:1px solid #e7e5e0;font-weight:600;font-size:.9rem;transition:border-color .2s}.trainer-social-link:hover{border-color:var(--color-primary, #3d4f4f);color:var(--color-primary, #3d4f4f)}.trainer-social-email{margin-top:16px}.trainer-social-email a{color:var(--color-primary, #3d4f4f);text-decoration:none;font-size:1rem;font-weight:600}.trainer-social-email a:hover{text-decoration:underline}@media(max-width:767px){.trainer-social-section{padding:40px 16px}.trainer-social-title{font-size:1.5rem}.trainer-social-links{flex-direction:column;align-items:center}}.trainer-cta-section{width:100%;padding:48px 20px;background:var(--color-primary, #3d4f4f);color:#fff}.trainer-cta-container{max-width:640px;margin:0 auto;text-align:center}.trainer-cta-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin:0 0 12px}.trainer-cta-text{font-size:1.05rem;margin:0 0 28px;opacity:.9;line-height:1.7}.trainer-cta-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.trainer-cta-button{display:inline-block;padding:12px 28px;border-radius:6px;text-decoration:none;font-weight:600;font-size:1rem;transition:box-shadow .2s}.trainer-cta-button-primary{background-color:#fff;color:var(--color-primary, #3d4f4f)}.trainer-cta-button-primary:hover{box-shadow:0 4px 12px #00000026}.trainer-cta-button-secondary{background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}.trainer-cta-button-secondary:hover{background-color:#ffffff1a}@media(max-width:767px){.trainer-cta-section{padding:40px 16px}.trainer-cta-title{font-size:1.5rem}.trainer-cta-buttons{flex-direction:column;align-items:center}.trainer-cta-button{width:100%;max-width:260px;text-align:center}}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.cal-nav{display:flex;align-items:center;gap:8px}.cal-nav-btn{width:32px;height:32px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:18px;line-height:1;cursor:pointer;color:#374151;display:flex;align-items:center;justify-content:center}.cal-nav-btn:hover{background:#f3f4f6}.cal-today-btn{padding:5px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;font-weight:500;cursor:pointer;color:#374151}.cal-today-btn:hover{background:#f3f4f6}.cal-title{font-size:1.1rem;font-weight:600;color:#111827;margin-left:4px}.cal-mode-toggle{display:flex;border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.cal-mode-btn{padding:5px 14px;border:none;background:#fff;font-size:13px;font-weight:500;cursor:pointer;color:#6b7280;border-right:1px solid #d1d5db}.cal-mode-btn:last-child{border-right:none}.cal-mode-btn:hover{background:#f3f4f6}.cal-mode-btn.active{background:#3b82f6;color:#fff}.cal-weekday-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #e5e7eb}.cal-weekday{padding:8px 4px;text-align:center;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #e5e7eb;border-top:1px solid #e5e7eb}.cal-cell{min-height:100px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:4px;cursor:pointer;background:#fff;transition:background .1s}.cal-cell:hover{background:#f9fafb}.cal-cell.today{background:#eff6ff}.cal-cell.other-month{background:#f9fafb}.cal-cell.other-month .cal-day-num{color:#c0c5ce}.cal-cell-header{display:flex;justify-content:flex-end;padding:2px}.cal-day-num{font-size:13px;font-weight:500;color:#374151;cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-day-num:hover{background:#e5e7eb}.cal-day-num.today-num{background:#3b82f6;color:#fff}.cal-day-num.today-num:hover{background:#2563eb}.cal-cell-body{display:flex;flex-direction:column;gap:2px}.cal-event{display:block;width:100%;text-align:left;padding:2px 6px;border:none;border-left:3px solid #3b82f6;border-radius:3px;background:#f1f5f9;font-size:11px;cursor:pointer;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event:hover{background:#e2e8f0}.cal-event-name{font-weight:600}.cal-event-detail{margin-left:4px;color:#64748b}.cal-more{font-size:11px;color:#6366f1;cursor:pointer;padding:1px 6px;font-weight:500}.cal-more:hover{text-decoration:underline}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-week-day{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px;min-height:180px;cursor:pointer;transition:border-color .15s}.cal-week-day:hover{border-color:#93c5fd}.cal-week-day.today{border-color:#3b82f6;border-width:2px}.cal-week-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cal-week-day-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase}.cal-week-day-num{font-size:14px;font-weight:600;color:#374151;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-week-day-num.today-num{background:#3b82f6;color:#fff}.cal-week-day-body{display:flex;flex-direction:column;gap:4px}.cal-day-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cal-day-label{font-size:1rem;font-weight:600;color:#1e293b}.cal-add-btn{padding:6px 14px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.cal-add-btn:hover{background:#2563eb}.cal-empty{color:#94a3b8;font-size:14px;margin:0}.cal-day-list{display:flex;flex-direction:column;gap:8px}.cal-day-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;text-align:left;width:100%;transition:border-color .15s}.cal-day-card:hover{border-color:#93c5fd}.cal-day-card-indicator{width:4px;height:36px;border-radius:2px;flex-shrink:0}.cal-day-card-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cal-day-card-body strong{font-size:14px;color:#0f172a}.cal-day-card-body span{font-size:13px;color:#64748b}.cal-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;flex-shrink:0}.cal-status-planned{background:#dbeafe;color:#1d4ed8}.cal-status-completed{background:#d1fae5;color:#065f46}.cal-status-skipped{background:#f1f5f9;color:#475569}@media(max-width:768px){.cal-toolbar{flex-direction:column;align-items:stretch}.cal-nav{justify-content:space-between}.cal-mode-toggle{justify-content:center}.cal-week{grid-template-columns:1fr;gap:6px}.cal-week-day{min-height:auto}}@media(max-width:480px){.cal-grid{font-size:11px}.cal-cell{min-height:48px;padding:1px}.cal-weekday{padding:6px 0;font-size:11px}.cal-day-num{font-size:12px;width:22px;height:22px}.cal-cell-header{padding:1px}.cal-event{font-size:0;padding:0;border-left:none;width:8px;height:8px;border-radius:50%;display:inline-block;margin:1px}.cal-cell-body{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:2px}.cal-more{font-size:9px;padding:0 2px}.cal-title{font-size:.95rem}}.admin-page{max-width:1200px;margin:0 auto;padding:40px 20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{font-size:1.6rem;color:var(--color-text);margin:0}.nav-btn{padding:7px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500}.nav-btn:hover{background:var(--color-primary-hover)}.nav-btn-secondary{background:#6366f1}.nav-btn-secondary:hover{background:#4f46e5}.logout-button{padding:7px 16px;background-color:#ef4444;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500}.logout-button:hover{background-color:#dc2626}@media(max-width:768px){.admin-page{padding:16px 12px}.admin-header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{flex-wrap:wrap}}.login-page{min-height:100vh;display:flex}.login-brand-panel{flex:1 1 55%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 48px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 20% 80%,rgba(255,255,255,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(255,255,255,.04) 0%,transparent 50%),linear-gradient(160deg,var(--color-primary, #5a67a8) 0%,color-mix(in srgb,var(--color-primary, #5a67a8),#000 22%) 100%);color:#fff}.login-brand-panel:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 48px,rgba(255,255,255,.015) 48px,rgba(255,255,255,.015) 49px);pointer-events:none}.login-brand-inner{position:relative;max-width:380px;text-align:left}.login-brand-name{font-family:var(--font-display, Georgia, serif);font-size:2.4rem;font-weight:700;margin:0 0 12px;line-height:1.2}.login-brand-tagline{font-size:1.05rem;opacity:.8;line-height:1.6;margin:0;font-weight:400}.login-form-panel{flex:1 1 45%;display:flex;align-items:center;justify-content:center;padding:40px 48px;background:#fafafa}.login-container{width:100%;max-width:380px}.login-container h1{margin:0 0 8px;color:#1f2937;font-size:1.6rem;font-weight:700}.login-intro{font-size:.9rem;color:#6b7280;line-height:1.5;margin:0 0 24px}.login-intro a{color:var(--color-primary, #5a67a8);font-weight:600;text-decoration:none}.login-intro a:hover{text-decoration:underline}.login-role-toggle{display:flex;gap:0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.login-role-tab{padding:10px 20px;font-size:.9rem;font-weight:500;color:#9ca3af;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.login-role-tab:hover{color:#6b7280}.login-role-tab-active{color:#1f2937;border-bottom-color:var(--color-primary, #5a67a8)}.login-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:500;color:#374151;font-size:.85rem}.form-group input{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;background:#fff;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--color-primary, #5a67a8);box-shadow:0 0 0 3px #5a67a81a}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed}.error-message{background-color:#fef2f2;color:#991b1b;padding:10px 14px;border-radius:8px;font-size:.85rem;border:1px solid #fecaca}.login-button{padding:12px 24px;background:var(--color-primary, #5a67a8);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:4px}.login-button:hover:not(:disabled){opacity:.92}.login-button:active:not(:disabled){transform:scale(.99)}.login-button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:860px){.login-page{flex-direction:column}.login-brand-panel{flex:none;padding:48px 32px 40px}.login-brand-inner{text-align:center;max-width:480px}.login-brand-name{font-size:1.8rem}.login-brand-tagline{font-size:.95rem}.login-form-panel{flex:1;padding:32px 24px 48px}}@media(max-width:480px){.login-brand-panel{padding:36px 24px 28px}.login-brand-name{font-size:1.5rem}.login-form-panel{padding:24px 20px 40px}.login-role-tab{padding:8px 14px;font-size:.85rem}}.invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 20% 80%,rgba(255,255,255,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(255,255,255,.04) 0%,transparent 50%),linear-gradient(160deg,var(--color-primary, #5a67a8) 0%,color-mix(in srgb,var(--color-primary, #5a67a8),#000 22%) 100%)}.invite-card{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:40px 36px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f}.invite-brand{font-family:var(--font-display, Georgia, serif);font-size:1.1rem;font-weight:600;color:var(--color-primary, #5a67a8);margin:0 0 24px}.invite-card h1{margin:0 0 6px;color:#1f2937;font-size:1.5rem;font-weight:700}.invite-subtitle{font-size:.9rem;color:#6b7280;line-height:1.5;margin:0 0 24px}@media(max-width:480px){.invite-card{padding:32px 24px}}.setup-2fa-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5a67a8,#544b7a);padding:20px}.setup-container{background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:500px}.setup-container h1{margin:0 0 10px;text-align:center;color:#1f2937;font-size:2rem}.instructions{text-align:center;color:#6b7280;margin:0 0 30px;font-size:14px;line-height:1.6}.setup-form{display:flex;flex-direction:column;gap:20px}.form-group input{padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#5a67a8;box-shadow:0 0 0 3px #5a67a81a}.setup-button,.verify-button{padding:12px 24px;background:linear-gradient(135deg,#5a67a8,#544b7a);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.setup-button:hover:not(:disabled),.verify-button:hover:not(:disabled){opacity:.9}.setup-button:disabled,.verify-button:disabled{opacity:.6;cursor:not-allowed}.qr-code-container{display:flex;justify-content:center;margin:30px 0}.qr-code{width:200px;height:200px;border:2px solid #e5e7eb;border-radius:8px;padding:10px;background:#fff}.secret-container{text-align:center;margin:20px 0;padding:20px;background:#f9fafb;border-radius:8px}.secret-label{margin:0 0 10px;color:#6b7280;font-size:14px}.secret-code{display:block;font-family:Courier New,monospace;font-size:18px;font-weight:600;color:#1f2937;letter-spacing:2px}.backup-codes-container{margin:30px 0;padding:20px;background:#fef3c7;border-radius:8px;border:1px solid #fbbf24}.backup-codes-container h3{margin:0 0 10px;color:#92400e}.backup-warning{margin:0 0 15px;color:#92400e;font-size:14px;font-weight:600}.backup-codes-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:15px}.backup-code{display:block;padding:8px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-family:Courier New,monospace;font-size:12px;text-align:center;color:#1f2937}.copy-button{width:100%;padding:10px;background:#f59e0b;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.copy-button:hover{background:#d97706}.verify-section{margin-top:30px;padding-top:30px;border-top:1px solid #e5e7eb}.verify-section h3{margin:0 0 10px;color:#1f2937}.verify-section p{margin:0 0 20px;color:#6b7280;font-size:14px}.verify-form{display:flex;flex-direction:column;gap:15px}.verify-2fa-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5a67a8,#544b7a);padding:20px}.verify-container{background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.verify-container h1{margin:0 0 10px;text-align:center;color:#1f2937;font-size:2rem}.instructions{text-align:center;color:#6b7280;margin:0 0 30px;font-size:14px}.verify-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#374151;font-size:14px}.code-input{padding:16px;border:2px solid #d1d5db;border-radius:8px;font-size:24px;text-align:center;letter-spacing:8px;font-weight:600;transition:border-color .2s;font-family:Courier New,monospace}.code-input:focus{outline:none;border-color:#5a67a8;box-shadow:0 0 0 3px #5a67a81a}.code-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.error-message{background-color:#fee2e2;color:#991b1b;padding:12px;border-radius:6px;font-size:14px;text-align:center}.verify-button{padding:12px 24px;background:linear-gradient(135deg,#5a67a8,#544b7a);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.verify-button:hover:not(:disabled){opacity:.9}.verify-button:disabled{opacity:.6;cursor:not-allowed}.backup-hint{text-align:center;color:#9ca3af;font-size:12px;margin:0}.modal-content{background:var(--color-surface);border-radius:12px;padding:32px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-content h2{margin:0 0 24px;font-size:1.5rem;color:var(--color-text)}.modal-content form{display:flex;flex-direction:column;gap:16px}.modal-content label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.modal-content input,.modal-content textarea,.modal-content select{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;outline:none;font-family:inherit}.modal-content input:focus,.modal-content textarea:focus,.modal-content select:focus{border-color:var(--color-focus)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.clients-page{max-width:1200px;margin:0 auto;padding:40px 20px}.clients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.clients-header h1{font-size:1.6rem;color:var(--color-text);margin:0}.clients-controls{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search-bar{flex:1;min-width:200px}.search-bar input{width:100%;max-width:400px;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;outline:none;box-sizing:border-box}.search-bar input:focus{border-color:var(--color-focus)}.status-filter{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.filter-btn{padding:6px 14px;border:none;background:var(--color-surface);font-size:12px;font-weight:500;cursor:pointer;color:var(--color-text-muted);border-right:1px solid var(--color-border)}.filter-btn:last-child{border-right:none}.filter-btn:hover{background:var(--color-bg-subtle)}.filter-btn.active{background:var(--color-primary);color:#fff}.action-banner{padding:10px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);font-size:14px;color:#1e40af;margin-bottom:16px}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.client-card{display:flex;align-items:center;gap:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:border-color .15s}.client-card:hover{border-color:#93c5fd}.client-avatar{width:44px;height:44px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}.client-info{flex:1;min-width:0}.client-info h3{margin:0 0 4px;font-size:15px;color:var(--color-text)}.client-session-info{display:flex;gap:6px;flex-wrap:wrap}.session-tag{font-size:11px;padding:2px 7px;border-radius:var(--radius-sm);font-weight:500}.session-tag.last{background:#f1f5f9;color:#475569}.session-tag.next{background:#dbeafe;color:#1d4ed8}.session-tag.none{background:#f9fafb;color:var(--color-text-faint)}.client-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.contact-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);text-decoration:none;font-size:16px;transition:background .1s}.contact-btn:hover{background:#f1f5f9}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-left:4px}.status-dot.status-active{background-color:#10b981}.status-dot.status-inactive{background-color:#f59e0b}.status-dot.status-archived{background-color:var(--color-text-faint)}@media(max-width:768px){.clients-page{padding:16px 12px}.clients-header{flex-direction:column;align-items:flex-start;gap:12px}.clients-controls{flex-direction:column}.clients-grid{grid-template-columns:1fr}}.portal-challenge-card{display:flex;flex-direction:column;gap:14px}.portal-challenge-header{display:flex;justify-content:space-between;align-items:flex-start}.portal-challenge-header h3{margin:0}.portal-challenge-sub{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.portal-challenge-pct{font-size:22px;font-weight:700;color:var(--color-primary, #2563eb)}.portal-challenge-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pc-stat{display:flex;flex-direction:column;gap:2px}.pc-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.pc-stat-value{font-size:16px;font-weight:600;color:var(--color-text)}.pc-stat-value.good{color:#059669}.pc-stat-bar{height:3px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-top:4px}.pc-stat-bar-fill{height:100%;background:var(--color-primary, #2563eb)}.portal-challenge-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:4px}.pc-cell{aspect-ratio:1;background:var(--color-bg, #f8fafc);border:1px solid var(--color-border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent}.pc-cell.done{background:#bbf7d0;border-color:#86efac;color:#166534;font-weight:700}.pc-cell.outside{opacity:.3}.portal-checkin-done{padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);color:#166534;font-weight:500;font-size:14px}.portal-checkin-pending{padding:10px 14px;background:#f9fafb;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:500;font-size:14px}.portal-checkin-block{display:flex;flex-direction:column;gap:10px}.portal-checkin-title{font-size:14px;font-weight:600;color:var(--color-text)}.portal-checkin-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.portal-checkin-btn{padding:12px 10px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;color:var(--color-text);transition:all .15s}.portal-checkin-btn:hover{border-color:var(--color-primary, #2563eb)}.portal-checkin-btn.picked{border-color:var(--color-primary, #2563eb);background:#eff6ff;color:#1d4ed8}.portal-checkin-confirm{display:flex;gap:8px;align-items:center}.portal-checkin-note{flex:1;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.portal-checkin-submit{padding:10px 18px;background:var(--color-primary, #2563eb);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:14px;cursor:pointer}.portal-checkin-submit:disabled{opacity:.6;cursor:wait}.portal-checkin-error{color:#dc2626;font-size:13px}@media(max-width:540px){.portal-challenge-grid{grid-template-columns:repeat(7,1fr)}.portal-checkin-options{grid-template-columns:repeat(2,1fr)}}.detail-page{max-width:900px;margin:0 auto;padding:40px 20px}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.detail-title-text{flex:1;min-width:0}.detail-title-text h1{margin:0;font-size:1.4rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-meta{display:flex;gap:16px;color:var(--color-text-muted);font-size:14px;margin-top:2px}.client-avatar-lg{width:56px;height:56px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;flex-shrink:0}.general-notes{margin:0;color:#4b5563;font-size:14px;white-space:pre-wrap}.note-form{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.note-form-row{display:flex;gap:10px}.note-form select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;outline:none}.note-form input,.note-form textarea{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;outline:none;font-family:inherit}.note-form input:focus,.note-form textarea:focus,.note-form select:focus{border-color:var(--color-focus)}.notes-list{display:flex;flex-direction:column;gap:10px}.note-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 18px;border-left:4px solid var(--color-border)}.note-card.note-injury{border-left-color:#ef4444}.note-card.note-note{border-left-color:var(--color-primary)}.note-card.note-goal{border-left-color:#10b981}.note-card.note-resolved{border-left-color:var(--color-text-faint);opacity:.7}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.note-date{font-size:12px;color:var(--color-text-faint)}.note-card h4{margin:0 0 4px;font-size:15px;color:var(--color-text)}.note-card p{margin:0;font-size:13px;color:var(--color-text-muted)}.note-actions{display:flex;gap:8px;margin-top:8px}.resolved-section{margin-top:16px}.resolved-section summary{cursor:pointer;font-size:14px;color:var(--color-text-muted);padding:8px 0}.sessions-list{display:flex;flex-direction:column;gap:10px}.session-card{display:flex;align-items:center;gap:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 18px;cursor:pointer;transition:box-shadow .15s}.session-card:hover{box-shadow:0 2px 8px #0000000f}.btn-repeat{padding:6px 12px;font-size:12px;border:1px solid #6366f1;background:#eef2ff;color:#4338ca;border-radius:var(--radius-md);cursor:pointer;flex-shrink:0}.btn-repeat:hover:not(:disabled){background:#e0e7ff}.btn-repeat:disabled{opacity:.6;cursor:wait}.session-date{font-size:13px;color:var(--color-text-muted);white-space:nowrap;min-width:120px}.session-info{flex:1;min-width:0}.session-info h4{margin:0;font-size:15px;color:var(--color-text)}.session-info p{margin:2px 0 0;font-size:13px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-add-wrap{position:relative}.assessment-modal{background:var(--color-surface);border-radius:12px;width:100%;max-width:600px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.assessment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.assessment-modal-header h2{margin:0;font-size:1.25rem;color:var(--color-text)}.assessment-empty{padding:40px 24px;text-align:center}.assessment-empty p{color:var(--color-text-muted);margin-bottom:16px}.template-tabs{display:flex;flex-direction:column;gap:2px;padding:12px;border-bottom:1px solid var(--color-border)}.template-tab{display:flex;align-items:center;gap:10px;padding:10px 14px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;color:#4b5563;text-align:left}.template-tab:hover{background:#f9fafb}.template-tab.active{background:#ede9fe;color:#6d28d9;font-weight:500}.level-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.level-dot.level-beginner{background:#10b981}.level-dot.level-intermediate{background:#f59e0b}.level-dot.level-advanced{background:#ef4444}.template-preview{padding:20px 24px}.template-meta{display:flex;gap:10px;align-items:center;margin-bottom:10px}.level-badge{padding:2px 10px;border-radius:var(--radius-xl);font-size:11px;font-weight:600;text-transform:uppercase}.level-badge.level-beginner{background:#d1fae5;color:#065f46}.level-badge.level-intermediate{background:#fef3c7;color:#92400e}.level-badge.level-advanced{background:#fee2e2;color:#991b1b}.template-time{font-size:13px;color:var(--color-text-muted)}.template-desc{font-size:13px;color:var(--color-text-muted);margin:0 0 14px}.injury-warning{background:#fef3c7;border:1px solid #fbbf24;border-radius:var(--radius-md);padding:8px 12px;font-size:13px;color:#92400e;margin-bottom:14px}.template-exercises{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}.template-exercise-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:var(--radius-md);font-size:14px}.template-exercise-row:nth-child(odd){background:#f9fafb}.template-exercise-row.flagged{background:#fef3c7}.te-name{color:var(--color-text);font-weight:500;display:flex;align-items:center;gap:6px}.flag-icon{color:#d97706;font-size:16px}.te-detail{color:var(--color-text-muted);font-size:13px;text-align:right;white-space:nowrap}.te-notes{display:block;font-size:11px;color:var(--color-text-faint)}.btn-generate{width:100%;padding:12px;background:#7c3aed;color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:15px;font-weight:600}.btn-generate:hover{background:#6d28d9}.btn-generate:disabled{opacity:.5;cursor:not-allowed}.goals-list{display:flex;flex-direction:column;gap:12px}.goal-card{padding:16px}.goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.goal-header h4{margin:0 0 4px;font-size:15px}.goal-metric{font-size:13px;color:var(--color-text-muted)}.goal-notes{font-size:13px;color:var(--color-text-muted);margin:0 0 10px}.detail-tabs{display:flex;gap:4px;border-bottom:2px solid var(--color-border);margin-bottom:24px}.detail-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:14px;font-weight:500;color:var(--color-text-muted);transition:color .15s,border-color .15s}.detail-tab:hover{color:var(--color-text-secondary)}.detail-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media(max-width:768px){.detail-page{padding:20px 16px}.detail-title-text h1{font-size:1.15rem}.client-avatar-lg{width:40px;height:40px;font-size:18px}.client-meta{flex-direction:column;gap:2px}.session-card{flex-wrap:wrap}.note-form-row{flex-direction:column}.assessment-modal{max-height:90vh}}.preview-container{border:2px solid var(--color-border);border-radius:var(--radius-lg);background:#f8fafc;overflow:hidden}.preview-banner{padding:8px 16px;background:#1e293b;color:#e2e8f0;font-size:13px;text-align:center}.preview-banner strong{color:#fff}.preview-nav{display:flex;gap:0;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.preview-nav-btn{flex:1;padding:10px 8px;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-size:13px;font-weight:500;color:var(--color-text-muted);transition:color .15s,border-color .15s}.preview-nav-btn:hover{color:var(--color-text-secondary)}.preview-nav-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.preview-portal-page{max-width:none;padding:20px 16px}.preview-portal-page h1{font-size:1.3rem}.leaderboards-card{margin:1rem 0;padding:1rem;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.leaderboards-tabs{display:flex;gap:.25rem;margin-bottom:.5rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.leaderboards-tab{padding:.5rem .75rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.9rem;color:var(--color-text-muted, #6b7280)}.leaderboards-tab:hover{color:var(--color-text, #111827)}.leaderboards-tab.active,.leaderboards-tab[aria-selected=true]{color:var(--color-text, #111827);border-bottom-color:var(--color-primary, #2563eb);font-weight:600}.leaderboards-subtitle{margin:0 0 .75rem;font-size:12px;color:var(--color-text-muted, #6b7280)}.leaderboards-empty{color:var(--color-text-muted, #6b7280);font-style:italic;margin:.5rem 0;font-size:.9rem}.leaderboards-podium{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px;align-items:end}.lb-podium-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:10px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-subtle, #f9fafb);text-align:center;min-width:0}.lb-podium-gold{background:linear-gradient(180deg,#fef3c7,#fde68a);border-color:#f59e0b;padding-top:18px;padding-bottom:18px}.lb-podium-silver{background:linear-gradient(180deg,#f1f5f9,#e2e8f0);border-color:#94a3b8}.lb-podium-bronze{background:linear-gradient(180deg,#fef3c7,#fcd9a8);border-color:#c2814a}.lb-podium-tile.is-me{outline:2px solid var(--color-primary, #2563eb);outline-offset:1px}.lb-podium-rank{font-size:18px;font-weight:800;color:#1f2937;width:28px;height:28px;border-radius:50%;background:#ffffffb3;display:flex;align-items:center;justify-content:center;line-height:1}.lb-podium-gold .lb-podium-rank{font-size:20px;width:32px;height:32px}.lb-podium-name{font-size:13px;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-flex;align-items:center;gap:6px}.lb-podium-value{font-size:14px;font-weight:700;color:#111827;font-variant-numeric:tabular-nums}.leaderboards-header{display:grid;grid-template-columns:2.5rem 1fr auto;gap:.75rem;padding:4px .5rem;margin-top:4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #6b7280);border-bottom:1px solid var(--color-border, #e5e7eb)}.lb-col-value{text-align:right}.leaderboards-list{list-style:none;padding:0;margin:0}.leaderboards-row{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.75rem;padding:.5rem;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.leaderboards-row:last-child{border-bottom:none}.leaderboards-row.is-me{background:#2563eb14;border-radius:6px}.lb-rank{color:var(--color-text-muted, #6b7280);font-variant-numeric:tabular-nums;font-weight:500}.lb-name{color:var(--color-text, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-width:0}.lb-value{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.lb-you-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--color-primary, #2563eb);border-radius:999px;padding:2px 6px;line-height:1}.lb-trend{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.lb-trend-down{color:#059669}.lb-trend-up{color:#b45309}.lb-trend-flat{color:var(--color-text-muted, #6b7280)}@media(max-width:540px){.leaderboards-podium{grid-template-columns:1fr 1fr 1fr;gap:6px}.lb-podium-tile{padding:10px 4px}.lb-podium-gold{padding-top:12px;padding-bottom:12px}.lb-podium-name{font-size:12px}.lb-podium-value{font-size:13px}}.challenges-page{max-width:1100px;margin:0 auto;padding:40px 20px}.challenges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.challenges-header h1{font-size:1.6rem;color:var(--color-text);margin:0}.challenge-tabs{display:flex;gap:8px;border-bottom:1px solid var(--color-border);margin-bottom:16px;overflow-x:auto}.challenge-tab{background:transparent;border:none;padding:10px 16px;font-size:14px;color:var(--color-text-secondary);border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap}.challenge-tab.active{color:var(--color-text);border-bottom-color:var(--color-primary, #2563eb);font-weight:600}.tab-badge{font-size:11px;padding:1px 6px;background:var(--color-border);color:var(--color-text-muted);border-radius:4px}.challenge-meta{display:flex;justify-content:space-between;align-items:center;padding:10px 0 16px;font-size:13px;color:var(--color-text-secondary)}.roster-list{display:flex;flex-direction:column;gap:10px}.roster-row{display:flex;align-items:center;gap:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 16px;cursor:pointer;transition:border-color .15s}.roster-row:hover{border-color:#93c5fd}.roster-row.status-completed,.roster-row.status-withdrawn{opacity:.65}.roster-main{flex:1;min-width:0}.roster-name{font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:8px}.roster-legal-name{font-size:12px;color:var(--color-text-muted);font-weight:400}.challenge-meta-actions{display:flex;gap:8px;align-items:center}.form-hint{font-size:12px;color:var(--color-text-muted);margin:4px 0 0}.roster-status-pill{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--color-border);color:var(--color-text-muted);font-weight:500}.roster-dates{font-size:12px;color:var(--color-text-muted);margin-top:2px}.roster-stats{display:grid;grid-template-columns:110px 80px 60px 100px;gap:16px;align-items:center}.stat{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.stat-value{font-size:14px;font-weight:600;color:var(--color-text)}.stat-value.stat-good{color:#059669}.stat-bar{width:100%;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-top:4px}.stat-bar-fill{height:100%;background:var(--color-primary, #2563eb);transition:width .2s}.followup-overdue{color:#dc2626}.followup-due_soon{color:#d97706}.roster-remove{background:transparent;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.roster-remove:hover{color:#dc2626}.empty-state{text-align:center;color:var(--color-text-muted);padding:32px 16px}.empty-state .hint{font-size:13px;margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:720px){.roster-row{flex-wrap:wrap}.roster-stats{grid-template-columns:repeat(2,1fr);width:100%}}.challenge-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:18px}.panel-header{display:flex;align-items:center;justify-content:space-between}.panel-header h3{margin:0;font-size:16px;color:var(--color-text)}.status-pill{font-size:11px;padding:3px 10px;border-radius:999px;background:var(--color-border);color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.status-pill.status-active{background:#dcfce7;color:#166534}.panel-section-tight{font-size:13px;color:var(--color-text-secondary);margin:0}.panel-tag{color:var(--color-text-muted);font-size:12px}.goal-info{font-size:12px;color:var(--color-text-muted);margin-top:4px}.wl-source{font-size:10px;padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.wl-source-coach{background:#dbeafe;color:#1e40af}.wl-source-client{background:#f3f4f6;color:#6b7280}.panel-section{display:flex;flex-direction:column;gap:8px}.panel-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600}.panel-section-title-row{display:flex;justify-content:space-between;align-items:center}.adherence-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.adherence-block{display:flex;flex-direction:column;gap:3px}.adherence-label{font-size:11px;color:var(--color-text-muted)}.adherence-value{font-size:15px;font-weight:600;color:var(--color-text)}.bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.bar-fill{height:100%;background:var(--color-primary, #2563eb)}.pt-toggles{display:flex;gap:10px;flex-wrap:wrap}.pt-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.pt-toggle.done{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.weight-delta{font-size:13px;color:var(--color-text-secondary)}.weighin-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:center}.weighin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.weighin-list li{display:flex;gap:12px;align-items:center;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--color-border)}.wl-date{color:var(--color-text-muted);width:80px}.wl-weight{font-weight:600;color:var(--color-text)}.wl-bf{color:var(--color-text-secondary)}.wl-remove{margin-left:auto;background:transparent;border:none;font-size:18px;color:var(--color-text-muted);cursor:pointer}.wl-remove:hover{color:#dc2626}.outreach-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--color-text-secondary)}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:12px;color:var(--color-text-muted)}@media(max-width:640px){.adherence-row{grid-template-columns:repeat(2,1fr)}.weighin-form{grid-template-columns:1fr 1fr}}.save-status{position:fixed;bottom:1.25rem;right:1.25rem;z-index:1000;padding:.5rem 1rem;border-radius:999px;font-size:.875rem;font-weight:500;box-shadow:0 4px 14px #00000026}.save-status--saving{background:#1e293b;color:#f8fafc}.save-status--saved{background:#059669;color:#fff}.duration-input{display:inline-flex;align-items:center;gap:2px}.dur-field{width:38px;padding:4px 2px;text-align:center;border:1px solid var(--border, #d0d5dd);border-radius:4px;font-size:.85rem;-moz-appearance:textfield}.dur-field::-webkit-inner-spin-button,.dur-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dur-label{font-size:.75rem;color:var(--text-muted, #667085);margin-right:4px}.dur-label:last-child{margin-right:0}.session-toolbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#1f2937;color:#fff;border-radius:8px;margin-bottom:16px;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:12px}.toolbar-clock-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:15px;font-variant-numeric:tabular-nums;font-family:inherit;min-width:90px;text-align:center}.toolbar-clock-running{background:#3b82f64d;border-color:#3b82f680}.toolbar-duration{font-size:13px;font-weight:500}.time-ok{color:#6ee7b7}.time-warn{color:#fcd34d}.time-over{color:#fca5a5}.toolbar-center{display:flex;align-items:center;position:relative}.toolbar-rest-group{position:relative}.toolbar-rest-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-family:inherit}.toolbar-rest-btn:hover{background:#fff3}.toolbar-rest-active{background:#dc2626;border:none;color:#fff;padding:6px 20px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;font-family:inherit;animation:rest-pulse 1s ease-in-out infinite}@keyframes rest-pulse{0%,to{opacity:1}50%{opacity:.8}}.toolbar-presets{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;display:flex;gap:4px;background:#374151;padding:6px 8px;border-radius:8px;box-shadow:0 4px 12px #0000004d}.toolbar-preset{background:#ffffff26;border:none;color:#fff;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-family:inherit}.toolbar-preset:hover{background:#3b82f680}.toolbar-right{display:flex;align-items:center;gap:10px;font-size:13px}.toolbar-exercise{color:#d1d5db;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-set-count{background:#3b82f64d;padding:3px 10px;border-radius:999px;font-weight:600;font-size:12px}@media(max-width:768px){.session-toolbar{padding:8px 12px;gap:8px;border-radius:0;margin:-20px -16px 16px;position:sticky;top:0}.toolbar-exercise{display:none}.toolbar-clock-btn{padding:8px 12px;font-size:14px;min-width:80px}.toolbar-rest-active{padding:8px 16px;font-size:15px}}.exercise-picker{margin-bottom:16px}.picker-header{display:flex;gap:8px;align-items:center;margin-bottom:12px}.picker-search{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:15px;outline:none;font-family:inherit}.picker-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.picker-filters{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.picker-filter-row{display:flex;flex-wrap:wrap;gap:6px}.picker-chip{padding:5px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#f9fafb;color:#4b5563;font-size:12px;cursor:pointer;font-family:inherit;text-transform:capitalize;white-space:nowrap}.picker-chip:hover{background:#f3f4f6;border-color:#d1d5db}.picker-chip-active{background:#3b82f6;color:#fff;border-color:#3b82f6}.picker-chip-active:hover{background:#2563eb;border-color:#2563eb}.picker-chip-muscle{font-size:11px;padding:4px 10px}.picker-clear{background:none;border:none;color:#6b7280;font-size:12px;cursor:pointer;padding:2px 0;text-decoration:underline;font-family:inherit;align-self:flex-start}.picker-results{max-height:320px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.picker-empty{padding:20px;text-align:center;color:#9ca3af;font-size:13px}.picker-group{border-bottom:1px solid #f3f4f6}.picker-group:last-child{border-bottom:none}.picker-group-label{padding:8px 14px 4px;font-size:11px;font-weight:700;text-transform:uppercase;color:#6b7280;background:#f9fafb;position:sticky;top:0;z-index:1}.picker-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;border:none;background:none;cursor:pointer;font-size:14px;text-align:left;font-family:inherit;border-bottom:1px solid #f3f4f6}.picker-item:last-child{border-bottom:none}.picker-item:hover{background:#eff6ff}.picker-item-flagged{background:#fffbeb}.picker-item-flagged:hover{background:#fef3c7}.picker-item-name{display:flex;align-items:center;gap:6px;color:#1f2937;font-weight:500}.picker-flag{font-size:12px}.picker-item-meta{color:#9ca3af;font-size:12px;white-space:nowrap}@media(max-width:768px){.picker-results{max-height:260px}.picker-item{padding:12px 14px;flex-direction:column;align-items:flex-start;gap:2px}.picker-search{font-size:16px}}.set-hint{font-size:.75rem;color:#64748b;margin-top:4px;line-height:1.2}.session-page{max-width:900px;margin:0 auto;padding:40px 20px}.session-page h1{font-size:1.75rem;color:var(--color-text);margin:16px 0 24px}.session-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.btn-delete-session{padding:8px 16px;background:var(--color-danger-bg);color:var(--color-danger);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px}.btn-delete-session:hover{background:var(--color-danger-bg-hover)}.session-form{display:flex;flex-direction:column;gap:16px}.session-form label,.session-meta label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.session-form input,.session-form textarea,.session-form select,.session-meta input,.session-meta textarea,.session-meta select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;outline:none;font-family:inherit}.session-form input:focus,.session-form textarea:focus,.session-meta input:focus,.session-meta textarea:focus{border-color:var(--color-focus)}.session-meta{margin-bottom:24px}.meta-row{display:flex;gap:16px;margin-bottom:12px}.meta-row label{flex:1}.add-exercise-row{display:flex;gap:10px;align-items:center;margin-bottom:16px}.add-exercise-row select{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.exercises-list{display:flex;flex-direction:column;gap:16px}.exercise-block{padding:16px 20px}.exercise-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.exercise-header h3{margin:0;font-size:16px;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exercise-type{font-size:12px;color:var(--color-text-muted)}.injury-banner{margin-bottom:16px;background:#fef3c7;border-color:#fbbf24;color:#92400e;font-size:13px}.exercise-flagged{border-left:4px solid #f59e0b}.caution-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);background:#fef3c7;color:#92400e;font-size:11px;font-weight:700;text-transform:uppercase;border:1px solid #fbbf24;white-space:nowrap;flex-shrink:0}.sets-table{width:100%;border-collapse:collapse;margin-bottom:8px}.sets-table th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--color-text-faint);padding:4px 8px;border-bottom:1px solid var(--color-border)}.sets-table td{padding:4px 8px;vertical-align:middle}.set-input{width:70px;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;text-align:center;outline:none}.set-input:focus{border-color:var(--color-focus)}.set-completed{background:#f0fdf4}.btn-add-set{padding:4px 12px;background:transparent;color:var(--color-primary);border:1px dashed var(--color-primary-disabled);border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.btn-add-set:hover{background:#eff6ff}@media(max-width:768px){.session-page{padding:20px 16px}.meta-row{flex-direction:column}.sets-table{font-size:13px}.set-input{width:55px}}.collapse-indicator{font-size:12px;color:var(--color-text-faint);width:16px;flex-shrink:0}.exercise-set-badge{font-size:11px;background:var(--color-bg-hover);color:var(--color-text-muted);padding:2px 8px;border-radius:var(--radius-pill);font-weight:500;white-space:nowrap;flex-shrink:0}.prescription-display{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:8px 12px;font-size:14px;color:#1e40af;margin-bottom:8px;font-style:italic}.exercise-config-row{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--color-border-light)}.prescription-input{width:100%;padding:8px 12px;border:1px dashed var(--color-border);border-radius:var(--radius-md);font-size:14px;font-family:inherit;outline:none;background:#fafafa}.prescription-input:focus{border-color:var(--color-focus);border-style:solid;background:var(--color-surface)}.timing-inputs{display:flex;gap:12px}.timing-label{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:500;color:var(--color-text-muted)}.timing-input{width:80px;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;text-align:center;outline:none;font-family:inherit}.timing-input:focus{border-color:var(--color-focus)}.sets-cards{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.set-card{position:relative;background:#f9fafb;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:10px 12px}.set-card.set-completed{background:#f0fdf4;border-color:#bbf7d0}.set-card-num{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px}.set-card-fields{display:flex;flex-wrap:wrap;gap:8px}.set-card-fields label{display:flex;flex-direction:column;gap:2px;font-size:11px;font-weight:500;color:var(--color-text-faint);flex:1;min-width:60px}.set-card-fields .set-input{width:100%;padding:8px;font-size:16px;border-radius:var(--radius-md);text-align:center}.set-card-delete{position:absolute;top:8px;right:8px}@media(max-width:768px){.set-card-fields .set-input{font-size:16px;padding:10px 8px}.timing-inputs{flex-wrap:wrap}.prescription-input{font-size:16px}}.catalog-page{max-width:1000px;margin:0 auto;padding:40px 20px}.catalog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.catalog-header h1{font-size:2rem;color:var(--color-text);margin:0}.filter-row{display:flex;gap:12px;margin-bottom:24px}.filter-row input{flex:1;max-width:300px;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:14px;outline:none}.filter-row input:focus{border-color:var(--color-focus)}.filter-row select{padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:14px;outline:none}.exercise-form{display:flex;flex-direction:column;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.exercise-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.exercise-form input,.exercise-form textarea,.exercise-form select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;outline:none;font-family:inherit}.exercise-form input:focus,.exercise-form textarea:focus{border-color:var(--color-focus)}.exercise-table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.exercise-table th{text-align:left;padding:12px 16px;font-size:12px;text-transform:uppercase;color:var(--color-text-muted);background:#f9fafb;border-bottom:1px solid var(--color-border)}.exercise-table td{padding:12px 16px;font-size:14px;color:#4b5563;border-bottom:1px solid var(--color-border-light)}.exercise-name{font-weight:500;color:var(--color-text)}.type-badge{padding:2px 8px;border-radius:var(--radius-xl);font-size:11px;font-weight:600;text-transform:uppercase}.type-badge.type-strength{background:#dbeafe;color:#1e40af}.type-badge.type-cardio{background:#fce7f3;color:#9d174d}.type-badge.type-flexibility{background:#d1fae5;color:#065f46}.type-badge.type-stability{background:#fef3c7;color:#92400e}.type-badge.type-mobility{background:#e0e7ff;color:#3730a3}.pattern-badge{padding:2px 8px;border-radius:var(--radius-xl);font-size:11px;font-weight:500;background:var(--color-bg-subtle);color:var(--color-text-secondary);text-transform:capitalize}.row-actions{display:flex;gap:8px;justify-content:flex-end}.form-grid-2{grid-template-columns:1fr 1fr}.form-thumb-preview{max-width:180px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.form-thumb-preview img{width:100%;height:auto;display:block}.exercise-name-cell{display:flex;align-items:center;gap:10px}.exercise-thumb-btn{position:relative;width:48px;height:36px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);background:#111827;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.exercise-thumb-btn:hover{border-color:#059669}.exercise-thumb-img{width:100%;height:100%;object-fit:cover}.exercise-thumb-placeholder{color:#059669;font-size:14px}.video-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.video-overlay-content{position:relative;width:90%;max-width:720px;aspect-ratio:16/9;background:#000;border-radius:var(--radius-xl);overflow:hidden}.video-overlay-content iframe,.video-overlay-content video{width:100%;height:100%;border:none}.video-overlay-close{position:absolute;top:-36px;right:0;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:4px 8px}@media(max-width:768px){.catalog-page{padding:20px 16px}.catalog-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-row{flex-direction:column}.filter-row input{max-width:100%}.form-grid,.form-grid-2{grid-template-columns:1fr}.exercise-table{font-size:13px}.exercise-table th,.exercise-table td{padding:8px 10px}}.programs-page{max-width:1200px;margin:0 auto;padding:40px 20px}.programs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.programs-header h1{font-size:1.6rem;color:var(--color-text);margin:0}.programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.program-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px;cursor:pointer;transition:border-color .15s}.program-card:hover{border-color:#93c5fd}.program-card h3{margin:0 0 6px;font-size:16px;color:var(--color-text)}.program-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.program-chip{font-size:11px;padding:2px 8px;border-radius:var(--radius-sm);font-weight:500;background:#f1f5f9;color:#475569}.program-chip.level{background:#dbeafe;color:#1d4ed8}.program-chip.published{background:#d1fae5;color:#065f46}.program-card p{margin:0;font-size:13px;color:var(--color-text-muted)}.program-card-actions{display:flex;gap:8px;margin-top:12px}.modal-box{background:var(--color-surface);border-radius:var(--radius-xl);padding:28px;width:420px;max-width:92vw}.modal-box h2{margin:0 0 18px;font-size:18px;color:var(--color-text)}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-focus)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.program-editor{max-width:1200px;margin:0 auto;padding:40px 20px}.editor-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:10px}.editor-top-bar h1{font-size:1.5rem;color:var(--color-text);margin:0}.editor-meta{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.publish-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;margin-left:auto}.publish-toggle input[type=checkbox]{accent-color:var(--color-accent, #059669);width:16px;height:16px;cursor:pointer}.week-tabs{display:flex;gap:4px;border-bottom:2px solid var(--color-border);margin-bottom:18px;flex-wrap:wrap}.week-tab{padding:8px 18px;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .1s,border-color .1s}.week-tab:hover{color:var(--color-text)}.week-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.week-actions{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.day-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;margin-bottom:14px}.day-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.day-card-header h3{margin:0;font-size:15px;color:var(--color-text)}.day-exercises{margin-bottom:10px}.day-exercise-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f9fafb;border-radius:var(--radius-md);margin-bottom:6px;font-size:13px}.day-exercise-row .ex-name{flex:1;font-weight:500;color:var(--color-text)}.day-exercise-row .ex-meta{color:var(--color-text-muted);font-size:12px}.day-exercise-row .ex-remove{background:none;border:none;color:#ef4444;cursor:pointer;font-size:15px;padding:2px 6px}.day-exercise-row .ex-remove:hover{color:#b91c1c}.exercise-picker{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;margin-top:8px;background:#fafbfc}.exercise-picker input{width:100%;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;margin-bottom:8px;box-sizing:border-box}.exercise-picker input:focus{outline:none;border-color:var(--color-focus)}.exercise-picker-list{max-height:200px;overflow-y:auto}.exercise-picker-item{padding:6px 10px;cursor:pointer;border-radius:var(--radius-sm);font-size:13px;color:var(--color-text)}.exercise-picker-item:hover{background:#e0e7ff}.exercise-picker-item .ep-type{font-size:11px;color:var(--color-text-muted);margin-left:6px}.assign-row{display:flex;gap:10px;align-items:flex-end}.assign-row .form-group{flex:1}.empty-state{text-align:center;padding:40px 0;color:var(--color-text-muted);font-size:14px}@media(max-width:768px){.programs-page,.program-editor{padding:16px 12px}.programs-header,.editor-top-bar{flex-direction:column;align-items:flex-start;gap:12px}.programs-grid{grid-template-columns:1fr}.assign-row{flex-direction:column;align-items:stretch}}.offerings-page{max-width:800px;margin:0 auto;padding:40px 20px}.offerings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.offerings-header h1{font-size:1.6rem;color:var(--color-text);margin:0}.offerings-list{display:flex;flex-direction:column;gap:12px}.offering-row{display:flex;align-items:flex-start;gap:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 18px;transition:border-color .15s}.offering-row:hover{border-color:#93c5fd}.offering-row.inactive{opacity:.55}.offering-row-main{flex:1;cursor:pointer;min-width:0}.offering-row-title{font-size:15px;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:8px}.offering-price-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);background:#dbeafe;color:#1d4ed8}.offering-lang-badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--radius-sm);letter-spacing:.04em}.offering-lang-badge-en{background:#f3f4f6;color:#4b5563}.offering-lang-badge-jp{background:#ede9fe;color:#5b21b6}.offering-lang-picker{display:flex;gap:8px}.offering-lang-option{flex:1;background:#fff;border:1px solid var(--color-border);color:var(--color-text);font-size:13px;font-weight:500;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background-color .15s}.offering-lang-option:hover{border-color:#93c5fd}.offering-lang-option-active{border-color:#5a67a8;background:#5a67a814;color:#5a67a8}.offering-row-subtitle{font-size:13px;color:var(--color-text-muted);margin-top:4px}.offering-row-highlights{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--color-text-secondary);line-height:1.6}.offering-row-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}.toggle-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer}.toggle-label input[type=checkbox]{accent-color:var(--color-accent, #059669);width:16px;height:16px}.highlight-row{display:flex;gap:6px;margin-bottom:6px}.highlight-row input{flex:1}.highlight-remove{background:none;border:none;color:#ef4444;font-size:18px;cursor:pointer;padding:0 6px;line-height:1}.highlight-remove:hover{color:#b91c1c}@media(max-width:768px){.offerings-page{padding:16px 12px}.offerings-header{flex-direction:column;align-items:flex-start;gap:12px}.offering-row{flex-direction:column}.offering-row-actions{flex-direction:row;align-items:center}}.waivers-page{max-width:960px;margin:0 auto;padding:24px}.waivers-title{margin:0 0 6px;font-size:1.6rem;font-weight:700;color:#1f2937}.waivers-subtitle{color:#6b7280;font-size:.9rem;margin:0 0 24px;line-height:1.5}.waivers-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 2px #0000000a}.waivers-card-title{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#1f2937}.waivers-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.waivers-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.waivers-field>span{font-weight:500;color:#374151}.waivers-optional{font-weight:400;color:#9ca3af}.waivers-field input,.waivers-field select{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;background:#fff;transition:border-color .2s,box-shadow .2s}.waivers-field input:focus,.waivers-field select:focus{outline:none;border-color:var(--color-primary, #5a67a8);box-shadow:0 0 0 3px #5a67a81a}.waivers-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.waivers-primary-btn{padding:10px 20px;background:var(--color-primary, #5a67a8);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s}.waivers-primary-btn:hover:not(:disabled){opacity:.92}.waivers-primary-btn:disabled{opacity:.55;cursor:not-allowed}.waivers-danger-btn{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:6px 12px;border-radius:6px;font-size:.8rem;cursor:pointer}.waivers-link-result{margin-top:20px;padding:16px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px}.waivers-link-label{margin:0 0 8px;font-size:.85rem;font-weight:600;color:#065f46}.waivers-link-row{display:flex;gap:8px}.waivers-link-row input{flex:1;padding:8px 12px;border:1px solid #a7f3d0;border-radius:6px;font-size:.85rem;background:#fff;color:#1f2937;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.waivers-link-row button{padding:8px 14px;background:#10b981;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer}.waivers-link-hint{margin:8px 0 0;font-size:.8rem;color:#047857}.waivers-empty,.waivers-error{color:#6b7280;font-size:.9rem;margin:8px 0}.waivers-error{color:#991b1b}.waivers-groups{display:flex;flex-direction:column;gap:24px}.waivers-group-title{margin:0 0 8px;font-size:.9rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.04em}.waivers-group-title span{color:#9ca3af;font-weight:400}.waivers-table{width:100%;border-collapse:collapse;font-size:.9rem}.waivers-table th{text-align:left;padding:10px 12px;background:#f9fafb;font-weight:600;font-size:.8rem;color:#6b7280;border-bottom:1px solid #e5e7eb}.waivers-table td{padding:12px;border-bottom:1px solid #f3f4f6;vertical-align:top;color:#1f2937}.waivers-table-sub{font-size:.78rem;color:#6b7280;margin-top:2px}.waivers-row-actions{display:flex;gap:6px;flex-wrap:wrap}.waivers-row-actions button{padding:6px 12px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.8rem;cursor:pointer}.waivers-row-actions button.waivers-danger-btn{background:#fef2f2;color:#991b1b;border-color:#fecaca}.waivers-row-note{font-size:.8rem;color:#9ca3af;font-style:italic}.waivers-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.waivers-modal{background:#fff;border-radius:12px;max-width:760px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.waivers-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #e5e7eb}.waivers-modal-header h2{margin:0;font-size:1.1rem;color:#1f2937}.waivers-modal-sub{margin:4px 0 0;font-size:.85rem;color:#6b7280}.waivers-modal-close{background:none;border:none;font-size:1.6rem;line-height:1;color:#9ca3af;cursor:pointer;padding:0 4px}.waivers-modal-body{padding:24px;overflow-y:auto;flex:1}.waivers-document{font-size:.92rem;color:#1f2937;line-height:1.6}.waivers-document h3{font-size:.95rem;margin:18px 0 6px;color:#1f2937}.waivers-document p{margin:0 0 10px}.waivers-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #e5e7eb}.waivers-modal-footer button{padding:8px 16px;border-radius:8px;font-size:.9rem;cursor:pointer;border:1px solid #d1d5db;background:#fff;color:#374151;font-weight:500}.waivers-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 20px;border-radius:8px;font-size:.9rem;box-shadow:0 8px 20px #00000026;z-index:1100}@media(max-width:720px){.waivers-form{grid-template-columns:1fr}.waivers-table thead{display:none}.waivers-table,.waivers-table tbody,.waivers-table tr,.waivers-table td{display:block;width:100%}.waivers-table tr{margin-bottom:12px;border:1px solid #e5e7eb;border-radius:8px;padding:8px}.waivers-table td{border:none;padding:6px 8px}}@media print{.waivers-modal-backdrop{position:static;background:none;padding:0}.waivers-modal{box-shadow:none;max-height:none}.waivers-modal-header,.waivers-modal-footer{display:none}}.waiver-sign-page{min-height:100vh;padding:32px 16px;background:radial-gradient(ellipse at 20% 80%,rgba(255,255,255,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(255,255,255,.04) 0%,transparent 50%),linear-gradient(160deg,var(--color-primary, #5a67a8) 0%,color-mix(in srgb,var(--color-primary, #5a67a8),#000 22%) 100%);display:flex;align-items:flex-start;justify-content:center}.waiver-sign-card{width:100%;max-width:760px;background:#fff;border-radius:16px;padding:36px 36px 28px;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000000f}.waiver-sign-card-narrow{max-width:460px}.waiver-sign-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.waiver-sign-brand{font-family:var(--font-display, Georgia, serif);font-size:1.1rem;font-weight:600;color:var(--color-primary, #5a67a8);margin:0}.waiver-sign-badge{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.waiver-sign-card h1{margin:0 0 8px;font-size:1.4rem;color:#1f2937;font-weight:700}.waiver-sign-meta{margin:0 0 24px;color:#6b7280;font-size:.9rem}.waiver-sign-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:12px 16px;border-radius:8px;font-size:.88rem;margin:0 0 20px}.waiver-sign-document{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:24px 28px;font-size:.95rem;line-height:1.65;color:#1f2937;max-height:480px;overflow-y:auto;margin:0 0 24px}.waiver-sign-document h3{font-size:1rem;font-weight:600;color:#1f2937;margin:22px 0 8px}.waiver-sign-document h3:first-child{margin-top:0}.waiver-sign-document p{margin:0 0 12px}.waiver-sign-document hr{margin:28px 0;border:0;border-top:1px solid #d1d5db}.waiver-sign-form{display:flex;flex-direction:column;gap:14px;border-top:1px solid #e5e7eb;padding-top:24px}.waiver-sign-form h3{margin:0 0 4px;font-size:1rem;font-weight:600;color:#1f2937}.waiver-sign-hint{color:#6b7280;font-size:.85rem;line-height:1.5;margin:0 0 8px}.waiver-sign-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.waiver-sign-field>span{font-weight:500;color:#374151}.waiver-sign-field input{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;background:#fff;transition:border-color .2s,box-shadow .2s}.waiver-sign-field input:focus{outline:none;border-color:var(--color-primary, #5a67a8);box-shadow:0 0 0 3px #5a67a81a}.waiver-sign-field input:disabled{background:#f3f4f6;cursor:not-allowed}.waiver-sign-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:#374151;line-height:1.5;padding:8px 0}.waiver-sign-checkbox input{margin-top:3px;width:18px;height:18px;cursor:pointer}.waiver-sign-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:10px 14px;border-radius:8px;font-size:.85rem}.waiver-sign-primary{padding:12px 20px;background:var(--color-primary, #5a67a8);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s;align-self:stretch}.waiver-sign-primary:hover:not(:disabled){opacity:.92}.waiver-sign-primary:disabled{opacity:.55;cursor:not-allowed}.waiver-sign-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.waiver-sign-actions .waiver-sign-primary{align-self:auto;padding:10px 18px}@media(max-width:600px){.waiver-sign-card{padding:28px 22px 22px}.waiver-sign-document{padding:18px 20px;max-height:380px}}@media print{.waiver-sign-page{background:none;padding:0}.waiver-sign-card{box-shadow:none;max-width:100%;border-radius:0;padding:0}.waiver-sign-header,.waiver-sign-form,.waiver-sign-actions,.waiver-sign-info{display:none}.waiver-sign-document{background:none;border:none;max-height:none;overflow:visible;padding:0}}.waiver-template-notice{background:#fef3c7;border-left:4px solid #f59e0b;color:#92400e;padding:12px 16px;border-radius:6px;font-size:.85rem;line-height:1.5;margin:0 0 18px}.waiver-template-editor{width:100%;min-height:480px;padding:14px 16px;border:1px solid #d1d5db;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.6;color:#1f2937;background:#fff;resize:vertical}.waiver-template-editor:focus{outline:none;border-color:var(--color-primary, #5a67a8);box-shadow:0 0 0 3px #5a67a81a}.waiver-template-editor:disabled{background:#f3f4f6;cursor:not-allowed}.waiver-template-loading{color:#6b7280;font-size:.9rem}.waiver-template-error{color:#991b1b;font-size:.85rem;margin:8px 0 0}.waiver-template-version{color:#9ca3af;font-size:.78rem;margin:6px 0 0}.settings-card-hint code{background:#f3f4f6;padding:1px 6px;border-radius:4px;font-size:.85em;color:#4338ca}.guides-page{max-width:1100px;margin:0 auto;padding:32px 24px}.guides-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.guides-header h1{margin:0}.guides-list{display:flex;flex-direction:column;gap:12px}.guide-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 10px);background:#fff;transition:box-shadow .15s}.guide-row:hover{box-shadow:0 2px 8px #0000000f}.guide-row.inactive{opacity:.5}.guide-row-main{flex:1;cursor:pointer;min-width:0}.guide-row-title{font-weight:600;font-size:1rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.guide-row-summary{font-size:.88rem;color:var(--color-muted, #6b7280);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-lang-badge{font-size:.72rem;font-weight:600;padding:2px 7px;border-radius:4px;text-transform:uppercase}.guide-lang-badge-jp{background:#fef3c7;color:#92400e}.guide-lang-badge-en{background:#dbeafe;color:#1e40af}.guide-pillar-badge{font-size:.72rem;padding:2px 7px;border-radius:4px;background:#f3f4f6;color:#374151}.guide-subpage-badge{font-size:.68rem;padding:2px 6px;border-radius:4px;background:#ede9fe;color:#5b21b6}.guide-row-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.guide-views{font-size:.8rem;color:var(--color-muted, #6b7280)}.guide-modal{max-width:800px;width:90vw;max-height:90vh;overflow-y:auto}.guide-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}@media(max-width:600px){.guide-form-grid{grid-template-columns:1fr}}.guide-lang-picker{display:flex;gap:8px}.guide-lang-option{padding:6px 14px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:#fff;cursor:pointer;font-size:.88rem}.guide-lang-option-active{background:var(--color-primary, #5a67a8);color:#fff;border-color:var(--color-primary, #5a67a8)}.guide-body-header{display:flex;align-items:center;justify-content:space-between}.guide-body-editor{width:100%;font-family:SF Mono,Menlo,monospace;font-size:.88rem;line-height:1.6;padding:12px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;resize:vertical}.guide-preview{border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:16px 20px;min-height:300px;font-size:.92rem;line-height:1.7;overflow-y:auto;max-height:500px}.guide-preview h1,.guide-preview h2,.guide-preview h3{margin:1em 0 .5em}.guide-preview h1{font-size:1.4rem}.guide-preview h2{font-size:1.2rem}.guide-preview h3{font-size:1.05rem}.guide-preview li{margin-left:20px;list-style:disc}.guide-advanced{margin:16px 0;padding:12px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.guide-advanced summary{cursor:pointer;font-weight:500;font-size:.9rem;color:var(--color-muted, #6b7280)}.guide-advanced[open] summary{margin-bottom:12px}.guides-hub-page{min-height:100vh;display:flex;flex-direction:column}.guides-hub-main{flex:1;padding:48px 20px 64px}.guides-hub-container{max-width:900px;margin:0 auto}.guides-hub-header{text-align:center;margin-bottom:40px}.guides-hub-header h1{font-family:var(--font-display);font-size:2.2rem;margin:0 0 10px;color:#111827;letter-spacing:-.01em}.guides-hub-subtitle{color:var(--color-muted, #6b7280);font-size:1.05rem;margin:0;line-height:1.6}.guides-hub-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:40px}.guides-hub-pillar-card{display:block;padding:20px;border:1px solid var(--color-border, #e5e7eb);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .15s}.guides-hub-pillar-card:hover{border-color:var(--color-primary, #5a67a8);box-shadow:0 2px 12px #5a67a81a;transform:translateY(-1px)}.guides-hub-pillar-card.active{border-color:var(--color-primary, #5a67a8);background:#5a67a808;box-shadow:0 2px 12px #5a67a81f}.guides-hub-pillar-card h3{margin:0 0 6px;font-size:1.05rem;font-weight:600;color:#1f2937}.guides-hub-pillar-card p{margin:0;font-size:.86rem;color:var(--color-muted, #6b7280);line-height:1.5}.guides-hub-clear-filter{display:flex;align-items:center;justify-content:center;font-size:.88rem;color:var(--color-primary, #5a67a8);text-decoration:none;font-weight:500;transition:color .2s}.guides-hub-clear-filter:hover{color:#4a5690}.guides-hub-empty{text-align:center;color:var(--color-muted, #6b7280);padding:48px 0;font-size:.95rem}.guides-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;scroll-margin-top:90px}.guides-hub-card{display:flex;flex-direction:column;border:1px solid var(--color-border, #e5e7eb);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .15s;background:#fff}.guides-hub-card:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-3px)}.guides-hub-card-img{width:100%;height:180px;object-fit:cover}.guides-hub-card-body{padding:20px 22px;flex:1;display:flex;flex-direction:column}.guides-hub-card-body h3{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:#1f2937;line-height:1.4}.guides-hub-card-body p{margin:0;font-size:.88rem;color:var(--color-muted, #6b7280);line-height:1.6;flex:1}.guides-hub-card-footer{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.guides-hub-card-reading-time{font-size:.78rem;color:var(--color-muted, #6b7280);background:#f3f4f6;padding:3px 8px;border-radius:12px}.guides-hub-card-no-img{height:6px;background:linear-gradient(135deg,var(--color-primary, #5a67a8),#7c8ad4);flex-shrink:0}@media(max-width:768px){.guides-hub-main{padding:32px 16px 48px}.guides-hub-header h1{font-size:1.6rem}.guides-hub-pillars{grid-template-columns:1fr;gap:10px}.guides-hub-pillar-card{padding:16px}.guides-hub-grid{grid-template-columns:1fr;gap:16px}.guides-hub-card-img{height:150px}}.guides-hub-card-group{display:flex;flex-direction:column}.guides-hub-subguides{list-style:none;padding:0 16px 12px;margin:0;display:flex;flex-direction:column;gap:6px;border:1px solid var(--border-color, #e5e7eb);border-top:none;border-radius:0 0 12px 12px;background:var(--surface-alt, #f9fafb)}.guides-hub-subguides li{padding-top:8px}.guides-hub-subguides li:first-child{padding-top:12px}.guides-hub-subguides a{color:var(--text-secondary, #4b5563);text-decoration:none;font-size:.9rem;transition:color .15s}.guides-hub-subguides a:before{content:"→ ";opacity:.5}.guides-hub-subguides a:hover{color:var(--accent-color, #059669)}.toc-mobile{margin-bottom:24px;border:1px solid var(--color-border, #e5e7eb);border-radius:10px;overflow:hidden}.toc-mobile-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:#f8fafc;border:none;font-family:inherit;font-size:.9rem;font-weight:600;color:#374151;cursor:pointer;transition:background-color .2s}.toc-mobile-toggle:hover{background:#f1f5f9}.toc-mobile-chevron{transition:transform .2s;font-size:.85rem}.toc-mobile-chevron-open{transform:rotate(180deg)}.toc-mobile-list{list-style:none;margin:0;padding:8px 16px 12px;border-top:1px solid #e5e7eb}.toc-mobile-item{margin:0}.toc-mobile-item button{display:block;width:100%;text-align:left;padding:8px 0;border:none;background:none;font-family:inherit;font-size:.88rem;color:#4b5563;cursor:pointer;transition:color .2s}.toc-mobile-item button:hover{color:var(--color-primary, #5a67a8)}.toc-mobile-item-3{padding-left:16px}.toc-mobile-item-3 button{font-size:.84rem;color:var(--color-muted, #6b7280)}.toc-desktop{display:none}@media(min-width:1100px){.toc-mobile{display:none}.toc-desktop{display:block;position:fixed;top:120px;right:max(20px,calc((100vw - 720px)/2 - 320px));width:220px;max-height:calc(100vh - 160px);overflow-y:auto}.toc-desktop-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted, #6b7280);margin-bottom:10px;padding-left:12px}.toc-desktop-list{list-style:none;margin:0;padding:0;border-left:2px solid #e5e7eb}.toc-desktop-item{margin:0}.toc-desktop-item button{display:block;width:100%;text-align:left;padding:6px 12px;border:none;background:none;font-family:inherit;font-size:.82rem;color:#6b7280;cursor:pointer;line-height:1.4;transition:color .2s,border-color .2s;border-left:2px solid transparent;margin-left:-2px}.toc-desktop-item button:hover{color:var(--color-primary, #5a67a8)}.toc-desktop-item-active button{color:var(--color-primary, #5a67a8);font-weight:600;border-left-color:var(--color-primary, #5a67a8)}.toc-desktop-item-3 button{padding-left:24px;font-size:.78rem}}.guide-detail-page{min-height:100vh;display:flex;flex-direction:column}.guide-detail-main{flex:1;padding:48px 20px 64px;background:#fff}.guide-detail-container{max-width:720px;margin:0 auto}.guide-detail-breadcrumb{font-size:.85rem;margin-bottom:28px;color:var(--color-muted, #6b7280)}.guide-detail-breadcrumb a{color:var(--color-primary, #5a67a8);text-decoration:none;transition:color .2s}.guide-detail-breadcrumb a:hover{color:#4a5690}.guide-detail-breadcrumb-sep{margin:0 8px;opacity:.5}.guide-detail-header{margin-bottom:32px}.guide-detail-header h1{font-family:var(--font-display);font-size:2.2rem;margin:0 0 16px;line-height:1.25;color:#111827;letter-spacing:-.01em}.guide-detail-summary{font-size:1.1rem;color:var(--color-muted, #6b7280);line-height:1.7;margin:0 0 20px}.guide-detail-meta{display:flex;align-items:center;gap:16px;margin-bottom:20px;font-size:.85rem;color:var(--color-muted, #6b7280)}.guide-detail-reading-time{display:inline-flex;align-items:center;gap:4px;background:#f3f4f6;padding:4px 10px;border-radius:20px;font-size:.82rem;color:#4b5563}.guide-detail-lang-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--color-primary, #5a67a8);text-decoration:none;border:1px solid var(--color-border, #e5e7eb);padding:6px 14px;border-radius:20px;transition:border-color .2s,background-color .2s}.guide-detail-lang-toggle:hover{border-color:var(--color-primary, #5a67a8);background:#5a67a80a}.guide-detail-hero{width:100%;height:220px;object-fit:cover;border-radius:12px;margin-bottom:32px}.guide-detail-article{margin-bottom:48px}.guide-detail-body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",var(--font-sans, system-ui, sans-serif);font-size:1rem;line-height:2;letter-spacing:.02em;color:#1f2937}.guide-detail-body h2{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin:2.5em 0 .7em;padding-bottom:8px;border-bottom:2px solid #e5e7eb;color:#111827;line-height:1.35}.guide-detail-body h3{font-size:1.15rem;font-weight:600;margin:1.8em 0 .5em;color:#1f2937;line-height:1.4}.guide-detail-body h4{font-size:1.05rem;font-weight:600;margin:1.4em 0 .4em;color:#374151;padding-left:12px;border-left:3px solid var(--color-primary, #5a67a8);line-height:1.4}.guide-detail-body p{margin:0 0 1.2em}.guide-detail-body ul,.guide-detail-body ol{padding-left:24px;margin:0 0 1.2em}.guide-detail-body li{margin-bottom:8px;line-height:1.8}.guide-detail-body li::marker{color:var(--color-primary, #5a67a8)}.guide-detail-table-wrapper{overflow-x:auto;margin:1.5em 0;border-radius:10px;border:1px solid #e5e7eb;-webkit-overflow-scrolling:touch}.guide-detail-table-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;pointer-events:none}.guide-detail-body table{width:100%;border-collapse:collapse;font-size:.9rem;margin:0}.guide-detail-body th,.guide-detail-body td{padding:10px 14px;text-align:left;border-bottom:1px solid #f3f4f6}.guide-detail-body th{background:#f8fafc;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:#4b5563;border-bottom:2px solid #e5e7eb}.guide-detail-body tr:nth-child(2n) td{background:#fafbfc}.guide-detail-body tr:last-child td{border-bottom:none}.guide-table-mobile{display:none}.guide-table-desktop{display:block}@media(max-width:768px){.guide-table-desktop{display:none}.guide-table-mobile{display:flex;flex-direction:column;gap:12px;margin:1.5em 0}.guide-table-card{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.guide-table-card-header{background:#f8fafc;padding:10px 14px;border-bottom:1px solid #e5e7eb}.guide-table-card-header .guide-table-card-value{font-weight:600;font-size:.95rem;color:#1f2937}.guide-table-card-row{display:flex;align-items:baseline;gap:8px;padding:8px 14px;border-bottom:1px solid #f3f4f6;font-size:.88rem;line-height:1.5}.guide-table-card-row:last-child{border-bottom:none}.guide-table-card-label{flex-shrink:0;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#6b7280;min-width:60px}.guide-table-card-value{color:#374151}}.guide-detail-body blockquote{border-left:4px solid var(--color-primary, #5a67a8);margin:1.5em 0;padding:16px 20px;background:#f8fafc;border-radius:0 10px 10px 0;font-size:.95rem;color:#374151}.guide-detail-body blockquote p:last-child{margin-bottom:0}.guide-detail-body img{max-width:100%;border-radius:10px;margin:1.5em 0;box-shadow:0 2px 8px #0000000f}.guide-detail-body a{color:var(--color-primary, #5a67a8);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#5a67a84d;transition:text-decoration-color .2s}.guide-detail-body a:hover{text-decoration-color:var(--color-primary, #5a67a8)}.guide-link-callout{display:flex;align-items:center;gap:12px;padding:14px 18px;margin:1em 0;background:#f8fafc;border:1px solid #e5e7eb;border-left:4px solid var(--color-primary, #5a67a8);border-radius:0 10px 10px 0;text-decoration:none;color:inherit;transition:background-color .2s,box-shadow .2s,transform .15s}.guide-link-callout:hover{background:#f1f5f9;box-shadow:0 2px 8px #5a67a81a;transform:translate(2px)}.guide-link-callout-content{flex:1;min-width:0}.guide-link-callout-title{font-size:.95rem;font-weight:600;color:var(--color-primary, #5a67a8);line-height:1.4}.guide-link-callout-subtitle{font-size:.82rem;color:var(--color-muted, #6b7280);margin-top:2px}.guide-link-callout-arrow{flex-shrink:0;font-size:1.1rem;color:var(--color-primary, #5a67a8);opacity:.6;transition:opacity .2s,transform .2s}.guide-link-callout:hover .guide-link-callout-arrow{opacity:1;transform:translate(3px)}.guide-detail-body hr{border:none;height:1px;background:linear-gradient(to right,transparent,#e5e7eb 20%,#e5e7eb 80%,transparent);margin:2.5em 0}.guide-detail-body code{background:#f3f4f6;padding:2px 7px;border-radius:5px;font-size:.88em;font-family:SF Mono,Fira Code,monospace}.guide-detail-body strong{font-weight:650;color:#111827}.guide-detail-download{margin:28px 0;padding:18px;background:#f0fdf4;border-radius:12px;text-align:center;border:1px solid #bbf7d0}.guide-detail-download a{color:#166534;font-weight:600;text-decoration:none;font-size:.95rem}.guide-detail-cta{margin:48px 0;padding:32px 28px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-radius:16px;text-align:center;border:1px solid #e9e5f5}.guide-detail-cta-text{font-size:.95rem;color:#374151;margin:0 0 18px;line-height:1.7}.guide-detail-cta-btn{display:inline-block;padding:12px 28px;background:var(--color-primary, #5a67a8);color:#fff;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem;transition:transform .15s,box-shadow .2s}.guide-detail-cta-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #5a67a840}.guide-detail-back{padding-top:28px;border-top:1px solid var(--color-border, #e5e7eb)}.guide-detail-back a{color:var(--color-primary, #5a67a8);text-decoration:none;font-size:.9rem;transition:color .2s}.guide-detail-back a:hover{color:#4a5690}@media(max-width:768px){.guide-detail-main{padding:32px 16px 48px}.guide-detail-header h1{font-size:1.5rem;line-height:1.3}.guide-detail-summary{font-size:1rem}.guide-detail-hero{height:160px;border-radius:8px;margin-bottom:24px}.guide-detail-body{font-size:1rem;line-height:1.9}.guide-detail-body h2{font-size:1.25rem;margin-top:2em}.guide-detail-body h3{font-size:1.08rem}.guide-detail-body h4{font-size:1rem}.guide-detail-body img{margin-left:-16px;margin-right:-16px;max-width:calc(100% + 32px);width:calc(100% + 32px);border-radius:0}.guide-link-callout{padding:12px 14px}.guide-detail-cta{padding:24px 20px;margin:36px 0}}.guide-detail-affiliate-disclosure{margin:0 0 24px;padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:.82rem;line-height:1.6;color:#92400e}.guide-detail-affiliate-disclosure p{margin:0}.videos-page{max-width:960px;margin:0 auto;padding:24px}.videos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.videos-header h1{margin:0;font-size:1.6rem;font-weight:700;color:#1f2937}.videos-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.videos-toolbar select,.videos-toolbar input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.85rem;background:#fff}.videos-upload-card{background:#fff;border:2px dashed #d1d5db;border-radius:12px;padding:32px;margin-bottom:24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.videos-upload-card:hover,.videos-upload-card.dragging{border-color:#6366f1;background:#f5f3ff}.videos-upload-card p{margin:8px 0 0;color:#6b7280;font-size:.85rem}.videos-upload-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 2px #0000000a}.videos-upload-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.videos-upload-form .form-row.full{grid-template-columns:1fr}.videos-upload-form label{display:flex;flex-direction:column;font-size:.8rem;font-weight:500;color:#374151;gap:4px}.videos-upload-form input,.videos-upload-form select,.videos-upload-form textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.85rem}.videos-upload-form textarea{resize:vertical;min-height:60px}.videos-upload-actions{display:flex;gap:10px;margin-top:16px}.upload-progress{margin-top:12px}.upload-progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.upload-progress-fill{height:100%;background:#6366f1;border-radius:3px;transition:width .3s}.upload-progress-text{font-size:.75rem;color:#6b7280;margin-top:4px}.videos-folder-group{margin-bottom:24px}.videos-folder-label{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;padding-left:4px}.videos-list{display:flex;flex-direction:column;gap:8px}.video-item{display:flex;align-items:center;padding:14px 18px;gap:14px}.video-icon{width:36px;height:36px;border-radius:8px;background:#ede9fe;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}.video-info{flex:1;min-width:0}.video-title{font-weight:600;font-size:.9rem;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-meta{font-size:.75rem;color:#9ca3af;margin-top:2px}.video-notes{font-size:.75rem;color:#6b7280;margin-top:3px;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-assigned{font-size:.72rem;color:#6366f1;margin-top:3px;font-weight:500}.video-item-wrap{border:1px solid #e5e7eb;border-radius:10px;background:#fff;box-shadow:0 1px 2px #00000008;transition:box-shadow .15s}.video-item-wrap:hover{box-shadow:0 2px 8px #0000000f}.video-item-wrap.expanded{border-color:#c7d2fe;box-shadow:0 2px 12px #6366f114}.video-item-wrap .video-item{border:none;box-shadow:none;background:none;border-radius:10px}.video-detail-panel{padding:0 18px 18px;border-top:1px solid #f3f4f6;margin-top:-4px}.video-detail-panel .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;margin-top:14px}.video-detail-panel .form-row.full{grid-template-columns:1fr}.video-detail-panel label{display:flex;flex-direction:column;font-size:.8rem;font-weight:500;color:#374151;gap:4px}.video-detail-panel input,.video-detail-panel select,.video-detail-panel textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.85rem}.video-detail-panel textarea{resize:vertical;min-height:50px}.video-detail-assign{margin-top:12px}.video-detail-assign-label{font-size:.8rem;font-weight:500;color:#374151}.video-detail-assign-list{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}.video-detail-assign-list label{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:.82rem;font-weight:400;cursor:pointer}.video-detail-no-clients{font-size:.8rem;color:#9ca3af}.video-detail-actions{display:flex;gap:10px;margin-top:16px;align-items:center}.video-badge{font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap}.video-badge.shared{background:#dbeafe;color:#1d4ed8}.video-badge.personal{background:#fef3c7;color:#92400e}.video-actions{display:flex;gap:6px}.video-actions button{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;font-size:.75rem;cursor:pointer;color:#4b5563;transition:background .15s}.video-actions button:hover{background:#f3f4f6}.video-actions button.danger:hover{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.videos-empty{text-align:center;padding:48px 24px;color:#9ca3af}.videos-empty p{margin:8px 0}.btn-primary{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#4f46e5}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;padding:9px 18px;font-size:.85rem;font-weight:500;cursor:pointer}.btn-secondary:hover{background:#f9fafb}@media(max-width:640px){.videos-upload-form .form-row,.video-detail-panel .form-row{grid-template-columns:1fr}.video-item{flex-wrap:wrap}}.portal-videos{margin-top:24px}.portal-videos-title{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 12px}.portal-videos-list{display:flex;flex-direction:column;gap:8px}.portal-video-item{display:flex;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 16px;gap:12px}.portal-video-icon{width:32px;height:32px;border-radius:8px;background:#ede9fe;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem}.portal-video-info{flex:1;min-width:0}.portal-video-name{font-weight:600;font-size:.85rem;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-video-meta{font-size:.72rem;color:#9ca3af;margin-top:2px}.portal-video-watch,.portal-video-download{color:#fff;text-decoration:none;padding:7px 14px;border-radius:7px;font-size:.8rem;font-weight:500;flex-shrink:0;transition:background .15s}.portal-video-watch{background:#6366f1}.portal-video-watch:hover{background:#4f46e5}.portal-video-download{background:#10b981}.portal-video-download:hover{background:#059669}.portal-videos-empty{color:#9ca3af;font-size:.85rem;text-align:center;padding:32px 16px}.portal-video-actions{display:flex;gap:8px;flex-shrink:0}.portal-challenge-settings{padding:0;overflow:hidden}.portal-collapsible-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:none;border:none;cursor:pointer;font:inherit;font-weight:600;color:var(--portal-text, #1f2937);text-align:left}.portal-collapsible-chevron{font-size:18px;color:var(--portal-text-muted, #6b7280);width:20px;text-align:center}.portal-collapsible-body{padding:12px 16px 16px;border-top:1px solid var(--portal-border, #e5e7eb);display:flex;flex-direction:column;gap:12px}.portal-form-group label{display:block;font-size:13px;font-weight:500;color:var(--portal-text, #1f2937);margin-bottom:4px}.portal-form-group input[type=text],.portal-form-group input[type=number],.portal-form-group input[type=date]{width:100%;padding:8px 10px;font-size:14px;border:1px solid var(--portal-border, #e5e7eb);border-radius:6px;background:var(--portal-surface, #fff);color:var(--portal-text, #1f2937)}.portal-form-checkbox label{display:flex;align-items:center;gap:8px;font-weight:400}.portal-form-checkbox input[type=checkbox]{width:16px;height:16px}.portal-form-hint{font-size:12px;color:var(--portal-text-muted, #6b7280);margin:4px 0 0}.portal-input-with-unit{position:relative;display:flex;align-items:center}.portal-input-with-unit input[type=number]{padding-right:72px}.portal-input-unit{position:absolute;right:10px;font-size:12px;color:var(--portal-text-muted, #6b7280);pointer-events:none}.portal-form-error{font-size:13px;color:#b91c1c;margin:4px 0 0}.portal-form-actions{display:flex;gap:12px;align-items:center}.portal-form-saved{font-size:13px;color:#047857}.portal-btn-primary{padding:8px 14px;background:var(--portal-accent, #2563eb);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.portal-btn-primary:disabled{opacity:.6;cursor:not-allowed}.portal-btn-sm{padding:6px 10px;font-size:13px}.portal-weighin-delta{font-size:13px;color:var(--portal-text-muted, #6b7280)}.portal-weighin-form{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:8px;align-items:center}@media(max-width:600px){.portal-weighin-form{grid-template-columns:1fr 1fr}}.portal-weighin-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.portal-weighin-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--portal-surface-alt, #f9fafb);border-radius:6px}.pwl-date{font-weight:500;width:70px;font-size:13px}.pwl-weight{font-variant-numeric:tabular-nums}.pwl-bf{font-size:12px;color:var(--portal-text-muted, #6b7280)}.pwl-source{font-size:10px;padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;margin-left:auto}.pwl-source-coach{background:#dbeafe;color:#1e40af}.pwl-source-client{background:#f3f4f6;color:#6b7280}.pwl-remove{background:none;border:none;color:var(--portal-text-muted, #6b7280);font-size:18px;cursor:pointer;padding:0 4px}.pwl-remove:hover{color:#b91c1c}.portal-leaderboards-wrap{margin-top:0}.portal-leaderboards-title{margin:0 0 8px;font-size:16px;color:var(--color-text, #1f2937)}.portal-leaderboards-skeleton{display:flex;flex-direction:column;gap:8px;padding:12px 0}.lb-skeleton-row{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--color-bg-subtle, #f3f4f6) 0%,var(--color-border-light, #e5e7eb) 50%,var(--color-bg-subtle, #f3f4f6) 100%);background-size:200% 100%;animation:lb-skeleton-shimmer 1.4s ease-in-out infinite}.lb-skeleton-row:nth-child(1){width:90%}.lb-skeleton-row:nth-child(2){width:75%}.lb-skeleton-row:nth-child(3){width:60%}@keyframes lb-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.portal-leaderboards-error{color:var(--color-text-muted, #6b7280);font-size:13px;margin:0;padding:8px 0}.portal-page{max-width:800px;margin:0 auto;padding:24px 16px}.portal-page h1{margin:0 0 24px;font-size:1.75rem;color:#111827}.portal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:20px;margin-bottom:16px}.portal-card-warn{border-left:4px solid #f59e0b;background:#fffbeb}.portal-card h3{margin:0 0 12px;font-size:1rem}.portal-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.portal-card-header h3{margin:0}.portal-link{background:none;border:none;color:var(--color-accent, #059669);cursor:pointer;font-size:14px;font-weight:600;padding:0}.portal-link:hover{text-decoration:underline}.portal-empty{color:var(--color-text-faint);font-size:14px}.portal-loading{color:var(--color-text-muted);font-size:14px;text-align:center;padding:32px 0}.portal-error{color:#dc2626;font-size:14px;text-align:center;padding:32px 0}.portal-target-cell{color:var(--color-text-muted);font-size:13px;white-space:nowrap}.portal-list{display:flex;flex-direction:column;gap:4px}.portal-list-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-lg);cursor:pointer;transition:background .15s}.portal-list-item:hover{background:var(--color-bg-subtle)}.portal-list-date{color:var(--color-text-muted);font-size:13px;min-width:120px}.portal-list-name{flex:1;font-weight:500;color:#111827;display:flex;flex-direction:column;gap:2px}.portal-list-program{font-size:11px;font-weight:400;color:var(--color-text-faint)}.portal-list-notes{color:var(--color-text-faint);font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase}.portal-injury-item{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px}.portal-session-meta{color:var(--color-text-muted);margin:-16px 0 20px;font-size:15px}.portal-session-notes{color:var(--color-text-secondary);margin-bottom:20px;background:#f9fafb;padding:12px;border-radius:var(--radius-lg)}.portal-exercises{display:flex;flex-direction:column;gap:16px}.portal-exercise-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:16px}.portal-exercise-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.portal-exercise-num{width:28px;height:28px;border-radius:50%;background:var(--color-accent, #059669);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.portal-exercise-header h3{margin:0;font-size:1rem;flex:1}.portal-exercise-type{color:var(--color-text-faint);font-size:12px;text-transform:capitalize}.portal-video-link{font-size:13px;font-weight:600;color:var(--color-accent, #059669);text-decoration:none;white-space:nowrap}.portal-video-link:hover{text-decoration:underline}.portal-exercise-thumb{margin-bottom:10px;border-radius:var(--radius-lg);overflow:hidden;max-width:320px}.portal-exercise-thumb img{width:100%;height:auto;display:block;border-radius:var(--radius-lg)}.portal-exercise-video{position:relative;width:100%;max-width:480px;aspect-ratio:16/9;margin-bottom:10px;border-radius:var(--radius-lg);overflow:hidden;background:#000}.portal-exercise-video iframe{width:100%;height:100%;border:none}.portal-exercise-notes{color:var(--color-text-muted);font-size:13px;margin-bottom:10px}.portal-sets-table{width:100%;border-collapse:collapse;font-size:14px}.portal-sets-table th{text-align:left;padding:6px 8px;color:var(--color-text-muted);font-weight:600;font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--color-border)}.portal-sets-table td{padding:6px 8px;border-bottom:1px solid var(--color-border-light)}.portal-sets-table .set-completed td{color:var(--color-accent, #059669)}.portal-set-input{width:70px;padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;text-align:center}.portal-set-input:focus{outline:none;border-color:var(--color-primary, #5a67a8)}.portal-set-hint{font-size:11px;color:var(--color-text-faint);margin-top:2px}.portal-notes-list{display:flex;flex-direction:column;gap:10px}.portal-note-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:16px}.portal-note-injury{border-left:4px solid #ef4444}.portal-note-goal{border-left:4px solid #10b981}.portal-note-note{border-left:4px solid var(--color-primary)}.portal-note-resolved{opacity:.7}.portal-note-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.portal-note-date{color:var(--color-text-faint);font-size:12px;margin-left:auto}.portal-note-card h4{margin:0 0 4px;font-size:15px}.portal-note-card p{margin:0;color:var(--color-text-muted);font-size:14px}.portal-resolved{margin-top:16px}.portal-resolved summary{color:var(--color-text-muted);cursor:pointer;font-size:14px;margin-bottom:10px}.portal-goals-list{display:flex;flex-direction:column;gap:16px}.portal-goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.portal-goal-header h3{margin:0;font-size:1rem}.portal-goal-metric{font-size:13px;color:var(--color-text-muted);margin:0 0 4px}.portal-goal-notes{font-size:13px;color:var(--color-text-faint);margin:0 0 10px}.progress-summary-bar{display:flex;gap:16px;margin-bottom:24px}.progress-stat{flex:1;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:16px 12px}.progress-stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--color-primary, #5a67a8)}.progress-stat-label{display:block;font-size:12px;color:var(--color-text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.02em}.progress-section{margin-bottom:28px}.progress-section h2{font-size:1.15rem;color:var(--color-text-secondary);margin:0 0 14px}.trend-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.trend-header h3{margin:0;font-size:1rem}.trend-type{font-size:11px;color:var(--color-text-faint);text-transform:capitalize}.trend-stats{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.trend-latest{font-size:1.25rem;font-weight:700;color:#111827}.trend-delta{font-size:13px;font-weight:600}.trend-positive{color:#059669}.trend-negative{color:#dc2626}.trend-count{font-size:12px;color:var(--color-text-faint);margin-left:auto}.portal-prescription{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:10px 14px;font-size:14px;color:#1e40af;margin-bottom:12px;font-style:italic;line-height:1.5}.portal-programs-grid{display:flex;flex-direction:column;gap:16px}.portal-program-card{cursor:pointer;transition:border-color .15s}.portal-program-card:hover{border-color:var(--color-primary, #5a67a8)}.portal-program-card h3{margin:0 0 8px;font-size:1.1rem}.portal-program-meta{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.badge-level{background:#ede9fe;color:#5a67a8;text-transform:capitalize}.portal-program-desc{font-size:14px;color:var(--color-text-muted);margin:0 0 14px;line-height:1.5}.portal-program-progress{margin-top:auto}.portal-progress-bar{height:6px;border-radius:3px;background:#e5e7eb;overflow:hidden;margin-bottom:6px}.portal-progress-fill{height:100%;border-radius:3px;background:var(--color-accent, #059669);transition:width .3s ease}.portal-progress-label{font-size:12px;color:var(--color-text-faint)}.portal-browse-link-container{margin-top:24px;text-align:center}.portal-browse-programs{font-size:14px}.portal-offerings-section{margin-top:40px;padding-top:24px;border-top:1px solid var(--color-border-light, #f3f4f6)}.portal-offerings-section h2{font-size:1.15rem;color:var(--color-text-secondary);margin:0 0 16px}.portal-offerings-grid{display:flex;flex-direction:column;gap:12px}.portal-offering-card{cursor:default}.portal-offering-card h3{margin:0 0 6px;font-size:1rem}.portal-offering-subtitle{font-size:14px;color:var(--color-text-muted);margin:0 0 8px;line-height:1.5}.portal-offering-price{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;background:#ede9fe;color:#5a67a8;margin-bottom:10px}.portal-offering-highlights{margin:0;padding-left:18px;font-size:14px;color:var(--color-text-secondary);line-height:1.7}.portal-offerings-contact{margin-top:16px;font-size:14px;color:var(--color-text-faint)}.portal-offerings-contact a{color:var(--color-accent, #059669);text-decoration:none;font-weight:600}.portal-offerings-contact a:hover{text-decoration:underline}.portal-program-card-mini{padding:8px 0}.portal-program-card-mini+.portal-program-card-mini{border-top:1px solid var(--color-border-light, #f3f4f6)}.portal-program-card-mini-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.portal-program-card-mini-name{font-weight:500;font-size:14px;color:#111827}.portal-layout{min-height:100vh;background:#f9fafb}.portal-nav{display:flex;align-items:center;gap:16px;padding:12px 24px;background:#1f2937;color:#fff;position:sticky;top:0;z-index:100}.portal-nav-brand{font-weight:700;font-size:18px;margin-right:auto}.portal-nav-links{display:flex;gap:8px}.portal-nav-links a{color:#9ca3af;text-decoration:none;padding:6px 14px;border-radius:6px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.portal-nav-links a:hover{color:#fff;background:#ffffff14}.portal-nav-links a.active{color:#fff;background:#374151}.portal-nav-logout{background:none;border:1px solid #4b5563;color:#9ca3af;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.portal-nav-logout:hover{color:#fff;border-color:#9ca3af}.portal-nav-logout--mobile,.portal-nav-hamburger,.portal-nav-overlay{display:none}@media(max-width:640px){.portal-nav{padding:10px 16px;flex-wrap:wrap}.portal-nav-hamburger{display:flex;flex-direction:column;gap:4px;padding:6px;background:none;border:none;cursor:pointer}.portal-nav-hamburger span{display:block;width:20px;height:2px;background:#e5e7eb;border-radius:1px}.portal-nav-links{display:none;flex-direction:column;width:100%;gap:2px;padding-top:8px}.portal-nav-links.open{display:flex}.portal-nav-links a{padding:10px 12px;font-size:15px;border-radius:8px}.portal-nav-logout--desktop{display:none}.portal-nav-logout--mobile{display:block;width:100%;text-align:left;padding:10px 12px;font-size:15px;border:none;color:#9ca3af;border-radius:8px;margin-top:4px}.portal-nav-logout--mobile:hover{background:#ffffff14;color:#fff}.portal-nav-overlay{display:block;position:fixed;inset:56px 0 0;background:#0000004d;z-index:99}.portal-page{padding:16px 12px}.portal-page h1{font-size:1.4rem;margin-bottom:16px}.portal-list-item{flex-wrap:wrap;gap:6px;padding:10px 8px}.portal-list-date{min-width:auto;font-size:12px}.portal-list-notes{display:none}.portal-sets-table{font-size:13px}.portal-set-input{width:56px;font-size:13px;padding:4px}.portal-exercise-video{max-width:100%}.progress-summary-bar{gap:8px}.progress-stat{padding:12px 8px}.progress-stat-value{font-size:1.4rem}}.coach-layout{display:flex;min-height:100vh}.coach-sidebar{width:220px;background:#1f2937;color:#e5e7eb;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:100}.sidebar-brand{padding:20px 16px;font-size:17px;font-weight:700;color:#fff;letter-spacing:.02em;border-bottom:1px solid #374151}.sidebar-nav{flex:1;padding:8px 0;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 16px;color:#9ca3af;text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s;border-left:3px solid transparent}.sidebar-link:hover{background:#374151;color:#f3f4f6}.sidebar-link.active{background:#374151;color:#fff;border-left-color:var(--color-primary, #5a67a8)}.sidebar-icon{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer{border-top:1px solid #374151;padding:8px 0}.sidebar-logout{display:flex;align-items:center;gap:12px;padding:10px 16px;color:#9ca3af;background:none;border:none;width:100%;font-size:14px;font-weight:500;cursor:pointer;text-align:left;font-family:inherit}.sidebar-logout:hover{background:#374151;color:#ef4444}.coach-main{flex:1;margin-left:220px;display:flex;flex-direction:column;min-height:100vh;background:#f9fafb}.coach-topbar{display:none}.coach-content{flex:1}.sidebar-overlay{position:fixed;inset:0;background:#0006;z-index:99}@media(max-width:768px){.coach-sidebar{transform:translate(-100%);transition:transform .2s ease}.coach-sidebar.open{transform:translate(0)}.coach-main{margin-left:0}.coach-topbar{display:flex;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}.topbar-hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:4px}.topbar-hamburger span{display:block;width:20px;height:2px;background:#374151;border-radius:1px}}.settings-page{max-width:800px;margin:0 auto;padding:40px 20px}.settings-title{font-size:1.6rem;color:#1f2937;margin:0 0 20px}.settings-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid #e5e7eb;padding-bottom:0}.settings-tab{padding:8px 20px;font-size:14px;font-weight:500;background:none;border:none;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.settings-tab:hover{color:#374151}.settings-tab.active{color:var(--color-primary, #5a67a8);border-bottom-color:var(--color-primary, #5a67a8)}.settings-card{background:#fff;border-radius:8px;padding:24px;border:1px solid #e5e7eb}.settings-card-title{font-size:1.1rem;color:#374151;margin:0 0 4px}.settings-card-hint{font-size:13px;color:#9ca3af;margin:0 0 20px;line-height:1.5}.settings-fields{display:flex;flex-direction:column;gap:14px}.settings-field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:13px;font-weight:500;color:#6b7280}.field-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;font-family:inherit;transition:border-color .15s}.field-input:focus{outline:none;border-color:var(--color-primary, #5a67a8);box-shadow:0 0 0 2px #5a67a826}.field-hint{font-size:12px;color:#9ca3af;line-height:1.4}.color-field .color-input-row{display:flex;align-items:center;gap:10px}.color-hex{width:100px;font-family:monospace}.color-swatch-preview{width:38px;height:38px;border-radius:6px;border:1px solid rgba(0,0,0,.08);flex-shrink:0}.color-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.color-preset{width:30px;height:30px;border-radius:6px;border:2px solid transparent;cursor:pointer;padding:0;transition:border-color .12s,transform .12s}.color-preset:hover{transform:scale(1.15)}.color-preset.selected{border-color:#1f2937;box-shadow:0 0 0 2px #fff,0 0 0 4px #1f2937}.color-tune-toggle{background:none;border:none;font-size:12px;color:#6b7280;cursor:pointer;padding:4px 6px;border-radius:4px;white-space:nowrap}.color-tune-toggle:hover{color:#374151;background:#f3f4f6}.color-hsl-sliders{display:flex;flex-direction:column;gap:6px;margin-top:8px}.color-slider-row{display:flex;align-items:center;gap:8px}.color-slider-channel{width:14px;flex-shrink:0;font-size:12px;font-weight:600;color:#9ca3af}.color-slider-row input[type=range]{flex:1;min-width:0;accent-color:var(--color-primary, #5a67a8)}.hue-slider{accent-color:unset!important;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #374151;cursor:pointer;box-shadow:0 1px 3px #0003}.settings-actions{margin-top:20px;display:flex;justify-content:flex-end}.settings-save{padding:8px 24px;border-radius:6px;border:none;background:var(--color-primary, #5a67a8);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s}.settings-save:hover{opacity:.9}.settings-save:disabled{opacity:.5;cursor:not-allowed}.settings-toast{position:fixed;bottom:24px;right:24px;background:#1f2937;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;z-index:1000;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pages-list{display:flex;flex-direction:column;gap:6px}.page-item{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:opacity .15s}.page-item.disabled{opacity:.5}.page-item-header{display:flex;align-items:center;gap:10px;padding:12px 14px}.page-reorder{display:flex;flex-direction:column;gap:1px}.reorder-btn{background:none;border:none;font-size:10px;color:#9ca3af;cursor:pointer;padding:0 4px;line-height:1}.reorder-btn:disabled{opacity:.3;cursor:default}.reorder-btn:hover:not(:disabled){color:#374151}.page-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1;min-width:0}.page-toggle input[type=checkbox]{accent-color:var(--color-primary, #5a67a8);width:16px;height:16px;flex-shrink:0}.page-info{display:flex;flex-direction:column;gap:1px;min-width:0}.page-name{font-size:14px;font-weight:600;color:#1f2937}.page-desc{font-size:12px;color:#9ca3af;line-height:1.3}.page-expand{background:none;border:1px solid #d1d5db;border-radius:4px;width:26px;height:26px;font-size:15px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.page-expand:hover{background:#f3f4f6}.page-remove{background:none;border:none;font-size:18px;color:#d1d5db;cursor:pointer;padding:0 4px;flex-shrink:0}.page-remove:hover{color:#ef4444}.page-sections{padding:10px 14px 14px 52px;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:2px}.section-row{border-radius:6px;transition:background .1s}.section-row:hover{background:#f9fafb}.section-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px 2px;cursor:pointer}.section-item input[type=checkbox]{accent-color:var(--color-accent, #059669);margin-top:2px;flex-shrink:0}.section-info{display:flex;flex-direction:column;gap:1px}.section-label{font-size:14px;font-weight:500;color:#1f2937}.section-desc{font-size:12px;color:#9ca3af;line-height:1.3}.section-edit-hint{font-size:11px;color:var(--color-primary, #5a67a8);padding:0 8px 6px 34px;line-height:1.3}.section-item-row{display:flex;align-items:center;gap:6px}.section-item-row .section-item{flex:1;min-width:0}.section-edit-btn{background:none;border:none;font-size:12px;color:var(--color-primary, #5a67a8);cursor:pointer;padding:4px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0}.section-edit-btn:hover{background:#f5f3ff}.section-editor{padding:12px 8px 12px 34px;display:flex;flex-direction:column;gap:12px}.section-editor .settings-field{gap:4px}.section-editor-save{align-self:flex-start;padding:6px 16px;border-radius:5px;border:none;background:var(--color-primary, #5a67a8);color:#fff;font-size:13px;font-weight:500;cursor:pointer}.section-editor-save:hover{opacity:.9}.list-editor{display:flex;flex-direction:column;gap:6px}.list-editor-row{display:flex;gap:6px;align-items:center}.list-editor-row .field-input{flex:1;min-width:0}.list-editor-remove{background:none;border:none;font-size:16px;color:#d1d5db;cursor:pointer;padding:0 4px;flex-shrink:0}.list-editor-remove:hover{color:#ef4444}.list-editor-add{align-self:flex-start;background:none;border:1px dashed #d1d5db;border-radius:5px;padding:4px 12px;font-size:13px;color:#6b7280;cursor:pointer}.list-editor-add:hover{border-color:var(--color-primary, #5a67a8);color:var(--color-primary, #5a67a8)}.field-textarea{resize:vertical;min-height:60px;font-family:inherit}.pages-add{margin-top:16px}.pages-add-label{font-size:13px;color:#6b7280;font-weight:600;margin-bottom:8px}.pages-add-options{display:flex;flex-wrap:wrap;gap:8px}.page-add-btn{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:8px;border:1px dashed #d1d5db;background:#fafafa;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.page-add-btn:hover{border-color:var(--color-primary, #5a67a8);background:#f5f3ff}.page-add-name{font-size:13px;font-weight:600;color:#374151}.page-add-desc{font-size:11px;color:#9ca3af}.page-preview{margin-top:20px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.page-preview-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.page-preview-label{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.page-preview-link{font-size:12px;color:var(--color-primary, #5a67a8);text-decoration:none}.page-preview-link:hover{text-decoration:underline}.page-preview-iframe{width:100%;height:480px;border:none;display:block}.App{width:100%;min-height:100vh}:root{--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 32px;--spacing-lg: 64px;--spacing-xl: 55px;--spacing-2xl: 120px;--font-xs: .75rem;--font-sm: .9rem;--font-base: 1rem;--font-lg: 1.1rem;--font-xl: 1.3rem;--font-2xl: 1.5rem;--font-3xl: 2rem;--font-4xl: 2.25rem;--font-5xl: 3rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1)}@media(max-width:768px){:root{--spacing-md: 24px;--spacing-lg: 60px;--spacing-xl: 60px;--spacing-2xl: 80px;--font-xl: 1.2rem;--font-4xl: 2rem;--font-5xl: 2.5rem}}@media(min-width:769px)and (max-width:1023px){:root{--spacing-lg: 50px;--spacing-xl: 50px}}:root{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-disabled: #93c5fd;--color-danger: #991b1b;--color-danger-bg: #fee2e2;--color-danger-bg-hover: #fecaca;--color-text: #1f2937;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-text-faint: #9ca3af;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-bg-subtle: #f3f4f6;--color-bg-hover: #e5e7eb;--color-surface: #fff;--color-focus: #3b82f6;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-pill: 999px}.page-container{max-width:900px;margin:0 auto;padding:40px 20px}.page-container-wide{max-width:1200px;margin:0 auto;padding:40px 20px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px}.section{margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{margin:0;font-size:1.25rem;color:var(--color-text)}.header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.btn-primary{padding:8px 18px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-primary-disabled);cursor:not-allowed}.btn-secondary{padding:8px 18px;background-color:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500}.btn-secondary:hover{background-color:var(--color-bg-hover)}.btn-sm{padding:6px 14px;background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px}.btn-sm:hover{background:var(--color-bg-hover)}.btn-xs{padding:4px 10px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.btn-delete{background:var(--color-danger-bg);color:var(--color-danger)}.btn-delete:hover{background:var(--color-danger-bg-hover)}.btn-resolve{background:#d1fae5;color:#065f46}.btn-resolve:hover{background:#a7f3d0}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#bfdbfe}.btn-save{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;align-self:flex-start}.btn-save:hover:not(:disabled){background:var(--color-primary-hover)}.btn-save:disabled{background:var(--color-primary-disabled);cursor:not-allowed}.btn-cancel{padding:8px 18px;background:var(--color-bg-subtle);color:var(--color-text-secondary);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px}.btn-cancel:hover{background:var(--color-bg-hover)}.btn-back{padding:8px 18px;background-color:#6b7280;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px}.btn-back:hover{background-color:#4b5563}.btn-back-icon{width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);font-size:22px;line-height:1;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-back-icon:hover{background:var(--color-bg-subtle)}.btn-edit-icon{width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);font-size:16px;line-height:1;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-edit-icon:hover{background:var(--color-bg-subtle);border-color:var(--color-primary);color:var(--color-primary)}.btn-add-circle{width:36px;height:36px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-add-circle:hover{background:var(--color-primary-hover)}.btn-close{background:none;border:none;font-size:20px;color:var(--color-text-muted);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.btn-close:hover{background:var(--color-bg-subtle)}.btn-danger{padding:6px 14px;background:var(--color-danger-bg);border:1px solid #fca5a5;border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:#b91c1c}.btn-danger:hover{background:var(--color-danger-bg-hover)}.btn-ghost{padding:6px 14px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-bg-subtle)}.status-pill{padding:3px 10px;border-radius:var(--radius-xl);font-size:11px;font-weight:600;text-transform:uppercase;flex-shrink:0;display:inline-block}.status-pill.status-planned,.status-planned{background:#dbeafe;color:#1e40af}.status-pill.status-completed,.status-completed{background:#d1fae5;color:#065f46}.status-pill.status-skipped,.status-skipped{background:#fef3c7;color:#92400e}.note-badge{padding:2px 8px;border-radius:var(--radius-xl);font-size:11px;font-weight:600;text-transform:uppercase}.badge-injury{background:#fee2e2;color:#991b1b}.badge-note{background:#dbeafe;color:#1e40af}.badge-goal{background:#d1fae5;color:#065f46}.badge-resolved{background:#f3f4f6;color:#6b7280}.badge-body-part{background:#fef3c7;color:#92400e;text-transform:capitalize}.loading-text,.empty-text{text-align:center;color:var(--color-text-muted);padding:24px 0;font-size:14px}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.form-label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;outline:none;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-focus)}.dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001a;min-width:180px;z-index:50;overflow:hidden}.dropdown-option{display:block;width:100%;padding:12px 16px;border:none;background:none;text-align:left;font-size:14px;color:var(--color-text);cursor:pointer}.dropdown-option:hover{background:var(--color-bg-subtle)}.dropdown-option+.dropdown-option{border-top:1px solid var(--color-border-light)}@media(max-width:768px){.page-container,.page-container-wide{padding:20px 16px}}:root{--font-sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "DM Serif Display", Georgia, "Times New Roman", serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
