/* ==========================================================================
   Axios brand theme — sobrepõe a cor primária do DashLite pelas cores do logo
   Teal (ponto/swoosh) = primária  ·  Navy (wordmark) = acento escuro
   ========================================================================== */
:root,
[data-bs-theme="light"] {
    --axios-primary: #0e9aa7;     /* teal do logo */
    --axios-primary-d: #0c828d;   /* hover */
    --axios-primary-dd: #0a6f79;  /* active */
    --axios-navy: #16304f;        /* navy do wordmark */
    --axios-primary-rgb: 14, 154, 167;

    /* variáveis Bootstrap usadas por vários componentes */
    --bs-primary: var(--axios-primary);
    --bs-primary-rgb: var(--axios-primary-rgb);
    --bs-link-color: var(--axios-primary);
    --bs-link-hover-color: var(--axios-primary);
    --bs-link-hover-color-rgb: var(--axios-primary-rgb);
    --bs-pagination-hover-color: var(--axios-primary);
    --bs-pagination-focus-color: var(--axios-primary);
    --bs-dropdown-link-hover-color: var(--axios-primary);
}

/* ---- Links ---- */
a { color: var(--axios-primary); }
a:hover { color: var(--axios-primary-d); }
.text-primary { color: var(--axios-primary) !important; }
.link-primary { color: var(--axios-primary) !important; }
.link-primary:hover { color: var(--axios-primary-d) !important; }
.bg-primary { background-color: var(--axios-primary) !important; }

/* ---- Botões primários (Bootstrap 5.3 usa variáveis --bs-btn-*) ---- */
.btn-primary {
    --bs-btn-bg: var(--axios-primary);
    --bs-btn-border-color: var(--axios-primary);
    --bs-btn-hover-bg: var(--axios-primary-d);
    --bs-btn-hover-border-color: var(--axios-primary-d);
    --bs-btn-active-bg: var(--axios-primary-dd);
    --bs-btn-active-border-color: var(--axios-primary-dd);
    --bs-btn-disabled-bg: var(--axios-primary);
    --bs-btn-disabled-border-color: var(--axios-primary);
    --bs-btn-focus-shadow-rgb: var(--axios-primary-rgb);
}

/* ---- Botões outline primários ---- */
.btn-outline-primary {
    --bs-btn-color: var(--axios-primary);
    --bs-btn-border-color: var(--axios-primary);
    --bs-btn-hover-bg: var(--axios-primary);
    --bs-btn-hover-border-color: var(--axios-primary);
    --bs-btn-active-bg: var(--axios-primary);
    --bs-btn-active-border-color: var(--axios-primary);
    --bs-btn-focus-shadow-rgb: var(--axios-primary-rgb);
}

/* ---- Botões "dim" primários ---- */
.btn-dim.btn-primary {
    --bs-btn-bg: rgba(var(--axios-primary-rgb), 0.1);
    --bs-btn-border-color: transparent;
    --bs-btn-color: var(--axios-primary);
    --bs-btn-hover-bg: var(--axios-primary);
    --bs-btn-hover-border-color: var(--axios-primary);
    --bs-btn-hover-color: #fff;
}
.btn-dim.btn-outline-primary {
    --bs-btn-bg: rgba(var(--axios-primary-rgb), 0.1);
    --bs-btn-hover-bg: var(--axios-primary);
    --bs-btn-hover-color: #fff;
}

/* ---- Badges ---- */
.badge.bg-primary { background-color: var(--axios-primary) !important; }
.bg-primary-dim { background-color: rgba(var(--axios-primary-rgb), 0.15) !important; }
.text-primary.bg-primary-dim,
.bg-primary-dim.text-primary { color: var(--axios-primary) !important; }

/* ---- Campos de formulário: foco e seleção ---- */
.form-control:focus,
.form-select:focus {
    border-color: #5fc4cd;
    box-shadow: 0 0 0 0.2rem rgba(var(--axios-primary-rgb), 0.2);
}
::selection { background-color: rgba(var(--axios-primary-rgb), 0.25); }

/* checkboxes / radios (DashLite custom-control + Bootstrap form-check) */
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--axios-primary) !important;
    border-color: var(--axios-primary) !important;
}
.form-check-input:checked {
    background-color: var(--axios-primary);
    border-color: var(--axios-primary);
}
.form-check-input:focus {
    border-color: #5fc4cd;
    box-shadow: 0 0 0 0.2rem rgba(var(--axios-primary-rgb), 0.2);
}

/* ---- Sidebar: item ativo e hover (DashLite usa #9769ff/#854fff) ---- */
.nk-menu .nk-menu-item.active > .nk-menu-link,
.nk-menu .nk-menu-link.active,
.nk-menu .nk-menu-item.current-page > .nk-menu-link,
.nk-menu-link:hover,
.active > .nk-menu-link,
.is-light .nk-menu-link:hover,
.is-light .active > .nk-menu-link,
.nk-menu-sub .nk-menu-link:hover,
.nk-menu-sm .nk-menu-link:hover,
.nk-menu-md .nk-menu-link:hover,
.nk-menu-footer .nk-menu-link:hover,
.nk-menu-main .nk-menu-link:hover,
.nk-menu-main .nk-menu-link:focus,
.nk-menu-main .nk-menu-item.active > .nk-menu-link,
.nk-menu-main .nk-menu-item.current-menu > .nk-menu-link,
.nk-menu-main .nk-menu-item:hover > .nk-menu-link {
    color: var(--axios-primary);
}
.nk-menu .nk-menu-item.active > .nk-menu-link .nk-menu-icon .icon,
.nk-menu .nk-menu-item.current-page > .nk-menu-link .nk-menu-icon .icon,
.nk-menu-link:hover .nk-menu-icon,
.nk-menu-item.active > .nk-menu-link .nk-menu-icon,
.nk-menu-item.current-menu > .nk-menu-link .nk-menu-icon {
    color: var(--axios-primary);
}
.nk-menu-link:hover .count,
.active > .nk-menu-link .count {
    color: var(--axios-primary);
}
.overline-title.text-primary-alt { color: var(--axios-navy) !important; }

/* ---- Avatar do usuário (DashLite usa #9d72ff / #854fff) ---- */
.user-avatar,
[class^="user-avatar"]:not([class*="-group"]) {
    background: var(--axios-primary);
}
.user-avatar[class*="-primary-dim"] {
    color: var(--axios-primary);
}
.user-avatar.bg-primary,
[class^="user-avatar"].bg-primary:not([class*="-group"]) {
    background-color: var(--axios-primary) !important;
}

/* ---- Abas (nav-tabs: DashLite usa #854fff e --bs-link-hover-color #7a3fff) ---- */
.nav-tabs {
    --bs-nav-link-hover-color: var(--axios-primary);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.active .nav-link,
.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
    color: var(--axios-primary);
}
.nav-tabs .nav-link.active .icon,
.nav-tabs .nav-item.active .nav-link .icon {
    color: var(--axios-primary);
}
.nav-tabs .nav-link:after {
    background: var(--axios-primary);
}

/* ---- Paginação (sobrescreve --bs-pagination-hover-color: #7a3fff do DashLite) ---- */
.pagination {
    --bs-pagination-hover-color: var(--axios-primary);
    --bs-pagination-focus-color: var(--axios-primary);
}
.pagination .page-link { color: var(--axios-primary); }
.pagination .page-link:hover,
.pagination .page-link:focus {
    color: var(--axios-primary);
}
.pagination .page-item.active .page-link {
    background-color: var(--axios-primary);
    border-color: var(--axios-primary);
}

/* ---- Títulos de página em navy ---- */
.nk-block-title.page-title { color: var(--axios-navy); }
.nk-block-head .nk-block-title.page-title {
    line-height: 1.2;
}
.page-head .page-head-subtitle {
    margin-top: 1rem;
    line-height: 1.45;
}
.page-head:has(.page-head-subtitle) {
    padding-bottom: 1.25rem;
}
.nk-block-head + .nk-block {
    padding-top: 0.75rem;
}

/* ---- Cabeçalho de página: evita sobreposição título × botões ---- */
.nk-block-head .nk-block-tools {
    flex-wrap: wrap;
}
.nk-block-head .nk-block-tools > li {
    display: inline-flex;
    flex-shrink: 0;
}
.nk-block-head .nk-block-tools form {
    margin: 0;
}

/* Switch: evita borda sobrepondo o label (Bootstrap usa margin-left negativo) */
.form-check.form-switch.form-switch-fix {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding-left: 0;
    min-height: 2.375rem;
}
.form-check.form-switch.form-switch-fix .form-check-input {
    margin-left: 0;
    margin-top: 0;
    flex-shrink: 0;
    float: none;
}
.form-check.form-switch.form-switch-fix .form-check-label {
    padding-left: 0;
    line-height: 1.4;
}

/* btn-xs: ícone 1.4em estoura a altura mínima e sobrepõe labels vizinhos */
.btn.btn-xs {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.75rem;
    line-height: 1.25;
}
.btn.btn-xs .icon {
    font-size: 0.95rem;
    line-height: 1;
}

.min-w-0 { min-width: 0 !important; }

/* ---- Botões: ícone + texto sem estourar borda/altura ---- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    line-height: 1.25;
    vertical-align: middle;
}
.btn .icon {
    font-size: 1em;
    line-height: 1;
    flex-shrink: 0;
}
.btn .icon + span,
.btn span + .icon,
.dual-listbox .dual-listbox__button .icon + span,
.dual-listbox .dual-listbox__button span + .icon {
    padding-left: 0 !important;
}
.btn-sm,
.btn-group-sm > .btn {
    min-height: 2rem;
    --bs-btn-padding-y: 0.375rem;
}
.input-group-sm > .btn,
.input-group-sm > .form-control {
    min-height: calc(1.5em + 0.75rem + 2px);
}
.input-group > .btn {
    display: inline-flex;
    align-items: center;
}

/* ---- Cards de levantamento: evita texto sobreposto ---- */
.lev-summary-card .card-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 0.75rem;
}
.lev-summary-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.lev-summary-card__title {
    margin: 0;
    line-height: 1.35;
    word-break: break-word;
}
.lev-summary-card__meta {
    margin: 0;
    padding: 0;
    list-style: none;
}
.lev-summary-card__meta li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    line-height: 1.45;
    margin: 0;
    padding: 0 0 0.5rem;
}
.lev-summary-card__meta li:last-child {
    padding-bottom: 0;
}
.lev-summary-card__meta .icon {
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-size: 0.95rem;
    line-height: 1;
}
.lev-summary-card__meta span {
    min-width: 0;
    word-break: break-word;
}
.lev-summary-card__section {
    line-height: 1.45;
}
.lev-summary-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.25rem;
}
