/* here you can put your own css to customize and override the theme */

/* ====================================================================
   FIX PARA TABS - Garantir que apenas a aba activa é visível
   ==================================================================== */
.tabbable .tab-content > .tab-pane {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

.tabbable .tab-content > .tab-pane.active {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
}

.falta-checkbox {
    display: none;
}

.fc-event {
    cursor: pointer !important;
}

.fc-event:hover {
    opacity: 0.9;
}

/* Estilo para Dia de Folga - centraliza texto */
.event-dia-folga {
    min-height: 65px !important;
    height: 100% !important;
}

.event-dia-folga .fc-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 60px !important;
}

.event-dia-folga .fc-title {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 60px !important;
}

.folga-text {
    font-weight: 600 !important;
    color: #fff !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.3 !important;
    padding-top: 12px !important;
    width: 100% !important;
}

.folga-text small {
    font-weight: 400 !important;
    font-size: 10px !important;
    opacity: 0.9 !important;
    display: block !important;
    margin-top: 4px !important;
    text-align: center !important;
}

.event-selected {
    border: 3px solid #0066cc !important;
    box-shadow: 0 0 10px rgba(0, 102, 204, 0.8) !important;
    transform: scale(1.02);
    z-index: 100 !important;
    cursor: pointer !important;
}

.event-justified {
    opacity: 0.6;
    cursor: not-allowed !important;
}

.event-justified:hover {
    opacity: 0.6;
}

/* ====================================================================
   BOTÕES ARREDONDADOS - TODOS OS BOTÕES DO SISTEMA (Nov 2025)
   ==================================================================== */
.btn,
button.btn,
a.btn,
input[type="button"],
input[type="submit"],
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
    border-radius: 20px !important;
}

/* Botões pequenos também arredondados */
.btn-sm,
.btn-xs {
    border-radius: 15px !important;
}

/* Botões grandes também arredondados */
.btn-lg {
    border-radius: 25px !important;
}

/* Inputs de formulário também arredondados (opcional) */
.form-control {
    border-radius: 10px !important;
}

/* ====================================================================
   PÁGINA DE BOAS-VINDAS - DESIGN MODERNO (Nov 2025)
   ==================================================================== */

/* Container principal de boas-vindas */
.well.note-info {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
    border: none !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    padding: 40px 30px !important;
}

/* Logo animado */
.well.note-info .img-responsive {
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.1));
    transition: transform 0.3s ease;
}

.well.note-info .img-responsive:hover {
    transform: scale(1.05);
}

/* Título de boas-vindas */
.well.note-info h5 strong {
    color: #1e3a5f !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

/* Título principal (Gestão de Assiduidade) */
.well.note-info .page-title {
    color: #374151 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin-top: 10px !important;
}

/* Secção de Atalhos do Sistema */
.well.note-info + .row .well.note-info,
.row .well.note-info:last-child {
    background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%) !important;
    border: 1px solid #e0e7ff !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.08) !important;
    padding: 30px !important;
}

/* Título "Atalhos do Sistema" */
.well.note-info h5:first-of-type strong {
    color: #1e40af !important;
    font-size: 16px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Botões de Atalhos */
.icon-btn {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    padding: 25px 20px !important;
    margin: 10px !important;
    min-width: 160px !important;
    max-width: 180px !important;
    min-height: 120px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: top !important;
}

.icon-btn:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.2) !important;
    border-color: #3b82f6 !important;
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
}

.icon-btn i {
    font-size: 32px !important;
    color: #3b82f6 !important;
    display: block !important;
    margin-bottom: 12px !important;
}

.icon-btn div {
    color: #374151 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    word-wrap: break-word !important;
    text-align: center !important;
    width: 100% !important;
}

/* Badges nos atalhos */
.icon-btn .badge {
    margin-top: 8px !important;
    border-radius: 12px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
}

/* Accordion modernizado */
.accordion .panel {
    border-radius: 12px !important;
    border: 1px solid #e5e7eb !important;
    margin-bottom: 10px !important;
    overflow: hidden;
}

.accordion .panel-heading {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
    border: none !important;
    padding: 15px 20px !important;
}

.accordion .panel-title a {
    color: #1e40af !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-size: 15px !important;
}

.accordion .panel-body {
    background: #ffffff !important;
    padding: 20px !important;
}

/* Animações suaves */
.animate__animated.animate__zoomIn {
    animation-duration: 0.6s !important;
}

/* ====================================================================
   SWEETALERT2 - ESTILOS PERSONALIZADOS (Dez 2024)
   ==================================================================== */

/* Popup principal */
.swal2-popup.swal-popup-custom,
.swal2-popup,
.sweet-alert {
    border-radius: 16px !important;
    padding: 25px 30px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    font-family: 'Open Sans', sans-serif !important;
}

/* ====================================================================
   BOTÕES SWEETALERT - TODOS ARREDONDADOS (Dez 2025)
   ==================================================================== */
.swal2-styled,
.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel,
.swal2-styled.swal2-deny,
.sweet-alert button,
.sweet-alert .confirm,
.sweet-alert .cancel,
.swal-button,
.swal-button--confirm,
.swal-button--cancel,
.swal-button--danger {
    border-radius: 25px !important;
    padding: 10px 25px !important;
    font-weight: 600 !important;
    min-width: 100px !important;
}

/* Título */
.swal2-title.swal-title-custom,
.swal2-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-bottom: 10px !important;
}

/* Texto/Conteúdo */
.swal2-html-container,
.swal2-content {
    font-size: 15px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-top: 5px !important;
}

/* Ícones */
.swal2-icon {
    margin: 15px auto 20px !important;
    width: 70px !important;
    height: 70px !important;
}

.swal2-icon.swal2-success {
    border-color: #22c55e !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(34, 197, 94, 0.3) !important;
}

.swal2-icon.swal2-success [class^=swal2-success-line] {
    background-color: #22c55e !important;
}

.swal2-icon.swal2-error {
    border-color: #ef4444 !important;
}

.swal2-icon.swal2-error [class^=swal2-x-mark-line] {
    background-color: #ef4444 !important;
}

.swal2-icon.swal2-warning {
    border-color: #f59e0b !important;
    color: #f59e0b !important;
}

.swal2-icon.swal2-info {
    border-color: #3b82f6 !important;
    color: #3b82f6 !important;
}

.swal2-icon.swal2-question {
    border-color: #8b5cf6 !important;
    color: #8b5cf6 !important;
}

/* Botões */
.swal2-actions {
    margin-top: 20px !important;
}

.swal2-confirm.swal-confirm-custom,
.swal2-confirm {
    border-radius: 25px !important;
    padding: 10px 30px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s ease !important;
}

.swal2-confirm:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
}

.swal2-cancel.swal-cancel-custom,
.swal2-cancel {
    border-radius: 25px !important;
    padding: 10px 30px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
}

.swal2-cancel:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
}

/* Animação de entrada */
.swal2-show {
    animation: swal2-show 0.3s !important;
}

@keyframes swal2-show {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Backdrop */
.swal2-backdrop-show {
    background: rgba(15, 23, 42, 0.6) !important;
}

/* ====================================================================
   BOTÕES ARREDONDADOS GLOBAIS - TODO O SISTEMA (Dez 2025)
   ==================================================================== */

/* Botões Bootstrap Modal */
.modal-footer .btn,
.modal-footer button,
.modal .btn,
.modal button.btn {
    border-radius: 20px !important;
}

/* Botões DataTables */
.dataTables_wrapper .btn,
.DTTT_container .btn,
table .btn,
.table .btn {
    border-radius: 15px !important;
}

/* Botões de grupos */
.btn-group .btn,
.btn-group-vertical .btn {
    border-radius: 15px !important;
}

.btn-group .btn:first-child {
    border-top-left-radius: 20px !important;
    border-bottom-left-radius: 20px !important;
}

.btn-group .btn:last-child {
    border-top-right-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

/* Botões de paginação */
.pagination > li > a,
.pagination > li > span {
    border-radius: 10px !important;
    margin: 0 2px !important;
}

/* Botões de acção em tabelas */
.action-buttons .btn,
.actions .btn,
td .btn,
td button {
    border-radius: 15px !important;
    margin: 1px !important;
}

/* Botões FullCalendar */
.fc-button,
.fc-button-primary {
    border-radius: 15px !important;
}

/* Botões de formulário */
form .btn,
.form-actions .btn,
.form-group .btn {
    border-radius: 20px !important;
}

/* Botões de upload */
.fileinput .btn,
.btn-file {
    border-radius: 15px !important;
}

/* Dropdown buttons */
.dropdown-toggle,
.btn.dropdown-toggle {
    border-radius: 20px !important;
}

/* Botões de portlets/painéis */
.portlet-title .btn,
.portlet .btn {
    border-radius: 15px !important;
}

/* Garantir que TODOS os elementos com classe btn ficam arredondados */
[class*="btn-"] {
    border-radius: 20px !important;
}

/* Excepção para btn-group (manter o grupo coeso) */
.btn-group > [class*="btn-"]:not(:first-child):not(:last-child) {
    border-radius: 0 !important;
}

/* ====================================================================
   BOTÕES DE FECHAR (X) - REMOVER SOMBRA (Dez 2025)
   ==================================================================== */

/* Botões de fechar em modais Bootstrap */
.close,
button.close,
.modal-header .close {
    text-shadow: none !important;
    opacity: 0.7 !important;
    transition: opacity 0.2s ease !important;
}

.close:hover,
button.close:hover,
.modal-header .close:hover {
    opacity: 1 !important;
    text-shadow: none !important;
}

/* Botões de fechar em notificações Gritter */
.gritter-close,
.gritter-item .gritter-close {
    text-shadow: none !important;
    background: transparent !important;
    opacity: 0.8 !important;
}

.gritter-close:hover {
    opacity: 1 !important;
    text-shadow: none !important;
}

/* Botões de fechar em alertas */
.alert .close,
.alert button.close {
    text-shadow: none !important;
    opacity: 0.7 !important;
}

.alert .close:hover {
    opacity: 1 !important;
}

/* Botões de fechar em portlets */
.portlet-title .close,
.portlet > .portlet-title > .tools > a.remove {
    text-shadow: none !important;
}

/* Remover sombra de TODOS os elementos de fechar */
[class*="close"],
[data-dismiss="modal"],
[data-dismiss="alert"] {
    text-shadow: none !important;
}

/* Corrigir botão X em todas as janelas modais e notificações */
.modal-header .close,
.modal-header button.close,
.portlet-title .close,
.note .close,
.alert .close,
.gritter-close,
button.close {
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    opacity: 0.8 !important;
    font-weight: normal !important;
}

.modal-header .close:hover,
.portlet-title .close:hover,
.note .close:hover,
.alert .close:hover,
button.close:hover {
    text-shadow: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

/* Notificações com fundo colorido */
.note .close,
.note-info .close,
.note-warning .close,
.note-danger .close,
.note-success .close {
    text-shadow: none !important;
    box-shadow: none !important;
    color: #fff !important;
    opacity: 0.9 !important;
}