/* Tema do ITAGOV sobre o Beer CSS (Material Design 3) */
.marca h5 { margin: 0; font-weight: 700; letter-spacing: .06em; line-height: 1.1; }
.marca span { font-size: 12px; opacity: .85; letter-spacing: .02em; }
:root, body.light {
  --primary: #245fa6; --on-primary: #fff; --primary-container: #d5e3ff; --on-primary-container: #001b3c;
  --secondary-container: #dae2f9; --on-secondary-container: #131c2b;
  --surface: #f9f9ff; --surface-container: #eceef4; --surface-container-low: #f3f3fa;
  --error: #ba1a1a; --on-error: #fff;
}
main.responsive { max-width: 1180px; padding-bottom: 48px; }
.oculto { display: none !important; }

/* cores de situação */
.verde    { background: #c8f0d0 !important; color: #0b5d1e !important; }
.amarelo  { background: #ffe9a8 !important; color: #5c4300 !important; }
.vermelho { background: #ffdad6 !important; color: #8c1d18 !important; }
.cinza    { background: var(--surface-container) !important; color: #44474e !important; }
i.circle  { padding: 8px; }

.grade { display: grid; grid-template-columns: 1.25fr 1fr; gap: 16px; margin-top: 16px; }
@media (max-width: 900px) { .grade { grid-template-columns: 1fr; } }
.grade > article { margin: 0 !important; }
.dropzone { background: var(--secondary-container); border: 2px dashed var(--outline); }
body.arrastando .dropzone { background: var(--primary-container); border-color: var(--primary); }
body.arrastando main { outline: 3px dashed var(--primary); outline-offset: 8px; border-radius: 16px; }

.cert { margin-top: 16px !important; }
.nota { margin: 0 0 12px 0 !important; padding: 14px 16px !important; }
.titulo { font-weight: 600; font-size: 14.5px; word-break: break-word; }
.sub { font-size: 13px; opacity: .8; margin-top: 2px; }
.chave { font-family: Consolas, "Roboto Mono", monospace; font-size: 12px; opacity: .65; margin-top: 2px; }
.texto-erro { color: #8c1d18; }
.texto-alerta { color: #7a5600; font-weight: 600; margin-top: 2px; }
.vazio { padding: 32px !important; opacity: .7; }
textarea { font-family: Consolas, "Roboto Mono", monospace !important; }
.progresso { height: 6px; background: var(--surface-container); border-radius: 3px; overflow: hidden; margin-top: 16px; }
.progresso div { height: 100%; width: 0; background: var(--primary); transition: width .2s; }
.opcoes { display: grid; gap: 14px; margin-top: 8px; }
.snackbar { z-index: 1000; }

/* diárias */
.res { margin: 0 0 14px 0 !important; }
.res.conferir { background: #fff8e1 !important; outline: 2px solid #ffd666; }
.saida { font-family: Consolas, "Roboto Mono", monospace; font-size: 13.5px; background: var(--surface-container-low);
         border-radius: 12px; padding: 12px 14px; white-space: pre-wrap; word-break: break-word; user-select: all; margin-top: 8px; }
.info { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; margin-top: 10px; font-size: 13px; }
.info .field { margin: 0 !important; min-width: 150px; }

/* caixas de texto grandes: altura própria, com rolagem (não invadem os botões) */
.field.textarea { height: auto !important; }
.field.textarea > textarea { height: 9.5rem !important; min-height: 0 !important; resize: vertical; overflow: auto;
                             padding-top: 12px !important; padding-bottom: 12px !important; line-height: 1.5; }
#entrada { height: 13rem !important; }
