/*! Nexus — vizualizator DICOM 1.1.0: stilurile (zona imaginii rămâne neagră și în tema luminoasă, ca pe o stație de diagnostic). */
.nxv {
    display: grid;
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
    gap: .75rem;
    min-height: 70vh;
}
.nxv-serii {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    max-height: 78vh;
    overflow-y: auto;
    min-width: 0;
}
.nxv-titlu { font-size: .95rem; font-weight: 600; margin: 0 0 .25rem; overflow-wrap: anywhere; }
.nxv-serie {
    display: flex;
    gap: .5rem;
    align-items: center;
    text-align: left;
    border: 1px solid var(--nx-line);
    background: var(--nx-surface);
    color: var(--nx-text);
    border-radius: .5rem;
    padding: .35rem;
    min-width: 0;
}
.nxv-serie.is-active { border-color: var(--nx-sea); box-shadow: 0 0 0 2px color-mix(in srgb, var(--nx-sea) 35%, transparent); }
.nxv-miniatura { width: 64px; height: 64px; object-fit: contain; background: #000; border-radius: .25rem; flex: none; }
.nxv-miniatura.is-lipsa { opacity: .3; }
.nxv-serie-text { display: flex; flex-direction: column; min-width: 0; font-size: .82rem; overflow-wrap: anywhere; }
.nxv-mic { color: var(--nx-muted); }
.nxv-principal { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.nxv-bara { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.nxv-preset { width: auto; max-width: 100%; }
.nxv-instr.is-active { background: var(--nx-sea); color: #fff; border-color: var(--nx-sea); }
.nxv-scena {
    position: relative;
    flex: 1;
    min-height: 60vh;
    background: #000;
    overflow: hidden;
    border-radius: .5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    touch-action: none;
    user-select: none;
    outline: none;
}
.nxv-scena:focus-visible { box-shadow: 0 0 0 3px var(--nx-sea-bright); }
.nxv-cadru { position: relative; display: inline-block; max-width: 100%; max-height: 100%; transform-origin: center center; line-height: 0; pointer-events: none; }
.nxv-img { display: block; max-width: 100%; max-height: 100%; image-rendering: auto; pointer-events: none; }
/* măsurătorile: stratul SVG peste imagine, în pixelii ei (viewBox), cu linii de grosime constantă pe ecran */
.nxv-masuri { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.nxv-forma { fill: none; stroke: #ffd400; stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.nxv-punct { fill: #ffd400; stroke: #000; stroke-width: 1px; vector-effect: non-scaling-stroke; }
.nxv-eticheta { fill: #ffd400; font-family: ui-monospace, Consolas, monospace; paint-order: stroke; stroke: #000; stroke-width: 3px; vector-effect: non-scaling-stroke; }
.nxv-respinse { margin: 0 0 .25rem; color: var(--nx-danger, #b42318); }
.nxv-info {
    position: absolute;
    top: .4rem;
    left: .5rem;
    color: #d9e4e8;
    font: 12px/1.35 ui-monospace, Consolas, monospace;
    white-space: pre-line;
    text-shadow: 0 0 3px #000;
    pointer-events: none;
}
.nxv-info-dreapta { left: auto; right: .5rem; text-align: right; }
/* avertismentul măsurătorilor, jos în stânga */
.nxv-info-jos { top: auto; bottom: .4rem; display: none; color: #ffd400; }
.nxv-info-jos.is-vizibil { display: block; }
.nxv-mesaj {
    position: absolute;
    inset: auto 1rem 1rem 1rem;
    display: none;
    background: rgba(0, 0, 0, .75);
    color: #fff;
    padding: .5rem .75rem;
    border-radius: .4rem;
    font-size: .9rem;
}
.nxv-mesaj.is-vizibil { display: block; }
.nxv-subsol { display: flex; gap: .75rem; align-items: center; }
.nxv-cursor { flex: 1; min-width: 0; }
.nxv-pozitie { white-space: nowrap; font-size: .85rem; color: var(--nx-muted); }

@media (max-width: 900px) {
    .nxv { grid-template-columns: minmax(0, 1fr); }
    .nxv-serii { flex-direction: row; max-height: none; overflow-x: auto; overflow-y: hidden; }
    .nxv-serie { flex: none; max-width: 14rem; }
    .nxv-scena { min-height: 55vh; }
}

/* Paginile PACS (/pacs, panoul din cerere, dosarul pacientului) */
.nxv-gazda { padding: .75rem; }
.nx-uid { font-family: ui-monospace, Consolas, monospace; font-size: .8rem; overflow-wrap: anywhere; word-break: break-all; }
.nx-pacs-stare { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1rem; }
.nx-pacs-dl { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: .25rem .75rem; margin: 0 0 .75rem; }
.nx-pacs-dl dt { font-weight: 500; color: var(--nx-muted); }
.nx-pacs-dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.nx-pacs-cerere { width: 7rem; }
.nx-pacs-subtitlu { font-size: 1rem; font-weight: 600; }
@media (max-width: 600px) { .nx-pacs-dl { grid-template-columns: minmax(0, 1fr); } }
