:root{--k1-dark:#111827;--k1-red:#d71920;--k1-muted:#64748b;--k1-bg:#f4f6f8}.k1-topbar{background:linear-gradient(90deg,#101827,#1f2937)}.navbar-brand span{font-weight:400;color:#d8dee9}.navbar .nav-link.active{color:#fff;border-bottom:2px solid var(--k1-red)}body{background:var(--k1-bg);color:#172033}.card{border:0;box-shadow:0 1px 3px rgba(15,23,42,.08)}.metric-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--k1-muted)}.metric-value{font-size:1.65rem;font-weight:700}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc}.amount-negative{color:#b42318}.amount-positive{color:#067647}.badge-soft{background:#eef2f6;color:#344054}.bank-logo{width:42px;height:42px;border-radius:10px;background:#eef2f6;display:grid;place-items:center}.reconcile-row.is-selected{background:#eef8f1}.sticky-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:1rem;z-index:5}.lookup-results{position:absolute;z-index:1000;width:100%;max-height:260px;overflow:auto}.k1-search-wrap{position:relative}.receipt-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.4rem;background:#12b76a}.page-title{font-size:1.55rem;font-weight:700}.subtle{color:#667085}.form-label{font-weight:600;font-size:.85rem}.btn-primary{--bs-btn-bg:#1f2937;--bs-btn-border-color:#1f2937;--bs-btn-hover-bg:#111827;--bs-btn-hover-border-color:#111827}

/* =========================================================
   K1 ACCOUNTING - TOP NAVIGATION / BRAND
   ========================================================= */

.k1-topbar {
    background: #162233;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Brand */

.k1-accounting-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-right: 1.5rem;
    text-decoration: none;
    white-space: nowrap;
}

.k1-accounting-brand-mark {
    width: 27px;
    height: 27px;
    object-fit: contain;
    display: block;
}

.k1-accounting-brand-name {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: #fff;
    font-size: 1.05rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.k1-accounting-brand-name strong {
    font-weight: 800;
}

.k1-accounting-brand-name span {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.92);
}


/* =========================================================
   MAIN NAVIGATION
   ========================================================= */

.k1-topbar .navbar-nav {
    gap: 2px;
}

.k1-topbar .navbar-nav .nav-link {
    position: relative;
    display: flex;
    align-items: center;

    padding-left: 0.7rem;
    padding-right: 0.7rem;

    color: rgba(255, 255, 255, 0.68);

    font-weight: 500;

    transition:
        color 0.15s ease,
        background-color 0.15s ease;
}

.k1-topbar .navbar-nav .nav-link i {
    color: rgba(255, 255, 255, 0.55);
    transition: color 0.15s ease;
}


/* Hover */

.k1-topbar .navbar-nav .nav-link:hover,
.k1-topbar .navbar-nav .nav-link:focus {
    color: #fff;
}

.k1-topbar .navbar-nav .nav-link:hover i,
.k1-topbar .navbar-nav .nav-link:focus i {
    color: #fff;
}


/* =========================================================
   ACTIVE PAGE
   K1 red underline inspired by public K1 navigation
   ========================================================= */

.k1-topbar .navbar-nav .nav-link.active {
    color: #fff;
    font-weight: 600;
}

.k1-topbar .navbar-nav .nav-link.active i {
    color: #ed1c24;
}

.k1-topbar .navbar-nav .nav-link.active::after {
    content: "";
    position: absolute;

    left: 0.7rem;
    right: 0.7rem;
    bottom: -1px;

    height: 3px;

    background: #ed1c24;

    border-radius: 3px 3px 0 0;
}


/* Active dropdown parent */

.k1-topbar .navbar-nav .dropdown > .nav-link.active {
    color: #fff;
}

.k1-topbar .navbar-nav .dropdown > .nav-link.active::after {
    content: "";
    position: absolute;

    left: 0.7rem;
    right: 0.7rem;
    bottom: -1px;

    height: 3px;

    background: #ed1c24;

    border-radius: 3px 3px 0 0;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991.98px) {

    .k1-accounting-brand-mark {
        width: 25px;
        height: 25px;
    }

    .k1-topbar .navbar-nav .nav-link.active::after {
        left: 0;
        right: auto;
        top: 6px;
        bottom: 6px;

        width: 3px;
        height: auto;

        border-radius: 0 3px 3px 0;
    }

    .k1-topbar .navbar-nav .nav-link {
        padding-left: 0.9rem;
    }
}