@import url('variables.css');

.painel-controle-main {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap; /* se quiser quebrar no mobile */
}

.painel-controle-menu {
    width: 220px;
    flex-shrink: 0; /* evita encolher o menu */
}

.painel-controle-conteudo {
    flex: 1;
    min-width: 0;
    width: 100%;
    overflow: hidden;
    padding-left: 10px;
}

/* inicio CSS do menu */
.vertical-menu {
    margin: auto;
    background-color: var(--color-white);
    border-radius: 12px;
    padding: 16px 0;
    box-shadow: var(--color-shadow) 0px 4px 12px;
    wdith: 220px;
}

.vertical-menu ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.vertical-menu-item-header {
    padding: 10px 16px;
    font-size: 16px;
    font-weight: bold;
    color: var(--color-white);
    background-color: var(--color-primary);
    border-radius: 8px 8px 0 0;
    margin: 0 8px 6px 8px;
    text-align: left;
}

.vertical-menu-item {
    display: block;
    background-color: #f5f5f5;
    color: var(--color-gray-dark);
    margin: 6px 8px;
    padding: 10px 14px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
    width: calc(100% - 12px);
}

.vertical-menu-item:hover {
    background-color: #e3f2fd;
    color: #0d47a1;
    box-shadow: 0 0 0 1px #90caf9;
}

.item-menu-selected {
    background-color: #ef6c00 !important;
    color: white !important;
    box-shadow: 0 0.4em 0.6em -0.3em rgba(0, 0, 0, 0.3);
}

/* fim CSS do menu */

/* inicio CSS comun entre as paginas */

.painel-controle-pagina {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    margin: 0;
    font-size: 14px;
}

.painel-controle-page-title {
    background-color: #46b8da;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    padding: 10px 16px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    margin-bottom: 20px;
    text-align: left;
}

.painel-controle-footer-botoes {
    text-align: right;
    padding: 0 1.5rem 1rem;
}
#logo {
    display: block;
    margin: 20px auto;
    width: 250px;
    max-width: 100%;
    transition: width 0.3s ease;
}

#logoMobile{
    padding-right: 45px;
}

#caixaPrincipal {
    margin-top: 0px;
}
/* Botão Cancelar: azul que casa com o header, mas não idêntico */
.btn-cancelar {
    background-color: #81D4FA; /* Azul claro */
    color: #FFFFFF;
    font-size: 14px;
    font-weight: bold;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn-cancelar:hover {
    background-color: #4FC3F7;
}

.btn-alterar {
    background-color: #FF9800;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: bold;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn-alterar:hover {
    background-color: #fb8c00;
}

.pnl-busca-compras-finalizadas {
    margin: 10px;
}

.tb-compras-finalizadas {
    font-size: 18px;
}

.ui-datatable-data {
    font-size: 18px;
}

.ui-datatable thead th .ui-column-title {
    font-size: 18px;
    color: #fff;
}

/* Estilo para o cabeçalho da tabela */
.ui-datatable thead th {
    background-color: #46b8da !important;
    font-weight: bold;
    font-size: 14px;
    padding: 8px 6px;
    text-align: center;
}

.ui-datatable thead th * {
    color: #fff;
}

.ui-growl-title {
    font-size: 14px;
    text-align: center;
}

.ui-growl-message p {
    font-size: 14px;
}

.ui-datatable td,
.ui-datatable th {
    padding: 2px 4px !important;
}

.dataFiltro {
    height: 34px;
    font-size: 18px;
!important;
}

#btn-filtro-data {
    font-size: 18px;
!important;
}

.btn-icon-round {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #46b8da;
    color: white;
    font-size: 16px;
    border: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-icon-round:hover {
    background-color: #349ec5;
}

.status-cell {
    color: white;
    padding: 4px 8px;
    border-radius: 8px;
    font-weight: bold;
    display: inline-block;
    min-width: 120px;
}

/* Cores por status */
.status-estornado {
    background-color: #d32f2f; /* vermelho escuro */
    width: 100%;
}

.status-pagamento-bilheteria {
    background-color: #1976d2; /* azul */
    width: 100%;
}

.status-pagamento-pendente {
    background-color: #fbc02d; /* amarelo */
    color: black;
    width: 100%;
}

.status-pagamento-rejeitado {
    background-color: #f44336; /* vermelho */
    width: 100%;
}

.status-processamento-pendente {
    background-color: #9e9e9e; /* cinza */
    width: 100%;
}

.status-troca-efetuada {
    background-color: #388e3c; /* verde escuro */
    width: 100%;
}

.status-troca-pendente {
    background-color: #1976d2; /* laranja */
    width: 100%;
}

.status-pagamento-autorizado {
    background-color: #388e3c; /* verde */
    width: 100%;
}

.status-pagamento-nao-autorizado {
    background-color: red; /* vermelho */
    width: 100%;
}

.info-compra {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fafafa;
    color: #333;
    width: 100%;
}

.info-compra__campo {
    font-weight: bold;
    display: block;
}

.info-compra__campo--codigo {
    font-weight: bold;
}

.info-compra__campo--valor {
    font-weight: bold;
}

.info-compra__campo--status {
    font-weight: bold;
}

.info-compra__campo--meio--pagamento {
    font-weight: bold;
}


@media (max-width: 768px) {

    #logo {
        width: 65%;
        margin-top: 15px;
        margin-bottom: 15px;
    }

    #logoMobile{
        padding-right: 50px;
    }

    .painel-controle-main {
        flex-direction: column;
        margin-top: 20px;
    }

    .painel-controle-menu {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .vertical-menu {
        width: 100%;
    }

    .vertical-menu-item {
        text-align: center;
    }

    .painel-controle-pagina {
        width: 100%;
        margin: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
        border-radius: 0;
    }

    .painel-controle-pagina .ui-datatable {
        min-width: 700px
    }

    .painel-controle-page-title {
        font-size: 16px;
    }

    .ui-datatable-data,
    .ui-datatable thead th .ui-column-title {
        font-size: 14px;
    }

    .dataFiltro,
    #btn-filtro-data {
        font-size: 16px !important;
    }

    .painel-controle-footer-botoes {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .painel-controle-footer-botoes .btn-cancelar,
    .painel-controle-footer-botoes .btn-alterar {
        width: 100%;
        text-align: center;
    }

    .navbar-ingresso .container-fluid {
        flex-direction: column;
        align-items: flex-start;
        display: flex;
        padding: 15px;
        height: auto;
    }

    .navbar-user-name {
        margin-bottom: 15px;
    }

    .navbar-right {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
        margin: 0;
        list-style: none;
        width: 100%;
        height: 100%;
    }

    .navbar-right li {
        width: 100%;
        margin-bottom: 12px;
        text-align: left;
        padding-top: 0px;
    }
    .navbar-right li:last-child {
        margin-bottom: 0;
    }

    #navbar-form {
        margin-top: 14px;
    }

    .painel-controle-conteudo {
        padding: 0;
    }

}
