/*
 JoyFit · E1 — polimento do produto, sem mudanças de lógica.
 Aparência de produto: Inter / fonte nativa, botões de desenho convencional,
 densidade controlada em refeições e formulário de autenticação.
 Carregado por último e sem dependências JS.
*/
:root,
:root[data-theme="light"]{
 --jf-e1-font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Arial,sans-serif;
 --jf-e1-radius:12px;
 --jf-e1-control-radius:10px;
 --jf-e1-border:#DCE1E4;
 --jf-e1-focus:#A94722;
 --fd:var(--jf-e1-font);
 --fb:var(--jf-e1-font);
 --aura-panel:20px;
}
html,body,button,input,select,textarea{font-family:var(--jf-e1-font)!important;letter-spacing:normal}
.jf-screen h1,.jf-screen h2,.jf-screen h3,.jf-screen .big,
.jf-screen .jf-vivo-card-number,.jf-page-header .jf-head-text h1,
.jf-vivo-cal-copy strong,.jf-fire-copy h2,.jf-rewards-hero h2,
#login .wm{font-family:var(--jf-e1-font)!important;letter-spacing:-.035em!important;font-weight:700!important}
.jf-page-header .jf-head-text h1{font-weight:750!important;line-height:1.17!important}
.jf-tag,.jf-eyebrow,.jf-vivo-kicker,.jf-vivo-eyebrow,
.jf-fire-eyebrow,.jf-rank-eyebrow{letter-spacing:.065em!important;font-weight:700!important}
.jf-panel,.card,.ob-shell,.jf-reward-tile{border-radius:19px!important;box-shadow:0 2px 12px rgba(18,27,37,.035)!important}
/* Conventional controls: flat, crisp, no scale or floating / glowing effects. */
.jf-primary,button.jf-primary,.jf-hero-cta,#login button[type="submit"],
.jf-outline,button.jf-outline,button.jf-subtle,
.jf-reward-action button,.jf-photo-picker{
 border-radius:var(--jf-e1-control-radius)!important;
 box-shadow:none!important;
 transform:none!important;
 font-size:13px!important;
 font-weight:650!important;
 letter-spacing:0!important;
 transition:background-color .15s,border-color .15s,color .15s!important;
}
.jf-primary,button.jf-primary,.jf-hero-cta{background:#AC4320!important;border:1px solid #AC4320!important;color:#fff!important}
.jf-primary:hover,button.jf-primary:hover,.jf-hero-cta:hover{background:#8D351A!important;border-color:#8D351A!important;box-shadow:none!important;transform:none!important}
.jf-primary:active,button.jf-primary:active,.jf-hero-cta:active{background:#732C15!important;transform:none!important}
.jf-outline,button.jf-outline,button.jf-subtle{border:1px solid var(--jf-e1-border)!important;background:var(--card)!important;color:var(--t)!important}
.jf-outline:hover,button.jf-outline:hover,button.jf-subtle:hover{background:var(--soft)!important;transform:none!important}
.jf-vivo-meal:hover,.jf-rank-person:hover,.jf-reward-tile:hover,
.jf-avatar:hover{transform:none!important;box-shadow:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible{
 outline:2px solid var(--jf-e1-focus)!important;outline-offset:3px!important;
}
/* Login/Cadastro: graphic story on desktop, compact form on devices. */
#login{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:clamp(24px,5vw,82px);align-items:center;
 justify-content:center;padding:clamp(20px,4vw,64px) max(30px,calc((100vw - 1240px)/2))!important;
 overflow-y:auto;background:#F3F5F4!important;text-align:left!important;}
#login:before{display:none!important}
#login .jf-e1-auth-story{color:#fff;min-height:min(76vh,710px);height:100%;max-height:740px;display:flex;
 flex-direction:column;justify-content:space-between;padding:clamp(26px,4vw,54px);overflow:hidden;
 position:relative;isolation:isolate;border-radius:19px;
 background:#20262C url('../assets/hero-food.webp') center/cover no-repeat;}
#login .jf-e1-auth-story:before{content:"";position:absolute;inset:0;z-index:-1;
 background:linear-gradient(120deg,rgba(18,25,32,.82),rgba(21,28,35,.34) 76%,rgba(21,28,35,.14));pointer-events:none;}
#login .jf-e1-auth-logo{font-size:27px;font-weight:750;letter-spacing:-.04em;line-height:1}
#login .jf-e1-dot{color:#FF9168}
#login .jf-e1-auth-story-main{max-width:510px}
#login .jf-e1-auth-kicker{display:block;color:#FFBB96;font-size:11px;letter-spacing:.14em;font-weight:700;margin-bottom:17px}
#login .jf-e1-auth-story h2{color:#fff;font-size:clamp(32px,3.7vw,54px);line-height:1.1;
 font-weight:730;letter-spacing:-.045em;margin:0 0 19px}
#login .jf-e1-auth-story p{color:#F0F0F0;font-size:15px;line-height:1.65;max-width:390px;margin:0}
#login .jf-e1-auth-footer{color:#F2E8E3;font-size:13px}
#login .box{width:100%;max-width:440px!important;max-height:min(90dvh,860px)!important;overflow-y:auto;
 padding:clamp(22px,3vw,38px)!important;border-radius:16px!important;
 background:#FFFFFF!important;border:1px solid #E1E5E6!important;
 box-shadow:0 16px 48px rgba(16,24,32,.065)!important;backdrop-filter:none!important;text-align:left}
#login .wm{font-size:34px!important;color:#2A3035!important;margin:6px 0 9px}
#login .box>p{color:#647079!important;line-height:1.55;font-size:14px!important}
#login .tabs{padding:4px!important;border-radius:11px!important;background:#F0F2F2!important;display:flex;gap:4px}
#login .tab{min-height:41px;border-radius:8px!important;box-shadow:none!important;transform:none!important;
 font-size:13px!important;color:#5D6971!important}
#login .tab.on{color:#2B3338!important;background:#fff!important;box-shadow:0 1px 2px #16212C12!important}
#login form{display:grid;gap:11px;margin-top:21px}
#login input{width:100%;min-height:49px!important;padding:12px 14px!important;border-radius:10px!important;
 background:#FFF!important;border:1px solid #CFD5D8!important;color:#222A30!important;box-shadow:none!important;font-size:14px}
#login input::placeholder{color:#66737B}
#login .pwr{position:relative}
#login .eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:64px;min-height:37px!important;
 border-radius:8px!important;color:#48545E!important;background:#F0F2F2!important;font-size:12px!important}
#login button[type="submit"]{width:100%;min-height:49px!important;background:#AC4320!important;border:1px solid #AC4320!important;color:#fff!important}
#login button[type="submit"]:hover{background:#8D351A!important;border-color:#8D351A!important}
#login .jf-social-btn{border-radius:10px!important;box-shadow:none!important;transform:none!important}
/* Diary: comfortable rows, compact actions; secondary actions don't compete. */
.jf-vivo-meal{border-radius:12px!important;min-height:74px;padding:11px 14px!important;margin:0!important;gap:12px!important}
.jf-vivo-meal-list{gap:8px!important}
.jf-vivo-meal-add{border-radius:9px!important;background:#F2F3F4!important;color:#273039!important;font-size:20px!important}
.jf-meal-sheet .box{width:min(94vw,780px);max-width:780px!important;max-height:90dvh;
 display:grid;gap:20px;padding:26px!important;overflow-y:auto;border-radius:18px!important}
.jf-meal-sheet .jf-modal-head{align-items:start;padding-bottom:12px;border-bottom:1px solid var(--line)}
.jf-meal-sheet .jf-modal-head h2{letter-spacing:-.035em;font-size:24px;font-weight:700}
.jf-meal-sheet .jf-close{border-radius:9px!important;min-width:38px;min-height:38px;background:var(--card)}
.jf-meal-sheet .jf-manual-entry{display:grid;gap:13px;min-width:0}
.jf-meal-sheet .jf-manual-entry .jf-section-title{margin-bottom:0}
.jf-meal-sheet #fs{min-height:52px!important;border:1px solid var(--jf-e1-border)!important;border-radius:10px!important;
 padding:12px 16px!important;font-size:14px}
.jf-meal-sheet #fr{max-height:300px;overflow-y:auto;min-width:0}
.jf-meal-sheet #fr .item{border-radius:9px;min-height:44px;border-color:var(--line);margin:4px 0}
.jf-meal-sheet .jf-recents{gap:7px}
.jf-meal-sheet .jf-recents button{min-height:35px!important;max-width:100%;overflow-wrap:anywhere;padding:8px 11px!important}
.jf-meal-sheet .jf-manual-entry>.jf-subtle{justify-self:start;min-height:38px!important}
.jf-meal-sheet .jf-label{margin-top:10px;font-size:12px;font-weight:650}
.jf-meal-sheet .jf-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.jf-meal-sheet .jf-form-grid label{font-size:12px;font-weight:600}
.jf-meal-sheet .jf-form-grid input{width:100%;min-width:0;min-height:45px}
.jf-meal-sheet .jf-wide{width:100%;min-height:47px!important}
.jf-meal-sheet .jf-ai-photo{border-radius:11px;background:var(--soft);border-color:var(--line);padding:17px}
.jf-meal-sheet .jf-photo-picker{border-style:solid!important;min-height:46px}
.jf-meal-sheet .jf-record-row{padding:13px 0;gap:9px}
.jf-meal-sheet .jf-record-row>div{min-width:0}
.jf-meal-sheet .jf-record-row strong{font-size:13px;overflow-wrap:anywhere}
.jf-meal-sheet .jf-record-row small{font-size:11px}
.jf-meal-sheet .jf-record-row button{flex:none;min-height:37px!important}
/* Legacy dark theme compatibility. */
:root[data-theme="dark"]{
 --fd:var(--jf-e1-font);--fb:var(--jf-e1-font);
 --jf-e1-border:#4B555D;
 --jf-e1-focus:#FFAF84;
}
:root[data-theme="dark"] #login{background:#151B20!important}
:root[data-theme="dark"] #login .box{background:#252D35!important;border-color:#39444E!important}
:root[data-theme="dark"] #login .wm{color:#F6F7F8!important}
:root[data-theme="dark"] #login .tabs{background:#313A44!important}
:root[data-theme="dark"] #login .tab.on{background:#48525C!important;color:#fff!important}
:root[data-theme="dark"] #login input{background:#222A32!important;color:#F6F7F8!important;border-color:#4B555D!important}
:root[data-theme="dark"] #login .box>p{color:#BDC5CC!important}
:root[data-theme="dark"] #login .eye{background:#37434E!important;color:#fff!important}
@media(max-width:899px){
 #login{display:flex;align-items:center;min-height:100dvh;padding:18px 14px!important}
 #login .jf-e1-auth-story{display:none}
 #login .box{width:min(100%,460px);padding:25px 20px!important;max-height:95dvh!important}
 .jf-meal-sheet .box{max-height:94dvh!important;width:100%!important;padding:20px 17px calc(24px + env(safe-area-inset-bottom,0px))!important;
 border-radius:17px 17px 0 0!important;gap:16px}
 .jf-meal-sheet{align-items:end!important;padding:0!important}
}
@media(max-width:360px){
 .jf-meal-sheet .jf-form-grid{gap:8px}
 .jf-meal-sheet .jf-form-grid input{padding-left:7px!important;padding-right:7px!important}
 .jf-meal-sheet .jf-record-row{flex-wrap:wrap}
 .jf-meal-sheet .jf-record-row button{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){#login *, .jf-meal-sheet *, .jf-vivo-meal{transition:none!important;animation:none!important}}
