body { font-family: 'Inter', system-ui, -apple-system, sans-serif; }
.shadow-soft { box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.05), 0 1px 2px -1px rgb(0 0 0 / 0.05); }
.hover-scale { transition: transform 0.2s; }
.hover-scale:hover { transform: scale(1.02); }

html,
body,
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(127, 29, 29, 0.26) transparent;
}

*::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}

*::-webkit-scrollbar-track {
    background: transparent;
}

*::-webkit-scrollbar-thumb {
    background: rgba(127, 29, 29, 0.22);
    border: 2px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
    background: rgba(127, 29, 29, 0.36);
    border: 2px solid transparent;
    background-clip: padding-box;
}

*::-webkit-scrollbar-corner {
    background: transparent;
}

.scroll-railoc {
    scrollbar-gutter: stable;
}

.badge-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid transparent;
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.badge-status-pago {
    border-color: #A7F3D0;
    background: #ECFDF5;
    color: #047857;
}

.badge-status-pendente {
    border-color: #FDE68A;
    background: #FFFBEB;
    color: #92400E;
}

.badge-status-vencido {
    border-color: #FECACA;
    background: #FEF2F2;
    color: #B91C1C;
}

.badge-status-neutro {
    border-color: var(--theme-border);
    background: var(--theme-surface);
    color: var(--theme-muted);
}

.toast-railoc-tempo {
    width: 100%;
    transform-origin: left center;
    animation: toast-railoc-tempo 4.2s linear forwards;
}

@keyframes toast-railoc-tempo {
    from {
        transform: scaleX(1);
    }
    to {
        transform: scaleX(0);
    }
}
