:root {
    --brand-primary: #dc1635;
    --brand-primary-dark: #b80f2a;
    --brand-dark: #19161d;
    --brand-gray: #77727a;
    --brand-soft: #fff1f3;
    --brand-950: var(--brand-dark);
    --brand-800: var(--brand-primary-dark);
    --brand-600: var(--brand-primary);
    --accent: var(--brand-primary);
    --bs-primary: #dc1635;
    --bs-primary-rgb: 220, 22, 53;
    --bs-link-color: #c51231;
    --bs-link-hover-color: #970c25;
    --report-navy: #19161d;
    --report-blue: #dc1635;
    --payroll-navy: #19161d;
    --payroll-blue: #dc1635;
    --expense-blue: #dc1635;
    --expense-ink: #19161d;
}

::selection { color: #fff; background: var(--brand-primary); }

a { color: var(--bs-link-color); }
a:hover { color: var(--bs-link-hover-color); }

.btn-primary,
.btn-brand {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--brand-primary);
    --bs-btn-border-color: var(--brand-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--brand-primary-dark);
    --bs-btn-hover-border-color: var(--brand-primary-dark);
    --bs-btn-active-bg: #970c25;
    --bs-btn-active-border-color: #970c25;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));
    box-shadow: 0 12px 26px rgba(220, 22, 53, .2);
}

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

.text-primary { color: var(--brand-primary) !important; }
.bg-primary { background-color: var(--brand-primary) !important; }
.border-primary { border-color: var(--brand-primary) !important; }

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: rgba(220, 22, 53, .65);
    box-shadow: 0 0 0 .25rem rgba(220, 22, 53, .12);
}

.form-check-input:checked {
    border-color: var(--brand-primary);
    background-color: var(--brand-primary);
}

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

.app-nav-list .nav-link:hover,
.app-nav-list .nav-link.active,
.mobile-sub-link:hover {
    color: var(--brand-primary-dark);
    background: var(--brand-soft);
}

.menu-icon,
.eyebrow,
.section-kicker,
.profile-kicker,
.notification-view-all,
.notification-dropdown-head button,
.reminder-detail-grid i,
.profile-meta-list i,
.profile-card-heading > span,
.currency-kpi-heading i,
.currency-breakdown-heading > strong {
    color: var(--brand-primary) !important;
}

.menu-icon,
.stat-primary,
.tone-primary,
.status-in_progress,
.notification-dropdown-item.unread,
.notification-page-item.unread {
    background: var(--brand-soft) !important;
}

.step-icon,
.product-mark,
.sale-step-icon,
.account-icon,
.report-card-icon,
.profile-meta-list i,
.profile-card-heading > span {
    color: var(--brand-primary) !important;
    background: var(--brand-soft) !important;
}

.purchase-summary .summary-total,
.sale-total-card,
.sale-total-compact,
.ledger-balance,
.payroll-tabs .nav-link.active {
    color: #fff;
    background: linear-gradient(135deg, var(--brand-dark), var(--brand-primary-dark)) !important;
}

.sale-payment-help {
    border-left-color: var(--brand-primary) !important;
    background: var(--brand-soft) !important;
}

.profile-avatar-wrap {
    background: linear-gradient(135deg, var(--brand-soft), #f4f1f2) !important;
}

.profile-avatar-wrap span,
.profile-avatar-fallback,
.reminder-user-avatar {
    background: linear-gradient(135deg, var(--brand-dark), var(--brand-primary)) !important;
}

.report-card:hover {
    border-color: rgba(220, 22, 53, .4) !important;
    box-shadow: 0 10px 28px rgba(220, 22, 53, .10) !important;
}

.app-footer a { color: var(--brand-primary-dark); text-decoration:none; }
.app-footer a:hover { color: var(--brand-primary); text-decoration:underline; }

.app-brand-logo { display:block; width:190px; height:46px; object-fit:contain; object-position:left center; }
.mobile-brand-logo { display:block; width:180px; height:42px; object-fit:contain; object-position:left center; }
.auth-brand-logo { display:block; width:min(330px,100%); height:auto; }
.auth-brand-logo-mobile { display:block; width:205px; height:auto; }

@media (max-width: 1399.98px) {
    .app-brand-logo { width:155px; }
}

@media (max-width: 575.98px) {
    .app-brand-logo { width:125px; height:38px; }
}
