/* Camada visual compartilhada: sem alterar ações, gráficos ou regras de treino. */
:root{--runner-ink:#153840;--runner-muted:#6b8086;--runner-teal:#078b96;--runner-deep:#064955;--runner-gold:#ffc44a;--runner-line:#dfe9eb;--runner-shadow:0 12px 34px #123e4808}
body{background:#f2f6f7;color:var(--runner-ink)}
.runable-header{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,253,253,.96));border-bottom:1px solid #d9e7e9;box-shadow:0 8px 26px rgba(20,61,70,.08)}
.runable-header__accent{height:4px;background:linear-gradient(90deg,#078b96 0%,#0aa2ab 60%,#ffc44a 100%)}
.runable-header__inner{width:min(1280px,calc(100% - 48px));min-height:84px;gap:34px}
.runable-brand{padding:4px 0}
.runable-brand__identity{gap:7px}
.runable-brand__text{font-size:26px;letter-spacing:-1.2px;color:#103c44}
.runable-brand__tagline{font-size:9px;letter-spacing:.11em;font-weight:750;color:#7a8e94}
.runable-nav__primary{padding:5px;border:1px solid #e0ebed;border-radius:16px;background:rgba(245,250,250,.92);gap:4px;box-shadow:inset 0 1px 0 #fff,0 4px 12px rgba(24,74,83,.05)}
.runable-nav__link{font-size:13px;border-radius:11px;color:#57717a}
.runable-nav__link.is-active{background:#e7f4f4;color:#087b87}
.runable-nav__plan{font-size:13px;min-height:42px;border:1px solid #f5c15b;border-radius:11px;background:#ffcf67;color:#403619;box-shadow:none}
.runable-nav__plan:hover{background:#ffd980;color:#302812}
.runable-nav__plan small{font-size:9px;background:#ffffff80;border-radius:5px;padding:4px 6px;color:#765c1c}
.runable-user{padding:5px 11px 5px 5px;border:1px solid #e0e9eb;border-radius:999px;background:#fff}
.runable-user__avatar{border:2px solid #eef6f6;width:38px;height:38px}
.runable-user__copy small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#80949a}
.runable-user__copy strong{font-size:12px;color:#20454e;max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.runable-nav__exit{font-size:11px;color:#7c8e95}
.runable-nav__button{border-radius:11px;background:#087e89;box-shadow:none;font-size:13px}
.runable-nav__account{gap:11px}
.runable-nav__button--google{gap:9px;padding:0 15px;border-color:#d7e1e5;background:#fff;color:#263b43;box-shadow:0 5px 15px rgba(20,62,72,.08)}
.runable-nav__button--google:hover{background:#f8fbfc;color:#173a44;border-color:#b8d2d6;box-shadow:0 9px 20px rgba(20,62,72,.13)}
.runable-google-mark{width:18px;height:18px;display:block;flex:0 0 18px}
.runable-menu-button{border-color:#dbe7e9;border-radius:11px;background:#f7fafa;min-height:44px}
.runable-footer{margin-top:70px;background:#063f4a;color:#d8eeee;border:0}
.runable-footer__inner{width:min(1120px,calc(100% - 48px));padding-top:46px;padding-bottom:38px;gap:48px}
.runable-footer__logo>span{color:#fff}
.runable-footer__logo>span>span{color:#57c7ce}
.runable-footer__brand p,.runable-footer__promise p{color:#9fc0c6;font-size:13px;line-height:1.75}
.runable-footer__links strong,.runable-footer__promise strong,.runable-footer__organizer>strong{color:#ffe09a;font-size:11px;text-transform:uppercase;letter-spacing:.11em}
.runable-footer__links a{color:#d0e6e9;font-size:13px}
.runable-footer__links a:hover{color:#ffdb88}
.runable-footer__bottom{border-top-color:#ffffff16;color:#98bdc3;font-size:11px;padding-top:22px;padding-bottom:22px;letter-spacing:.02em}
.runable-footer__track span{border-color:#80ccd521}
/* Perfil privado e público */
.rp-main,.publico-main,.tr-main,.sp-main{width:min(1120px,calc(100% - 40px));margin:32px auto 56px}
.runner-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:278px;margin-bottom:24px;padding:38px 42px;border-radius:24px;background:linear-gradient(125deg,#053e4a,#087e88);color:#fff;box-shadow:0 16px 35px #06445112}
.runner-welcome__copy{position:relative;z-index:2;max-width:610px}
.runner-eyebrow{display:block;color:#a8dadd;letter-spacing:.17em;font-size:10px;font-weight:800}
.runner-welcome h1{margin:17px 0 12px;font-size:clamp(28px,3.5vw,40px);font-weight:800;letter-spacing:-.035em;line-height:1.16;color:#fff}
.runner-welcome p{font-size:14px;line-height:1.6;color:#bcdee0;margin:0 0 22px}
.runner-primary{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:45px;padding:11px 17px;border:1px solid #ffd77f;border-radius:10px;background:#ffce65;color:#344029;text-decoration:none;font-size:13px;font-weight:800}
.runner-primary:hover{background:#ffdf97;color:#253120}
.runner-primary span{font-size:20px;font-weight:500}
.runner-welcome__track{position:absolute;width:390px;height:540px;right:-72px;top:-89px;transform:rotate(32deg);z-index:0;pointer-events:none}
.runner-welcome__track i{position:absolute;inset:0;border:1px solid #78ced443;border-radius:50%}
.runner-welcome__track i:nth-child(2){inset:23px}.runner-welcome__track i:nth-child(3){inset:46px}
.runner-welcome__track img{position:absolute;width:82px;left:10px;top:178px;transform:rotate(-32deg);filter:drop-shadow(0 8px 14px #002c4930)}
.runner-welcome__caption{position:absolute;right:44px;bottom:32px;color:#aadbe0;font-size:10px;font-weight:750;letter-spacing:.14em;line-height:1.7;text-align:right}
.rp-profile,.rp-races,.publico-top,.publico-social{border:1px solid var(--runner-line);border-radius:22px;background:#fff;box-shadow:var(--runner-shadow)}
.rp-profile{padding:32px;gap:30px}
.rp-avatar{border:5px solid #fff;outline:1px solid #d8e7e9;box-shadow:0 8px 20px #103c4810}
.rp-title-row h1,.rp-title-row h2{margin:6px 0 0;font-size:30px;line-height:1.2;letter-spacing:-.035em;color:#133e48;font-weight:800}
.rp-kicker,.publico-kicker,.tr-kicker,.sp-kicker{font-size:10px;font-weight:800;letter-spacing:.12em}
.rp-contact{gap:7px;margin-top:16px}
.rp-chip{font-size:11px;background:#f4f8f9;border-color:#e6eef0;color:#627b83;padding:7px 10px}
.rp-stats{gap:10px;margin-top:24px}
.rp-stat{padding:18px 16px;border:1px solid #e2edef;border-radius:13px;background:#f7fafb}
.rp-stat strong{color:#087c88;font-size:27px;font-weight:800;letter-spacing:-1px}
.rp-stat span{font-size:11px;color:#718a91}
.rp-races{margin-top:24px;padding:28px}
.rp-section-head{margin-bottom:26px}
.rp-section-head h2,.publico-section-head h2,.sp-section-head h2{font-size:24px;font-weight:800;letter-spacing:-.03em;color:#183f48}
.rp-race-group-head h3{font-size:17px;color:#345862}
.rp-race-count{background:#e8f5f4;color:#0d7c85}
.rp-race-card{border:1px solid #e0e9ec;border-radius:16px;background:#fff;box-shadow:0 3px 12px #09354004;overflow:hidden}
.rp-race-body{padding:18px}
.rp-race-body h3{font-size:16px;color:#244a54;line-height:1.4;letter-spacing:-.01em}
.rp-race-meta{font-size:12px;line-height:1.5;color:#7a8f96}
.rp-button{min-height:43px;border-radius:10px;background:#078b96;box-shadow:none;font-size:12px;transition:background .15s}
.rp-button--secondary{background:#f7fafb;border-color:#dbe8eb;color:#40636e}
.rp-button--gold{background:#fff3d3;border-color:#efd29a;color:#805e19}
.rp-remove{min-height:40px;font-size:11px;color:#937374}
.rp-form .form-control,.rp-form .form-select{border:1px solid #d9e5e8;border-radius:10px;min-height:47px;background:#fbfdfe;font-size:16px;color:#284b56}
.rp-form label{font-size:12px;color:#476671}
.rp-form .readonly-field,.rp-form input[readonly]{background:#f0f5f6;color:#82959c}
.rp-form .form-control:focus,.rp-form .form-select:focus{border-color:#0a939e;box-shadow:0 0 0 3px #098e9810}
.google-account-panel{border:1px solid #e4ecee;background:#f9fcfc;border-radius:14px;padding:17px;margin:0 0 24px}
.google-account-panel h2{font-size:14px;color:#345963}.google-account-panel p{font-size:12px;line-height:1.6}
.publico-top{padding:32px;background:linear-gradient(120deg,#fff,#f2f9f9);border-top:4px solid #098c97}
.publico-top h1{color:#123e48;letter-spacing:-.035em}
.publico-card,.publico-person{border-color:#e1eaed;border-radius:15px;box-shadow:none}
.publico-social{padding:28px}.publico-avatar{box-shadow:0 8px 24px #0a566218}
/* Planilhas, configuração do treino e acompanhamento Strava */
.tr-dashboard-head,.tr-detail-head,.sp-hero{border:0;border-radius:22px;background:linear-gradient(125deg,#064753,#098591);box-shadow:0 14px 28px #0b5b6910;padding:32px;color:#fff}
.tr-dashboard-head h1,.tr-detail-head h1,.sp-hero h1{color:#fff;font-size:clamp(25px,3vw,35px);font-weight:800;letter-spacing:-.035em;line-height:1.2}
.tr-dashboard-head p,.tr-detail-head p,.sp-hero p{color:#c0e0e3;font-size:13px;line-height:1.65}
.tr-dashboard-head .tr-kicker,.tr-detail-head .tr-kicker,.sp-hero .sp-kicker{color:#ffda83}
.tr-new-button{background:#ffcf69;border:1px solid #ffdb8e;color:#3f4527;border-radius:10px;min-height:45px;box-shadow:none;font-size:13px}
.tr-new-button:hover{background:#ffdc92;color:#313919}
.tr-detail-head .tr-back,.sp-hero .sp-back{color:#e3f3f4;border-color:#8ec3cc66;background:#ffffff0e;border-radius:9px;padding:10px 14px;min-height:42px}
.tr-panel,.tr-week,.tr-list-empty,.sp-card{border:1px solid var(--runner-line);border-radius:20px;background:#fff;box-shadow:var(--runner-shadow)}
.tr-plan-card{border:1px solid var(--runner-line);border-radius:17px;box-shadow:none;background:#fff}
.tr-plan-date{background:#edf7f8;color:#0b737f;border-right:1px solid #dcebed}
.tr-plan-date strong{color:#0b737f}
.tr-plan-body h3{font-size:17px;line-height:1.4;color:#244751}
.tr-plan-body{padding:23px}.tr-plan-actions a{min-height:40px;display:inline-flex;align-items:center}
.tr-plan-badge{border:1px solid #dfeaec;background:#f7fafb;color:#6d858d;border-radius:7px}
.tr-metric,.sp-metric{border:1px solid #dfebed;border-radius:13px;background:#f7fbfb;box-shadow:none;padding:19px}
.tr-metric strong,.sp-metric strong{color:#087e8a;font-weight:800;letter-spacing:-.025em}
.tr-session,.sp-session{border-radius:15px;padding:18px;box-shadow:none;min-width:0}
.tr-session-primary strong{font-size:26px;color:#1d424c;letter-spacing:-.03em}
.tr-session-primary .tr-session-pace{font-size:13px;color:#15828c}
.tr-session-step{padding:9px 10px;border-left-width:2px;border-radius:0 8px 8px 0;line-height:1.55}
.tr-week-head{border-bottom-color:#e4edef;padding-bottom:17px}
.tr-week-number,.sp-week-number{background:#e7f4f4;color:#087e88;border-radius:10px}
.tr-field input,.tr-field select,.tr-field textarea{border-color:#d8e5e8;border-radius:10px;background:#fbfdfe;min-height:47px;font-size:16px}
.tr-field label{color:#456672;font-size:12px}
.tr-form-heading h2{color:#1b414c;font-weight:800;letter-spacing:-.03em}
.tr-submit,.tr-button{border-radius:10px;box-shadow:none}
.sp-chart,.sp-insight,.sp-prediction{border-radius:15px}
.sp-privacy{color:#85979e;font-size:11px}
/* Checkout: preserva preço, estados e cores de confirmação. */
.tp-main{width:min(1000px,calc(100% - 40px));margin:32px auto 56px}
.tp-grid{border:1px solid #dce8eb;border-radius:24px;overflow:hidden;box-shadow:var(--runner-shadow)}
.tp-copy{background:linear-gradient(135deg,#064854,#087e89);color:#fff;padding:36px}
.tp-copy h1{color:#fff;letter-spacing:-.035em}.tp-copy p{color:#c5e3e6}
.tp-copy .tp-kicker{color:#ffe09a}.tp-pay{background:#fff;padding:36px}
.tp-button{border-radius:10px;min-height:47px}.tp-price{letter-spacing:-.04em}
:is(.rp-main,.tr-main,.sp-main,.publico-main,.tp-main) :is(a,button,input,select,summary):focus-visible{outline:3px solid #efb645;outline-offset:3px}
@media(max-width:1000px){.runable-header__inner{gap:20px}.runable-brand__tagline{font-size:8px}.runable-nav__primary{border:0;padding:0;background:none}.runable-user__copy strong{max-width:135px}}
@media(max-width:850px){.runable-header__inner{min-height:72px;width:calc(100% - 32px)}.runable-nav__primary{display:grid;padding:0;border:0;background:none}.runable-user{border-radius:10px}.runable-header.is-menu-open .runable-nav{border-radius:16px;border-color:#dfebed}.runner-welcome__track{opacity:.55;right:-190px}.runner-welcome__caption{display:none}}
@media(max-width:650px){
 .rp-main,.publico-main,.tr-main,.sp-main,.tp-main{width:calc(100% - 24px);margin:18px auto 34px}
 .runner-welcome{min-height:0;padding:28px 25px;border-radius:19px;margin-bottom:17px}
 .runner-welcome h1{font-size:29px;max-width:340px}.runner-welcome p{font-size:13px;max-width:300px}.runner-eyebrow{font-size:8px;letter-spacing:.13em}
 .runner-welcome__track{right:-225px;opacity:.45}.runner-welcome__track img{display:none}.runner-primary{min-height:46px;font-size:12px}
 .rp-profile,.rp-races,.publico-top,.publico-social{padding:23px;border-radius:19px}
 .rp-title-row h1,.rp-title-row h2{font-size:27px}.rp-avatar{width:112px;height:112px}
 .rp-stats{gap:8px}.rp-stat{padding:15px 12px}.rp-stat strong{font-size:24px}.rp-stat span{font-size:10px}
 .rp-section-head h2{font-size:22px}.rp-race-body{padding:16px}.rp-race-actions .rp-button{min-height:43px}
 .tr-dashboard-head,.tr-detail-head,.sp-hero{padding:25px;border-radius:19px}.tr-dashboard-head h1,.tr-detail-head h1,.sp-hero h1{font-size:27px}
 .tr-plan-body{padding:18px}.tr-panel,.tr-week,.sp-card{border-radius:17px}.tr-session,.sp-session{padding:16px}
 .tp-copy,.tp-pay{padding:26px}.runable-footer{margin-top:42px}.runable-footer__inner{width:calc(100% - 40px);gap:27px;padding-top:35px;padding-bottom:25px}
 .runable-footer__bottom{padding:20px;font-size:10px}.runable-brand__text{font-size:23px}.runable-brand__tagline{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.rp-button,.runable-nav__link,.runable-nav__plan{transition:none}}
