/* JoyFit E2 — controles familiares, tipografia do sistema e busca com densidade de produto. */
:root{--jf-ui-font:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
html body,html body #app,html body #login,html body #intro,
html body button,html body input,html body select,html body textarea{font-family:var(--jf-ui-font)!important;letter-spacing:normal!important}
html body :is(.jf-screen h1,.jf-screen h2,.jf-screen h3,.jf-page-header h1,.jf-vivo-hero h2,.jf-fire-copy h2,.jf-ranking h2,.jf-rewards h2,.jf-section-title h2,#login h2,#login .wm){font-family:var(--jf-ui-font)!important;font-weight:700!important;letter-spacing:-.025em!important;line-height:1.2!important}
html body :is(.jf-primary,button.jf-primary,button.jf-outline,button.jf-subtle,button.jf-close,#login button, .jf-meal-sheet button,.jf-water-actions button){border-radius:9px!important;box-shadow:none!important;transform:none!important;letter-spacing:0!important;font-weight:600!important;text-shadow:none!important}
html body :is(.jf-primary,button.jf-primary,#login button[type=submit]){background:#B34B26!important;color:#fff!important;border:1px solid #B34B26!important}
html body :is(.jf-primary,button.jf-primary,#login button[type=submit]):hover{background:#963D1D!important;border-color:#963D1D!important}
html body .jf-vivo-meal{border-radius:12px!important}
.jf-e2-search-results{width:100%;min-height:85px;max-height:355px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:11px;background:var(--card);padding:6px}
.jf-e2-search-caption{font-size:12px;color:var(--t2);padding:9px 10px 10px;letter-spacing:0}
.jf-e2-food-result{background:transparent!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;min-height:62px;padding:11px 10px!important;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;color:var(--t)!important;box-shadow:none!important;transform:none!important}
.jf-e2-food-result:hover,.jf-e2-food-result:focus-visible{background:var(--soft)!important}
.jf-e2-food-result>span:first-child{min-width:0;flex:1}
.jf-e2-food-result strong{display:block;color:var(--t);font-size:13px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.jf-e2-food-result small{display:block;color:var(--t2);font-size:11px;font-weight:400;margin-top:4px;line-height:1.3}
.jf-e2-food-macros{min-width:102px;text-align:right;flex:none}
.jf-e2-food-macros b{font-size:13px;color:var(--t);font-weight:650}
.jf-e2-search-hint{font-size:12px;color:var(--t2);padding:12px;margin:0}
.jf-e2-food-selected{padding:14px;display:grid;gap:12px}
.jf-e2-selected-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.jf-e2-selected-top h3{font-size:16px;margin:5px 0 6px}
.jf-e2-selected-top small{font-size:11px;color:var(--t2)}
.jf-e2-food-selected label{font-size:12px;font-weight:650}
.jf-e2-food-selected input{max-width:230px;min-height:44px}
.jf-e2-calculated{font-size:12px;color:var(--t);background:var(--soft);padding:10px 12px;border-radius:8px;line-height:1.5}
.jf-e2-recent-block{margin-top:4px}.jf-e2-recent-block .jf-label{margin-bottom:8px}
.jf-e2-manual-title{border-top:1px solid var(--line);padding-top:14px;margin-top:9px}
.jf-e2-manual-title h3{font-size:15px;margin:0 0 3px}.jf-e2-manual-title p{font-size:12px;margin:0;color:var(--t2)}
.jf-e2-water-remove{margin-top:20px;padding-top:17px;border-top:1px solid var(--line);display:grid;gap:10px}
.jf-e2-water-remove>span{font-size:13px;font-weight:650}.jf-e2-water-remove>div{display:flex;flex-wrap:wrap;gap:9px}
.jf-e2-water-remove button{min-height:42px!important;padding:9px 14px!important;flex:1 1 95px}
.jf-e2-water-remove small{font-size:12px;color:var(--t2)}
.jf-water-actions button.jf-undo{background:var(--soft)!important}
@media(max-width:600px){.jf-e2-food-result{align-items:flex-start}.jf-e2-food-macros{min-width:82px}.jf-e2-search-results{max-height:300px}.jf-meal-sheet .box{max-height:95dvh}.jf-e2-water-remove button{flex:1 1 30%}}
@media(prefers-reduced-motion:reduce){.jf-e2-food-result,.jf-e2-food-selected button{transition:none!important}}

.jf-e2-food-edit{border:1px solid var(--line);border-radius:9px;padding:10px 12px}
.jf-e2-food-edit summary{font-size:12px;cursor:pointer;font-weight:600}
.jf-e2-food-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}
.jf-e2-food-fields label{font-size:11px;color:var(--t2);display:grid;gap:5px}
.jf-e2-food-fields input{width:100%!important;max-width:none!important;min-width:0}

/* E2: tipografia de produto aplicada também a conteúdos gerados dinamicamente. */
html body #app :is(h1,h2,h3,h4,h5,h6,p,span,small,strong,label,summary,a,li,td,th),
html body #login :is(h1,h2,h3,h4,p,span,small,strong,label,a){
 font-family:var(--jf-ui-font)!important;
}
/* Ações comuns sem tratamento de botão flutuante; preserva cartões clicáveis. */
html body :is(.jf-water-actions,.jf-custom-water,.jf-recents,.jf-manual-entry,.jf-modal-head,.jf-meal-sheet .btns) button:not(.jf-e2-food-result),
html body .jf-vivo-meal-add{
 border-radius:9px!important;
 box-shadow:none!important;
 text-shadow:none!important;
 transform:none!important;
 font-family:var(--jf-ui-font)!important;
 letter-spacing:0!important;
}
html body .jf-e2-food-result:focus-visible,
html body .jf-e2-water-remove button:focus-visible{outline:2px solid #B34B26!important;outline-offset:2px!important}
