.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:#5a67a8}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#5a67a8;transition:width .2s}.navbar-link:hover:after,.navbar-link-active:after{width:100%}.navbar-login-cta{padding:10px 24px;font-size:1rem;font-weight:600;background-color:#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-login-cta{display:block;text-align:center;margin-top:8px;padding:14px 20px}}@media(min-width:769px){.navbar-menu{display:flex!important}}.footer{--footer-padding-top: 60px;--footer-padding-bottom: 30px;--footer-padding-horizontal: 20px;--footer-content-cols: 1fr 1fr;--footer-content-gap: 60px;--footer-content-margin: 40px;--footer-section-gap: 24px;--footer-brand-size: 1.5rem;--footer-contact-gap: 8px;--footer-contact-font-size: .95rem;--footer-bottom-padding-top: 30px;--footer-bottom-font-size: .9rem;width:100%;background-color:#1f2937;color:#e5e7eb;padding:var(--footer-padding-top) var(--footer-padding-horizontal) var(--footer-padding-bottom)}.footer-container{max-width:1200px;margin:0 auto}.footer-content{display:grid;grid-template-columns:var(--footer-content-cols);gap:var(--footer-content-gap);margin-bottom:var(--footer-content-margin)}.footer-section{display:flex;flex-direction:column;gap:var(--footer-section-gap)}.footer-brand{font-family:var(--font-display, "DM Serif Display", Georgia, serif);font-size:var(--footer-brand-size);font-weight:700;color:#fff;margin-bottom:8px}.footer-contact{display:flex;flex-direction:column;gap:var(--footer-contact-gap)}.footer-contact p{font-size:var(--footer-contact-font-size);color:#d1d5db}.footer-contact a{color:#5a67a8;text-decoration:none}.footer-contact a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #374151;padding-top:var(--footer-bottom-padding-top);text-align:center}.footer-bottom p{font-size:var(--footer-bottom-font-size);color:#9ca3af}.footer-bottom a{color:#5a67a8;text-decoration:none}.footer-bottom a:hover{text-decoration:underline}@media(min-width: var(--bp-tablet-min))and (max-width: var(--bp-tablet-max)){.footer{--footer-content-gap: 50px}}@media (max-width: var(--bp-mobile-max)){.footer{--footer-padding-horizontal: 16px;--footer-content-cols: 1fr;--footer-content-gap: 40px}}.hero-section{--hero-min-height: 380px;--hero-padding-vertical: var(--spacing-lg);--hero-padding-horizontal: 20px;--hero-title-size: var(--font-3xl);--hero-title-margin: 20px;width:100%;min-height:var(--hero-min-height);display:flex;align-items:center;justify-content:center;background:#5a67a8;color:#fff;text-align:center;padding:var(--hero-padding-vertical) var(--hero-padding-horizontal);position:relative;overflow:hidden}.hero-content{max-width:640px;margin:0 auto}.hero-title{font-family:var(--font-display);font-size:var(--hero-title-size);font-weight:700;margin-bottom:var(--hero-title-margin);line-height:1.25;text-shadow:0 2px 4px rgba(0,0,0,.1)}.hero-subtitle{font-family:var(--font-sans);font-size:var(--font-lg);font-weight:500;opacity:.95;margin-bottom:28px;line-height:1.5;letter-spacing:.02em}.hero-cta-button{display:inline-block;text-decoration:none;padding:16px 40px;font-size:1.1rem;font-weight:600;font-family:var(--font-sans);background-color:#fff;color:#5a67a8;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:transform .2s,box-shadow .2s}.hero-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}@media(min-width: var(--bp-tablet-min))and (max-width: var(--bp-tablet-max)){.hero-section{--hero-min-height: 280px;--hero-padding-vertical: var(--spacing-lg)}}@media (max-width: var(--bp-mobile-max)){.hero-section{--hero-min-height: 320px;--hero-padding-vertical: var(--spacing-md);--hero-padding-horizontal: 16px;--hero-title-size: var(--font-2xl);--hero-title-margin: 18px}}.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:#5a67a8;border:2px solid #5a67a8;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.about-link-button:hover{background-color:#5a67a8;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{--services-padding-vertical: var(--spacing-xl);--services-padding-horizontal: 20px;--services-title-size: var(--font-4xl);--services-intro-size: var(--font-xl);--services-description-size: var(--font-lg);--services-description-margin: 60px;--services-grid-gap: var(--spacing-md);--services-grid-cols: repeat(2, minmax(0, 1fr));--services-card-padding: 40px var(--spacing-md);--services-card-border-radius: var(--radius-lg);--services-name-size: 1.6rem;--services-name-margin: 16px;--services-name-padding: 20px;--services-details-margin: var(--spacing-md);width:100%;padding:var(--services-padding-vertical) var(--services-padding-horizontal);background-color:#f8f9fa}.services-container{max-width:1200px;margin:0 auto;text-align:center}.services-title{font-family:var(--font-display);font-size:var(--services-title-size);font-weight:700;margin-bottom:16px;color:#333}.services-intro{font-size:var(--services-intro-size);font-weight:600;color:#5a67a8;margin-bottom:12px}.services-description{font-size:var(--services-description-size);color:#666;max-width:650px;margin:0 auto var(--services-description-margin);line-height:1.75}.services-grid{display:grid;grid-template-columns:var(--services-grid-cols);gap:var(--services-grid-gap);margin-bottom:40px}.service-card{--service-card-shadow: var(--shadow-sm);--service-card-shadow-hover: 0 4px 12px rgba(90, 103, 168, .15);background-color:#fff;padding:var(--services-card-padding);border-radius:var(--services-card-border-radius);box-shadow:var(--service-card-shadow);border:1px solid #e5e7eb;transition:all .3s ease;display:flex;flex-direction:column;height:100%;text-align:left}.service-card:hover{transform:translateY(-4px);box-shadow:var(--service-card-shadow-hover);border-color:#5a67a8}.service-name{font-family:var(--font-display);font-size:var(--services-name-size);font-weight:700;margin-bottom:var(--services-name-margin);color:#333;border-bottom:2px solid #e5e7eb;padding-bottom:var(--services-name-padding);text-align:left}.service-details{margin-bottom:var(--services-details-margin);text-align:left;flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start}.service-details p{margin-bottom:0;color:#666;font-size:var(--font-base);line-height:1.65}.service-blurb{text-align:left}.service-learn-link{display:inline-flex;align-self:flex-start;margin-top:auto;padding-top:8px;font-size:var(--font-base);font-weight:600;color:#5a67a8;text-decoration:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.service-learn-link:hover{color:#495986;border-bottom-color:#5a67a8}@media(min-width: var(--bp-tablet-min))and (max-width: var(--bp-tablet-max)){.services-section{--services-grid-cols: repeat(2, minmax(0, 1fr))}}@media (max-width: var(--bp-mobile-max)){.services-section{--services-padding-horizontal: 16px;--services-title-size: var(--font-3xl);--services-grid-cols: 1fr;--services-grid-gap: var(--spacing-md);--services-card-padding: var(--spacing-md) var(--spacing-sm)}}.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-size: 4rem;--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:#5a67a8;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)}.how-it-works-icon{font-size:var(--how-it-works-icon-size);margin-bottom:var(--how-it-works-icon-margin)}.how-it-works-step-label{font-size:var(--font-base);font-weight:600;color:#5a67a8;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);--how-it-works-icon-size: 3rem}}.testimonials-section{--testimonials-padding-vertical: var(--spacing-xl);--testimonials-padding-horizontal: 20px;--testimonials-title-size: var(--font-4xl);--testimonials-title-margin: 12px;--testimonials-subtitle-size: var(--font-xl);--testimonials-intro-size: var(--font-lg);--testimonials-header-margin: 60px;--testimonials-grid-gap: var(--spacing-md);--testimonials-grid-cols: repeat(auto-fit, minmax(300px, 1fr));--testimonials-card-padding: var(--spacing-md);width:100%;padding:var(--testimonials-padding-vertical) var(--testimonials-padding-horizontal);background-color:#f8f9fa}.testimonials-container{max-width:1200px;margin:0 auto}.testimonials-header{text-align:center;margin-bottom:var(--testimonials-header-margin)}.testimonials-title{font-size:var(--testimonials-title-size);font-weight:700;margin-bottom:var(--testimonials-title-margin);color:#333}.testimonials-subtitle{font-size:var(--testimonials-subtitle-size);font-weight:600;color:#5a67a8;margin-bottom:12px}.testimonials-intro{font-size:var(--testimonials-intro-size);color:#666}.testimonials-grid{display:grid;grid-template-columns:var(--testimonials-grid-cols);gap:var(--testimonials-grid-gap);margin-top:40px}.testimonials-slider{position:relative;overflow:hidden;margin-top:40px}.testimonials-slider-track{display:flex;transition:transform .3s ease}.testimonial-slide{min-width:100%;flex-shrink:0;padding:0 8px}.testimonials-dots{display:flex;justify-content:center;gap:8px;margin-top:24px}.testimonial-dot{width:10px;height:10px;border-radius:50%;border:none;background-color:#d1d5db;cursor:pointer;transition:background-color .2s;padding:0}.testimonial-dot.active{background-color:#5a67a8}.testimonial-dot:hover{background-color:#9ca3af}.testimonial-card{background-color:#fff;padding:var(--testimonials-card-padding);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid #f0f0f0;transition:transform .2s,box-shadow .2s}.testimonial-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.testimonial-name{font-size:var(--font-xl);font-weight:600;margin-bottom:16px;color:#333}.testimonial-text{font-size:var(--font-base);line-height:1.6;color:#666}@media(min-width: var(--bp-tablet-min))and (max-width: var(--bp-tablet-max)){.testimonials-section{--testimonials-grid-cols: repeat(auto-fit, minmax(280px, 1fr))}}@media (max-width: var(--bp-mobile-max)){.testimonials-section{--testimonials-padding-horizontal: 16px;--testimonials-title-size: var(--font-3xl);--testimonials-grid-cols: 1fr;--testimonials-grid-gap: var(--spacing-md)}}.contact-section{--contact-padding-vertical: var(--spacing-xl);--contact-padding-horizontal: 20px;--contact-title-size: var(--font-4xl);--contact-title-margin: 60px;--contact-subtitle-size: 1.8rem;--contact-intro-size: var(--font-lg);--contact-content-gap: 40px;--contact-form-gap: 24px;--contact-form-row-cols: 1fr 1fr;--contact-form-row-gap: 20px;--contact-input-padding: 12px 16px;--contact-textarea-min-height: 120px;width:100%;padding:var(--contact-padding-vertical) var(--contact-padding-horizontal);background-color:#fff}.contact-container{max-width:800px;margin:0 auto}.contact-title{font-family:var(--font-display);font-size:var(--contact-title-size);font-weight:700;text-align:center;margin-bottom:var(--contact-title-margin);color:#333}.contact-content{display:flex;flex-direction:column;gap:var(--contact-content-gap)}.contact-header{text-align:center}.contact-subtitle{font-family:var(--font-display);font-size:var(--contact-subtitle-size);font-weight:600;margin-bottom:16px;color:#333}.contact-intro{font-size:var(--contact-intro-size);color:#666;line-height:1.6}.contact-form-status{text-align:center;padding:12px 16px;border-radius:var(--radius-sm);font-size:var(--font-base);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:var(--contact-form-gap)}.form-row{display:grid;grid-template-columns:var(--contact-form-row-cols);gap:var(--contact-form-row-gap)}.form-group label{font-size:.95rem;font-weight:600;color:#333}.required{color:#ef4444}.form-group input,.form-group textarea{padding:var(--contact-input-padding);font-size:var(--font-base);border:1px solid #d1d5db;border-radius:var(--radius-sm);transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#5a67a8}.form-group textarea{resize:vertical;min-height:var(--contact-textarea-min-height)}.contact-submit-button{padding:14px 32px;font-size:var(--font-base);font-weight:600;background-color:#5a67a8;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s;align-self:flex-start}.contact-submit-button:hover:not(:disabled){background-color:#495986}.contact-submit-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: var(--bp-mobile-max)){.contact-section{--contact-padding-horizontal: 16px;--contact-title-size: var(--font-3xl);--contact-form-row-cols: 1fr}}.home-page{width:100%;display:flex;flex-direction:column}.admin-page{max-width:1200px;margin:0 auto;padding:40px 20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.logout-button{padding:10px 20px;background-color:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.logout-button:hover{background-color:#dc2626}.admin-header h1{font-size:2rem;color:#1f2937}.refresh-button{padding:10px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.refresh-button:hover{background-color:#2563eb}.bookings-list{display:flex;flex-direction:column;gap:20px}.booking-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.booking-header h3{margin:0;font-size:1.25rem;color:#1f2937}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-pending{background-color:#fef3c7;color:#92400e}.status-confirmed{background-color:#d1fae5;color:#065f46}.status-cancelled{background-color:#fee2e2;color:#991b1b}.booking-details{margin-bottom:20px}.booking-details p{margin:8px 0;font-size:14px;color:#4b5563}.booking-details strong{color:#1f2937}.booking-details code{background-color:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:12px;font-family:monospace}.booking-details a{color:#3b82f6;text-decoration:none}.booking-details a:hover{text-decoration:underline}.email-sent{color:#059669;font-weight:600}.booking-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.check-button,.send-button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.check-button{background-color:#6b7280;color:#fff}.check-button:hover:not(:disabled){background-color:#4b5563}.check-button:disabled{background-color:#d1d5db;cursor:not-allowed}.send-button{background-color:#10b981;color:#fff}.send-button:hover:not(:disabled){background-color:#059669}.send-button:disabled{background-color:#d1d5db;cursor:not-allowed}.conference-status{padding:8px 12px;border-radius:6px;font-size:14px}.status-success{color:#059669;background-color:#d1fae5}.status-warning{color:#d97706;background-color:#fef3c7}.today-sessions-section{margin-bottom:32px;padding:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.today-sessions-title{margin:0 0 16px;font-size:1.25rem;color:#1e293b}.today-loading,.today-empty,.today-error{margin:0;font-size:14px;color:#64748b}.today-error{color:#b91c1c}.today-sessions-grid{display:flex;flex-direction:column;gap:10px}.today-session-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.today-session-main strong{display:block;color:#0f172a;margin-bottom:4px}.today-session-name{font-size:13px;color:#64748b;margin-bottom:6px}.today-session-start{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;flex-shrink:0}.today-session-start:hover{background:#2563eb}.today-missing-plan{margin-top:16px;font-size:14px;color:#475569}.today-missing-plan summary{cursor:pointer;font-weight:500;color:#334155}.today-missing-list{margin:12px 0 0;padding-left:20px}.today-missing-list li{margin-bottom:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.today-new-session-btn{padding:4px 10px;font-size:12px;background:#eef2ff;color:#4338ca;border:1px solid #6366f1;border-radius:4px;cursor:pointer}.today-new-session-btn:hover{background:#e0e7ff}@media(max-width:768px){.admin-page{padding:20px 16px}.admin-header{flex-direction:column;align-items:flex-start;gap:16px}.booking-header{flex-direction:column;align-items:flex-start;gap:12px}.booking-actions{flex-direction:column;width:100%}.check-button,.send-button{width:100%}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5a67a8,#544b7a);padding:20px}.login-container{background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-container h1{margin:0 0 30px;text-align:center;color:#1f2937;font-size:2rem}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed}.login-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}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}.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}.trainer-hero-section{width:100%;padding:55px 20px;background:#5a67a8;color:#fff}.trainer-hero-container{max-width:1200px;margin:0 auto}.trainer-hero-content{display:flex;align-items:center;gap:60px}.trainer-hero-image{flex:0 0 300px}.trainer-hero-photo{width:100%;height:300px;object-fit:cover;border-radius:12px;box-shadow:0 4px 16px #0003}.trainer-hero-text{flex:1}.trainer-hero-name{font-size:2.25rem;font-weight:700;margin-bottom:8px;line-height:1.2}.trainer-hero-lede{font-size:1.125rem;font-weight:500;margin-bottom:24px;line-height:1.45;opacity:.92;max-width:36ch}.trainer-hero-cta{display:inline-block;padding:14px 32px;background-color:#fff;color:#5a67a8;text-decoration:none;border-radius:8px;font-weight:600;font-size:1.125rem;transition:transform .2s,box-shadow .2s}.trainer-hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}@media(max-width:768px){.trainer-hero-section{padding:40px 16px}.trainer-hero-content{flex-direction:column;gap:32px}.trainer-hero-image{flex:0 0 auto;width:100%;max-width:300px}.trainer-hero-name{font-size:1.875rem}.trainer-hero-lede{font-size:1.05rem}}.trainer-about-section{width:100%;padding:55px 20px;background-color:#fff}.trainer-about-container{max-width:1200px;margin:0 auto}.trainer-about-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.trainer-about-content{max-width:650px;margin:0 auto}.trainer-about-bio{font-size:1rem;line-height:1.7;color:#666;text-align:center}@media(max-width:768px){.trainer-about-section{padding:40px 16px}.trainer-about-title{font-size:2rem}.trainer-about-bio{font-size:1rem;text-align:left}}.trainer-credentials-section{width:100%;padding:55px 20px;background-color:#f8f9fa}.trainer-credentials-container{max-width:1200px;margin:0 auto}.trainer-credentials-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.trainer-credentials-group{margin-bottom:40px}.trainer-credentials-group-title{font-size:1.5rem;font-weight:600;margin-bottom:20px;color:#333}.trainer-credentials-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.trainer-education-list{grid-template-columns:1fr;max-width:600px;margin:0}.trainer-education-item{align-items:flex-start;text-align:left}.trainer-credential-item{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #00000014;border:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:center;text-align:center}.trainer-credential-badge{margin-bottom:16px;min-height:120px;display:flex;align-items:center;justify-content:center}.trainer-credential-badge-image{max-width:120px;height:auto;border-radius:4px}.trainer-credential-badge-placeholder{width:120px;height:120px;display:flex;align-items:center;justify-content:center;background-color:#f0f0f0;border-radius:4px;border:2px dashed #ccc}.trainer-credential-badge-icon{font-size:3rem;opacity:.5}.trainer-credential-content{width:100%}.trainer-credential-name{font-weight:600;font-size:1.125rem;color:#333;margin-bottom:8px}.trainer-credential-org{font-size:.95rem;color:#666;margin-bottom:4px}.trainer-credential-year{font-size:.875rem;color:#999;margin-bottom:12px}.trainer-credential-link{display:inline-block;margin-top:8px;padding:6px 16px;background-color:#5a67a8;color:#fff;text-decoration:none;border-radius:4px;font-size:.875rem;font-weight:600;transition:background-color .2s}.trainer-credential-link:hover{background-color:#495986}@media(max-width:768px){.trainer-credentials-section{padding:40px 16px}.trainer-credentials-title{font-size:2rem}.trainer-credentials-list{grid-template-columns:1fr}}.trainer-specializations-section{width:100%;padding:55px 20px;background-color:#fff}.trainer-specializations-container{max-width:1200px;margin:0 auto}.trainer-specializations-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.trainer-specializations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}.trainer-specialization-card{background-color:#f8f9fa;padding:30px;border-radius:12px;text-align:center;transition:transform .2s,box-shadow .2s}.trainer-specialization-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.trainer-specialization-icon{font-size:3rem;margin-bottom:16px}.trainer-specialization-title{font-size:1.5rem;font-weight:600;margin-bottom:12px;color:#333}.trainer-specialization-description{font-size:.95rem;line-height:1.6;color:#666}@media(max-width:768px){.trainer-specializations-section{padding:40px 16px}.trainer-specializations-title{font-size:2rem}.trainer-specializations-grid{grid-template-columns:1fr;gap:20px}}.trainer-philosophy-section{width:100%;padding:55px 20px;background-color:#f8f9fa}.trainer-philosophy-container{max-width:1200px;margin:0 auto}.trainer-philosophy-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.trainer-philosophy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.trainer-philosophy-card{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #f0f0f0;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;height:100%;min-height:200px}.trainer-philosophy-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.trainer-philosophy-card-title{font-size:1.5rem;font-weight:600;margin-bottom:16px;color:#5a67a8}.trainer-philosophy-card-description{font-size:.95rem;line-height:1.7;color:#666;flex-grow:1}@media(max-width:1024px){.trainer-philosophy-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.trainer-philosophy-section{padding:40px 16px}.trainer-philosophy-title{font-size:2rem}.trainer-philosophy-grid{grid-template-columns:1fr;gap:20px}}.trainer-testimonials-section{width:100%;padding:55px 20px;background-color:#fff}.trainer-testimonials-container{max-width:1200px;margin:0 auto}.trainer-testimonials-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.trainer-testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.trainer-testimonial-card{background-color:#f8f9fa;padding:30px;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #f0f0f0}.trainer-testimonial-photo{width:80px;height:80px;border-radius:50%;overflow:hidden;margin:0 auto 20px}.trainer-testimonial-photo img{width:100%;height:100%;object-fit:cover}.trainer-testimonial-content{text-align:center}.trainer-testimonial-rating{color:#fbbf24;font-size:1.25rem;margin-bottom:16px}.trainer-testimonial-text{font-size:1rem;line-height:1.7;color:#666;font-style:italic;margin-bottom:20px}.trainer-testimonial-author{display:flex;flex-direction:column;gap:4px}.trainer-testimonial-author strong{color:#333;font-size:1.125rem}.trainer-testimonial-service{font-size:.875rem;color:#5a67a8}@media(max-width:768px){.trainer-testimonials-section{padding:40px 16px}.trainer-testimonials-title{font-size:2rem}.trainer-testimonials-grid{grid-template-columns:1fr;gap:20px}}.trainer-location-section{width:100%;padding:55px 20px;background-color:#f8f9fa}.trainer-location-container{max-width:1200px;margin:0 auto}.trainer-location-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.trainer-locations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;max-width:1000px;margin:0 auto}.trainer-location-card{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #f0f0f0;transition:transform .2s,box-shadow .2s}.trainer-location-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.trainer-location-address{margin-bottom:16px;font-size:1.125rem;color:#333;font-weight:600}.trainer-location-address strong{color:#5a67a8;margin-right:8px}.trainer-location-description{font-size:1rem;line-height:1.7;color:#666;margin:0}@media(max-width:768px){.trainer-location-section{padding:40px 16px}.trainer-location-title{font-size:2rem}.trainer-locations-grid{grid-template-columns:1fr;gap:20px}.trainer-location-card{padding:24px}}.trainer-social-section{width:100%;padding:55px 20px;background-color:#fff}.trainer-social-container{max-width:1200px;margin:0 auto;text-align:center}.trainer-social-title{font-size:2.5rem;font-weight:700;margin-bottom:40px;color:#333}.trainer-social-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:30px}.trainer-social-link{display:inline-block;padding:12px 24px;background-color:#f8f9fa;color:#333;text-decoration:none;border-radius:8px;font-weight:600;transition:background-color .2s,transform .2s}.trainer-social-link:hover{background-color:#5a67a8;color:#fff;transform:translateY(-2px)}.trainer-social-email{margin-top:20px}.trainer-social-email a{color:#5a67a8;text-decoration:none;font-size:1.125rem;font-weight:600}.trainer-social-email a:hover{text-decoration:underline}@media(max-width:768px){.trainer-social-section{padding:40px 16px}.trainer-social-title{font-size:2rem}.trainer-social-links{flex-direction:column;align-items:center}.trainer-social-link{width:100%;max-width:200px}}.trainer-cta-section{width:100%;padding:55px 20px;background:#5a67a8;color:#fff}.trainer-cta-container{max-width:800px;margin:0 auto;text-align:center}.trainer-cta-title{font-size:2.5rem;font-weight:700;margin-bottom:20px}.trainer-cta-text{font-size:1.25rem;margin-bottom:40px;opacity:.95;line-height:1.7}.trainer-cta-buttons{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.trainer-cta-button{display:inline-block;padding:16px 40px;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.125rem;transition:transform .2s,box-shadow .2s}.trainer-cta-button-primary{background-color:#fff;color:#5a67a8}.trainer-cta-button-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.trainer-cta-button-secondary{background-color:transparent;color:#fff;border:2px solid white}.trainer-cta-button-secondary:hover{background-color:#fff;color:#5a67a8;transform:translateY(-2px)}@media(max-width:768px){.trainer-cta-section{padding:60px 16px}.trainer-cta-title{font-size:2rem}.trainer-cta-text{font-size:1.125rem}.trainer-cta-buttons{flex-direction:column;align-items:center}.trainer-cta-button{width:100%;max-width:300px}}.about-page{width:100%;display:flex;flex-direction:column;min-height:100vh}.about-page-content{flex:1}.about-page-loading,.about-page-error{display:flex;justify-content:center;align-items:center;min-height:400px;padding:40px 20px;text-align:center}.about-page-error{color:#dc2626}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;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:#1f2937}.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:#374151}.modal-content input,.modal-content textarea,.modal-content select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;font-family:inherit}.modal-content input:focus,.modal-content textarea:focus,.modal-content select:focus{border-color:#3b82f6}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn-cancel{padding:10px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-cancel:hover{background:#e5e7eb}.btn-save{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.btn-save:hover:not(:disabled){background:#2563eb}.btn-save:disabled{background:#93c5fd;cursor:not-allowed}.clients-page{max-width:1200px;margin:0 auto;padding:40px 20px}.clients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.clients-header h1{font-size:2rem;color:#1f2937;margin:0}.search-bar{margin-bottom:24px}.search-bar input{width:100%;max-width:400px;padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box}.search-bar input:focus{border-color:#3b82f6}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.client-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;cursor:pointer;transition:box-shadow .15s}.client-card:hover{box-shadow:0 4px 12px #00000014}.client-avatar{width:48px;height:48px;border-radius:50%;background-color:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.client-info{flex:1;min-width:0}.client-info h3{margin:0 0 4px;font-size:16px;color:#1f2937}.client-email,.client-phone{margin:0;font-size:13px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.status-active{background-color:#10b981}.status-dot.status-inactive{background-color:#f59e0b}.status-dot.status-archived{background-color:#9ca3af}@media(max-width:768px){.clients-page{padding:20px 16px}.clients-header{flex-direction:column;align-items:flex-start;gap:12px}.clients-grid{grid-template-columns:1fr}}.detail-page{max-width:900px;margin:0 auto;padding:40px 20px}.detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.detail-title{display:flex;align-items:center;gap:16px;flex:1}.detail-title h1{margin:0;font-size:1.75rem;color:#1f2937}.client-meta{display:flex;gap:16px;color:#6b7280;font-size:14px;margin-top:2px}.client-avatar-lg{width:56px;height:56px;border-radius:50%;background-color:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;flex-shrink:0}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px;margin-bottom:16px}.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 #d1d5db;border-radius:6px;font-size:14px;outline:none}.note-form input,.note-form textarea{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;font-family:inherit}.note-form input:focus,.note-form textarea:focus,.note-form select:focus{border-color:#3b82f6}.notes-list{display:flex;flex-direction:column;gap:10px}.note-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px 18px;border-left:4px solid #e5e7eb}.note-card.note-injury{border-left-color:#ef4444}.note-card.note-note{border-left-color:#3b82f6}.note-card.note-goal{border-left-color:#10b981}.note-card.note-resolved{border-left-color:#9ca3af;opacity:.7}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.note-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.badge-resolved{background:#f3f4f6;color:#6b7280}.note-date{font-size:12px;color:#9ca3af}.note-card h4{margin:0 0 4px;font-size:15px;color:#1f2937}.note-card p{margin:0;font-size:13px;color:#6b7280}.note-actions{display:flex;gap:8px;margin-top:8px}.btn-resolve{background:#d1fae5;color:#065f46}.btn-resolve:hover{background:#a7f3d0}.resolved-section{margin-top:16px}.resolved-section summary{cursor:pointer;font-size:14px;color:#6b7280;padding:8px 0}.sessions-list{display:flex;flex-direction:column;gap:10px}.session-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;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:6px;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:#6b7280;white-space:nowrap;min-width:120px}.session-info{flex:1;min-width:0}.session-info h4{margin:0;font-size:15px;color:#1f2937}.session-info p{margin:2px 0 0;font-size:13px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pill{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;flex-shrink:0}.status-pill.status-planned{background:#dbeafe;color:#1e40af}.status-pill.status-completed{background:#d1fae5;color:#065f46}.status-pill.status-skipped{background:#fef3c7;color:#92400e}.badge-body-part{background:#fef3c7;color:#92400e;text-transform:capitalize}.header-actions{display:flex;gap:10px}.btn-assessment{padding:10px 20px;background:#7c3aed;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.btn-assessment:hover{background:#6d28d9}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.assessment-modal{background:#fff;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 #e5e7eb}.assessment-modal-header h2{margin:0;font-size:1.25rem;color:#1f2937}.btn-close{background:none;border:none;font-size:20px;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:4px}.btn-close:hover{background:#f3f4f6}.assessment-empty{padding:40px 24px;text-align:center}.assessment-empty p{color:#6b7280;margin-bottom:16px}.template-tabs{display:flex;flex-direction:column;gap:2px;padding:12px;border-bottom:1px solid #e5e7eb}.template-tab{display:flex;align-items:center;gap:10px;padding:10px 14px;background:none;border:none;border-radius:6px;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:10px;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:#6b7280}.template-desc{font-size:13px;color:#6b7280;margin:0 0 14px}.injury-warning{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;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:6px;font-size:14px}.template-exercise-row:nth-child(odd){background:#f9fafb}.template-exercise-row.flagged{background:#fef3c7}.te-name{color:#1f2937;font-weight:500;display:flex;align-items:center;gap:6px}.flag-icon{color:#d97706;font-size:16px}.te-detail{color:#6b7280;font-size:13px;text-align:right;white-space:nowrap}.te-notes{display:block;font-size:11px;color:#9ca3af}.btn-generate{width:100%;padding:12px;background:#7c3aed;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600}.btn-generate:hover{background:#6d28d9}.btn-generate:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.detail-page{padding:20px 16px}.detail-header{flex-wrap:wrap}.client-meta{flex-direction:column;gap:2px}.session-card{flex-wrap:wrap}.note-form-row,.header-actions{flex-direction:column}.assessment-modal{max-height:90vh}}.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}.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:#1f2937;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:#fee2e2;color:#991b1b;border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-delete-session:hover{background:#fecaca}.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:#374151}.session-form input,.session-form textarea,.session-form select,.session-meta input,.session-meta textarea,.session-meta select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;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:#3b82f6}.session-meta{margin-bottom:24px}.meta-row{display:flex;gap:16px;margin-bottom:12px}.meta-row label{flex:1}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;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:#1f2937}.btn-sm{padding:6px 14px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:13px}.btn-sm:hover{background:#e5e7eb}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.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 #d1d5db;border-radius:6px;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}.exercise-header h3{margin:0;font-size:16px;color:#1f2937}.exercise-title-row{display:flex;align-items:center;gap:10px}.exercise-type{font-size:12px;color:#6b7280}.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:6px;padding:2px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700;text-transform:uppercase;border:1px solid #fbbf24}.sets-table{width:100%;border-collapse:collapse;margin-bottom:8px}.sets-table th{text-align:left;font-size:11px;text-transform:uppercase;color:#9ca3af;padding:4px 8px;border-bottom:1px solid #e5e7eb}.sets-table td{padding:4px 8px;vertical-align:middle}.set-input{width:70px;padding:4px 8px;border:1px solid #e5e7eb;border-radius:4px;font-size:14px;text-align:center;outline:none}.set-input:focus{border-color:#3b82f6}.set-completed{background:#f0fdf4}.btn-add-set{padding:4px 12px;background:transparent;color:#3b82f6;border:1px dashed #93c5fd;border-radius:4px;cursor:pointer;font-size:13px}.btn-add-set:hover{background:#eff6ff}.loading-text,.empty-text{text-align:center;color:#6b7280;padding:24px 0;font-size:14px}@media(max-width:768px){.session-page{padding:20px 16px}.meta-row{flex-direction:column}.sets-table{font-size:13px}.set-input{width:55px}}.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:#1f2937;margin:0}.header-actions{display:flex;gap:12px}.filter-row{display:flex;gap:12px;margin-bottom:24px}.filter-row input{flex:1;max-width:300px;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none}.filter-row input:focus{border-color:#3b82f6}.filter-row select{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:24px}.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:#374151}.exercise-form input,.exercise-form textarea,.exercise-form select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;font-family:inherit}.exercise-form input:focus,.exercise-form textarea:focus{border-color:#3b82f6}.exercise-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.exercise-table th{text-align:left;padding:12px 16px;font-size:12px;text-transform:uppercase;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.exercise-table td{padding:12px 16px;font-size:14px;color:#4b5563;border-bottom:1px solid #f3f4f6}.exercise-name{font-weight:500;color:#1f2937}.type-badge{padding:2px 8px;border-radius:10px;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:10px;font-size:11px;font-weight:500;background:#f3f4f6;color:#374151;text-transform:capitalize}.btn-secondary{padding:10px 20px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.btn-secondary:hover{background-color:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.row-actions{display:flex;gap:8px;justify-content:flex-end}.btn-xs{padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#bfdbfe}.btn-delete{background:#fee2e2;color:#991b1b}.btn-delete:hover{background:#fecaca}.btn-primary{padding:10px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.btn-primary:hover{background-color:#2563eb}.btn-back{padding:10px 20px;background-color:#6b7280;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-back:hover{background-color:#4b5563}.btn-save{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;align-self:flex-start}.btn-save:hover{background:#2563eb}.loading-text,.empty-text{text-align:center;color:#6b7280;padding:40px 0;font-size:16px}@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{grid-template-columns:1fr}.exercise-table{font-size:13px}.exercise-table th,.exercise-table td{padding:8px 10px}}.portal-nav{display:flex;align-items:center;gap:16px;padding:12px 24px;background:#1f2937;color:#fff}.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}.portal-nav-logout:hover{color:#fff;border-color:#9ca3af}.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:#fff;border:1px solid #e5e7eb;border-radius:10px;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:#059669;cursor:pointer;font-size:14px;font-weight:600;padding:0}.portal-link:hover{text-decoration:underline}.portal-empty{color:#9ca3af;font-size:14px}.portal-list{display:flex;flex-direction:column;gap:4px}.portal-list-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s}.portal-list-item:hover{background:#f3f4f6}.portal-list-date{color:#6b7280;font-size:13px;min-width:120px}.portal-list-name{flex:1;font-weight:500;color:#111827}.portal-list-notes{color:#9ca3af;font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-badge{display:inline-block;padding:2px 8px;border-radius:4px;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-body-part{background:#f3f4f6;color:#374151}.badge-resolved{background:#e5e7eb;color:#6b7280}.portal-injury-item{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px}.portal-session-meta{color:#6b7280;margin:-16px 0 20px;font-size:15px}.portal-session-notes{color:#374151;margin-bottom:20px;background:#f9fafb;padding:12px;border-radius:8px}.portal-exercises{display:flex;flex-direction:column;gap:16px}.portal-exercise-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;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:#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:#9ca3af;font-size:12px;text-transform:capitalize}.portal-exercise-notes{color:#6b7280;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:#6b7280;font-weight:600;font-size:12px;text-transform:uppercase;border-bottom:1px solid #e5e7eb}.portal-sets-table td{padding:6px 8px;border-bottom:1px solid #f3f4f6}.portal-sets-table .set-completed td{color:#059669}.portal-notes-list{display:flex;flex-direction:column;gap:10px}.portal-note-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;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 #3b82f6}.portal-note-resolved{opacity:.7}.portal-note-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.portal-note-date{color:#9ca3af;font-size:12px;margin-left:auto}.portal-note-card h4{margin:0 0 4px;font-size:15px}.portal-note-card p{margin:0;color:#6b7280;font-size:14px}.portal-resolved{margin-top:16px}.portal-resolved summary{color:#6b7280;cursor:pointer;font-size:14px;margin-bottom:10px}.status-pill{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-planned{background:#dbeafe;color:#1e40af}.status-completed{background:#d1fae5;color:#065f46}.status-skipped{background:#f3f4f6;color:#6b7280}.App{width:100%;min-height:100vh}:root{--bp-mobile-max: 767px;--bp-tablet-min: 768px;--bp-tablet-max: 1023px;--bp-desktop-min: 1024px;--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: 8px;--radius-md: 12px;--radius-lg: 16px;--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: var(--bp-mobile-max)){:root{--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 60px;--spacing-xl: 60px;--spacing-2xl: 80px;--font-xs: .75rem;--font-sm: .9rem;--font-base: 1rem;--font-lg: 1.1rem;--font-xl: 1.2rem;--font-2xl: 1.5rem;--font-3xl: 2rem;--font-4xl: 2rem;--font-5xl: 2.5rem}}@media(min-width: var(--bp-tablet-min))and (max-width: var(--bp-tablet-max)){:root{--spacing-lg: 50px;--spacing-xl: 50px}}: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}
