:root {
    --brand: #b42318;
    --brand-dark: #7a120c;
    --cream: #fff7ed;
    --ink: #172033;
}

.app-body {
    background:
        radial-gradient(circle at top left, rgba(180, 35, 24, .14), transparent 30rem),
        linear-gradient(180deg, #fff7ed 0, #f6f8fb 22rem);
    color: var(--ink);
    min-height: 100vh;
}

.app-navbar {
    background: linear-gradient(135deg, var(--brand-dark), var(--brand));
}

.navbar .nav-link {
    border-radius: 999px;
    padding-left: .9rem !important;
    padding-right: .9rem !important;
}

.navbar .nav-link.active,
.navbar .nav-link:hover {
    background: rgba(255, 255, 255, .18);
}

.hero-band {
    background:
        linear-gradient(135deg, rgba(122, 18, 12, .96), rgba(180, 35, 24, .88)),
        repeating-linear-gradient(45deg, transparent 0 12px, rgba(255, 255, 255, .05) 12px 24px);
}

.page-enter {
    animation: fadeSlide .45s ease both;
}

.animate-pop {
    animation: popIn .28s ease both;
}

.card {
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 14px 40px rgba(16, 24, 40, .08);
}

.stat-card {
    overflow: hidden;
    position: relative;
}

.stat-card:after {
    background: rgba(180, 35, 24, .08);
    border-radius: 999px;
    content: "";
    height: 5rem;
    position: absolute;
    right: -1.5rem;
    top: -1.5rem;
    width: 5rem;
}

.stat-value {
    color: var(--brand);
    font-size: 2rem;
    font-weight: 800;
}

.table thead th {
    color: #667085;
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.btn-primary {
    --bs-btn-bg: var(--brand);
    --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand-dark);
    --bs-btn-hover-border-color: var(--brand-dark);
}

.badge-active,
.badge-ok {
    background: #dcfae6;
    color: #067647;
}

.badge-inactive,
.badge-bad {
    background: #fee4e2;
    color: #b42318;
}

.ledger-row-in {
    border-left: 4px solid #157347;
}

.ledger-row-sale {
    border-left: 4px solid #b42318;
}

.ledger-row-return {
    border-left: 4px solid #f59e0b;
}

.login-card {
    max-width: 460px;
    width: 100%;
}

.login-logo {
    align-items: center;
    background: linear-gradient(135deg, var(--brand-dark), var(--brand));
    border-radius: 1.2rem;
    color: #fff;
    display: flex;
    font-size: 1.35rem;
    font-weight: 800;
    height: 4rem;
    justify-content: center;
    width: 4rem;
}

@keyframes fadeSlide {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes popIn {
    from {
        opacity: 0;
        transform: scale(.98);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
