@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#173138;background:#f5f8f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #1b9b9d;outline-offset:3px}.skip-link{position:absolute;top:-100px;left:16px;background:#fff;padding:12px;z-index:20}.skip-link:focus{top:10px}.app-shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:#08262c;color:#effafa;display:flex;flex-direction:column;padding:28px 14px 26px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:8px;font:600 27px Outfit,system-ui,sans-serif;letter-spacing:-.045em;padding:0 16px 54px}.brand:hover{text-decoration:none}.brand-symbol{color:#5fdfd1;font:600 37px Outfit,system-ui,sans-serif;line-height:.7}.sidebar-label{padding:0 20px 14px;color:#86a6a8;font-size:10px;font-weight:700;letter-spacing:.18em}.nav-list{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#afc7c6;text-align:left;padding:14px 18px;border-radius:11px;display:flex;align-items:center;gap:14px;font-size:14px;font-weight:700}.nav-item span{font-size:22px;width:24px;text-align:center;font-weight:400}.nav-item:hover{background:#123940;color:#fff}.nav-item.is-active{background:#1d4d50;color:#dcfff9}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;color:#a8c6c4;font-size:12px;padding:16px 18px;border-top:1px solid #42616455}.status-dot{width:7px;height:7px;border-radius:50%;background:#57d5b6;box-shadow:0 0 8px #57d5b6}.workspace{min-width:0}.app-header{height:76px;background:#fff;border-bottom:1px solid #e4ece9;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,64px)}.header-kicker{color:#708b8e;font-size:11px;font-weight:700;letter-spacing:.17em}.header-actions{display:flex;align-items:center;gap:16px}.account-label{font-size:13px;color:#758c8f;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-pill{border:1px solid #c4d7d2;background:#fff;border-radius:999px;color:#164c50;padding:9px 17px;font-size:13px;font-weight:700}.account-pill:hover{background:#e8f6f2}.mobile-brand,.mobile-nav{display:none}.main-content{max-width:1280px;margin:auto;padding:clamp(30px,4vw,58px) clamp(24px,4vw,64px) 100px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:31px}.eyebrow{color:#168b87;font-weight:700;font-size:11px;letter-spacing:.18em}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,system-ui,sans-serif}h1{font-size:clamp(35px,4vw,51px);letter-spacing:-.05em;line-height:1.1;margin:9px 0 10px;font-weight:600}.page-heading p{color:#70878a;margin:0;font-size:14px}.refresh-button{border:1px solid #d5e3df;background:white;border-radius:10px;padding:10px 15px;color:#315f60;font-weight:700;white-space:nowrap}.refresh-button:hover{background:#ecf8f5}.message{background:#e7f7f3;border:1px solid #97d8ca;color:#145954;border-radius:12px;padding:14px 18px;margin-bottom:22px;font-size:14px}.message.is-error{background:#fff2ef;border-color:#f0c2b4;color:#8a392b}.loading-card,.empty-state,.card{background:#fff;border:1px solid #e0eae6;border-radius:17px;box-shadow:0 4px 22px #193c3510}.loading-card,.empty-state{padding:36px;color:#6f8787}.empty-state h3{color:#173138;font-size:21px;margin-bottom:8px}.empty-state p{margin:0;line-height:1.6}.card{padding:24px}.card h2{font-size:22px;letter-spacing:-.035em;margin:0 0 6px}.card h3{font-size:18px;letter-spacing:-.025em;margin-bottom:7px}.card p{color:#6b8384;line-height:1.55}.hero-card{display:grid;grid-template-columns:1.4fr .7fr;gap:25px;align-items:center;background:linear-gradient(120deg,#0a353b,#126061);border-radius:20px;padding:36px 40px;color:white;min-height:225px;overflow:hidden;position:relative}.hero-card:after{content:'≈';font:600 340px Outfit;position:absolute;right:-34px;top:-118px;color:#62dbc825;pointer-events:none}.hero-card h2{font-size:clamp(27px,3vw,37px);line-height:1.08;letter-spacing:-.045em;margin:8px 0 12px}.hero-card p{color:#bde1dc;line-height:1.55;max-width:540px;margin:0}.hero-card .hero-side{z-index:1;display:flex;justify-content:flex-end}.hero-card .hero-side span{display:block;border:1px solid #9ee6dc88;border-radius:50%;width:125px;height:125px;display:grid;place-items:center;color:#c8fff5;font:500 42px Outfit;box-shadow:0 0 0 18px #7aded114,0 0 0 37px #7aded10b}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:36px 0 14px}.section-head h2{font-size:23px;letter-spacing:-.035em;margin:0}.section-head p{margin:4px 0 0;color:#829696;font-size:13px}.text-button{border:0;background:transparent;color:#168b87;font-weight:700;font-size:13px;padding:6px}.text-button:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px}.stat{padding:23px;background:#fff;border:1px solid #e0eae6;border-radius:15px}.stat-label{color:#718989;font-size:12px;font-weight:700}.stat strong{display:block;font:600 35px Outfit;letter-spacing:-.04em;margin-top:10px}.stat small{color:#77918f;font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px}.stack{display:grid;gap:13px}.list-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid #e0eae6;border-radius:15px;padding:20px 22px;width:100%;text-align:left}.list-card:hover{border-color:#68bcb3;box-shadow:0 8px 24px #173c3213}.list-card h3{margin:0 0 5px;font-size:19px}.list-card p{margin:0;color:#78908e;font-size:13px}.list-card .arrow{color:#3e9b95;font-size:22px}.badge{display:inline-block;border-radius:999px;background:#e5f4f1;color:#177b77;font-size:11px;font-weight:700;padding:6px 10px;white-space:nowrap}.badge.private{background:#eff2f4;color:#61777c}.badge.public{background:#def6eb;color:#187e60}.toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:19px}.filters{display:flex;flex-wrap:wrap;gap:7px}.filter{background:#fff;border:1px solid #d6e6e2;border-radius:999px;color:#617d7d;font-size:12px;font-weight:700;padding:8px 13px}.filter.is-active{color:white;background:#136d6b;border-color:#136d6b}.primary-button{border:0;background:#0d6868;color:#fff;border-radius:10px;padding:11px 18px;font-weight:700;font-size:13px}.primary-button:hover{background:#095453}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{border:1px solid #cfe1dc;background:#fff;color:#195e5b;border-radius:10px;padding:10px 16px;font-weight:700;font-size:13px}.secondary-button:hover{background:#edf7f4}.detail-panel{margin-bottom:25px}.detail-header{display:flex;justify-content:space-between;gap:18px;align-items:start}.detail-header h2{font-size:30px;margin:8px 0}.detail-meta{color:#718987;font-size:13px}.section-block{border-top:1px solid #e8efec;margin-top:22px;padding-top:20px}.section-block h3{font-size:17px;margin:0 0 11px}.step-row{padding:11px 0;border-top:1px solid #edf1ef;display:flex;justify-content:space-between;gap:16px;font-size:14px}.step-row:first-of-type{border-top:0}.step-row small{color:#78918d;text-align:right}.form-card{margin-top:21px}.form-card h2{margin-bottom:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .wide{grid-column:1/-1}.field{display:grid;gap:6px}.field label{font-size:12px;color:#4d6b6a;font-weight:700}.field input,.field select,.field textarea{border:1px solid #cddfda;background:#fff;border-radius:9px;padding:10px 12px;min-width:0;color:#193b3c}.field textarea{min-height:75px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #8cdbd1;border-color:#4db9ae}.form-actions{display:flex;align-items:center;gap:12px;margin-top:21px}.form-hint{color:#829593;font-size:12px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.auth-card{padding:27px}.auth-card h2{margin-bottom:12px}.auth-card p{font-size:13px}.auth-card .field{margin:14px 0}.help-list{padding-left:18px;color:#6a8280;font-size:13px;line-height:1.8}.activity-list{display:grid;gap:10px}.activity-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e9efeb;padding:11px 0}.activity-row:last-child{border:0}.activity-row strong{display:block;font-size:14px}.activity-row small{color:#829493}.activity-row .distance{font-weight:700;color:#165f60;white-space:nowrap}.muted{color:#78908e}.account-summary{display:flex;align-items:center;gap:17px}.avatar{width:55px;height:55px;border-radius:16px;background:#d5f2e9;color:#168c7e;display:grid;place-items:center;font:600 25px Outfit}.account-summary h2{margin:0 0 4px}.account-summary p{margin:0}.account-summary button{margin-left:auto}.notice-line{font-size:13px;color:#718987;margin-top:13px}.inline-icon{color:#1d8981}.skeleton-line{height:12px;background:#eaf2ef;border-radius:9px;margin:12px 0}.mobile-nav{box-shadow:0 -6px 22px #12322b13}
@media(max-width:950px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-inline:9px}.brand{font-size:23px;padding-left:12px}.nav-item{padding:13px 12px}.main-content{padding-inline:28px}.app-header{padding-inline:28px}.hero-card{grid-template-columns:1fr}.hero-card .hero-side{display:none}}
@media(max-width:700px){.app-shell{display:block}.sidebar{display:none}.app-header{height:67px;padding:0 19px}.mobile-brand{display:block;font:600 20px Outfit}.mobile-brand a:hover{text-decoration:none}.mobile-brand .brand-symbol{font-size:29px;vertical-align:-3px}.header-kicker,.account-label{display:none}.main-content{padding:29px 18px 112px}.page-heading{align-items:center;margin-bottom:22px}h1{font-size:36px}.page-heading p{font-size:13px}.refresh-button span{display:none}.hero-card{padding:27px;min-height:200px}.stats-grid{gap:9px}.stat{padding:16px}.stat strong{font-size:27px}.two-col,.auth-layout{grid-template-columns:1fr}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);z-index:5;border-top:1px solid #e0eae6;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:transparent;color:#819692;display:grid;justify-items:center;gap:2px;padding:10px 2px;font-size:10px;font-weight:700}.mobile-nav button span{font-size:20px;font-weight:400}.mobile-nav button.is-active{color:#117a75}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.card{padding:19px}.account-summary{flex-wrap:wrap}.account-summary button{margin-left:0}}
@media(max-width:400px){.page-heading p{max-width:225px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid .stat:last-child{grid-column:1/-1}.stat strong{margin-top:3px}.list-card{padding:17px}.detail-header{flex-direction:column}}

/* Plan builder */
.builder-intro,.builder-head,.builder-section-head,.step-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.builder-intro{margin-bottom:23px}.builder-intro h2{margin:7px 0}.builder-intro p,.builder-section-head p{margin:0;color:#718987;font-size:13px}
.builder-section-head{margin:34px 0 15px;align-items:end}.builder-section-head h3{margin:0;font-size:21px}
.plan-session{border:1px solid #d8e8e3;border-radius:16px;padding:23px;margin-bottom:18px;background:#f8fbfa}
.plan-session>.builder-head{margin-bottom:18px}.plan-session>.builder-head h3{margin:4px 0 0;font-size:23px}
.builder-modules{display:grid;gap:13px;margin:23px 0 16px}
.builder-module{border:1px solid #dce7e3;border-left:5px solid #16aaa5;border-radius:12px;padding:18px;background:#fff}
.builder-module:nth-child(4n+2){border-left-color:#6379e8}.builder-module:nth-child(4n+3){border-left-color:#e6b92e}.builder-module:nth-child(4n){border-left-color:#88caa9}
.builder-module>.builder-head{margin-bottom:12px}.module-number{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f6f2;color:#126b69;font-size:11px;font-weight:700;margin-right:9px}.module-distance{font-size:12px;color:#687f7c;font-weight:700}
.builder-controls,.builder-add{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.builder-add{margin:12px 0 0;font-size:12px;color:#5b7773;font-weight:700}
.builder-steps{display:grid;gap:11px;margin:14px 0}.builder-step{background:#f6f9f8;border:1px solid #e7efec;border-radius:10px;padding:13px}.step-top{margin-bottom:10px}.step-top strong{font-size:12px;color:#426a68}
.step-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.step-fields .step-note{grid-column:1/-1}
.step-fields .field input,.step-fields .field select{width:100%;padding:8px}.secondary-button.compact{padding:7px 10px;font-size:12px}.text-button.danger{color:#a34f43}.text-button:disabled,.secondary-button:disabled{opacity:.4;cursor:default;text-decoration:none}
.plan-session-link{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;background:#fff;border:0;border-top:1px solid #e6eeeb;padding:13px 0;color:#173138}.plan-session-link:hover{color:#0d7773}.plan-session-link strong,.plan-session-link small{display:block}.plan-session-link strong{font-size:14px}.plan-session-link small{font-size:12px;color:#78908e;margin-top:3px}
@media(max-width:1050px){.step-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.plan-session{padding:15px}.builder-intro,.builder-section-head{align-items:start;flex-direction:column;gap:8px}.step-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-controls .text-button{padding:4px}.builder-add span{width:100%}}
