/* UI V4: green light, grounded surfaces, and a photographic training space. */
:root{--ink:#173D32;--muted:#6F8075;--brand:#246344;--soft:#EDF4E5;--line:#E3E9DE;--paper:#F5F7F2;--good:#246344;--radius:20px;--lime:#B7EA54;--forest:#173D32;--surface-shadow:0 12px 30px -18px rgba(23,61,50,.25),0 3px 7px -4px rgba(23,61,50,.12);--primary-shadow:0 20px 34px -20px rgba(23,61,50,.5),0 5px 10px -5px rgba(23,61,50,.2);--contact-shadow:0 3px 8px -5px rgba(23,61,50,.2)}
body{background:var(--paper);color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #71A73E;outline-offset:3px}
.ui-shell .btn:not(.white):not(.soft):not(.danger),.login-wrap .btn:not(.white):not(.soft):not(.danger){background:var(--lime);color:var(--forest);box-shadow:0 4px 8px -6px #173D3280}
.ui-shell .btn.white{background:white;color:var(--forest);border-color:var(--line)}
.ui-shell .btn.soft,.ui-shell .badge:not(.bad):not(.warn):not(.gray){background:var(--soft);color:var(--brand)}
.ui-shell .panel,.ui-shell .detail-head,.ui-shell .profile-hero{border:1px solid #FFFFFF;border-bottom-color:#E6EBE1;background:linear-gradient(160deg,#FFFFFF,#FDFEFC);border-radius:20px;box-shadow:var(--surface-shadow)}
.ui-shell .panel .record{box-shadow:none;border-color:var(--line)}
.ui-shell .summary-item,.ui-shell .summary-grid>div,.ui-shell .empty{background:#F2F6ED;border-color:var(--line)}
.ui-shell .nav-item.active,.ui-shell .segments button.active{color:var(--brand)}
.ui-shell .nav-item.active{background:var(--soft)}
.ui-shell .demo-note,.ui-shell .hint:not(.warn):not(.bad),.ui-shell .note{background:#EFF5E8;color:#526D57;border-color:var(--line)}
.ui-shell .page-head h1{color:var(--forest);letter-spacing:-.6px}
.ui-shell .brand-logo{background:var(--forest);color:var(--lime)}
.ui-shell .topbar{background:transparent}
.ui-shell .link-btn,.ui-shell .mc-link,.ui-shell .sidebar-foot:before{color:var(--brand)}
.ui-shell .timeline-body{border-left-color:#DAE8CE}
.ui-shell .time-col{color:var(--forest);font-variant-numeric:tabular-nums}
.ui-shell .service-menu a,.ui-shell .service-menu button{color:var(--forest)}
.ui-shell .ui-home-settings-entry p{color:var(--muted);font-size:13px;margin:8px 0 14px}
.ui-page-help{font-size:12px;color:var(--muted);margin-top:7px}
.ui-page-help summary{cursor:pointer;min-height:32px;display:flex;align-items:center;gap:5px;color:var(--brand);list-style:none}
.ui-page-help summary:after{content:'⌄';font-size:14px}
.ui-page-help[open] summary:after{content:'⌃'}
.ui-page-help p{line-height:1.7;margin:4px 0!important}
.ui-service-panel{padding:19px 16px!important}
.ui-service-panel .panel-head{margin:0 3px 12px}
.ui-service-panel h2{font-size:16px}
.ui-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 5px}
.ui-service-grid button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:9px;min-width:0;min-height:88px;padding:11px 4px 8px;font-size:12px;color:var(--forest);line-height:1.5;border-radius:13px}
.ui-service-grid button:hover{background:#F3F7ED}
.ui-service-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#F7FAEF,#EAF3DF);border:1px solid #FFFFFF;box-shadow:var(--contact-shadow);color:var(--brand)}
.ui-service-icon svg{width:23px;height:23px}
.ui-contact-tile{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;background:#EAF2E1;border-radius:16px;color:var(--brand);margin-bottom:20px}
.ui-contact-tile svg{width:20px;height:20px}
.ui-depth-profile .detail-head{padding:24px;background:linear-gradient(140deg,#EDF6DE,#FAFCF5);margin-bottom:20px}
.ui-member-home{gap:20px}
.ui-member-greeting h1{font-size:27px;color:var(--forest)}
.ui-member-greeting p{color:var(--muted)}
.ui-member-greeting .ui-home-avatar{border:3px solid white;box-shadow:0 5px 12px -6px #173D3266}
.ui-home-hero.ui-depth-hero{position:relative;isolation:isolate;overflow:hidden;min-height:290px;padding:27px;border-radius:27px;background:#B7EA54;box-shadow:var(--primary-shadow);display:flex;align-items:center}
.ui-home-hero.ui-depth-hero:before,.ui-home-hero.ui-depth-hero:after{display:none}
.ui-home-hero.ui-depth-hero .ui-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-x,65%) var(--hero-y,50%);z-index:0;pointer-events:none}
.ui-hero-wash{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(183,234,84,var(--hero-opacity,.82)) 0%,rgba(183,234,84,var(--hero-opacity,.82)) 22%,rgba(183,234,84,.32) 69%,rgba(23,61,50,.03) 100%)}
.ui-home-hero.ui-depth-hero .ui-home-hero-copy{position:relative;z-index:2;width:69%;min-width:0;align-self:auto}
.ui-home-hero.ui-depth-hero h2{font-size:35px;color:var(--forest);line-height:1.32;letter-spacing:-1px;max-width:100%;overflow-wrap:anywhere;white-space:normal;text-shadow:0 1px 1px #DDF5B333}
.ui-home-hero.ui-depth-hero p{margin:0 0 13px;font-size:12px;color:var(--forest);line-height:1.6;overflow-wrap:anywhere;max-width:100%}
.ui-shell .ui-home-hero .ui-hero-cta{background:var(--forest)!important;color:white!important;border-radius:12px;min-height:44px;align-self:flex-start;margin-top:18px;padding:10px 19px;font-size:13px}
.ui-hero-demo{position:absolute;right:12px;bottom:28px;z-index:2;background:#F5F7F2C9;color:#4B6355;font-size:9px;padding:2px 6px;border-radius:5px;pointer-events:none}
.ui-home-quick{position:relative;z-index:3;margin:-39px 14px 0!important;padding:14px 7px 12px;border:1px solid white;border-radius:20px;background:#FFFFFF;box-shadow:0 14px 24px -17px #173D3266,0 4px 7px -5px #173D3240;gap:4px}
.ui-home-quick button{font-size:12px;color:var(--forest);gap:7px;min-height:76px}
.ui-home-quick .ui-shortcut-icon,.ui-home-quick button:nth-child(n) .ui-shortcut-icon{width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,#F5FAEA,#E4F0D5);color:var(--brand);border:1px solid white;box-shadow:var(--contact-shadow)}
.ui-shortcut-icon svg{height:24px;width:24px}
.ui-home-rights{background:linear-gradient(130deg,#245240,#173D32);box-shadow:var(--primary-shadow);border:1px solid #315F49;border-top-color:#53755A;border-radius:22px}
.ui-home-rights small,.ui-home-rights span,.ui-home-rights em{color:#D0DEC8}
.ui-home-rights .ui-right-number{color:var(--lime)}
.ui-home-next{position:relative;box-shadow:var(--surface-shadow)}
.ui-home-next .ui-day-label{background:#EDF4E5;color:var(--brand)}
.ui-home-next .time-col,.ui-home-next .timeline-body h3{color:var(--forest)}
.ui-home-next .timeline-body>small,.ui-home-next .time-col small,.ui-home-next .small-note{color:var(--muted)}
.ui-home-crowd,.ui-home-visit-link,.ui-crowd-loading{background:linear-gradient(140deg,#EDF6E3,#F8FBF3);color:var(--forest);box-shadow:var(--surface-shadow);border:1px solid #FFFFFF}
.ui-home-crowd h2,.ui-crowd-row strong,.ui-crowd-row span,.ui-crowd-link,.ui-home-visit-link>svg{color:var(--brand)}
.ui-home-crowd small,.ui-home-visit-link small{color:var(--muted)}
.ui-home-crowd .badge{background:#E0EDCF;color:var(--brand)}
.ui-crowd-link{border-color:#D7E6CB}
.ui-home-checkin{background:linear-gradient(130deg,#F0F6E7,#FBFCF8);border:1px solid #FFFFFF;box-shadow:var(--surface-shadow)}
.ui-checkin-header h2,.ui-home-checkin summary,.ui-checkin-header .link-btn,.ui-home-checkin .quick-state strong{color:var(--forest)}
.ui-home-checkin>p,.ui-home-checkin .small-note{color:var(--muted)}
.ui-home-checkin .quick-state label:has(input:checked){border-color:#A1C77A;background:#EDF6DF;color:var(--forest)}
.ui-home-checkin .quick-state input{accent-color:var(--brand)}
.ui-home-checkin .btn{background:var(--lime);color:var(--forest)}
.ui-home-section-heading h2,.ui-training-total>strong,.ui-training-body strong,.ui-training-ring>span{color:var(--forest)}
.ui-home-section-heading p,.ui-training-legend span,.ui-training-body,.ui-home-trend .small-note,.ui-home-store p,.ui-home-notices .record p,.ui-home-reminders p{color:var(--muted)}
.ui-training-legend i,.ui-training-legend .cardio i{background:#91C846}
.ui-training-legend .cardio i{background:var(--forest)}
.ui-training-legend .unclassified i{background:#AAB5A5}
.ui-training-ring .ring-track{stroke:#EDF2E7}
.ui-training-ring .ring-strength{stroke:#A6D94C}
.ui-training-ring .ring-cardio{stroke:#245240}
.ui-training-ring .ring-unclassified{stroke:#AAB5A5}
.ui-home-trend svg polyline{stroke:#246344}
.ui-home-trend svg circle{fill:#81B84B}
.ui-home-trend svg text{fill:#6F8075}
.ui-home-trend svg path{stroke:#E3E9DE}
.ui-home-alert.contract{background:#EDF4E5;color:var(--brand)}
.ui-shell .mc-page{--mc-blue:#246344}
.ui-shell .mc-tab.active,.ui-shell .mc-tabs button.active{color:var(--brand);border-color:var(--brand)}
.ui-shell .mc-quick .active{background:var(--soft);color:var(--brand)}
@media(min-width:721px){.ui-shell:not([data-ui-role="member"]):not([data-ui-role="coach"]) .mobile-content{max-width:none}.ui-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-depth-hero~.ui-home-quick{margin-top:-40px!important}.ui-shell .ui-service-panel{max-width:760px}}
@media(max-width:720px){
 body{background:radial-gradient(ellipse at 90% 0%,#E6F0D9 0,transparent 48%),#F5F7F2;background-attachment:fixed}
 .ui-shell .sidebar{background:transparent}.ui-shell .topbar{border-color:#E1E8DA;margin-bottom:19px}.ui-shell .main,.ui-shell[data-ui-role="member"] .main{padding:0 16px calc(112px + env(safe-area-inset-bottom))}
 .ui-shell .panel,.ui-shell .detail-head,.ui-shell .profile-hero{border-radius:20px;padding:19px;margin-bottom:20px}
 .ui-shell .page-head{margin-bottom:18px}.ui-shell .page-head h1{font-size:24px}.ui-shell .summary-grid{gap:9px}.ui-shell .summary-item{padding:13px 11px}
 .ui-shell .record{background:#FFFFFF;border:1px solid var(--line);border-radius:15px}.ui-shell .panel .record{background:transparent}.ui-shell .timeline{padding:17px 0}.ui-shell .panel .timeline+.timeline{border-top:1px solid var(--line)}
 .ui-shell .mobile-nav{position:fixed;left:10px;right:10px;bottom:calc(7px + env(safe-area-inset-bottom));padding:5px 6px!important;min-height:65px;background:#FFFFFFF2;border:1px solid #FFFFFF;border-radius:22px;box-shadow:0 16px 30px -13px #173D3240,0 3px 8px -4px #173D321F;z-index:8;isolation:isolate}
 .ui-shell .mobile-nav button{min-height:54px;color:#84917E;flex:1;min-width:0;position:relative}.ui-shell .mobile-nav button.active{color:var(--forest)}
 .ui-shell .mobile-nav button.active:before{top:1px;height:34px;width:46px;background:var(--lime);border:1px solid #FFFFFF;border-radius:12px;box-shadow:0 4px 8px -5px #173D324D;z-index:-1}.ui-shell .mobile-nav button svg{height:23px;width:23px;margin-bottom:4px}
 .ui-shell .btn,.ui-shell .link-btn,.ui-shell .segments button,.ui-shell summary{min-height:44px}.ui-shell .field input:not([type="checkbox"]):not([type="radio"]),.ui-shell .field select,.ui-shell .field textarea{font-size:16px;min-height:44px;background:#FBFDF9}
 .ui-shell .segments{gap:3px;border-color:#DFE8D7}.ui-shell .segments button{font-size:12px;padding:10px 9px}
 .ui-member-home{gap:19px}.ui-member-greeting h1{font-size:25px}.ui-member-greeting p{font-size:12px}.ui-member-home .panel{margin-bottom:0}
 .ui-home-hero.ui-depth-hero{min-height:243px;padding:24px 23px 36px;border-radius:25px}.ui-home-hero.ui-depth-hero h2{font-size:29px;line-height:1.32}.ui-home-hero.ui-depth-hero p{font-size:11px;margin-bottom:11px}.ui-home-hero.ui-depth-hero .ui-home-hero-copy{width:75%}.ui-shell .ui-home-hero .ui-hero-cta{margin-top:15px;font-size:12px;min-height:44px;padding:10px 17px}
 .ui-home-quick{margin:-38px 10px 0!important;border-radius:19px;padding:12px 5px 9px}.ui-home-quick button{font-size:11px;min-height:73px}.ui-home-quick .ui-shortcut-icon{height:41px;width:41px}
 .ui-home-rights{padding:20px;border-radius:21px}.ui-home-rights strong{font-size:20px}.ui-home-rights .ui-right-number{font-size:34px}.ui-home-rights button+button{padding-left:16px}.ui-home-rights span{font-size:11px}
 .ui-home-training .panel-head h2,.ui-home-trend .panel-head h2,.ui-home-next .panel-head h2{font-size:16px}.ui-home-next .time-col{font-size:30px}.ui-home-checkin,.ui-home-crowd{padding:19px 20px}.ui-home-visit-link{border-radius:20px}
 .ui-depth-profile .detail-head{margin-bottom:20px;padding:23px 20px}.ui-service-panel .panel-head{margin-bottom:9px}.ui-service-grid button{min-height:87px;padding:10px 3px 8px}.ui-service-grid button span:last-child{overflow-wrap:anywhere}
 .ui-shell .dialog-head,.ui-shell .dialog-body{padding:20px}dialog{border:1px solid #FFFFFF;box-shadow:0 24px 70px #173D3240}dialog::backdrop{background:#173D3252}.ui-shell .form-error{border-radius:12px}
}
@media(max-width:360px){.ui-shell .main{padding-left:13px;padding-right:13px}.ui-home-hero.ui-depth-hero{padding-left:20px;min-height:235px}.ui-home-hero.ui-depth-hero h2{font-size:27px}.ui-home-quick{margin-left:7px!important;margin-right:7px!important}.ui-service-grid{gap:5px 2px}.ui-service-grid button{font-size:11px}.ui-shell .mobile-nav{left:8px;right:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.ui-depth-membership .ui-membership-history-card{background:linear-gradient(145deg,#FFF,#F7F9F4);border-color:#D7E2D0;color:#506B50}.ui-depth-membership .ui-membership-history-card .badge{background:#EDF0E9;color:#6C7F70}.ui-depth-membership .panel>.btn+.btn{margin-left:8px}
