:root{
  --fundo:#F3F6F5;
  --card:#FFFFFF;
  --fundo-input:#FBFCFB;
  --linha:#DFE5E3;
  --texto:#1B2623;
  --texto-suave:#66726E;
  --verde:#2F5D50;
  --verde-suave:#E3EFEB;
  --vermelho:#B3261E;
  --vermelho-suave:#FBE9E7;
}
*{box-sizing:border-box;}
body{background:var(--fundo);color:var(--texto);font-family:'Inter',system-ui,sans-serif;margin:0;}
a{color:var(--verde);}
h2{font-size:20px;margin:18px 0 6px;}
h3{font-size:16px;margin:22px 0 8px;}

.topo{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--card);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:10;}
.topo .marca{font-weight:700;font-size:16px;text-decoration:none;color:var(--texto);}
.topo nav{display:flex;gap:16px;align-items:center;}
.topo nav a{font-size:14px;color:var(--texto-suave);text-decoration:none;font-weight:500;}
.topo nav a.sair{color:var(--vermelho);}

main{padding:4px 20px 40px;max-width:900px;margin:0 auto;}
.suave{color:var(--texto-suave);font-size:13px;}
.card{display:block;background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:16px;margin-bottom:14px;}
a.missao{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:4px;}
a.missao:hover{border-color:var(--verde);}

button,.botao{border:none;border-radius:8px;background:var(--verde);color:#fff;font-size:14px;font-weight:600;padding:10px 16px;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}
button.secundario{background:var(--verde-suave);color:var(--verde);}
button.perigo{background:var(--vermelho-suave);color:var(--vermelho);}
button.pequeno{padding:6px 10px;font-size:12px;}

input,select{border:1px solid var(--linha);border-radius:8px;padding:9px 10px;font-size:14px;font-family:inherit;background:var(--fundo-input);color:var(--texto);width:100%;}
label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--texto-suave);}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;}
.grade>.erro,.grade>.ok{grid-column:1/-1;}

.erro,.ok{padding:10px 12px;border-radius:8px;font-size:13px;margin:12px 0;}
.erro{background:var(--vermelho-suave);color:var(--vermelho);}
.ok{background:var(--verde-suave);color:var(--verde);}

.cabecalho{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
details summary{cursor:pointer;font-size:14px;margin-bottom:6px;}

.tabela-rolavel{overflow-x:auto;padding:0;}
table.despesas{width:100%;border-collapse:collapse;font-size:14px;}
.despesas th,.despesas td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--linha);}
.despesas thead th{font-size:12px;color:var(--texto-suave);}
.despesas tfoot th{border-bottom:none;background:var(--verde-suave);}
.num{text-align:right !important;}
.nowrap{white-space:nowrap;}
.acoes{display:flex;gap:10px;align-items:center;justify-content:flex-end;}
.acoes form{margin:0;}

.anexos-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.anexo{display:flex;flex-direction:column;gap:8px;margin:0;}
.anexo img{width:100%;max-height:260px;object-fit:contain;background:#f0f2f1;border-radius:8px;}
.linha{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.linha form{margin:0;}
