# Módulo 19 — fechamento visual do NVR sob o design system oficial

## Escopo fechado
- encapsulação do markup bruto de preview, playback e sessões remotas em componentes dedicados do NVR;
- reaproveitamento dos shells oficiais do design system (`page-header`, `filter-shell`, `form-shell`, `table-shell`, `card`, `tabs`, `detail-list`, `state`);
- preservação do comportamento do produto montado sob o subpath `/nvr`, sem URLs absolutas fora do fluxo do portal;
- manutenção da arquitetura obrigatória do pacote: portal como entrada oficial, NVR como produto integrado e banco central em MariaDB/MySQL.

## Componentes adicionados
- `platform/resources/views/components/nvr/media-surface.php`
- `platform/resources/views/components/nvr/recording-preview-inline.php`
- `platform/resources/views/components/nvr/recording-preview-panel.php`
- `platform/resources/views/components/nvr/remote-session-panel.php`

## Views refatoradas
- `platform/resources/views/admin/recordings/index.php`
- `platform/resources/views/admin/recordings/show.php`
- `platform/resources/views/admin/remote/live.php`
- `platform/resources/views/admin/remote/recording.php`
- `platform/resources/views/client/nvr/recordings.php`
- `platform/resources/views/client/nvr/show.php`
- `platform/resources/views/client/remote/live.php`
- `platform/resources/views/client/remote/recording.php`
- `platform/resources/views/components/nvr/live-tile.php`
- `platform/resources/views/components/nvr/recording-timeline.php`

## Resultado técnico
As telas-chave do NVR deixam de carregar diretamente o markup repetido de miniaturas, player e bridge remoto. A composição visual passa a acontecer por componentes reutilizáveis do produto, mantendo o design system oficial como fonte única da interface e preservando a compatibilidade com a publicação sob `/nvr`.
