html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}


/* =========================================================
   CORA - BOTÃO SAIR
   ========================================================= */

.btn-sair {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 8px;
    color: #b42318 !important;
    background: transparent;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease;
}

    .btn-sair i {
        font-size: 15px;
    }

    .btn-sair:hover {
        color: #922018 !important;
        background: rgba(180, 35, 24, 0.08);
    }

    .btn-sair:active {
        color: #7f1d1d !important;
        background: rgba(180, 35, 24, 0.14);
    }


/* =========================================================
   CORA - NAVBAR
   ========================================================= */

.cora-navbar {
    background: #1d3557 !important;
    min-height: 65px;
}

    .cora-navbar .navbar-brand {
        color: #ffffff !important;
        font-weight: 700;
        letter-spacing: 1px;
    }

    .cora-navbar .nav-link {
        color: rgba(255, 255, 255, 0.85) !important;
    }

        .cora-navbar .nav-link:hover {
            color: #ffffff !important;
            background: rgba(255, 255, 255, 0.08);
        }

    .cora-navbar .navbar-toggler {
        border-color: rgba(255, 255, 255, 0.25);
    }

        .cora-navbar .navbar-toggler:focus {
            box-shadow: 0 0 0 0.15rem rgba(37, 140, 251, 0.25);
        }


/* =========================================================
   CORA - BOTÕES
   ========================================================= */

.btn-primary {
    background-color: #258cfb;
    border-color: #258cfb;
}

    .btn-primary:hover {
        background-color: #176dcc;
        border-color: #176dcc;
    }

    .btn-primary:focus,
    .btn-primary:active {
        background-color: #155fae !important;
        border-color: #155fae !important;
    }


/* =========================================================
   CORA - BOTÃO SECONDARY
   ========================================================= */

.btn-secondary {
    background-color: #1d3557;
    border-color: #1d3557;
}

    .btn-secondary:hover {
        background-color: #172a45;
        border-color: #172a45;
    }

    .btn-secondary:focus,
    .btn-secondary:active {
        background-color: #0f1f35 !important;
        border-color: #0f1f35 !important;
    }
/* =========================================================
   CORA - ÍCONES DOS TÍTULOS
   ========================================================= */

.cora-title-icon {
    color: #1d3557 !important;
}

/* =========================================================
   CORA - BOTÕES OUTLINE
   ========================================================= */

.btn-cora-outline {
    color: #1d3557 !important;
    background-color: transparent !important;
    border: 1px solid #1d3557 !important;
    border-radius: 6px;
    padding: 7px 14px;
    transition: all 180ms ease;
}

    .btn-cora-outline:hover {
        color: #ffffff !important;
        background-color: #1d3557 !important;
        border-color: #1d3557 !important;
    }

    .btn-cora-outline:active,
    .btn-cora-outline:focus {
        color: #ffffff !important;
        background-color: #172a45 !important;
        border-color: #172a45 !important;
        box-shadow: 0 0 0 0.15rem rgba(29, 53, 87, 0.15);
    }

    .btn-cora-outline i {
        margin-right: 5px;
    }
/* Paginação CORA */
.pagination {
    display: flex;
    justify-content: flex-start;
    gap: 5px;
    margin-top: 20px;
    padding-left: 0;
}

    .pagination li {
        list-style: none;
    }

        .pagination li a,
        .pagination li span {
            color: #1f3b63;
            background-color: white;
            border: 1px solid #1f3b63;
            border-radius: 5px;
            padding: 6px 12px;
            text-decoration: none;
            font-size: 14px;
        }

        /* Página selecionada */
        .pagination li.active span {
            background-color: #1f3b63;
            color: white;
            border-color: #1f3b63;
        }

        /* Passar o mouse */
        .pagination li a:hover {
            background-color: #1f3b63;
            color: white;
        }
.cora-brand {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cora-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

/* =========================================================
   CORA - CONFIGURAÇÕES (canto direito, ao lado do Sair)
   ========================================================= */

.nav-link-config-right {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    transition: color 180ms ease, background-color 180ms ease;
}

    .nav-link-config-right i {
        font-size: 15px;
        transition: transform 300ms ease;
    }

    .nav-link-config-right:hover {
        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.08);
    }

        .nav-link-config-right:hover i {
            transform: rotate(60deg);
        }

    .nav-link-config-right:active {
        background: rgba(255, 255, 255, 0.14);
    }

/* =========================================================
   CORA - RESPONSIVIDADE DA ASSINATURA
   ========================================================= */

#canvasAssinatura {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: 200px !important;
}

@media (max-width: 575.98px) {

    #formPresenca {
        width: 100%;
        max-width: 100%;
    }

        #formPresenca .form-control,
        #formPresenca .form-select {
            width: 100%;
            max-width: 100%;
        }

        #formPresenca .border {
            width: 100%;
            max-width: 100%;
            overflow: hidden;
        }

    #btnLimpar {
        width: 100%;
    }

    #formPresenca button[type="submit"] {
        width: 100%;
    }
}


/* =========================================================
   CORA - IMPRESSÃO DO QR CODE DA REUNIÃO
   ========================================================= */

#qrCodeAreaImpressao {
    display: none;
}

#qrCodePrintImagem {
    display: none;
}

@media print {

    @page {
        size: A4 portrait;
        margin: 0;
    }

    /* Configuração geral da página */
    html,
    body {
        width: 210mm !important;
        height: 297mm !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #fff !important;
    }

        /* Esconde o sistema */
        body:has(#qrCodeModal.show) > * {
            visibility: hidden !important;
        }

        /* Mantém o modal como folha de impressão */
        body:has(#qrCodeModal.show) #qrCodeModal {
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            display: block !important;
            width: 210mm !important;
            height: 297mm !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: hidden !important;
            visibility: visible !important;
            background: #fff !important;
            border: none !important;
            z-index: 99999 !important;
        }

            body:has(#qrCodeModal.show) #qrCodeModal * {
                visibility: hidden !important;
            }

        /* Área útil: 180 mm de largura, centralizada no A4 */
        body:has(#qrCodeModal.show) #qrCodeAreaImpressao,
        body:has(#qrCodeModal.show) #qrCodeAreaImpressao * {
            visibility: visible !important;
        }

        body:has(#qrCodeModal.show) #qrCodeModal #qrCodeAreaImpressao {
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            width: 210mm !important;
            height: 297mm !important;
            margin: 0 !important;
            padding: 12mm 15mm !important;
            box-sizing: border-box !important;
            overflow: hidden !important;
            background: #fff !important;
        }

    /* Logo: dentro da margem direita */
    #qrCodeAreaImpressao .qr-print-cabecalho {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #qrCodeAreaImpressao .qr-print-logo {
        display: block !important;
        width: 42mm !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 20mm !important;
        object-fit: contain !important;
        margin: 0 0 5mm 0 !important;
    }

    /* Título da reunião */

    #qrCodeAreaImpressao .qr-print-titulo {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 8mm 0 !important;
        padding: 0 !important;
        font-size: 36pt !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-align: center !important;
        color: #252525 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        box-sizing: border-box !important;
    }

    /* Faixa amarela com as instruções */

    #qrCodeAreaImpressao .qr-print-instrucao {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 5mm !important;
        margin: 0 0 8mm 0 !important;
        padding: 7mm !important;
        box-sizing: border-box !important;
        border-left: 3mm solid #ff5a00 !important;
        border-radius: 4mm !important;
        background: #ffda00 !important;
        color: #172b62 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Ícone maior e mais visível */
    #qrCodeAreaImpressao .qr-print-icone {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 20mm !important;
        width: 20mm !important;
        height: 20mm !important;
        min-width: 20mm !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 50% !important;
        background: #172b62 !important;
        color: #ffda00 !important;
        font-size: 27pt !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Área de texto */
    #qrCodeAreaImpressao .qr-print-mensagem {
        display: flex !important;
        flex: 1 1 0 !important;
        flex-direction: column !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        gap: 2.5mm !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
    }

        /* Chamada principal */
        #qrCodeAreaImpressao .qr-print-mensagem strong {
            display: block !important;
            max-width: 100% !important;
            font-size: 16pt !important;
            font-weight: 800 !important;
            line-height: 1.25 !important;
            color: #c62818 !important;
            overflow-wrap: anywhere !important;
        }

        /* Instrução complementar */
        #qrCodeAreaImpressao .qr-print-mensagem span {
            display: block !important;
            max-width: 100% !important;
            font-size: 12pt !important;
            font-weight: 600 !important;
            line-height: 1.4 !important;
            color: #172b62 !important;
            overflow-wrap: anywhere !important;
        }

        /* Observação final */
        #qrCodeAreaImpressao .qr-print-mensagem small {
            display: block !important;
            max-width: 100% !important;
            font-size: 10pt !important;
            line-height: 1.4 !important;
            color: #172b62 !important;
            overflow-wrap: anywhere !important;
        }

    /* QR Code ocupa somente o espaço disponível */
    #qrCodeAreaImpressao #qrCodePrintImagem {
        display: flex !important;
        flex: 1 1 auto !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

        #qrCodeAreaImpressao #qrCodePrintImagem canvas,
        #qrCodeAreaImpressao #qrCodePrintImagem img {
            display: block !important;
            flex: 0 1 auto !important;
            width: 150mm !important;
            height: 150mm !important;
            max-width: 100% !important;
            max-height: 100% !important;
            object-fit: contain !important;
            margin: 0 auto !important;
            padding: 0 !important;
        }

    /* Esconde cabeçalho, corpo e botões originais do modal */
    body:has(#qrCodeModal.show) #qrCodeModal .modal-header,
    body:has(#qrCodeModal.show) #qrCodeModal .modal-body,
    body:has(#qrCodeModal.show) #qrCodeModal .modal-footer,
    body:has(#qrCodeModal.show) .modal-backdrop {
        display: none !important;
    }

    /* Remove os estilos normais do Bootstrap */
    body:has(#qrCodeModal.show) #qrCodeModal .modal-dialog,
    body:has(#qrCodeModal.show) #qrCodeModal .modal-content {
        display: block !important;
        position: static !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
    }
}

/* =========================================================
   CORA - QR CODE EM TELA INTEIRA
   ========================================================= */

#qrCodeModal:fullscreen {
    background: #fff;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

    #qrCodeModal:fullscreen .modal-dialog {
        width: 100%;
        max-width: 100%;
        height: 100%;
        margin: 0;
    }

    #qrCodeModal:fullscreen .modal-content {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        border: none;
        border-radius: 0;
    }

    #qrCodeModal:fullscreen .modal-header {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        border-bottom: none;
    }

    #qrCodeModal:fullscreen .modal-title {
        width: 100%;
        text-align: center;
        font-size: 2em;
    }

    /* Conteúdo alinhado a partir do topo */
    #qrCodeModal:fullscreen .modal-body {
        display: flex;
        flex: 1;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        overflow-y: auto;
        padding: 20px;
    }

/* Faixa de instruções: aparece somente em tela inteira */
#qrCodeModal .qr-fullscreen-instrucao {
    display: none;
}

#qrCodeModal:fullscreen .qr-fullscreen-instrucao {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    width: min(850px, 90%);
    margin: 10px auto 25px;
    padding: 22px 28px;
    background: #ffda00;
    color: #172b62;
    border-left: 8px solid #ff5a00;
    border-radius: 14px;
    box-sizing: border-box;
    flex-shrink: 0;
}

#qrCodeModal:fullscreen .qr-fullscreen-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #172b62;
    color: #ffda00;
    font-size: 30px;
}

#qrCodeModal:fullscreen .qr-fullscreen-mensagem {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

    #qrCodeModal:fullscreen .qr-fullscreen-mensagem strong {
        color: #c62818;
        font-size: 25px;
        font-weight: 800;
        line-height: 1.2;
    }

    #qrCodeModal:fullscreen .qr-fullscreen-mensagem span {
        color: #172b62;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.4;
    }

    #qrCodeModal:fullscreen .qr-fullscreen-mensagem small {
        color: #172b62;
        font-size: 14px;
        line-height: 1.4;
    }

/* QR Code abaixo da faixa */
#qrCodeModal:fullscreen #qrcode {
    display: flex;
    justify-content: center;
    flex-shrink: 0;
    margin: 15px auto 30px !important;
    transform: scale(1.8);
    transform-origin: top center;
}

/* Oculta o rodapé somente em tela inteira */
#qrCodeModal:fullscreen .modal-footer,
#qrCodeModal:-webkit-full-screen .modal-footer {
    display: none !important;
}

/* Ajustes para telas menores */
@media (max-width: 600px) {
    #qrCodeModal:fullscreen .modal-body {
        padding: 12px;
    }

    #qrCodeModal:fullscreen .qr-fullscreen-instrucao {
        gap: 12px;
        width: 95%;
        margin: 8px auto 20px;
        padding: 15px;
    }

    #qrCodeModal:fullscreen .qr-fullscreen-icone {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        font-size: 22px;
    }

    #qrCodeModal:fullscreen .qr-fullscreen-mensagem strong {
        font-size: 18px;
    }

    #qrCodeModal:fullscreen .qr-fullscreen-mensagem span {
        font-size: 14px;
    }

    #qrCodeModal:fullscreen .qr-fullscreen-mensagem small {
        font-size: 12px;
    }

    #qrCodeModal:fullscreen #qrcode {
        transform: scale(1.1);
    }
}

    /* =========================================================
   CORA - IMPRESSÃO DO QR CODE DO VEÍCULO
   ========================================================= */
    @media print {

    /* Mostra novamente o conteúdo da página do veículo */
    body.modo-impressao-qr-veiculo * {
        visibility: visible !important;
    }

    /* Esconde somente os botões da página */
    body.modo-impressao-qr-veiculo .qr-veiculo-acoes {
        display: none !important;
    }

    /* Remove elementos de navegação da impressão */
    body.modo-impressao-qr-veiculo .cora-navbar {
        display: none !important;
    }

    /* Mantém o conteúdo da página */
    body.modo-impressao-qr-veiculo {
        margin: 0 !important;
        padding: 0 !important;
    }

        /* Mantém o QR Code no tamanho normal */
        body.modo-impressao-qr-veiculo #qrcode {
            position: static !important;
            transform: none !important;
            visibility: visible !important;
        }

            body.modo-impressao-qr-veiculo #qrcode * {
                visibility: visible !important;
            }

        /* Remove configurações de impressão da página */
        body.modo-impressao-qr-veiculo .container {
            margin-top: 0 !important;
            margin-bottom: 0 !important;
        }

    @page {
        margin: 10mm;
    }

    
}


/* CORA - Ações do modal QR Code */
.qr-acoes-footer > .btn {
    flex: 1 1 0 !important;
    min-width: 0;
    padding: 8px 5px;
    white-space: nowrap;
    text-align: center;
}

.informatica-box {
    display: inline-block;
    min-width: 240px;
    padding: 12px 32px;
    border: 1px solid #1d5fa7;
    border-radius: 8px;
    color: #1d5fa7;
    background-color: rgba(29, 95, 167, 0.05);
    box-shadow: 0 0 4px rgba(29, 95, 167, 0.65), 0 0 9px rgba(29, 95, 167, 0.35), inset 0 0 5px rgba(29, 95, 167, 0.10);
    text-transform: uppercase;
    letter-spacing: 3px;
    font-weight: 700;
}