/* ============================================================
   TENNANT OPERATIONS CENTER — MODOS TV V3 DEFINITIVO
   Compatível com navegador/Windows em zoom de 150%.
   Mantém o modo TV Lite separado e preservado.
   ============================================================ */

body.tv-mode .main,
body.tv-lite-mode .main {
    display: block !important;
}

body.tv-mode #dashboardView,
body.tv-lite-mode #dashboardView {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}

/* ======================= TV OFICIAL ======================= */

body.tv-mode {
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Compensa o zoom de 150% usado na TV. */
body.tv-mode .main {
    box-sizing: border-box !important;
    width: 150vw !important;
    height: 150vh !important;
    min-height: 150vh !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
    transform: scale(0.666667) !important;
    transform-origin: top left !important;
}

body.tv-mode #dashboardView {
    width: 100% !important;
    height: calc(150vh - 20px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
}

body.tv-mode #dashboardView > * {
    min-width: 0 !important;
}

body.tv-mode #dashboardView > .header-card {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
    margin: 0 !important;
}

body.tv-mode #dashboardView > .kpi-grid {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    margin: 0 !important;
}

body.tv-mode #dashboardView > .operational-alerts {
    grid-column: 1 / 3 !important;
    grid-row: 3 !important;
    margin: 0 !important;
}

body.tv-mode #dashboardView > .orders-section {
    grid-column: 1 / 2 !important;
    grid-row: 4 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
}

body.tv-mode #dashboardView > .tv-summary {
    grid-column: 2 / 3 !important;
    grid-row: 4 !important;
    align-self: start !important;
    margin: 0 !important;
}

body.tv-mode #dashboardView > .dashboard-charts {
    grid-column: 2 / 3 !important;
    grid-row: 4 !important;
    align-self: stretch !important;
    margin: 175px 0 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

body.tv-mode .cards-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    height: calc(100% - 48px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    align-content: stretch !important;
}

body.tv-mode .order-card {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

body.tv-mode .header-card,
body.tv-mode .kpi-grid,
body.tv-mode .operational-alerts,
body.tv-mode .orders-section,
body.tv-mode .tv-summary,
body.tv-mode .dashboard-charts,
body.tv-mode .summary-card,
body.tv-mode .chart-box {
    max-width: 100% !important;
}

/* ========================= TV LITE ========================= */

html:has(body.tv-lite-mode),
body.tv-lite-mode {
    width: 100% !important;
    height: 100% !important;
}

body.tv-lite-mode .main {
    box-sizing: border-box !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow: hidden !important;
    transform: none !important;
}

body.tv-lite-mode #dashboardView {
    width: 100% !important;
    height: calc(100vh - 16px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: minmax(0, 72fr) minmax(0, 28fr) !important;
    grid-template-rows: 9vh 12vh 8vh minmax(0, 1fr) !important;
    gap: 7px !important;
}

body.tv-lite-mode #dashboardView > .header-card {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
}

body.tv-lite-mode #dashboardView > .kpi-grid {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
}

body.tv-lite-mode #dashboardView > .operational-alerts {
    grid-column: 1 / 3 !important;
    grid-row: 3 !important;
}

body.tv-lite-mode #dashboardView > .orders-section {
    grid-column: 1 / 2 !important;
    grid-row: 4 !important;
    align-self: stretch !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
}

body.tv-lite-mode #dashboardView > .tv-summary {
    grid-column: 2 / 3 !important;
    grid-row: 4 !important;
    align-self: start !important;
}

body.tv-lite-mode #dashboardView > .dashboard-charts {
    grid-column: 2 / 3 !important;
    grid-row: 4 !important;
    align-self: stretch !important;
}

body.tv-lite-mode #dashboardView > * {
    min-width: 0 !important;
}

body.tv-lite-mode .orders-section,
body.tv-lite-mode .cards-grid {
    min-height: 0 !important;
}

body.tv-lite-mode .cards-grid {
    align-content: stretch !important;
}

/* Performance e Produtividade permanecem fora dos modos TV. */
body.tv-mode .embedded-module,
body.tv-lite-mode .embedded-module,
body.tv-mode .embedded-module-view,
body.tv-lite-mode .embedded-module-view,
body.tv-mode #performanceView,
body.tv-mode #produtividadeView,
body.tv-lite-mode #performanceView,
body.tv-lite-mode #produtividadeView {
    display: none !important;
}
