.sif-layout {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(380px, 1fr);
  gap: 24px;
  padding: 20px;
  align-items: start;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.sif-figure { margin: 0; background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 12px; position: sticky; top: 0; }
.sif-figure img { display: block; width: 100%; height: auto; }
.sif-form { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 16px; min-width: 0; }
.sif-title { font-size: 16px; margin: 0 0 12px; }
.sif-ref { color: var(--text-muted); font-weight: 600; margin-right: 8px; }
.sif-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.sif-table th { text-align: left; font-size: 11px; text-transform: uppercase; color: var(--text-muted); padding: 4px 6px; border-bottom: 1px solid var(--border); }
.sif-table td { padding: 5px 6px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.sif-table td.sym { font-weight: 600; white-space: nowrap; }
.sif-table td:nth-child(3) { width: 120px; }
.sif-table td:last-child { width: 40px; color: var(--text-muted); }
.sif-table input { padding: 5px 8px; }
.sif-table input[readonly] { background: var(--tint); color: var(--text-muted); }
.rule { display: block; font-size: 11px; color: var(--text-muted); }
.note { font-size: 11px; color: var(--text-muted); }
.sif-note { font-size: 12px; color: var(--text-muted); margin: 10px 0 0; }
.sif-checks { margin-top: 10px; font-size: 12px; }
.sif-checks .bad { color: #b3261e; }
.sif-checks .ok { color: #1b7f3b; }
@media (max-width: 900px) {
  .sif-layout { grid-template-columns: 1fr; }
  .sif-figure { position: static; }
}
