.imv-lab { align-items: stretch; display: grid; gap: 18px; grid-template-columns: minmax(0,1fr) minmax(300px,380px); }
.imv-input-card,.imv-summary-card { min-width: 0; }
.imv-dropzone { align-items: center; background: #fbfcfd; border: 2px dashed var(--line); border-radius: 8px; cursor: pointer; display: flex; flex-direction: column; gap: 5px; justify-content: center; min-height: 165px; padding: 20px; text-align: center; transition: background 160ms ease,border-color 160ms ease; }
.imv-dropzone:hover,.imv-dropzone.is-dragging { background: var(--surface-soft); border-color: var(--accent); }
.imv-dropzone input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.imv-dropzone span:not(.imv-drop-icon) { color: var(--muted); font-size: 13px; }
.imv-drop-icon { align-items: center; border: 1px solid var(--accent); border-radius: 50%; color: var(--accent-strong); display: inline-flex; font-size: 24px; height: 38px; justify-content: center; width: 38px; }
.imv-file-note { color: var(--muted); font-size: 12px; margin: 10px 0 0; }
.imv-summary-card { align-content: start; background: #f8fafc; }
.imv-summary-card > span,.imv-summary-grid span { color: var(--muted); font-size: 12px; font-weight: 800; }
.imv-summary-card > strong { display: block; font-size: 22px; line-height: 1.25; overflow-wrap: anywhere; }
.imv-summary-card > p { color: var(--muted); overflow-wrap: anywhere; }
.imv-summary-grid { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 16px; }
.imv-summary-grid div { background: #fff; border: 1px solid var(--line); border-radius: 8px; display: grid; gap: 6px; min-width: 0; padding: 12px; }
.imv-summary-grid strong { font-family: "SFMono-Regular",Consolas,monospace; overflow-wrap: anywhere; }
.imv-privacy-note { border-top: 1px solid var(--line); font-size: 13px; margin-top: 14px; padding-top: 13px; }
.imv-preview-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(240px,360px) minmax(0,1fr); }
.imv-preview-frame { align-items: center; background-color: #f3f5f5; background-image: linear-gradient(45deg,#e5e9e9 25%,transparent 25%),linear-gradient(-45deg,#e5e9e9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e9e9 75%),linear-gradient(-45deg,transparent 75%,#e5e9e9 75%); background-position: 0 0,0 8px,8px -8px,-8px 0; background-size: 16px 16px; border: 1px solid var(--line); border-radius: 8px; display: flex; justify-content: center; min-height: 260px; overflow: hidden; padding: 12px; }
.imv-preview-frame img { display: block; max-height: 420px; max-width: 100%; object-fit: contain; }
.imv-privacy-list { display: grid; gap: 10px; }
.imv-risk { align-items: start; border: 1px solid var(--line); border-left-width: 4px; border-radius: 8px; display: grid; gap: 10px; grid-template-columns: 62px minmax(0,1fr); padding: 12px; }
.imv-risk > span { font-size: 11px; font-weight: 900; padding-top: 2px; }
.imv-risk strong { display: block; margin-bottom: 4px; }
.imv-risk p { color: var(--muted); margin: 0; }
.imv-risk.is-high { border-left-color: #b83c35; }.imv-risk.is-high > span { color: #9a302c; }
.imv-risk.is-medium { border-left-color: #c47a1e; }.imv-risk.is-medium > span { color: #8f570f; }
.imv-risk.is-low { border-left-color: #4278a5; }.imv-risk.is-low > span { color: #285f8d; }
.imv-risk.is-none { border-left-color: #4d9467; }.imv-risk.is-none > span { color: #296b40; }
.imv-empty { border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); padding: 18px; text-align: center; }
.imv-filter-row { align-items: end; display: grid; gap: 12px; grid-template-columns: minmax(0,1fr) minmax(180px,240px) auto; margin-bottom: 14px; }
.imv-filter-row label { min-width: 0; }
.imv-filter-row > span { color: var(--muted); font-size: 12px; font-weight: 800; padding-bottom: 12px; white-space: nowrap; }
.imv-group-badge { background: var(--surface-soft); border: 1px solid var(--line); border-radius: 999px; display: inline-block; font-size: 11px; font-weight: 800; padding: 3px 7px; white-space: nowrap; }
#imv-fields td { vertical-align: top; }
#imv-fields code { overflow-wrap: anywhere; white-space: pre-wrap; }
.imv-format-grid { display: grid; gap: 14px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.imv-format-grid article { border-left: 3px solid var(--accent); min-width: 0; padding: 2px 0 2px 14px; }
.imv-format-grid h3 { margin: 0 0 6px; }.imv-format-grid p { margin: 0; }
@media (max-width:920px) { .imv-lab,.imv-preview-layout { grid-template-columns:1fr; }.imv-preview-frame { min-height:220px; } }
@media (max-width:620px) { .imv-summary-grid,.imv-format-grid,.imv-filter-row { grid-template-columns:1fr; }.imv-filter-row > span { padding:0; }.imv-risk { grid-template-columns:1fr; }.imv-preview-frame { min-height:180px; } }
