/* =====================================================================
   Grace Pharma theme
   Loaded last in _Host.cshtml so it overrides the base template styles.
   Brand colours come from the Grace Pharma logo (gold + red capsule).
   ===================================================================== */
:root {
    --gp-red: #9e2329;
    --gp-red-dark: #7a1a1f;
    --gp-red-soft: #f8e9ea;
    --gp-gold: #cbae2f;
    --gp-gold-dark: #8a7316;
    --gp-gold-soft: #faf5e2;
    --gp-ink: #2b2b2b;
    --gp-muted: #6b6760;
    --gp-sidebar: #1f1f23;
    --gp-sidebar-2: #2a2a30;
    --gp-sidebar-text: #d9d5cc;
    --gp-bg: #f6f5f2;
    --gp-surface: #ffffff;
    --gp-border: #e9e5dc;
    --gp-radius: 12px;
    --gp-shadow: 0 1px 2px rgba(31, 31, 35, .04), 0 4px 16px rgba(31, 31, 35, .06);
    --bs-primary: #9e2329;
    --bs-primary-rgb: 158, 35, 41;
    --bs-link-color: #9e2329;
    --bs-link-hover-color: #7a1a1f;
}

/* ---------- Base ---------- */
body {
    background: var(--gp-bg);
    color: var(--gp-ink);
}

a, .btn-link {
    color: var(--gp-red);
}

    a:hover {
        color: var(--gp-red-dark);
    }

::selection {
    background: var(--gp-gold);
    color: #fff;
}

body:not(.rz-default-scrollbars)::-webkit-scrollbar-thumb {
    background: #c9c4b8;
    border-radius: 8px;
}

    body:not(.rz-default-scrollbars)::-webkit-scrollbar-thumb:hover {
        background: var(--gp-red);
    }

/* ---------- Header ---------- */
.header {
    background: var(--gp-surface);
    box-shadow: 0 1px 0 var(--gp-border), 0 6px 18px rgba(31, 31, 35, .05);
}

    /* two-tone capsule stripe under the header */
    .header::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 3px;
        background: linear-gradient(90deg, var(--gp-gold) 0 260px, var(--gp-red) 260px 100%);
        z-index: 2;
    }

    .header .header-left {
        background: var(--gp-surface) !important;
        display: flex;
        align-items: center;
        border-right: 1px solid var(--gp-border);
    }

        .header .header-left .logo img {
            width: auto;
            height: 40px;
            max-width: 220px;
            object-fit: contain;
        }

        .header .header-left .logo-small img {
            width: auto;
            height: 30px;
        }

    .header .user-img img {
        border: 2px solid var(--gp-gold);
    }

    .header .menu-drop-user .dropdown-item:hover {
        background: var(--gp-gold-soft);
        color: var(--gp-red);
    }

/* ---------- Sidebar ---------- */
.sidebar,
.sidebar .slimScrollDiv,
.sidebar .sidebar-inner {
    background: var(--gp-sidebar);
}

.sidebar {
    border-right: 0;
}

    .sidebar .sidebar-menu {
        padding: 8px 10px;
    }

        .sidebar .sidebar-menu > ul > li {
            margin-bottom: 4px;
        }

            .sidebar .sidebar-menu > ul > li > a {
                display: flex;
                align-items: center;
                border-radius: 8px;
                border-left: 3px solid transparent;
                transition: background .15s ease, border-color .15s ease;
            }

                .sidebar .sidebar-menu > ul > li > a span,
                .sidebar .sidebar-menu > ul > li > a i,
                .sidebar .sidebar-menu > ul > li > a .menu-arrow {
                    color: var(--gp-sidebar-text);
                }

                .sidebar .sidebar-menu > ul > li > a:hover {
                    background: rgba(255, 255, 255, .06);
                    border-left-color: var(--gp-gold);
                    border-radius: 8px;
                }

                    .sidebar .sidebar-menu > ul > li > a:hover span,
                    .sidebar .sidebar-menu > ul > li > a:hover i {
                        color: #fff;
                    }

                .sidebar .sidebar-menu > ul > li > a.subdrop {
                    background: rgba(255, 255, 255, .06);
                    border-left-color: var(--gp-gold);
                }

            .sidebar .sidebar-menu > ul > li.active > a,
            .sidebar .sidebar-menu > ul > li > a.active {
                background: var(--gp-red);
                border-left-color: var(--gp-gold);
                border-radius: 8px;
            }

                .sidebar .sidebar-menu > ul > li.active > a span,
                .sidebar .sidebar-menu > ul > li.active > a i,
                .sidebar .sidebar-menu > ul > li > a.active span {
                    color: #fff;
                }

            .sidebar .sidebar-menu > ul > li.submenu ul {
                background: var(--gp-sidebar-2);
                border-radius: 8px;
                margin: 4px 0 6px;
                padding: 6px 0;
            }

                .sidebar .sidebar-menu > ul > li.submenu ul li a {
                    color: var(--gp-sidebar-text);
                    background: transparent !important;
                }

                    .sidebar .sidebar-menu > ul > li.submenu ul li a::after {
                        border-color: #6f6a62;
                    }

                    .sidebar .sidebar-menu > ul > li.submenu ul li a:hover,
                    .sidebar .sidebar-menu > ul > li.submenu ul li a.active {
                        color: var(--gp-gold);
                    }

                        .sidebar .sidebar-menu > ul > li.submenu ul li a:hover:after,
                        .sidebar .sidebar-menu > ul > li.submenu ul li a.active:after {
                            background: var(--gp-gold);
                            border-color: var(--gp-gold);
                        }

@media (max-width: 991px) {
    .sidebar {
        background: var(--gp-sidebar);
    }
}

/* ---------- Page content ---------- */
.page-wrapper {
    background: var(--gp-bg);
    min-height: 100vh;
}

.page-header h4 {
    color: var(--gp-ink);
    font-weight: 700;
}

.page-header h6 {
    color: var(--gp-muted);
}

.card {
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius);
    box-shadow: var(--gp-shadow);
}

    .card .card-header {
        background: transparent;
        border-bottom: 1px solid var(--gp-border);
    }

.dash-widget,
.dash-count {
    border-radius: var(--gp-radius);
    box-shadow: var(--gp-shadow);
}

/* ---------- Buttons ---------- */
.btn-primary,
.btn-submit,
.page-header .btn-added,
.btn-added {
    background: var(--gp-red) !important;
    border-color: var(--gp-red) !important;
    color: #fff !important;
    border-radius: 8px;
}

    .btn-primary:hover,
    .btn-primary:focus,
    .btn-submit:hover,
    .page-header .btn-added:hover,
    .btn-added:hover {
        background: var(--gp-red-dark) !important;
        border-color: var(--gp-red-dark) !important;
        box-shadow: none !important;
        color: #fff !important;
    }

.btn-outline-primary {
    color: var(--gp-red);
    border-color: var(--gp-red);
}

    .btn-outline-primary:hover {
        background: var(--gp-red);
        border-color: var(--gp-red);
        color: #fff;
    }

.btn-warning {
    background: var(--gp-gold);
    border-color: var(--gp-gold);
    color: #fff;
}

.text-primary {
    color: var(--gp-red) !important;
}

.bg-primary {
    background-color: var(--gp-red) !important;
}

/* ---------- Forms ---------- */
.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--gp-gold) !important;
    box-shadow: 0 0 0 3px rgba(203, 174, 47, .2) !important;
    outline: none;
}

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

/* ---------- Tables ---------- */
.table thead th,
.mud-table-root .mud-table-head,
.mud-table-root .mud-table-head .mud-table-cell {
    background: var(--gp-gold-soft) !important;
    color: var(--gp-ink);
    font-weight: 700;
}

.table tbody tr:hover,
.mud-table-hover .mud-table-container .mud-table-root .mud-table-body .mud-table-row:hover {
    background: #fdfbf4;
}

.mud-table {
    border-radius: var(--gp-radius) !important;
    overflow: hidden;
}

.pagination .page-item.active .page-link {
    background: var(--gp-red);
    border-color: var(--gp-red);
}

.pagination .page-link {
    color: var(--gp-red);
}

/* ---------- Radzen ---------- */
.rz-button.rz-primary,
.rz-datepicker-trigger,
.rz-paginator-page.rz-state-active {
    background-color: var(--gp-red) !important;
}

/* ---------- Login ---------- */
.account-page .login-wrapper {
    display: flex;
    background: var(--gp-bg);
}

    .account-page .login-wrapper .login-img {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
        background: radial-gradient(1200px 600px at 20% 10%, #fff 0, var(--gp-gold-soft) 55%, #f1e7c4 100%);
    }

        /* decorative capsule shapes */
        .account-page .login-wrapper .login-img::before,
        .account-page .login-wrapper .login-img::after {
            content: "";
            position: absolute;
            width: 420px;
            height: 160px;
            border-radius: 80px;
            background: linear-gradient(90deg, var(--gp-gold) 0 50%, var(--gp-red) 50% 100%);
            opacity: .12;
            transform: rotate(-30deg);
        }

        .account-page .login-wrapper .login-img::before {
            top: -40px;
            left: -120px;
        }

        .account-page .login-wrapper .login-img::after {
            bottom: -30px;
            right: -110px;
        }

        .account-page .login-wrapper .login-img img {
            width: min(70%, 520px);
            position: relative;
            z-index: 1;
        }

    .account-page .login-wrapper .login-content {
        box-shadow: -10px 0 40px rgba(31, 31, 35, .06);
        border-left: 4px solid var(--gp-red);
    }

        .account-page .login-wrapper .login-content .login-logo {
            margin-top: 0;
            max-width: 240px;
        }

            .account-page .login-wrapper .login-content .login-logo img {
                width: 240px;
                max-width: 100%;
            }

        .account-page .login-wrapper .login-content .login-userheading h3 {
            color: var(--gp-ink);
        }

        .account-page .login-wrapper .login-content .form-login input {
            height: 46px;
            border-radius: 8px;
        }

        .account-page .login-wrapper .login-content .form-login .btn-login {
            border-radius: 8px;
        }

            .account-page .login-wrapper .login-content .form-login .btn-login:hover {
                box-shadow: none !important;
                background: var(--gp-red-dark);
                color: #fff;
            }

@media (max-width: 991px) {
    .account-page .login-wrapper .login-img {
        display: none !important;
    }

    .account-page .login-wrapper .login-content {
        border-left: 0;
        border-top: 4px solid var(--gp-red);
    }
}

.sidebar .sidebar-inner {
    width: 100%;
}
