.raw-file-viewer-toolbar {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.raw-file-viewer-presets {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.raw-file-viewer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.raw-file-field {
  display: grid;
  gap: 6px;
}

.raw-file-field--submit {
  align-content: end;
}

.raw-file-image--fits {
  width: 100%;
  display: block;
  border-radius: 24px;
  border: 1px solid rgba(120, 170, 255, 0.14);
  background: rgba(4, 14, 34, 0.72);
}

.session-fits-viewer-block {
  display: grid;
  gap: 14px;
}

.session-fits-viewer-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

@media (max-width: 720px) {
  .raw-file-viewer-grid {
    grid-template-columns: 1fr;
  }

  .session-fits-viewer-head {
    flex-direction: column;
  }
}


.raw-file-title-shell { gap: 6px; }
.raw-file-primary-meta { font-size: 14px; color: rgba(231,242,255,.86); }
.raw-file-filename-small { font-size: 12px; line-height: 1.45; color: rgba(186,211,236,.74); word-break: break-word; }
.raw-file-viewer-shell { display: grid; gap: 14px; }
.raw-file-viewer-title { margin: 0; font-size: 18px; line-height: 1.15; }
.raw-file-view-stage { display: grid; gap: 10px; }
.raw-file-preview-button { padding: 0; border: 0; background: transparent; border-radius: 24px; overflow: hidden; cursor: zoom-in; }
.raw-file-image--fits, .raw-file-image--raster { border-radius: 24px; }
.raw-file-collapse { display: grid; gap: 12px; }
.raw-file-collapse summary { cursor: pointer; list-style: none; font-size: 15px; font-weight: 700; }
.raw-file-collapse summary::-webkit-details-marker { display: none; }
.raw-file-collapse summary::before { content: "▸"; margin-right: 8px; color: rgba(210,230,255,.92); }
.raw-file-collapse[open] summary::before { content: "▾"; }
.raw-file-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.raw-file-render-collapse .raw-file-viewer-grid { margin-bottom: 0; }
.raw-fullscreen-overlay { position: fixed; inset: 0; z-index: 140; background: rgba(3, 8, 20, 0.96); padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); }
.raw-fullscreen-overlay[hidden] { display: none !important; }
.raw-fullscreen-stage { position: relative; width: 100%; height: calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: center; }
.raw-fullscreen-close { position: fixed; top: max(12px, env(safe-area-inset-top)); right: 12px; z-index: 160; width: 48px; height: 48px; border-radius: 16px; border: 1px solid rgba(102,180,255,.20); background: rgba(8,18,36,.88); color: #eff7ff; font-size: 28px; line-height: 1; }
.raw-fullscreen-image, .raw-fullscreen-osd { width: 100%; height: 100%; object-fit: contain; }
.raw-fullscreen-osd[hidden] { display: none !important; }
body.raw-fullscreen-open { overflow: hidden; }
@media (min-width: 860px) { .raw-file-meta-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .raw-file-meta-grid, .raw-file-viewer-grid { grid-template-columns: 1fr; } }
.raw-file-preset-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.raw-file-preset-field { margin-bottom: 0; }
.raw-file-preset-actions { display: flex; gap: 10px; justify-content: flex-end; }
.raw-file-preset-note { margin-top: -4px; }
.raw-file-field--submit-stack { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.raw-preset-modal { position: fixed; inset: 0; z-index: 180; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(3, 8, 20, 0.78); }
.raw-preset-dialog { width: min(100%, 440px); display: grid; gap: 14px; }
.raw-preset-dialog-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 720px) {
  .raw-file-preset-row { grid-template-columns: 1fr; }
  .raw-file-preset-actions, .raw-file-field--submit-stack, .raw-preset-dialog-actions { justify-content: stretch; }
  .raw-file-preset-actions > *, .raw-file-field--submit-stack > *, .raw-preset-dialog-actions > * { width: 100%; }
}

.raw-preset-modal[hidden] {
  display: none !important;
}

.raw-preset-modal {
  display: none;
}

.raw-preset-modal.is-open {
  display: block;
}


.raw-file-viewer-shell [hidden] {
  display: none !important;
}
