.smv-html-input { min-height: 15rem; font-family: SFMono-Regular, Consolas, monospace; font-size: .875rem; }
.smv-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.smv-summary-card { border: 1px solid #e5e7eb; border-radius: .5rem; padding: 1rem; background: #fff; }
.smv-summary-value { display: block; margin-top: .25rem; font-size: 1.4rem; font-weight: 600; }
.smv-summary-meta { grid-column: 1 / -1; }
.smv-tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.smv-tabs [role="tab"]:focus-visible, .smv-entity-group summary:focus-visible, .smv-entity-item summary:focus-visible { outline: 3px solid rgba(0, 123, 255, .28); outline-offset: 2px; }
.smv-card { border: 1px solid #e5e7eb; border-radius: .5rem; padding: 1rem; margin-bottom: .75rem; background: #fff; }
.smv-card-header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.smv-code { overflow-wrap: anywhere; font-family: SFMono-Regular, Consolas, monospace; font-size: .82rem; }
.smv-property-table { width: 100%; margin-top: .75rem; font-size: .875rem; }
.smv-property-table th, .smv-property-table td { padding: .45rem; border-top: 1px solid #edf0f3; vertical-align: top; }
.smv-badge { display: inline-block; padding: .25rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 600; }
.smv-badge-success { color: #155724; background: #d4edda; }
.smv-badge-danger { color: #721c24; background: #f8d7da; }
.smv-badge-warning { color: #856404; background: #fff3cd; }
.smv-badge-info { color: #0c5460; background: #d1ecf1; }
.smv-empty { padding: 1.25rem; border: 1px dashed #cbd5e1; border-radius: .5rem; color: #6c757d; text-align: center; }
.smv-empty-success { padding: .85rem 1rem; border: 1px solid #d1fae5; border-radius: .5rem; background: #ecfdf5; color: #065f46; font-size: .875rem; }
.smv-section-heading { font-size: 1.05rem; font-weight: 600; margin-top: 1.25rem; margin-bottom: .75rem; color: #1e293b; display: flex; align-items: center; justify-content: space-between; }
.smv-entity-group { margin-bottom: .75rem; border: 1px solid #dfe3e8; border-radius: .5rem; background: #fff; overflow: hidden; }
.smv-entity-group-summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .9rem 1rem; cursor: pointer; background: #f8f9fa; }
.smv-entity-group[open] > .smv-entity-group-summary { border-bottom: 1px solid #e5e7eb; }
.smv-entity-group-title { font-size: 1rem; font-weight: 600; }
.smv-entity-group-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.smv-entity-group-body { padding: .35rem 1rem .75rem; }
.smv-entity-item { border-bottom: 1px solid #edf0f3; }
.smv-entity-item:last-child { border-bottom: 0; }
.smv-entity-item-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; padding: .75rem .25rem; cursor: pointer; }
.smv-entity-properties { padding: .25rem .25rem .75rem 1.35rem; }
@media (max-width: 767.98px) {
    .smv-summary { grid-template-columns: 1fr; }
    .smv-property-table { display: block; overflow-x: auto; white-space: nowrap; }
    .smv-entity-group-summary { align-items: flex-start; }
    .smv-entity-item-summary { grid-template-columns: 1fr auto; }
    .smv-entity-item-summary .smv-code { grid-column: 1 / -1; }
    .smv-entity-properties { padding-left: 0; }
}
