:root{--verde:#1E6B46;--verde-esc:#14492F;--fundo:#F2F6EE;--tinta:#18261E;--suave:#55655A;--linha:#D8E2D3;--claro:#E1EFE3;--amarelo:#F2C14E;--alerta:#A8542A;--cinza:#D5DCD3;--branco:#FFFFFF}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--fundo);color:var(--tinta);font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.35;-webkit-text-size-adjust:100%}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:default}
h1,h2,h3,p{margin:0}
h1,.num{font-family:'Bricolage Grotesque','DM Sans',sans-serif;font-weight:800;letter-spacing:-.01em}
.oculto{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#app{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}
.conteudo{flex:1;padding:max(20px,env(safe-area-inset-top)) 16px 104px;display:flex;flex-direction:column;gap:12px}
.topo{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:8px 4px}
.topo h1{font-size:36px;line-height:1.05}
.sub{font-size:16px;color:var(--suave)}
.placar{text-align:right;flex-shrink:0}
.placar .num{font-size:30px;color:var(--verde);display:block;line-height:1.1}
.placar small{font-size:14px;color:var(--suave)}
.cartao{background:var(--branco);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.cartao h2{font-size:18px}
.linha-tit{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.linha-tit h2{font-size:20px}
.dois{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.meta{display:flex;flex-direction:column;gap:5px;min-width:0}
.meta b{font-size:18px}
.meta span{font-size:15px;color:var(--suave)}
.barra{height:8px;border-radius:4px;background:#E5ECE1;overflow:hidden}
.barra i{display:block;height:8px;background:var(--verde)}
.barra i.fora{background:var(--alerta)}
.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:#DFE8DA;border-radius:16px;padding:4px}
.seg button{min-height:46px;border:0;border-radius:12px;background:transparent;font-size:17px;font-weight:700}
.seg button.on{background:var(--branco)}
.slot{display:flex;flex-direction:column;gap:6px;min-width:0}
.slot>b{font-size:17px}
.foto-btn{height:112px;width:100%;border-radius:16px;border:0;padding:0;overflow:hidden;position:relative;background:#CFDBC9;display:block}
.foto-btn img{width:100%;height:100%;object-fit:cover;display:block}
.selo{position:absolute;left:8px;bottom:8px;font-size:14px;font-weight:700;background:#FFFFFFE6;color:var(--tinta);border-radius:8px;padding:3px 8px}
.vazio{height:112px;width:100%;border-radius:16px;border:2px dashed #7FA88E;background:var(--branco);color:var(--verde);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:16px;font-weight:700}
.vazio.sem{color:var(--suave);border-color:var(--linha);cursor:default}
.ceia .foto-btn,.ceia .vazio{height:84px}
.ceia{grid-column:1 / -1}
.bt{min-height:64px;width:100%;border:0;border-radius:18px;background:var(--verde);color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:8px 16px;text-align:center}
.bt.sec{background:var(--branco);color:var(--tinta);border:2px solid var(--linha)}
.bt.peq{min-height:48px;font-size:16px;border-radius:12px}
.bt.feito{background:var(--claro);color:var(--verde-esc)}
.link{background:none;border:0;color:var(--verde);font-size:17px;font-weight:700;text-decoration:underline;min-height:44px;padding:6px}
nav.abas{position:fixed;left:0;right:0;bottom:0;height:calc(76px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--branco);border-top:1px solid var(--linha);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));z-index:5}
nav.abas button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--suave);font-size:13px;font-weight:500}
nav.abas button.on{color:var(--verde);font-weight:700}
.post{background:var(--branco);border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:10px}
.post-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.post-top b{font-size:18px;display:block}
.tag{font-size:14px;font-weight:700;color:#5B4300;background:#FBEBC2;border-radius:999px;padding:4px 10px;white-space:nowrap}
.post img,.post .sem-foto{width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:14px;display:block;background:#CFDBC9}
.post .sem-foto{height:120px;display:flex;align-items:center;justify-content:center;color:var(--suave);font-size:15px;text-align:center;padding:12px}
.macros{font-size:15px;font-weight:700;color:var(--verde)}
.obs{font-size:15px;color:var(--suave)}
.reagir{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:12px;border:1.5px solid var(--linha);background:var(--branco);font-weight:700;font-size:16px;align-self:flex-start}
.reagir.on{background:var(--claro)}
.coment{font-size:16px}
.coment b{font-weight:700}
.campo-c{display:flex;gap:8px}
input.txt,textarea.txt{width:100%;min-width:0;min-height:48px;border-radius:14px;border:1.5px solid var(--linha);padding:10px 14px;background:var(--branco);font-size:16px}
.tab-h{display:grid;grid-template-columns:92px repeat(7,minmax(0,1fr));align-items:center}
.tab-h.cab{padding:0 12px;font-size:14px;font-weight:700;color:var(--suave);text-align:center}
.tab-h.lin{background:var(--branco);border-radius:16px;padding:10px 12px}
.tab-h .nome b{display:block;font-size:16px}
.tab-h .nome span{font-size:14px;color:var(--suave)}
.bola{width:20px;height:20px;border-radius:50%;display:block;margin:0 auto;border:2.5px solid transparent}
.bola.g{background:var(--verde)}.bola.y{background:var(--amarelo)}.bola.r{background:#fff;border-color:var(--alerta)}.bola.c{background:var(--cinza)}
.legenda{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;color:var(--suave);padding:4px 8px}
.legenda span{display:flex;align-items:center;gap:6px}
.legenda .bola{width:14px;height:14px;margin:0}
.navega{display:flex;align-items:center;justify-content:space-between;gap:8px}
.navega button{width:48px;height:48px;border-radius:14px;border:0;background:var(--branco);font-size:22px;font-weight:700}
.navega b{font-size:17px}
.heroi{background:var(--verde);color:#fff;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:4px}
.heroi .num{font-size:46px;line-height:1}
.heroi span{color:#DCEFE3;font-size:16px}
.barras{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;height:112px}
.barras div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.barras b{font-size:14px}
.barras i{display:block;width:100%;border-radius:8px 8px 0 0;background:var(--verde)}
.barras span{font-size:14px;color:var(--suave)}
.dia-l{padding:8px 0;border-bottom:1px solid #EEF2EA;display:flex;flex-direction:column;gap:2px}
.dia-l:last-child{border:0}
.dia-l div{display:grid;grid-template-columns:1fr auto auto;gap:14px;font-size:16px}
.dia-l div b:first-child{font-weight:700}
.dia-l em{font-style:normal;font-size:14px;color:var(--suave)}
.okt{font-weight:700;color:var(--verde)}.forat{font-weight:700;color:var(--alerta)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal.cab{font-size:14px;font-weight:700;color:var(--suave);text-align:center}
.cal i{font-style:normal;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}
.cal i.ok{background:var(--verde);color:#fff}.cal i.sem{background:var(--cinza)}.cal i.fut{background:var(--fundo)}.cal i.hoje{outline:2px solid var(--amarelo);outline-offset:1px}
.mini{background:var(--branco);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.mini .num{font-size:30px;line-height:1.1}
.mini b{font-size:20px}
.mini span{font-size:15px;color:var(--suave)}
.metricas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.metricas button{min-height:48px;padding:6px 10px;border-radius:12px;border:1.5px solid var(--linha);background:var(--branco);font-size:15px;font-weight:700}
.metricas button.on{background:var(--verde);border-color:var(--verde);color:#fff}
.grafico svg{width:100%;height:auto;display:block}
.nota{background:var(--claro);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.nota h2{font-size:18px}
.overlay{position:fixed;inset:0;z-index:10;background:var(--fundo);display:flex;flex-direction:column;overflow-y:auto}
.ov-in{width:100%;max-width:520px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 20px 32px;display:flex;flex-direction:column;gap:20px;min-height:100%}
.volta{width:52px;height:52px;flex-shrink:0;border-radius:26px;border:0;background:var(--branco);display:flex;align-items:center;justify-content:center}
.overlay h1{font-size:34px;line-height:1.12}
.fonte{min-height:112px;border-radius:20px;border:0;background:var(--verde);color:#fff;display:flex;align-items:center;gap:16px;padding:16px 20px;text-align:left}
.fonte.sec{background:var(--branco);color:var(--tinta);border:2px solid var(--linha)}
.fonte b{display:block;font-size:22px}
.fonte span{font-size:16px}
.passos{display:flex;gap:5px;flex:1}
.passos i{flex:1;height:8px;border-radius:4px;background:#CFDBC9}
.passos i.f{background:var(--verde)}
.op{min-height:76px;width:100%;border:2px solid var(--linha);border-radius:18px;background:var(--branco);font-size:22px;font-weight:700;padding:8px 16px}
.op.on{border-color:var(--verde);background:var(--claro)}
.ops{display:flex;flex-direction:column;gap:12px}
.foto-g{width:100%;border-radius:18px;display:block;max-height:60dvh;object-fit:contain;background:#CFDBC9}
.form{display:flex;flex-direction:column;gap:10px}
label.l{font-size:14px;font-weight:700;display:flex;flex-direction:column;gap:6px}
.centro{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center}
.centro h1{font-size:34px}
#aviso{position:fixed;left:16px;right:16px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:20;max-width:488px;margin:0 auto;background:var(--tinta);color:#fff;border-radius:14px;padding:12px 16px;font-size:16px;display:none}
#aviso.on{display:block}
