.jr105-section>summary::-webkit-details-marker{display:none}.jr105-section[open]>summary>span:last-child{transform:rotate(180deg)}
.jr105-section>summary>span:last-child{transition:transform .2s}.jr105-field{display:grid;gap:6px;color:#94A3B8;font-size:10px;font-weight:800}.jr105-field input,.jr105-field select,.jr105-field textarea{width:100%;box-sizing:border-box;background:#0F172A;border:1px solid #334155;border-radius:10px;padding:10px 11px;color:#E2E8F0;font:600 16px/1.45 inherit;outline:none}.jr105-field input:focus,.jr105-field select:focus,.jr105-field textarea:focus{border-color:#E91E8C;box-shadow:0 0 0 3px rgba(233,30,140,.12)}.jr105-drop{display:grid;place-items:center;min-height:96px;margin-top:10px;padding:15px;border:1.5px dashed #475569;border-radius:13px;background:#0F172A;color:#CBD5E1;text-align:center;cursor:pointer}.jr105-drop:hover{border-color:#E91E8C;background:#1A1020}.jr105-drop span{display:block;margin-top:4px;color:#64748B;font-size:9px;line-height:1.5}.jr105-section .jr-portal-section-head{margin-top:4px}
/* .jr-upload-actions (rótulos "Tirar foto"/"Fotos e vídeos"/etc. dentro dos
   formulários jr105-*) só tinha CSS em jr-refino-2026-148.css sob o escopo
   .obra-conteudo-premium — classe exclusiva do admin, que este portal nunca
   usa. Sem essa base, as labels caíam como texto inline cru (sem alvo de
   toque, sem quebra organizada) no envio de arquivos e no diário. */
.jr-upload-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.jr-upload-actions label{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 14px;border:1px solid #334155;border-radius:10px;background:#0F172A;color:#CBD5E1;font-size:11px;font-weight:800;text-align:center;cursor:pointer}
.jr-upload-actions label.primary{background:linear-gradient(135deg,#E91E8C,#C2185B);border-color:transparent;color:#fff}
@media(max-width:680px){.jr105-section{padding:12px!important}.jr105-field{min-width:0}.jr105-section summary{align-items:flex-start!important}.jr-upload-actions{display:grid;grid-template-columns:1fr 1fr}.jr-upload-actions label{width:100%}}
/* .jr-portal-link/.jr-portal-card-actions button/.jr-project-grid button,a vêm de
   jr-os-2026.css (arquivo compartilhado, fora do escopo desta sessão) com
   padding:7px 9px e font-size:8-9px, sem min-height — abaixo dos 44px usados
   como alvo de toque no resto do portal (ex.: .jr-rewards-card-action,
   #tabs-container button). Esta folha carrega DEPOIS daquele arquivo, então a
   regra abaixo só acrescenta a altura mínima, sem tocar no arquivo
   compartilhado nem mudar aparência/tamanho de fonte. */
.jr-portal-card-actions button,.jr-portal-link,.jr-project-grid button,.jr-project-grid a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.jr-rfi-form button{min-height:44px}
/* .jr-rfi-form textarea (resposta de RFI) vem de jr-os-2026.css com
   font-size:10px!important — abaixo de 16px, o Safari no iPhone dá zoom
   automático ao focar. Mesma técnica: seletor idêntico, carregado depois,
   !important pra vencer o !important original sem tocar no arquivo
   compartilhado. */
.jr-rfi-form textarea{font-size:16px!important}
