/* Composições das páginas Sneat: Dashboard, Customers e Referral.
   O desenho dos componentes continua pertencendo ao core original. */
.admin-numeric { font-variant-numeric: tabular-nums; }
.admin-dashboard .card-body > .avatar { display: inline-flex; }
.admin-icon { inline-size: 1.5rem; block-size: 1.5rem; }
.admin-details-list dt { font-weight: 500; }
.admin-details-list dd { margin-block-end: 1rem; }
.admin-details-list > :last-child { margin-block-end: 0; }
.admin-table-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; border-block-end: 1px solid var(--bs-border-color); }
.admin-table-search { flex: 0 1 15rem; min-inline-size: 0; }
.admin-table-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1rem; }
.admin-table-controls > div { min-inline-size: 0; }
.admin-customer-table th, .admin-referral-table th, .admin-dashboard-table th { font-size: .8125rem; letter-spacing: .2px; }
.admin-customer-table td, .admin-referral-table td { padding-block: .85rem; }
.admin-customer-table .avatar { inline-size: 2.375rem; block-size: 2.375rem; }
.admin-customer-table td:first-child { min-inline-size: 15rem; }
.admin-customer-table td:nth-child(2) { min-inline-size: 13rem; }
.admin-customer-table .btn { padding-inline: .5rem; }
.admin-profile-avatar { inline-size: 7.5rem; block-size: 7.5rem; }
.admin-profile-avatar .avatar-initial { font-size: 3rem !important; }
.admin-customer-facts dt { font-size: .875rem; }
.admin-customer-facts dd { font-size: .875rem; }
.admin-customer-summary { color: #fff; }
.admin-customer-summary dd { color: #fff; }
.admin-overview-tile { min-block-size: 11.375rem; }
.admin-overview-tile .h5 { font-size: 1.125rem; }
.admin-customer-detail .tab-content { overflow: visible; }
.admin-referral-steps { padding-block: .25rem 1.5rem; }
.admin-step-symbol { display: inline-flex; justify-content: center; align-items: center; inline-size: 4.375rem; block-size: 4.375rem; border-radius: 50%; border: 1px dashed var(--bs-primary); color: var(--bs-primary); font-size: 1.75rem; font-weight: 500; }
.admin-welcome { min-block-size: 12.5rem; }
.admin-welcome-art { inline-size: auto; max-inline-size: 100%; block-size: 11rem; object-fit: contain; object-position: bottom; }
.admin-revenue-main { border-inline-end: 1px solid var(--bs-border-color); }
.admin-legend-dot { display: inline-block; inline-size: .5rem; block-size: .5rem; border-radius: 50%; }
.admin-revenue-chart { display: flex; justify-content: space-around; gap: .75rem; min-block-size: 15rem; padding-inline: .75rem; }
.admin-chart-column { display: flex; flex: 1 1 0; flex-direction: column; align-items: center; min-inline-size: 0; gap: .75rem; }
.admin-chart-track { block-size: 13rem; inline-size: 100%; display: flex; justify-content: center; align-items: flex-end; background: repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), var(--bs-border-color) 25%); }
.admin-chart-bar { display: block; inline-size: 1rem; max-inline-size: 50%; min-block-size: 0; background: var(--bs-primary); border-radius: .3rem; }
.admin-chart-column > .small { font-size: .6875rem; text-align: center; }
.admin-retention-ring { inline-size: 10rem; block-size: 10rem; padding: .75rem; border-radius: 50%; background: conic-gradient(var(--bs-primary) var(--admin-retention), rgba(var(--bs-primary-rgb), .12) 0); }
.admin-retention-ring > div { display: flex; flex-direction: column; align-items: center; justify-content: center; inline-size: 100%; block-size: 100%; border-radius: 50%; background: var(--bs-paper-bg, #fff); }
.admin-base-list { display: flex; flex-direction: column; gap: 1.25rem; }
.admin-base-list li { display: flex; align-items: center; gap: 1rem; }
.admin-base-list strong { margin-inline-start: auto; font-weight: 500; }
@media (min-width: 768px) {
    .admin-referral-table .admin-table-controls { flex-wrap: nowrap; }
}
@media (max-width: 767.98px) {
    .admin-revenue-main { border-inline-end: 0; border-block-end: 1px solid var(--bs-border-color); }
    .admin-table-toolbar { align-items: stretch; }
    .admin-table-search { flex: 1 1 100%; }
    .admin-table-controls { justify-content: flex-start; inline-size: 100%; }
    .admin-table-controls > div { flex: 1 1 10rem; }
    .admin-table-controls .btn { flex: 1 1 auto; }
}
@media (max-width: 575.98px) {
    #tabela-clientes .btn, #tabela-cupons .btn { min-block-size: 2.75rem; }
    .admin-customer-facts dt { inline-size: 42%; }
    .admin-customer-facts dd { inline-size: 58%; }
}
