/**
 * Design System - Detail Modal with Sidebar Tabs
 *
 * Layout de modal de detalhamento com abas laterais
 * Baseado nas especificações do Figma (detalhar-sidebar-white.css e detalhar-sidebar-dark.css)
 *
 * @version 2.0.0
 * @date 2025-01-02
 * @author SIDASP Design System Team
 *
 * Figma Specs (Light Mode):
 * - Modal: 1200px x 680px, border-radius 8px, background #F6F6F9
 * - Sidebar: 272px width, background #12151F, padding 20px, gap 40px
 * - Title: Space Grotesk 500 20px/30px, color #F6F6F9
 * - Subtitle: Inter 400 14px/24px, color #7A839F
 * - Tab active: height 40px, background rgba(246, 246, 249, 0.1), border-radius 8px
 * - Tab inactive: height 48px, background transparent
 * - Tab label active: Inter 500 14px/24px, color #F6F6F9
 * - Tab label inactive: Inter 500 14px/24px, color #7A839F
 * - Arrow icon: 20x20px, visible only on active tab
 * - Close button: 16x16px, color #7A839F
 *
 * Figma Specs (Dark Mode):
 * - Sidebar: 200px width, background #2A2F41, padding 20px 20px 50px
 * - Title: color #E0E2EB
 * - Subtitle: color #A2A8B9
 * - Tab label active: color #E0E2EB
 * - Tab label inactive: color #A2A8B9
 */

/* ==========================================================================
   CSS VARIABLES - Tokens do Figma
   ========================================================================== */

:root {
    /* Light mode colors */
    --detail-sidebar-bg: #12151F;
    --detail-sidebar-width: 272px;
    --detail-content-bg: #F6F6F9;
    --detail-title-color: #F6F6F9;
    --detail-subtitle-color: #7A839F;
    --detail-tab-active-bg: rgba(246, 246, 249, 0.1);
    --detail-tab-inactive-bg: transparent;
    --detail-tab-label-active: #F6F6F9;
    --detail-tab-label-inactive: #7A839F;
    --detail-tab-active-height: 40px;
    --detail-tab-inactive-height: 48px;
    --detail-close-color: #7A839F;
    --detail-close-hover: #12151F;
}

/* Dark mode tokens */
html.dark,
html.dark-mode,
[data-theme="dark"] {
    --detail-sidebar-bg: #2A2F41;
    --detail-sidebar-width: 200px;
    --detail-content-bg: #1D2333;
    --detail-title-color: #E0E2EB;
    --detail-subtitle-color: #A2A8B9;
    --detail-tab-label-active: #E0E2EB;
    --detail-tab-label-inactive: #A2A8B9;
    --detail-close-color: #A2A8B9;
    --detail-close-hover: #E0E2EB;
}

/* ==========================================================================
   MODAL CONTAINER - Layout base
   ========================================================================== */

/* Ocultar boxDetalhar quando não está dentro de um dialog */
#boxDetalhar {
    display: none;
}

/* Mostrar apenas quando está dentro de um ui-dialog jQuery */
.ui-dialog #boxDetalhar {
    display: flex !important;
    flex-direction: row !important;
    min-width: 900px;
    min-height: 500px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--detail-content-bg);
}

/* ==========================================================================
   SIDEBAR - Container lateral com abas (Figma specs)
   ========================================================================== */

#boxDetalhar .left-detalhar,
#boxDetalhar .left {
    /* Figma: Layout automático - flex column */
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    /* Figma: padding 20px, gap 40px */
    padding: 20px !important;
    gap: 40px !important;

    /* Figma: width 272px (light mode) */
    width: var(--detail-sidebar-width) !important;
    min-width: var(--detail-sidebar-width) !important;
    flex-shrink: 0 !important;
    height: 100% !important;

    /* Figma: background #12151F (light mode) */
    background: var(--detail-sidebar-bg) !important;

    /* Border radius apenas nos cantos esquerdos */
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

/* ==========================================================================
   SIDEBAR HEADER - Título e subtítulo (Figma specs)
   ========================================================================== */

.detail-sidebar-header {
    /* Figma: Layout automático - flex column, gap 4px */
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 !important;
    gap: 4px !important;

    /* Figma: width 232px (272px - 40px padding) */
    width: 100% !important;
    flex-shrink: 0 !important;
    text-align: left !important;
    background: transparent !important;
}

.detail-sidebar-title,
#boxDetalhar .detail-sidebar-title {
    width: 100% !important;

    /* Figma: Tipografia/H2 - Space Grotesk 500 20px/30px */
    font-family: 'Space Grotesk', sans-serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    font-size: 20px !important;
    line-height: 30px !important;

    /* Figma: color #F6F6F9 (light mode) */
    color: var(--detail-title-color) !important;

    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    background: transparent !important;
}

.detail-sidebar-subtitle,
#boxDetalhar .detail-sidebar-subtitle {
    width: 100% !important;

    /* Figma: Tipografia/Paragraph 04 - Inter 400 14px/24px */
    font-family: 'Inter', sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 24px !important;

    /* Figma: color #7A839F (light mode) */
    color: var(--detail-subtitle-color) !important;

    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    background: transparent !important;
}

/* ==========================================================================
   TABS CONTAINER - Lista de abas verticais (Figma: Itens)
   ========================================================================== */

.detail-tabs,
#boxDetalhar .tabsDetalhar,
.tabsDetalhar,
#sidebarTabs,
#boxDetalhar .mdl-tabs__tab-bar,
#boxDetalhar .mdl-tabs nav.mdl-tabs__tab-bar,
#boxDetalhar .mdl-tabs > .mdl-tabs__tab-bar {
    /* Figma: Layout automático - flex column */
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;

    /* Figma: width 232px */
    width: 100% !important;

    list-style: none !important;
    gap: 0 !important;
    flex: 1 !important;
    overflow-y: auto !important;

    /* Reset borders */
    border: none !important;
    border-bottom: none !important;
}

/* ==========================================================================
   TAB ITEM - Estilo base das abas (Figma: Item inativo)
   ========================================================================== */

.detail-tabs li,
.tabsDetalhar li,
#sidebarTabs li,
.detail-tab-item,
#boxDetalhar .mdl-tabs__tab-bar a.mdl-tabs__tab,
#boxDetalhar .mdl-tabs__tab {
    /* Figma: Layout automático - flex row, center, padding 8px 12px, gap 12px */
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 8px 12px !important;
    gap: 12px !important;

    /* Figma: width 232px, height 48px (inativo) */
    width: 100% !important;
    height: var(--detail-tab-inactive-height) !important;
    min-height: var(--detail-tab-inactive-height) !important;

    /* Figma: background transparent (inativo), border-radius 8px */
    background: var(--detail-tab-inactive-bg) !important;
    border-radius: 8px !important;

    cursor: pointer !important;
    transition: background-color 0.15s ease, height 0.15s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    float: none !important;
    list-style: none !important;

    /* Reset MDL styles */
    border: none !important;
    text-transform: none !important;
}

/* Tab item hover */
.detail-tabs li:hover,
.tabsDetalhar li:hover,
#sidebarTabs li:hover,
.detail-tab-item:hover,
#boxDetalhar .mdl-tabs__tab:hover {
    background: rgba(246, 246, 249, 0.05) !important;
}

/* ==========================================================================
   TAB ITEM ACTIVE - Aba selecionada (Figma: Item ativo)
   ========================================================================== */

.detail-tabs li.active,
.detail-tabs li.ativa,
.tabsDetalhar li.active,
.tabsDetalhar li.ativa,
#sidebarTabs li.active,
#sidebarTabs li.ativa,
.detail-tab-item.active,
.detail-tab-item.ativa,
.tabsDetalhar .ativa,
#boxDetalhar .mdl-tabs__tab.is-active,
#boxDetalhar .mdl-tabs__tab-bar a.is-active {
    /* Figma: height 40px (ativo) */
    height: var(--detail-tab-active-height) !important;
    min-height: var(--detail-tab-active-height) !important;

    /* Figma: background rgba(246, 246, 249, 0.1) (ativo) */
    background: var(--detail-tab-active-bg) !important;
    border-radius: 8px !important;
}

/* ==========================================================================
   TAB LABEL - Texto das abas (Figma: Tab label)
   ========================================================================== */

.detail-tabs li a,
.detail-tabs li span,
.tabsDetalhar li a,
.tabsDetalhar li span,
#sidebarTabs li a,
#sidebarTabs li span,
.detail-tab-label,
#boxDetalhar .mdl-tabs__tab {
    /* Figma: flex-grow 1 */
    flex: 1 !important;

    /* Figma: Tipografia/Paragraph 03 - Inter 500 14px/24px */
    font-family: 'Inter', sans-serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 24px !important;

    /* Figma: color #7A839F (inativo) */
    color: var(--detail-tab-label-inactive) !important;

    text-decoration: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    cursor: pointer !important;
}

/* Tab label active - Figma: color #F6F6F9 */
.detail-tabs li.active a,
.detail-tabs li.active span,
.detail-tabs li.ativa a,
.detail-tabs li.ativa span,
.tabsDetalhar li.active a,
.tabsDetalhar li.active span,
.tabsDetalhar li.ativa a,
.tabsDetalhar li.ativa span,
#sidebarTabs li.active a,
#sidebarTabs li.active span,
#sidebarTabs li.ativa a,
#sidebarTabs li.ativa span,
.tabsDetalhar .ativa span,
.detail-tab-label.active,
#boxDetalhar .mdl-tabs__tab.is-active,
#boxDetalhar .mdl-tabs__tab-bar a.is-active {
    color: var(--detail-tab-label-active) !important;
}

/* ==========================================================================
   TAB ARROW ICON - Seta do item ativo (Figma: Angle-right)
   ========================================================================== */

/* Base: hidden by default */
.detail-tab-arrow,
.detail-tabs li::after,
.tabsDetalhar li::after,
#sidebarTabs li::after {
    /* Figma: Angle-right 20x20px */
    content: '' !important;
    width: 20px !important;
    height: 20px !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;

    /* Chevron usando SVG inline */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23F6F6F9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

/* Show arrow only on active tab - Figma: display flex para ativos */
.detail-tabs li.active::after,
.detail-tabs li.ativa::after,
.tabsDetalhar li.ativa::after,
.tabsDetalhar li.active::after,
#sidebarTabs li.ativa::after,
#sidebarTabs li.active::after {
    display: flex !important;
}

/* ==========================================================================
   CONTENT AREA - Área de conteúdo à direita
   ========================================================================== */

#boxDetalhar .right {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 20px !important;
    overflow: auto !important;

    /* Figma: background #F6F6F9 (light mode) */
    background: var(--detail-content-bg) !important;

    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* ==========================================================================
   CLOSE BUTTON - Botão de fechar (Figma specs)
   ========================================================================== */

.detail-close,
#boxDetalhar .detail-close {
    /* Figma: position absolute, 16x16px, left 1164px, top 20px */
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    width: 16px !important;
    height: 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10010 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.detail-close i,
.detail-close .material-icons,
.detail-close .mdi {
    /* Figma: 16px, color #7A839F */
    font-size: 16px !important;
    color: var(--detail-close-color) !important;
    transition: color 0.15s ease !important;
}

.detail-close:hover i,
.detail-close:hover .material-icons,
.detail-close:hover .mdi {
    color: var(--detail-close-hover) !important;
}

/* ==========================================================================
   LEGACY COMPATIBILITY - Estilos antigos das abas
   ========================================================================== */

/* Reset estilos antigos de abas horizontais */
.tabsDetalhar,
#sidebarTabs {
    flex-wrap: nowrap !important;
    border-bottom: none !important;
}

/* Esconder abas antigas de formato horizontal */
#boxDetalhar .ContentControl .abas,
#boxDetalhar .ContentControl #header {
    display: none !important;
}

/* Estilos antigos .aba e .ativa - sobrescrever */
.tabsDetalhar .aba,
.tabsDetalhar .ativa,
#sidebarTabs .aba,
#sidebarTabs .ativa {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    background: transparent !important;
    text-align: left !important;
    padding: 8px 12px !important;
}

.tabsDetalhar .ativa,
#sidebarTabs .ativa {
    background: var(--detail-tab-active-bg) !important;
}

/* ==========================================================================
   FLOWBITE MODAL INTEGRATION
   ========================================================================== */

/* Container do modal Flowbite - wrapper externo (primeira div filha)
   IMPORTANTE: Precisa sobrescrever classes Tailwind max-w-* */
div[id^="flowbite-dialog-"]:has(#boxDetalhar) > div.relative {
    /* Figma: Modal 1200px x 680px */
    width: 1200px !important;
    max-width: 1200px !important;
    min-width: 900px !important;
    height: 680px !important;
    max-height: 90vh !important;
}

/* Fallback: sobrescrever qualquer classe max-w-* do Tailwind */
div[id^="flowbite-dialog-"]:has(#boxDetalhar) > div[class*="max-w-"] {
    width: 1200px !important;
    max-width: 1200px !important;
    min-width: 900px !important;
    height: 680px !important;
    max-height: 90vh !important;
}

/* Modal body - container interno */
div[id^="flowbite-dialog-"]:has(#boxDetalhar) .ds-fk-modal-body {
    width: 100% !important;
    height: 100% !important;
    min-height: 600px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Content area - onde está o boxDetalhar */
div[id^="flowbite-dialog-"]:has(#boxDetalhar) .ds-fk-modal-content {
    overflow: hidden !important;
    border-radius: 8px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 600px !important;
    display: flex !important;
    flex-direction: row !important;
    flex: 1 !important;
}

/* boxDetalhar dentro do modal Flowbite */
div[id^="flowbite-dialog-"]:has(#boxDetalhar) #boxDetalhar {
    border-radius: 8px !important;
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 600px !important;
    overflow: hidden !important;
    flex: 1 !important;
}

/* Sidebar no modal Flowbite - CRÍTICO: altura 100% do container */
div[id^="flowbite-dialog-"]:has(#boxDetalhar) #boxDetalhar .left-detalhar,
div[id^="flowbite-dialog-"]:has(#boxDetalhar) #boxDetalhar .left,
div[id^="flowbite-dialog-"]:has(#boxDetalhar) .left-detalhar,
div[id^="flowbite-dialog-"]:has(#boxDetalhar) .left {
    width: var(--detail-sidebar-width) !important;
    min-width: var(--detail-sidebar-width) !important;
    height: 100% !important;
    min-height: 600px !important;
    flex-shrink: 0 !important;
    background: var(--detail-sidebar-bg) !important;
    align-self: stretch !important;
}

/* Área de conteúdo à direita no modal Flowbite */
div[id^="flowbite-dialog-"]:has(#boxDetalhar) #boxDetalhar .right,
div[id^="flowbite-dialog-"]:has(#boxDetalhar) .right {
    flex: 1 !important;
    height: 100% !important;
    min-height: 600px !important;
    overflow: auto !important;
    align-self: stretch !important;
}

/* ==========================================================================
   RESPONSIVE - Ajustes para telas menores
   ========================================================================== */

@media (max-width: 1024px) {
    :root {
        --detail-sidebar-width: 220px;
    }
}

@media (max-width: 768px) {
    :root {
        --detail-sidebar-width: 180px;
    }

    .detail-sidebar-title,
    #boxDetalhar .detail-sidebar-title {
        font-size: 16px !important;
        line-height: 24px !important;
    }

    .detail-sidebar-subtitle,
    #boxDetalhar .detail-sidebar-subtitle {
        font-size: 12px !important;
        line-height: 20px !important;
    }
}
