.sim-entry { margin-bottom: 1px; }
.sim-banner {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px;
  background: #fff1e7; border: 1px solid #efc4ae; border-left: 4px solid #bd4c21; padding: 9px 12px; margin: 9px 0;
}
.sim-banner p { color: var(--sub); }
.sim-panel form { display: grid; gap: 10px; margin-top: 12px; }
.sim-note { margin-top: 8px; color: var(--sub); overflow-wrap: anywhere; }
.sim-panel .secondary { margin-top: 10px; }
.sim-panel .sim-field { display: grid; gap: 3px; min-width: 0; }
.sim-field span { font-weight: 700; }
.sim-field input,.sim-field select,.sim-field textarea {
  width: 100%; min-width: 0; min-height: 36px; border: 1px solid var(--line); border-radius: 4px;
  padding: 6px 8px; font: inherit; color: inherit; background: var(--paper);
}
.sim-field textarea { resize: vertical; }
.sim-check { display: flex; align-items: flex-start; gap: 7px; }
.sim-check input { margin-top: 4px; accent-color: var(--accent); }
.sim-error { color: #8b261b; background: #fcece8; border-left: 3px solid #8b261b; padding: 6px 8px; }
.sim-success { margin-top: 10px; color: var(--ok-ink); background: var(--ok); border-left: 3px solid #397b60; padding: 7px 9px; font-weight: 700; }
@media (min-width: 881px) {
  .sim-workbench { grid-template-columns: minmax(0,1fr) minmax(310px,36%); }
}
@media (max-width: 880px) {
  .sim-workbench .sim-panel { grid-row: 1; }
}
.sim-workbench.sim-workbench-wide { grid-template-columns: minmax(0, 1fr); }
.sim-workbench-wide .sim-panel { grid-row: 1; }
.sim-file-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.sim-file-actions .secondary { margin: 0; }
.sim-options { display: grid; gap: 3px; border: 1px solid var(--line); min-width: 0; }
.sim-options legend,.sim-sheet summary { font-weight: 750; }
.sim-sheet,.sim-boletim { margin-top: 10px; min-width: 0; }
.sim-sheet h3,.sim-boletim h3 { margin: 0 0 6px; }
.sim-sheet-scroll { max-width: 100%; overflow-x: auto; margin: 5px 0; }
.sim-sheet-scroll table { border-collapse: collapse; min-width: 770px; width: 100%; font-size: 14px; }
.sim-sheet-scroll th,.sim-sheet-scroll td { padding: 6px 7px; text-align: left; border: 1px solid var(--line); }
.sim-sheet-scroll thead,.sim-sheet-scroll tfoot { background: #edf2f6; }
.sim-sheet-scroll tfoot td { font-weight: 750; }
.sim-sheet-scroll input { width: 106px; min-height: 36px; padding: 4px 7px; border: 1px solid var(--line); border-radius: 4px; }
.sim-sheet-scroll input[aria-invalid="true"] { border-color: #ad352a; background: #fcece8; }
