/* ========================================================================== PAINEL DE CÂMERA & ROSTO · CARINHA HUD STYLE ========================================================================== */ /* Se o painel for carregado como iframe limpo (no topo), exibe APENAS a câmera */ html.is-clean-embed body { margin: 0 !important; padding: 0 !important; overflow: hidden !important; background: transparent !important; } html.is-clean-embed .painel-workspace { display: block; margin: 0; } html.is-clean-embed .painel-monitor-sticky { width: 100% !important; top: 0 !important; position: static !important; } html.is-clean-embed .cartao { margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; } /* Oculta quase tudo, deixa só a câmera (div.visao) */ html.is-clean-embed .cabecalho, html.is-clean-embed .texto-fraco, html.is-clean-embed .ajustes-grade, html.is-clean-embed .sensores, html.is-clean-embed .painel-controls-scroll, html.is-clean-embed .rodape, html.is-clean-embed #ajustesRastreamento, html.is-clean-embed #trackingEstado, html.is-clean-embed #sensorEstado { display: none !important; } html.is-clean-embed h1, html.is-clean-embed .sub, html.is-clean-embed > div:first-of-type { display: none !important; } /* Oculta o segundo cartão inteiro (Prévia do Celular) */ html.is-clean-embed .painel-monitor-sticky > section:not(:first-child) { display: none !important; } /* Centraliza e expande o vídeo/imagem */ html.is-clean-embed .visao { width: 100vw; height: 100vh; display: flex; align-items: center; justify-content: center; border-radius: 0; border: none; background: transparent; min-height: unset; aspect-ratio: unset; } html.is-clean-embed .visao video, html.is-clean-embed .visao img { max-width: 100%; max-height: 100%; object-fit: contain; } .supervisao { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, 1fr); gap: 22px; margin: 18px 0 24px; } .visao { position: relative; background: #020509; border: 1px solid rgba(92, 214, 255, 0.35); border-radius: var(--raio-lg); min-height: 320px; aspect-ratio: 16 / 9; overflow: hidden; display: grid; place-items: center; box-shadow: 0 12px 36px rgba(0, 0, 0, 0.7), inset 0 0 60px rgba(0, 0, 0, 0.9); } .visao::after { content: ""; position: absolute; inset: 12px; border: 1px dashed rgba(92, 214, 255, 0.2); border-radius: var(--raio-md); pointer-events: none; } .visao img, .visao video { width: 100%; height: 100%; object-fit: contain; position: absolute; inset: 0; z-index: 2; } .visao p { max-width: 44ch; text-align: center; color: #9bb7cf; padding: 24px; font-size: 14.5px; line-height: 1.6; z-index: 1; } .cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; } .cabecalho h2 { margin: 0; font-size: 18px; } .sensores { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; background: rgba(10, 18, 30, 0.6); padding: 14px 18px; border-radius: var(--raio-md); border: 1px solid var(--borda); } meter { display: block; width: 100%; height: 12px; margin-top: 8px; border-radius: 6px; overflow: hidden; background: rgba(20, 35, 55, 0.6); } meter::-webkit-meter-bar { background: rgba(20, 35, 55, 0.6); border-radius: 6px; } meter::-webkit-meter-optimum-value { background: linear-gradient(90deg, #38bdf8, #5cd6ff); box-shadow: 0 0 10px rgba(92, 214, 255, 0.5); } .rosto-preview { width: 100%; height: 190px; border: 1px solid var(--borda); border-radius: var(--raio-md); background: #000000; margin-top: 16px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5), inset 0 0 20px rgba(0, 0, 0, 0.8); } .ajustes { margin-top: 22px; } .ajustes-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px 28px; margin-top: 12px; } .ajuste { display: flex; align-items: center; gap: 12px; justify-content: space-between; padding: 8px 12px; background: rgba(12, 21, 35, 0.5); border: 1px solid rgba(56, 82, 110, 0.25); border-radius: var(--raio-sm); } .ajuste-range { margin-top: 10px; padding: 10px 14px; background: rgba(12, 21, 35, 0.5); border: 1px solid rgba(56, 82, 110, 0.25); border-radius: var(--raio-sm); } .ajuste-range label { display: flex; justify-content: space-between; gap: 16px; font-weight: 500; } #gestos button { padding: 8px 14px; font-size: 13px; border-radius: var(--raio-sm); background: rgba(22, 38, 60, 0.65); border: 1px solid var(--borda); transition: all 0.16s ease; } #gestos button:hover { background: rgba(35, 62, 95, 0.85); border-color: var(--ciano); color: #ffffff; transform: translateY(-2px); box-shadow: 0 4px 14px rgba(92, 214, 255, 0.25); } #rostos button { padding: 8px 16px; font-weight: 600; border-radius: var(--raio-sm); } #rostos button.on { background: var(--ciano); border-color: var(--ciano); color: #041420; font-weight: 700; box-shadow: 0 0 16px var(--ciano-glow); } @media (max-width: 820px) { .supervisao { grid-template-columns: 1fr; } .visao { min-height: 220px; } }