.datei-vorschau-dialog {
  width: min(1120px, calc(100vw - 32px)); height: min(920px, calc(100dvh - 28px)); max-width: none; max-height: none;
  padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); color: var(--ink);
  box-shadow: var(--shadow);
}
.datei-vorschau-dialog::backdrop { background: color-mix(in srgb, var(--ink) 48%, transparent); }
.datei-vorschau-shell { height: 100%; min-height: 0; display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); }
.datei-vorschau-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; border-bottom: 1px solid var(--line); background: var(--card); }
.datei-vorschau-title { min-width: 0; display: flex; align-items: center; gap: 11px; }
.datei-vorschau-title > div { min-width: 0; }
.datei-vorschau-title h2 { margin: 0; overflow: hidden; color: var(--violet-deep); font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.datei-vorschau-title [data-vorschau-meta] { display: block; margin-top: 2px; color: var(--muted); font-size: 11.5px; }
.datei-vorschau-tools { padding: 8px 16px; border-bottom: 1px solid var(--line); background: var(--paper); }
.datei-vorschau-menu > summary { display: none; width: max-content; list-style: none; }
.datei-vorschau-menu > summary::-webkit-details-marker { display: none; }
.datei-vorschau-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.datei-vorschau-page { min-width: 54px; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; text-align: center; }
.datei-vorschau-status { min-height: 0; padding: 0 16px; color: var(--muted); font-size: 12px; }
.datei-vorschau-status:not(:empty) { padding-block: 8px; border-bottom: 1px solid var(--line); }
.datei-vorschau-stage { min-width: 0; min-height: 0; overflow: auto; display: grid; place-items: start center; padding: 16px; background: var(--paper-2); }
.datei-vorschau-stage canvas, .datei-vorschau-stage img { display: block; max-width: none; transform-origin: center; box-shadow: 0 4px 18px rgba(28, 20, 52, .14); }
.datei-vorschau-text { width: 100%; min-height: 100%; margin: 0; padding: 18px; overflow: visible; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--card); color: var(--ink); font: 13px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.datei-vorschau-fallback { place-self: center; width: min(520px, 100%); display: grid; justify-items: center; gap: 12px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); text-align: center; }
.datei-vorschau-fallback strong { color: var(--violet-deep); font-size: 17px; }
.datei-vorschau-fallback span { color: var(--muted); line-height: 1.5; }
.file-preview-link { min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.file-preview-link:hover, .file-preview-link:focus-visible { color: var(--violet); text-decoration: underline; outline: none; }
button.file-ic.file-preview-link { border: 0; text-align: center; }

@media (max-width: 768px) {
  .datei-vorschau-dialog { width: calc(100vw - 12px); height: calc(100dvh - 12px); }
  .datei-vorschau-head { align-items: flex-start; gap: 8px; padding: 10px; }
  .datei-vorschau-title { gap: 8px; }
  .datei-vorschau-title h2 { max-width: calc(100vw - 150px); font-size: 15px; }
  .datei-vorschau-tools { padding: 7px 10px; }
  .datei-vorschau-menu > summary { display: inline-flex; min-height: 40px; align-items: center; }
  .datei-vorschau-menu:not([open]) .datei-vorschau-actions { display: none; }
  .datei-vorschau-actions { display: grid; grid-template-columns: 1fr 1fr; padding-top: 7px; }
  .datei-vorschau-actions .btn { min-height: 40px; justify-content: center; }
  .datei-vorschau-page { align-self: center; }
  .datei-vorschau-stage { padding: 8px; }
  .datei-vorschau-text { padding: 12px; font-size: 12px; }
}
