@import "default.css";
/* Sidebar */
.layout-fixed .wrapper .sidebar{
    height:calc(100vh - 3.5rem - 1px);
    background:linear-gradient(180deg, #6600cc 0%, #330066 100%);
    box-shadow: 0 0 30px 5px #9900ff80;
    border-right: 2px solid #9900ff80;
    border-radius: 0 18px 18px 0;
}
/* Topbar/Header */
body:not(.sidebar-mini-md) .main-header {
    background: linear-gradient(90deg, #6600cc 0%, #330066 100%);
    box-shadow: 0 0 20px #9900ff80;
    border-bottom: 2px solid #9900ff80;
}
body:not(.sidebar-mini-md) .content-wrapper,
body:not(.sidebar-mini-md) .main-footer {
    transition:margin-left .3s ease-in-out;
    background:linear-gradient(135deg, #1a0033 0%, #6600cc 60%, #330066 100%);
}
[class*=sidebar-dark] .brand-link,
[class*=sidebar-dark] .brand-link .pushmenu{
    color:#fff;
    background:linear-gradient(90deg, #6600cc 0%, #330066 100%);
    border-radius: 18px;
    box-shadow: 0 0 12px #9900ff;
}
.main-sidebar .brand-text,
.main-sidebar .logo-xl,
.main-sidebar .logo-xs,
.sidebar .nav-link p,
.sidebar .user-panel .info{
    transition:margin-left .3s linear,opacity .3s ease,visibility .3s ease;
    color:#e0b3ff;
}
/* Sidebar links */
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link,
.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link{
    border-radius: 16px;
    margin: 4px 4px;
    padding: 6px 10px;
    min-width: 0;
    max-width: 100%;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background 0.2s, box-shadow 0.2s, color 0.2s;
    background: linear-gradient(90deg, #330066 0%, #6600cc 100%);
    color: #fff;
    box-shadow: 0 0 8px #9900ff33;
    font-weight: bold;
    letter-spacing: 1px;
    position: relative;
    overflow: hidden;
}
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active{
    color:#fff;
    background:linear-gradient(90deg, #a020f0 0%, #6600cc 60%, #330066 100%);
    border-radius: 22px;
    box-shadow: 0 0 16px #a020f088, 0 0 4px #a020f0;
}
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link:hover,
.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link:hover{
    background:linear-gradient(90deg, #9900ff 0%, #6600cc 100%);
    color: #fff;
    box-shadow: 0 0 18px #9900ff;
    transform: scale(1.04);
}
/* Cards */
.dark-mode .card{
    background:linear-gradient(135deg, #1a0033 0%, #330066 100%);
    color:#f3c4fb;
    border-width:3px;
    border-color:#a020f0;
    border-style:double;
    border-radius:18px;
    box-shadow: 0 0 16px #a020f055;
}
/* Botões estilosos */
.btn-info, .btn-warning, .btn-custom, .btn-ok {
    color:#fff !important;
    background:linear-gradient(90deg, #6600cc 0%, #a020f0 100%) !important;
    border:none !important;
    border-radius: 20px !important;
    box-shadow: 0 0 12px #9900ff, 0 0 6px #a020f0;
    font-weight: bold;
    letter-spacing: 1px;
    transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
    position: relative;
    overflow: hidden;
    font-size: 13px !important;
    padding: 6px 18px !important;
    min-width: 80px;
    max-width: 180px;
    height: 36px;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    margin-bottom: 6px; /* opcional, para espaçamento vertical em telas pequenas */
}
/* Remove margin-right from last button in a group */
.btn-info:last-child, .btn-warning:last-child, .btn-custom:last-child, .btn-ok:last-child {
    margin-right: 0;
}
.btn-info:hover, .btn-warning:hover, .btn-custom:hover, .btn-ok:hover {
    background:linear-gradient(90deg, #a020f0 0%, #6600cc 100%) !important;
    box-shadow: 0 0 32px #a020f0, 0 0 16px #9900ff;
    transform: scale(1.06);
}
/* Ajuste de tamanho para botões pequenos */
.btn-sm.btn-info,
.btn-sm.btn-warning,
.btn-sm.btn-custom,
.btn-sm.btn-ok {
    font-size: 11px !important;
    padding: 4px 12px !important;
    height: 28px;
    min-width: 60px;
    max-width: 120px;
}
.card-title{
    font-size:1.1rem;
    font-weight:400;
    margin:4px;
    color:#a020f0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    gap: 12px; /* espaço entre ícone e texto */
}
.dark-mode .text-muted{
    color:#f3c4fb99!important;
}
.dark-mode .list-group-item{
    background-color:#a020f022;
    border-color:#a020f099;
    border-radius: 12px;
}
.dark-mode .info-box{
    background-color:#a020f022;
    color:#fff;
    border:3px double #a020f0;
    border-radius:16px;
    box-shadow: 0 0 8px #a020f0;
}
label:not(.form-check-label):not(.custom-file-label){
    font-weight:700;
    color:#f3c4fbc2;
}
.dark-mode .custom-control-label:before,
.dark-mode .custom-file-label,
.dark-mode .custom-file-label:after,
.dark-mode .custom-select,
.dark-mode .form-control,
.dark-mode .input-group-text{
    background-color:#6600cc;
    color:#fff;
    border-radius: 10px;
}
.alert-success{
    color:#fff;
    background:linear-gradient(90deg, #6600cc 0%, #a020f0 100%);
    border-color:#a020f0;
    border-radius:16px;
    border-style:double;
    box-shadow: 0 0 8px #a020f0;
}
.dark-mode{
    color:#fff;
    background:radial-gradient(circle at 60% 40%, #1a0033 0%, #6600cc 60%, #330066 100%);
}
.dark-mode .invoice{
    background-color:#a020f022;
    border:3px double #a020f0;
    border-radius:16px;
}
.dark-mode .nav-tabs .nav-item.show .nav-link,
.dark-mode .nav-tabs .nav-link.active{
    background-color:#a020f055;
    color:#fff;
    border-radius: 12px 12px 0 0;
}
.slim-crop-area img,
.slim-image-editor img,
.slim-popover img,
.slim img{
    background:#000;
}
.dark-mode .callout{
    background-color:#a020f033;
    border-radius: 12px;
}
.callout.callout-info{
    border-left-color:#a020f0;
}
.p-3{
    padding:1rem!important;
    background:#1a0033;
    border-radius: 12px;
}
.small-box>.small-box-footer{
    color:hsla(285,100%,90%,.9);
    display:block;
    padding:3px 0;
    position:relative;
    text-align:center;
    text-decoration:none;
    z-index:10;
    background:linear-gradient(90deg, #6600cc 0%, #a020f0 100%);
    border-radius: 0 0 18px 18px;
}
.dark-mode .dropdown-menu{
    background-color:#1a0033;
    border-color:#a020f0;
    border-radius: 12px;
}
.card-header:first-child{
    border-radius:18px 18px 0px 0px;
    background:linear-gradient(90deg, #6600cc 0%, #330066 100%);
    box-shadow: 0 0 10px #9900ff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.card-body{
    flex:1 1 auto;
    min-height:1px;
    padding:1.25rem;
    background:#1a0033;
    border-radius: 0 0 18px 18px;
}
.justify-content-between{
    justify-content:space-between!important;
    background:#1a0033;
    border-radius: 12px;
}
.dark-mode .card .card-footer{
    background-color:#6600cc;
    border-radius:0px 0px 18px 18px;
}
.dark-mode .select2-selection--single{
    background-color:#6600cc;
    border-color:#a020f0;
    border-radius: 12px;
}
.select2-search--dropdown{
    display:block;
    padding:4px;
    background:#1a0033;
    border-radius: 8px;
}
.select2-container--default .select2-results__option{
    padding:6px 12px;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
    background:#6600cc;
    border-radius: 8px;
}
.dark-mode .select2-dropdown,
.dark-mode .select2-dropdown .select2-search__field,
.dark-mode .select2-search--inline .select2-search__field{
    background-color:#1a0033;
    border-color:#a020f0;
    color:#fff;
    border-radius: 8px;
}
.modal-header{
    background:linear-gradient(90deg, #6600cc 0%, #a020f0 100%);
    border-radius: 18px 18px 0 0;
}
.modal-body{
    position:relative;
    flex:1 1 auto;
    padding:1rem;
    background:#1a0033;
    border-radius: 0 0 18px 18px;
}
.dark-mode .modal-footer,
.dark-mode .modal-header{
    border-color:#a020f0;
    background:linear-gradient(90deg, #6600cc 0%, #a020f0 100%);
    border-radius: 0 0 18px 18px;
}

/* Círculo maior para ícone na card-title */
.card-title-icon-circle {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #a020f0 0%, #6600cc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 16px;
    font-size: 1.7rem; /* aumenta o tamanho do ícone */
    color: #fff;
    box-shadow: 0 0 8px #a020f0;
}

/* Ajuste para alinhar ícone e texto centralizados */
.card-title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    gap: 12px; /* espaço entre ícone e texto */
}