/**
 * Dragon Oath Manager 5
 * PHP User Management System
 * By the Damigoo Inc at https://damigoo.com
 * Contact us: damigoo.com@gmail.com
 */
 
body.fixed-nav {
    margin-top: 56px;
}
body.sticky-footer {
    margin-bottom: 56px;
}
body.sticky-footer .content-wrapper {
    min-height: calc(100vh - 56px - 56px);
}
nav.bg-dark {
    background-color: #822f39!important;
}	
nav.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.9);
}	
.content-wrapper {
    min-height: calc(100vh - 56px);
    overflow-x: hidden;
    background: #f0e9e1;	
}
@media (min-width: 992px) {
    .content-wrapper {
        margin-left: 250px;
    }
}
#mainNav .navbar-collapse {
    overflow: auto;
    max-height: 75vh;
}
#mainNav .navbar-collapse::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}
#mainNav .navbar-collapse .navbar-nav .nav-item .nav-link {
    cursor: pointer;
}
#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
    float: right;
    content: '\f107';
    font-family: 'FontAwesome';
}
#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse.collapsed:after {
    content: '\f105';
}
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level,
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level {
    padding-left: 0;
}
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a,
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a {
    display: block;
    padding: 0.5em 0;
}
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a:focus,
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a:hover,
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a:focus,
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a:hover {
    text-decoration: none;
}
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a {
    padding-left: 1em;
}
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a {
    padding-left: 2em;
}
#mainNav .navbar-collapse .sidenav-toggler {
    display: none;
}
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link {
    position: relative;
    min-width: 45px;
}
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
    float: right;
    width: auto;
    content: '\f105';
    border: none;
    font-family: 'FontAwesome';
}
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link .new-indicator {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 1.1rem;
}
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link .new-indicator .number {
    position: absolute;
    top: 7px;
    left: 0;
    width: 22.625px;
    text-align: center;
    color: white;
    font-size: 0.5rem;
}
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown.show > .nav-link:after {
    content: '\f107';
}
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown .dropdown-menu > .dropdown-item > .dropdown-message {
    overflow: hidden;
    max-width: none;
    text-overflow: ellipsis;
}
@media (min-width: 992px) {
    #mainNav .navbar-brand {
        width: 250px;
    }
    #mainNav .navbar-collapse {
        overflow: visible;
        max-height: none;
    }
    #mainNav .navbar-collapse .navbar-sidenav {
        position: absolute;
        top: 0;
        left: 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 56px;
    }
    #mainNav .navbar-collapse .navbar-sidenav::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
    }
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item {
        width: 250px;
        padding: 0;
    }
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
        padding: 1em;
    }
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level,
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level {
        padding-left: 0;
        list-style: none;
    }
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li,
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li {
        width: 250px;
    }
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a,
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
        padding: 1em;
    }
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a {
        padding-left: 2em;
    }
    #mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
        padding-left: 3em;
    }
    #mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link {
        min-width: 0;
    }
    #mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
        width: 24px;
        text-align: center;
    }
    #mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown .dropdown-menu > .dropdown-item > .dropdown-message {
        max-width: 300px;
    }
}
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
    color: rgba(255, 255, 255, 0.5);
}
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
    color: rgba(255, 255, 255, 0.5);
}
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item > .nav-link:hover {
    color: rgba(255, 255, 255, 0.75);
}
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a,
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
    color: rgba(255, 255, 255, 0.5);
}
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a:focus,
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a:hover,
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a:focus,
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a:hover {
    color: rgba(255, 255, 255, 0.75);
}
#mainNav.navbar-dark .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
    color: rgba(255, 255, 255, 0.75);
}
@media (min-width: 992px) {
    #mainNav.navbar-dark .navbar-collapse .navbar-sidenav {
        background: #343a40;
    }
    #mainNav.navbar-dark .navbar-collapse .navbar-sidenav li.active a {
        color: white !important;
        background-color: #65594f;
    }
    #mainNav.navbar-dark .navbar-collapse .navbar-sidenav li.active a:focus,
    #mainNav.navbar-dark .navbar-collapse .navbar-sidenav li.active a:hover {
        color: white;
    }
    #mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level,
    #mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level {
        background: #343a40;
    }
}
#mainNav.navbar-light .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
    color: rgba(0, 0, 0, 0.5);
}
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
    color: rgba(0, 0, 0, 0.5);
}
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item > .nav-link:hover {
    color: rgba(0, 0, 0, 0.7);
}
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a,
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
    color: rgba(0, 0, 0, 0.5);
}
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a:focus,
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a:hover,
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a:focus,
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a:hover {
    color: rgba(0, 0, 0, 0.7);
}
#mainNav.navbar-light .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
    color: rgba(0, 0, 0, 0.5);
}
@media (min-width: 992px) {
    #mainNav.navbar-light .navbar-collapse .navbar-sidenav {
        background: #f8f9fa;
    }
    #mainNav.navbar-light .navbar-collapse .navbar-sidenav li.active a {
        color: #000 !important;
        background-color: #f0e9e1;
    }
    #mainNav.navbar-light .navbar-collapse .navbar-sidenav li.active a:focus,
    #mainNav.navbar-light .navbar-collapse .navbar-sidenav li.active a:hover {
        color: #000;
    }
    #mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level,
    #mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level {
        background: #f8f9fa;
    }
}
#mainNav.fixed-top .sidenav-toggler {
    display: none;
}
@media (min-width: 992px) {
    #mainNav.fixed-top .navbar-sidenav {
        height: calc(100vh - 112px);
    }
    #mainNav.fixed-top .sidenav-toggler {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: calc(100vh - 56px);
    }
    #mainNav.fixed-top .sidenav-toggler > .nav-item {
        width: 250px;
        padding: 0;
    }
    #mainNav.fixed-top .sidenav-toggler > .nav-item > .nav-link {
        padding: 1em;
    }
}
#mainNav.fixed-top.navbar-dark .sidenav-toggler {
    background-color: #212529;
}
#mainNav.fixed-top.navbar-dark .sidenav-toggler a i {
    color: rgba(255, 255, 255, 0.75);
}
#mainNav.fixed-top.navbar-light .sidenav-toggler {
    background-color: #dee2e6;
}
#mainNav.fixed-top.navbar-light .sidenav-toggler a i {
    color: rgba(0, 0, 0, 0.5);
}
body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler {
    overflow-x: hidden;
    width: 55px;
}
body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler .nav-item,
body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler .nav-link {
    width: 55px !important;
}
body.sidenav-toggled #mainNav.fixed-top .sidenav-toggled-button i {
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: 'FlipH';
}
#mainNav.static-top .sidenav-toggler {
    display: none;
}
@media (min-width: 992px) {
    #mainNav.static-top .sidenav-toggler {
        display: flex;
    }
}
body.sidenav-toggled #mainNav.static-top .sidenav-toggled-button i {
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: 'FlipH';
}
.sidenav-toggled-button i {
    font-weight: 800;
}
.navbar-sidenav-tooltip.show {
    display: none;
}
@media (min-width: 992px) {
    body.sidenav-toggled .content-wrapper {
        margin-left: 55px;
    }
}
body.sidenav-toggled .navbar-sidenav {
    overflow-x: hidden;
    width: 55px;
}
body.sidenav-toggled .navbar-sidenav .nav-link-text {
    display: none;
}
body.sidenav-toggled .navbar-sidenav .nav-item,
body.sidenav-toggled .navbar-sidenav .nav-link {
    width: 55px !important;
}
body.sidenav-toggled .navbar-sidenav .nav-item:after,
body.sidenav-toggled .navbar-sidenav .nav-link:after {
    display: none;
}
body.sidenav-toggled .navbar-sidenav-tooltip.show {
    display: flex;
}
footer.sticky-footer {
    position: absolute;
    right: 0;
    width: 100%;
    height: 56px;
    background-color: #fff;
    line-height: 55px;
}
@media (min-width: 992px) {
    footer.sticky-footer {
        width: calc(100% - 250px);
    }
}
@media (min-width: 992px) {
    body.sidenav-toggled footer.sticky-footer {
        width: calc(100% - 55px);
    }
}
.z-0 {
    z-index: 0;
}
.z-1 {
    z-index: 1;
}
.o-hidden {
    overflow: hidden !important;
}
.card-body-icon {
    position: absolute;
    z-index: 0;
    top: -25px;
    right: -25px;
    font-size: 5rem;
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);
}

.table-responsive .table > thead > tr > th,
.table-responsive .table > tbody > tr > th,
.table-responsive .table > tfoot > tr > th,
.table-responsive .table > thead > tr > td,
.table-responsive .table > tbody > tr > td,
.table-responsive .table > tfoot > tr > td {
	white-space: nowrap;
}

/* Same Damigoo structure, ivory / burgundy palette. */
nav.bg-dark {
    background-color: #822f39 !important;
    border-bottom: 1px solid #6d2530;
}
nav.navbar-dark .navbar-brand,
nav.navbar-dark .navbar-nav .nav-link {
    color: #ffffff;
}
nav.navbar-dark .navbar-nav .nav-link:hover,
nav.navbar-dark .navbar-nav .active > .nav-link,
nav.navbar-dark .navbar-brand:hover {
    color: #ffffff;
}
nav.navbar-dark .navbar-toggler {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .5);
}
nav.navbar-dark .navbar-toggler-icon {
    filter: none;
}
a {
    color: #822f39;
}
a:hover {
    color: #63232d;
}
.btn-primary {
    color: #fff;
    background-color: #822f39;
    border-color: #822f39;
}
.btn-primary:hover,
.btn-primary:active {
    background-color: #6d2530;
    border-color: #63232d;
}
.form-control:focus,
.custom-select:focus {
    border-color: #aa777d;
    box-shadow: 0 0 0 .2rem rgba(130, 47, 57, .13);
}
.card-header,
.breadcrumb,
.table-striped tbody tr:nth-of-type(odd) {
    background-color: #f4eee8;
}
.dmg-sidebar .nav-item a.active {
    background-color: #822f39 !important;
}
/* Admin sidebar remains dark; only its accent changes. */
#mainNav .navbar-sidenav .nav-link {
    color: rgba(255,255,255,.9);
}
#mainNav .navbar-sidenav .nav-link:hover {
    color: #fff;
}

.pace .pace-progress {
    background: #822f39 !important;
}

/* Interior neutral cards: presentation only; keep the existing grid and sizing. */
body:not(.fixed-nav) .dmg-content-main .card:not(.bg-primary):not(.bg-secondary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark):not(.dmg-bg-primary):not(.dmg-bg-secondary) {
    background-color: rgba(255, 253, 250, .98);
    border-color: #e5dacd;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(90, 53, 40, .06);
}
body:not(.fixed-nav) .dmg-content-main .card > .card-header:not(.bg-primary):not(.bg-secondary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark) {
    background-color: #f4eee8 !important;
    color: #822f39;
    border-bottom-color: #e5dacd;
    border-radius: 11px 11px 0 0;
}
body:not(.fixed-nav) .dmg-content-main .card .form-control,
body:not(.fixed-nav) .dmg-content-main .card .custom-select {
    border-radius: 8px;
}
body:not(.fixed-nav) .dmg-content-main .card .form-control:not(:disabled):not([readonly]),
body:not(.fixed-nav) .dmg-content-main .card .custom-select:not(:disabled) {
    background-color: #fffdfa;
}
body:not(.fixed-nav) .dmg-content-main .card form:not(.was-validated) .form-control:not(.is-valid):not(.is-invalid):not(:focus),
body:not(.fixed-nav) .dmg-content-main .card form:not(.was-validated) .custom-select:not(.is-valid):not(.is-invalid):not(:focus) {
    border-color: #ddd3c8;
}
/* Preserve Bootstrap validator feedback, including while the field is focused. */
body:not(.fixed-nav) .dmg-content-main .card .form-control.is-valid,
body:not(.fixed-nav) .dmg-content-main .card .custom-select.is-valid,
body:not(.fixed-nav) .dmg-content-main .card .was-validated .form-control:valid,
body:not(.fixed-nav) .dmg-content-main .card .was-validated .custom-select:valid {
    border-color: #28a745;
}
body:not(.fixed-nav) .dmg-content-main .card .form-control.is-invalid,
body:not(.fixed-nav) .dmg-content-main .card .custom-select.is-invalid,
body:not(.fixed-nav) .dmg-content-main .card .was-validated .form-control:invalid,
body:not(.fixed-nav) .dmg-content-main .card .was-validated .custom-select:invalid {
    border-color: #dc3545;
}
body:not(.fixed-nav) .dmg-content-main .card .form-control.is-valid:focus,
body:not(.fixed-nav) .dmg-content-main .card .custom-select.is-valid:focus,
body:not(.fixed-nav) .dmg-content-main .card .was-validated .form-control:valid:focus,
body:not(.fixed-nav) .dmg-content-main .card .was-validated .custom-select:valid:focus {
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25);
}
body:not(.fixed-nav) .dmg-content-main .card .form-control.is-invalid:focus,
body:not(.fixed-nav) .dmg-content-main .card .custom-select.is-invalid:focus,
body:not(.fixed-nav) .dmg-content-main .card .was-validated .form-control:invalid:focus,
body:not(.fixed-nav) .dmg-content-main .card .was-validated .custom-select:invalid:focus {
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25);
}
body:not(.fixed-nav) .dmg-content-main .dmg-sidebar > .nav {
    align-self: flex-start;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(90, 53, 40, .06);
}

/* Mobile sidebar: round the outside, keep the MENU/list seam straight. */
@media (max-width: 991.98px) {
    body:not(.fixed-nav) .dmg-content-main nav.navbar.d-lg-none.bg-secondary {
        border-radius: 12px;
    }
    body:not(.fixed-nav) .dmg-content-main nav.navbar.d-lg-none.bg-secondary:has(.navbar-toggler[data-target="#sidebar"][aria-expanded="true"]) {
        border-radius: 12px 12px 0 0;
    }
    body:not(.fixed-nav) .dmg-content-main .dmg-sidebar > .nav {
        border-radius: 0 0 12px 12px;
    }
}

/* Large-window CSS zoom: public Kiem Hiep only, Full HD is the baseline. */
@media screen and (min-width: 2240px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer) {
        --kiemhiep-zoom: 1.15;
        zoom: var(--kiemhiep-zoom);
    }
    body.sticky-footer.dmg-home-page:has(> .kiemhiep-footer) {
        min-height: calc(100vh / var(--kiemhiep-zoom));
    }
}
@media screen and (min-width: 2560px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer) {
        --kiemhiep-zoom: 1.33;
    }
}
@media screen and (min-width: 2880px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer) {
        --kiemhiep-zoom: 1.5;
    }
}

/* Auth artwork scrolls with the page; only the bottom fades into the scenery. */
body:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column)::before {
    position: absolute;
    top: 0;
}
@media (min-width: 768px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column)::before {
        width: 100%;
        max-width: none;
        height: min(calc(100vw / var(--kiemhiep-zoom, 1) * .5628), calc(100vh / var(--kiemhiep-zoom, 1)));
        background-size: 100% auto;
        mask-image: linear-gradient(to bottom, #000 64%, transparent 100%);
        mask-composite: add;
    }
}

/* Keep the characters close to the form; scenery fills the outer edges. */
@media (min-width: 768px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column)::before {
        width: 1600px;
        max-width: 100%;
        background-size: 1600px auto;
        height: min(900px, calc(100vh / var(--kiemhiep-zoom, 1)));
        mask-image: linear-gradient(to bottom, #000 64%, transparent 100%), linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
        mask-composite: intersect;
    }
    body:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column)::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: min(900px, calc(100vh / var(--kiemhiep-zoom, 1)));
        z-index: -2;
        pointer-events: none;
        background: url('../images/cover/mountains_kiemhiep.png') center bottom / cover no-repeat;
        opacity: .65;
        mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
    }
    body:not(.fixed-nav):has(> .kiemhiep-footer) .kiemhiep-auth-column {
        max-width: 720px;
    }
    body:not(.fixed-nav):has(> .kiemhiep-footer) .kiemhiep-login + .dmg-content-main .kiemhiep-auth-column {
        max-width: 690px;
    }
}

/* Signed-in home: a readable welcome panel and aligned service tiles. */
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index {
    padding: 40px 0 12px;
}
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index > .container > .row {
    max-width: 1000px;
    margin: 0 auto;
}
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index .col-12 {
    padding: 32px 40px;
    background: rgba(255, 253, 250, .94);
    border: 1px solid #e5dacd;
    border-radius: 16px;
    box-shadow: 0 10px 32px rgba(90, 53, 40, .07);
    color: #65594f;
    text-align: center;
    font-size: 1rem;
    line-height: 1.7;
}
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index h1 {
    margin: 0 0 18px !important;
    color: #822f39;
    font-size: 1.8rem;
    line-height: 1.4;
}
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index :is(h2, h3, h4) {
    margin: 10px 0;
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.7;
    color: #65594f;
}
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index p:last-child {
    margin: 24px 0 0;
}
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index .btn-light {
    padding: 10px 32px;
    font-size: 1rem;
    background-color: #822f39;
    border-color: #822f39;
    border-radius: 8px;
    color: #fff;
}
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index .btn-light:hover {
    background-color: #6d2530;
    border-color: #63232d;
}
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .row.text-center {
    max-width: 1000px;
    margin: 0 auto;
}
@media (min-width: 768px) {
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .row.text-center > div {
        flex: 1 1 0;
        max-width: none;
        padding: 22px 12px;
    }
}
@media (max-width: 767.98px) {
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index {
        padding-top: 24px;
    }
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index .col-12 {
        padding: 24px 20px;
    }
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index h1 {
        font-size: 1.4rem;
    }
}

/* Links retain their existing color/focus feedback without hover underlines. */
body:not(.fixed-nav):has(> .kiemhiep-footer) a:hover {
    text-decoration: none;
}

/* Warm surfaces and one radius across the public Kiem Hiep theme. */
body:not(.fixed-nav):has(> .kiemhiep-footer) {
    --kiemhiep-surface: #f2e9dd;
    --kiemhiep-surface-heading: #e9ddce;
    --kiemhiep-border: #dccbb8;
    --kiemhiep-radius: 12px;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card:not(.bg-primary):not(.bg-secondary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark):not(.dmg-bg-primary):not(.dmg-bg-secondary) {
    background-color: var(--kiemhiep-surface);
    border-color: var(--kiemhiep-border);
    border-radius: var(--kiemhiep-radius);
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card > .card-header:not(.bg-primary):not(.bg-secondary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark) {
    background-color: var(--kiemhiep-surface-heading) !important;
    border-bottom-color: var(--kiemhiep-border);
    border-radius: var(--kiemhiep-radius) var(--kiemhiep-radius) 0 0;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .card-header-tabs .nav-link.active {
    background-color: var(--kiemhiep-surface);
    color: #822f39;
    border-color: var(--kiemhiep-border) var(--kiemhiep-border) var(--kiemhiep-surface);
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .card-header-tabs .nav-link {
    border-radius: var(--kiemhiep-radius) var(--kiemhiep-radius) 0 0;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .kiemhiep-auth-column .dmg-login-form,
body:not(.fixed-nav):has(> .kiemhiep-footer) .kiemhiep-auth-column > .dmg-bg-secondary,
body:not(.fixed-nav):has(> .kiemhiep-footer) .kiemhiep-login + .dmg-content-main .kiemhiep-auth-column,
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index .col-12,
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer) .row.text-center > div,
body:not(.fixed-nav):has(> .kiemhiep-footer) .kiemhiep-footer-panel {
    background-color: var(--kiemhiep-surface) !important;
    border-color: var(--kiemhiep-border);
    border-radius: var(--kiemhiep-radius) !important;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) :is(.btn, .form-control, .custom-select, .alert, .breadcrumb, .dmg-home-icon, .back-to-top) {
    border-radius: var(--kiemhiep-radius) !important;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card .form-control:not(:disabled):not([readonly]),
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card .custom-select:not(:disabled) {
    background-color: #fff9f0;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .alert-success {
    background-color: #e3e9d8;
    border-color: #c7d2b7;
    color: #38513b;
}

/* Wallet and exchange cards share the ivory/wine palette; other status cards keep their colors. */
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) {
    background-color: var(--kiemhiep-surface) !important;
    color: #65594f !important;
    border-color: var(--kiemhiep-border);
    border-radius: var(--kiemhiep-radius);
    box-shadow: 0 6px 20px rgba(90, 53, 40, .06);
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) :is(h4, .text-light) {
    color: #822f39 !important;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) .text-warning {
    color: #946019 !important;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) .card-body > .row {
    align-items: center;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) .card-body .fa-5x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    font-size: 2rem;
    background-color: #e5d3c5;
    color: #822f39;
    border-radius: var(--kiemhiep-radius);
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) .card-body .col-3 {
    flex: 0 0 82px;
    max-width: 82px;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) .card-footer {
    background-color: var(--kiemhiep-surface-heading);
    color: #822f39 !important;
    border-top-color: var(--kiemhiep-border);
    border-radius: 0 0 var(--kiemhiep-radius) var(--kiemhiep-radius);
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) > a:hover .card-footer {
    background-color: #e2d2c0;
}

/* Restore the native Bootstrap/Damigoo corner size; keep the warm palette. */
body:not(.fixed-nav):has(> .kiemhiep-footer) {
    --kiemhiep-radius: .25rem;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card > .card-header:not(.bg-primary):not(.bg-secondary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark) {
    border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card-deck > .card:is(.bg-success, .dmg-bg-primary):has(.fa-credit-card, .fa-exchange) .card-footer {
    border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px);
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .dmg-sidebar > .nav {
    border-radius: var(--kiemhiep-radius);
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .breadcrumb {
    background-color: var(--kiemhiep-surface-heading);
    border: 1px solid var(--kiemhiep-border);
}
@media (max-width: 991.98px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main nav.navbar.d-lg-none.bg-secondary {
        border-radius: var(--kiemhiep-radius);
    }
    body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main nav.navbar.d-lg-none.bg-secondary:has(.navbar-toggler[data-target="#sidebar"][aria-expanded="true"]) {
        border-radius: var(--kiemhiep-radius) var(--kiemhiep-radius) 0 0;
    }
    body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .dmg-sidebar > .nav {
        border-radius: 0 0 var(--kiemhiep-radius) var(--kiemhiep-radius);
    }
}

/* Explicit white action footers use the same warm surface as their card. */
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .card > .card-footer.bg-white {
    background-color: var(--kiemhiep-surface) !important;
    border-top-color: var(--kiemhiep-border);
}
/* Filters outside cards use the same field colors as account settings. */
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .form-control:not(:disabled):not([readonly]),
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .custom-select:not(:disabled) {
    background-color: #fff9f0;
}
body:not(.fixed-nav):has(> .kiemhiep-footer) .dmg-content-main .input-group-text {
    background-color: var(--kiemhiep-surface-heading);
    border-color: var(--kiemhiep-border);
    color: #65594f;
}

/* Raise the landscape behind the artwork so the outer edges blend into scenery. */
@media (min-width: 768px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column)::after {
        background-image: linear-gradient(to bottom, rgba(226, 211, 192, .55), rgba(245, 241, 235, 0) 65%), url('../images/cover/mountains_kiemhiep.png');
        background-size: 100% 100%, max(100%, calc(min(900px, calc(100vh / var(--kiemhiep-zoom, 1))) * 4.4)) auto;
        background-position: center bottom;
        opacity: .85;
    }
    body:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column)::before {
        mask-image: linear-gradient(to bottom, #000 64%, transparent 100%), linear-gradient(to right, transparent, #000 18%, #000 82%, transparent);
    }
}

/* Viewport scaling starts above Full HD; older browsers retain stepped zoom. */
@media screen and (min-width: 2000px) and (max-width: 2239.98px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer) {
        --kiemhiep-zoom: 1.05;
        zoom: var(--kiemhiep-zoom);
    }
    body.sticky-footer.dmg-home-page:has(> .kiemhiep-footer) {
        min-height: calc(100vh / var(--kiemhiep-zoom));
    }
}
@supports (zoom: calc(100vw / 1920px)) {
    @media screen {
        body:not(.fixed-nav):has(> .kiemhiep-footer) {
            --kiemhiep-zoom: clamp(1, calc(100vw / 1920px), 1.5);
            zoom: var(--kiemhiep-zoom);
        }
        body.sticky-footer.dmg-home-page:has(> .kiemhiep-footer) {
            min-height: calc(100vh / var(--kiemhiep-zoom));
        }
    }
}

/* Temporarily disable automatic scaling at the user's request. */
@media screen {
    body:not(.fixed-nav):has(> .kiemhiep-footer) {
        --kiemhiep-zoom: 1;
        zoom: 1;
    }
}

/* Guest home services span the container instead of four narrow tiles. */
@media (min-width: 768px) {
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column) .kiemhiep-index + .py-5 .row.text-center {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none;
        margin-right: 0;
        margin-left: 0;
    }
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column) .kiemhiep-index + .py-5 .row.text-center > div {
        max-width: none;
        padding: 24px 16px;
    }
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column) .dmg-home-icon {
        width: 56px;
        height: 56px;
        font-size: 28px;
    }
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column) .row.text-center h3 {
        font-size: 1.125rem;
    }
    /* Tint the existing mountain/tree scenery rather than moving the characters. */
    body:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column)::after {
        background-image: linear-gradient(to bottom, rgba(226, 211, 192, .25), rgba(245, 241, 235, 0) 65%), url('../images/cover/mountains_kiemhiep.png');
        background-color: #e4d3bb;
        background-blend-mode: multiply;
        opacity: 1;
    }
}
@media (min-width: 992px) {
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column) .kiemhiep-index + .py-5 .row.text-center {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Signed-in home uses the same container width and service grid as guest home. */
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .kiemhiep-index > .container > .row,
body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .row.text-center {
    max-width: none;
    margin-right: 0;
    margin-left: 0;
}
@media (min-width: 768px) {
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .row.text-center {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .row.text-center > div {
        max-width: none;
        padding: 24px 16px;
    }
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .dmg-home-icon {
        width: 56px;
        height: 56px;
        font-size: 28px;
    }
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .row.text-center h3 {
        font-size: 1.125rem;
    }
}
@media (min-width: 992px) {
    body.dmg-home-page:not(.fixed-nav):has(> .kiemhiep-footer):not(:has(.kiemhiep-auth-column)) .row.text-center {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Use the un-tinted mountain palette that already appears at the bottom. */
@media (min-width: 768px) {
    body:not(.fixed-nav):has(> .kiemhiep-footer):has(.kiemhiep-auth-column)::after {
        background-image: url('../images/cover/mountains_kiemhiep.png');
        background-size: max(100%, calc(min(900px, calc(100vh / var(--kiemhiep-zoom, 1))) * 4.4)) auto;
        background-color: transparent;
        background-blend-mode: normal;
        opacity: 1;
    }
}
