:root {
    --bs-primary: hsl(19, 100%, 50%);
    --bs-subtle-primary: hsl(17deg 100% 95%);

    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: var(--bs-primary);

    --bs-box-shadow: 0 0 0 0.25rem hsl(from var(--bs-primary) h s 80% / 0.25);
}

body {
    height: 100vh;
}

main {
    height: 100vh;
    max-height: 100vh;
    overflow-x: auto;
    overflow-y: hidden;
}

/* Fundo */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

/* Texto */
.text-primary {
    color: var(--bs-primary) !important;
}

.btn-primary:disabled,
.btn-primary.disabled,
fieldset:disabled .btn-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

/* Botões */
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: hsl(from var(--bs-primary) h s 45%);
    --bs-btn-hover-border-color: hsl(from var(--bs-primary) h s 45%);
    --bs-btn-active-bg: hsl(from var(--bs-primary) h s 40%);
    --bs-btn-active-border-color: hsl(from var(--bs-primary) h s 40%);
}

.list-group-item-primary {
    --bs-list-group-bg: var(--bs-subtle-primary);
    --bs-list-group-border-color: hsl(from var(--bs-primary) h s 80%);
    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
    --bs-list-group-action-hover-bg: hsl(from var(--bs-primary) h s 80%);
    --bs-list-group-action-active-color: var(--bs-emphasis-color);
    --bs-list-group-action-active-bg: hsl(from var(--bs-primary) h s 80%);
    --bs-list-group-active-color: var(--bs-subtle-primary);
    --bs-list-group-active-bg: hsl(from var(--bs-primary) h s 80%);
}

.dropdown-item.active, .dropdown-item:active {
    --bs-dropdown-link-active-bg: var(--bs-primary);
}

/* Inputs */
.form-control:focus,
.form-select:focus,
.input-group .form-control:focus {
    border-color: var(--bs-primary);
    box-shadow: var(--bs-box-shadow);
}

.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-check-input:focus {
    border-color: hsl(from var(--bs-primary) h s 80%);
    outline: 0;
    box-shadow: var(--bs-box-shadow);
}

/* Tabs */
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
    color: #fff;
}

/* Paginação */
.page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.pagination {
    --bs-pagination-focus-box-shadow: var(--bs-box-shadow);
    --bs-pagination-active-bg: var(--bs-primary) !important;
    --bs-pagination-active-border-color: var(--bs-primary) !important;
}

/* Alertas */
.alert-primary {
    background-color: hsl(from var(--bs-primary) h s 95%);
    color: hsl(from var(--bs-primary) h s 25%);
    border-color: hsl(from var(--bs-primary) h s 85%);
}

/* Badge */
.badge.bg-primary {
    background-color: var(--bs-primary);
}

/* Progress Bar */
.progress-bar.bg-primary {
    background-color: var(--bs-primary);
}

/* Tabela */
.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-bg-type: var(--bs-subtle-primary);
}

.tamanho-do-dropdown-usuario {
    width: 290px;
}

#menu {
    width: 280px;

    & i {
        font-size: 1.5rem;
    }
}

.ratio-1 {
    aspect-ratio: 1;
}

.ratio-md-1 {
    aspect-ratio: 1;
}

@media (max-width: 766px) {
    .ratio-md-1 {
        aspect-ratio: unset;
    }
}