/* ==========================================================================
   Персон эмэгтэйчүүдийн эмнэлэг — брэндийн override (навчны ногоон)
   Ачаалагдах дараалал: bootstrap → bootstrap-extended → app.css → icons.css → ЭНЭ.
   app.css / bootstrap-extended.css-ийг засахгүйгээр "primary" = цэнхэр (#008cff)
   хэрэглээг бүгдийг ногоон болгоно. Доорх selector-ууд нь theme-ийн selector-уудтай
   ижил эсвэл илүү specificity-тэй тул !important зөвхөн theme өөрөө !important
   хэрэглэсэн газарт л бичигдсэн.
   ========================================================================== */

:root {
    --p-green: #0A9949;
    --p-green-dark: #077a3a;
    --p-green-tint: rgba(10, 153, 73, .08);
    --p-green-soft: #e7f5ec;
    --p-blue: #1E6FB5;
    --p-amber: #D98E04;
    --p-rose: #C2417A;
    --p-ink: #1f2a24;
    --p-muted: #6b7a72;
    --p-surface: #ffffff;
    --p-bg: #f3f8f5;
    --p-border: #e1ece5;
    --p-radius: 12px;
    --p-shadow: 0 1px 2px rgba(16, 48, 30, .04), 0 4px 14px rgba(10, 153, 73, .06);

    /* Bootstrap 5.3-ийн primary хувьсагчдыг ч давхар ногоон болгоно */
    --bs-primary: #0A9949;
    --bs-primary-rgb: 10, 153, 73;
    --bs-primary-text-emphasis: #06522a;
    --bs-primary-bg-subtle: #e7f5ec;
    --bs-primary-border-subtle: #b6e0c6;
    --bs-link-color: #0A9949;
    --bs-link-color-rgb: 10, 153, 73;
    --bs-link-hover-color: #077a3a;
    --bs-link-hover-color-rgb: 7, 122, 58;
}

/* Pace preloader (pace.min.css нь цэнхэр #0d6efd) → ногоон */
.pace .pace-progress {
    background: var(--p-green);
}

.pace .pace-activity {
    border-top-color: var(--p-green);
    border-left-color: var(--p-green);
}

.pace .pace-progress-inner {
    box-shadow: 0 0 10px var(--p-green), 0 0 5px var(--p-green);
}

body {
    background: var(--p-bg);
    color: var(--p-ink);
}

a {
    color: var(--p-green);
}

a:hover {
    color: var(--p-green-dark);
}

/* --------------------------------------------------------------------------
   Sidebar — бүдэг ногоон туяатай дэвсгэр
   -------------------------------------------------------------------------- */
.sidebar-wrapper {
    background:
        radial-gradient(180% 110% at 0% 0%, rgba(10, 153, 73, .26) 0%, rgba(10, 153, 73, .12) 35%, rgba(10, 153, 73, .04) 60%, transparent 80%),
        linear-gradient(180deg, #edf8f1 0%, #f7fbf8 60%, #ffffff 100%);
    border-right: 1px solid rgba(10, 153, 73, .12);
    box-shadow: 0 2px 12px rgba(10, 153, 73, .12) !important;
}

.sidebar-header {
    background: rgba(255, 255, 255, .6);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(10, 153, 73, .14);
}

.sidebar-header .logo-text {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .3px;
    line-height: 1.15;
    color: var(--p-green);
}

.sidebar-header .logo-text .logo-sub {
    display: block;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .4px;
    color: var(--p-muted);
    text-transform: uppercase;
}

.toggle-icon {
    color: var(--p-green);
}

.sidebar-wrapper .metismenu ul {
    background: transparent;
}

.sidebar-wrapper .metismenu a {
    color: #3b4a42;
    border-radius: 8px;
    padding: 8px 14px;
}

.sidebar-wrapper .metismenu a .parent-icon {
    color: #5c6d64;
    transition: color .2s;
}

.sidebar-wrapper .metismenu a:hover,
.sidebar-wrapper .metismenu a:focus,
.sidebar-wrapper .metismenu a:active {
    color: var(--p-green-dark);
    background-color: var(--p-green-tint);
}

.sidebar-wrapper .metismenu a:hover .parent-icon {
    color: var(--p-green);
}

.sidebar-wrapper .metismenu .mm-active > a {
    color: var(--p-green-dark);
    background-color: rgba(10, 153, 73, .12);
    font-weight: 500;
}

.sidebar-wrapper .metismenu .mm-active > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 3px;
    background: var(--p-green);
}

.sidebar-wrapper .metismenu .mm-active > a .parent-icon {
    color: var(--p-green);
}

.menu-label {
    color: #7f958a;
    font-size: 11px;
    letter-spacing: 1px;
    padding: 18px 14px 6px 14px;
}

/* --------------------------------------------------------------------------
   Topbar
   -------------------------------------------------------------------------- */
.topbar {
    background: #fff;
    border-bottom: 1px solid rgba(10, 153, 73, .12);
    -webkit-box-shadow: 0 2px 10px rgba(10, 153, 73, .06);
    box-shadow: 0 2px 10px rgba(10, 153, 73, .06);
}

.topbar .navbar .navbar-nav .nav-link:hover,
.topbar .navbar .navbar-nav .nav-link:focus {
    background-color: var(--p-green-soft);
    color: var(--p-green);
}

.topbar-date {
    align-items: center;
    gap: .4rem;
    font-size: 13px;
    color: var(--p-muted);
    padding: .3rem .75rem;
    border-radius: 999px;
    background: var(--p-green-soft);
    white-space: nowrap;
}

.topbar-date i {
    font-size: 16px;
    color: var(--p-green);
}

.user-box {
    border-left: 1px solid var(--p-border);
    border-right: 0;
}

.avatar-initials {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex: 0 0 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--p-green);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .5px;
    box-shadow: 0 0 0 3px var(--p-green-soft);
}

/* Зурагтай аватар (users.photo, components/avatar.blade.php): дугуй, тайрч багтаана */
.avatar-initials.has-photo {
    background: var(--p-green-soft);
    overflow: hidden;
    padding: 0;
}

.avatar-initials.has-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.user-info .user-name {
    color: var(--p-ink);
}

.user-info .designattion {
    color: var(--p-muted);
}

.mobile-toggle-menu {
    color: var(--p-green-dark);
}

.user-box .dropdown-menu {
    border: 1px solid var(--p-border);
    border-radius: 10px;
    box-shadow: var(--p-shadow);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--p-green-soft);
    color: var(--p-green-dark);
}

/* --------------------------------------------------------------------------
   Page footer, breadcrumb
   -------------------------------------------------------------------------- */
.page-footer {
    background: var(--p-bg);
    border-top: 1px solid var(--p-border);
    color: var(--p-muted);
    font-size: 12px;
}

.page-breadcrumb {
    margin-bottom: 1.25rem !important;
}

.breadcrumb-title {
    color: #0c5f30;
    font-weight: 500;
    border-right: 1.5px solid var(--p-border);
}

.page-breadcrumb .breadcrumb li.breadcrumb-item {
    font-size: 14px;
    color: var(--p-muted);
}

.breadcrumb-item a {
    color: var(--p-green);
}

.breadcrumb-item.active {
    color: var(--p-ink);
}

/* --------------------------------------------------------------------------
   Primary → ногоон
   -------------------------------------------------------------------------- */
.btn-primary {
    color: #fff;
    background-color: var(--p-green);
    border-color: var(--p-green);
}

.btn-primary:hover {
    color: #fff;
    background-color: var(--p-green-dark);
    border-color: var(--p-green-dark);
}

.btn-check:focus + .btn-primary,
.btn-primary:focus,
.btn-primary:focus-visible {
    color: #fff;
    background-color: var(--p-green-dark);
    border-color: var(--p-green-dark);
    box-shadow: 0 0 0 .25rem rgba(10, 153, 73, .35);
}

.btn-check:active + .btn-primary,
.btn-check:checked + .btn-primary,
.btn-primary.active,
.btn-primary:active,
.show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--p-green-dark);
    border-color: var(--p-green-dark);
}

.btn-check:active + .btn-primary:focus,
.btn-check:checked + .btn-primary:focus,
.btn-primary.active:focus,
.btn-primary:active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(10, 153, 73, .35);
}

.btn-primary.disabled,
.btn-primary:disabled {
    color: #fff;
    background-color: var(--p-green);
    border-color: var(--p-green);
    opacity: .6;
}

.btn-outline-primary {
    color: var(--p-green);
    border-color: var(--p-green);
}

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

.btn-check:focus + .btn-outline-primary,
.btn-outline-primary:focus {
    box-shadow: 0 0 0 .25rem rgba(10, 153, 73, .35);
}

.btn-check:active + .btn-outline-primary,
.btn-check:checked + .btn-outline-primary,
.btn-outline-primary.active,
.btn-outline-primary.dropdown-toggle.show,
.btn-outline-primary:active {
    color: #fff;
    background-color: var(--p-green);
    border-color: var(--p-green);
}

.btn-check:active + .btn-outline-primary:focus,
.btn-check:checked + .btn-outline-primary:focus,
.btn-outline-primary.active:focus,
.btn-outline-primary.dropdown-toggle.show:focus,
.btn-outline-primary:active:focus {
    box-shadow: 0 0 0 .25rem rgba(10, 153, 73, .35);
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
    color: var(--p-green);
    background-color: transparent;
}

.btn-link {
    color: var(--p-green);
}

.btn-link:hover {
    color: var(--p-green-dark);
}

.text-primary {
    color: var(--p-green) !important;
}

.bg-primary,
.badge.bg-primary {
    background-color: var(--p-green) !important;
}

.bg-light-primary {
    background-color: var(--p-green-tint) !important;
}

.border-primary {
    border-color: var(--p-green) !important;
}

.progress-bar {
    background-color: var(--p-green);
}

.form-control:focus,
.form-select:focus {
    border-color: #7fcf9f;
    box-shadow: 0 0 0 .25rem rgba(10, 153, 73, .18);
}

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

.form-check-input:focus {
    border-color: #7fcf9f;
    box-shadow: 0 0 0 .25rem rgba(10, 153, 73, .18);
}

.form-switch .form-check-input:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%237fcf9f'/%3e%3c/svg%3e");
}

.pagination {
    --bs-pagination-color: var(--p-green);
    --bs-pagination-hover-color: var(--p-green-dark);
    --bs-pagination-hover-bg: var(--p-green-soft);
    --bs-pagination-focus-color: var(--p-green-dark);
    --bs-pagination-focus-bg: var(--p-green-soft);
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(10, 153, 73, .18);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: var(--p-green);
    --bs-pagination-active-border-color: var(--p-green);
}

.page-link {
    color: var(--p-green);
}

.page-link:hover {
    color: var(--p-green-dark);
    background-color: var(--p-green-soft);
}

.page-item.active .page-link,
.dataTables_wrapper .page-item.active .page-link,
.dt-container .page-item.active .page-link {
    color: #fff;
    background-color: var(--p-green);
    border-color: var(--p-green);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--p-green);
    color: #fff;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--p-green-dark);
    border-bottom-color: #fff;
}

.nav-primary.nav-tabs .nav-link.active {
    color: var(--p-green);
    border-color: var(--p-green) var(--p-green) #fff;
}

.nav-link {
    color: var(--p-green);
}

.nav-link:hover,
.nav-link:focus {
    color: var(--p-green-dark);
}

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

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

.card-header:first-child {
    border-radius: calc(var(--p-radius) - 1px) calc(var(--p-radius) - 1px) 0 0;
}

.card-footer {
    border-top: 1px solid var(--p-border);
    background-color: transparent;
}

.table > thead,
.table thead th {
    background-color: #eef7f1;
    color: var(--p-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .4px;
    font-weight: 500;
    border-bottom-color: var(--p-border);
}

.table > :not(caption) > * > * {
    border-bottom-color: var(--p-border);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: #f8fbf9;
}

.table-hover > tbody > tr:hover > * {
    --bs-table-accent-bg: var(--p-green-soft);
}

.table-bordered > :not(caption) > * > * {
    border-color: var(--p-border);
}

.modal-content {
    border-radius: var(--p-radius);
    border: 1px solid var(--p-border);
    box-shadow: 0 12px 40px rgba(16, 48, 30, .14);
}

.modal-header {
    border-bottom: 1px solid var(--p-border);
}

.modal-footer {
    border-top: 1px solid var(--p-border);
}

.alert-success {
    color: #06522a;
    background-color: var(--p-green-soft);
    border-color: #b6e0c6;
}

.alert-primary {
    color: #06522a;
    background-color: var(--p-green-soft);
    border-color: #b6e0c6;
}

.list-group-item.active {
    background-color: var(--p-green);
    border-color: var(--p-green);
}

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

/* Select2 (bootstrap theme) — сонгосон мөр */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--p-green);
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-selection--single:focus {
    border-color: #7fcf9f;
}

/* --------------------------------------------------------------------------
   Хянах самбарын компонентууд (DASHBOARD agent-тай тохирсон contract)
   -------------------------------------------------------------------------- */
.dash-greeting {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    margin-bottom: 1.25rem;
}

.dash-greeting__title {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--p-ink);
    margin: 0;
    line-height: 1.25;
}

.dash-greeting__sub {
    color: var(--p-muted);
    font-size: 13px;
    margin: .2rem 0 0 0;
}

.dash-greeting__date {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .9rem;
    border-radius: 999px;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    color: var(--p-green-dark);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    box-shadow: var(--p-shadow);
}

.dash-greeting__right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
}

/* Админы "самбар харах" сонголт */
.dash-greeting__select {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .3rem .6rem .3rem .8rem;
    border-radius: 999px;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    box-shadow: var(--p-shadow);
    color: var(--p-green);
    font-size: 13px;
    max-width: 100%;
}

.dash-greeting__select select {
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--p-ink);
    font-size: 13px;
    font-weight: 500;
    max-width: 260px;
    cursor: pointer;
}

.dash-viewas {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    padding: .6rem 1rem;
    border-radius: var(--p-radius);
    background: rgba(217, 142, 4, .12);
    border: 1px solid rgba(217, 142, 4, .35);
    color: #7a5002;
    font-size: 13px;
}

.dash-viewas > i.bx {
    font-size: 18px;
    color: var(--p-amber);
}

.dash-viewas__back {
    margin-left: auto;
    color: var(--p-green-dark);
    font-weight: 500;
    white-space: nowrap;
}

.dash-greeting__date i {
    font-size: 16px;
    color: var(--p-green);
}

/* Статистик карт */
.stat-card {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: 1rem 1.1rem;
    height: 100%;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    border-radius: var(--p-radius);
    box-shadow: var(--p-shadow);
    min-width: 0;
}

.stat-card__icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--p-green-tint);
    color: var(--p-green);
}

.stat-card__icon i.bx,
.stat-card__icon .bx {
    font-size: 22px;
    line-height: 1;
}

.stat-card__body {
    min-width: 0;
    flex: 1 1 auto;
}

.stat-card__label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--p-muted);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stat-card__value {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.15;
    color: var(--p-ink);
    margin: .1rem 0 0 0;
}

.stat-card__hint {
    font-size: 12px;
    color: var(--p-muted);
    margin: .15rem 0 0 0;
}

.stat-card--green .stat-card__icon {
    background: var(--p-green-tint);
    color: var(--p-green);
}

.stat-card--blue .stat-card__icon {
    background: rgba(30, 111, 181, .1);
    color: var(--p-blue);
}

.stat-card--amber .stat-card__icon {
    background: rgba(217, 142, 4, .12);
    color: var(--p-amber);
}

.stat-card--rose .stat-card__icon {
    background: rgba(194, 65, 122, .1);
    color: var(--p-rose);
}

/* Самбарын карт */
.dash-card {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.dash-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .9rem 1rem .5rem 1rem;
}

.dash-card__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--p-ink);
    margin: 0;
}

a.dash-card__link,
.dash-card__link {
    font-size: 13px;
    color: var(--p-green);
    white-space: nowrap;
}

a.dash-card__link:hover {
    color: var(--p-green-dark);
    text-decoration: underline;
}

.dash-card__body {
    padding: 0 1rem 1rem 1rem;
    flex: 1 1 auto;
}

/* Жагсаалт */
.dash-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dash-list__item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem 0;
    border-bottom: 1px solid var(--p-border);
}

.dash-list__item:last-child {
    border-bottom: 0;
}

.dash-list__time {
    font-family: "Roboto Mono", "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 13px;
    font-weight: 600;
    color: var(--p-green);
    min-width: 52px;
    flex: 0 0 auto;
}

.dash-list__main {
    flex: 1 1 auto;
    min-width: 0;
}

.dash-list__name {
    font-weight: 500;
    color: var(--p-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-list__sub {
    font-size: 12px;
    color: var(--p-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-list__badge {
    flex: 0 0 auto;
    margin-left: auto;
}

/* Төлвийн pill */
.status-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .15rem .6rem .15rem .5rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
    background: #eef1ef;
    color: #5c6d64;
}

.status-pill::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 6px;
}

.status-pill--open {
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.status-pill--booked {
    background: rgba(217, 142, 4, .13);
    color: #9a6403;
}

.status-pill--started {
    background: rgba(30, 111, 181, .11);
    color: var(--p-blue);
}

.status-pill--done {
    background: #e4efe8;
    color: #3f5a4a;
}

.status-pill--unpaid {
    background: rgba(194, 65, 122, .11);
    color: var(--p-rose);
}

.status-pill--paid {
    background: var(--p-green);
    color: #fff;
}

.status-pill--paid::before {
    background: rgba(255, 255, 255, .85);
}

.status-pill--closed,
.status-pill--other {
    background: #eef1ef;
    color: #6b7a72;
}

/* Хурдан үйлдлүүд */
.quick-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 220px));
    justify-content: start;
    gap: .75rem;
    margin-bottom: 1.25rem;
}

a.quick-action,
.quick-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .9rem .6rem;
    text-align: center;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    border-radius: var(--p-radius);
    box-shadow: var(--p-shadow);
    color: var(--p-ink);
    font-size: 13px;
    font-weight: 500;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.quick-action__icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--p-green-tint);
    color: var(--p-green);
}

.quick-action i.bx,
.quick-action .bx {
    font-size: 26px;
    line-height: 1;
    color: var(--p-green);
}

/* Хэрэв icon-ийг тойрог div-гүй шууд тавьсан бол ч тойрог гарна */
.quick-action > i.bx {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--p-green-tint);
}

.quick-action__label {
    font-size: 13px;
    line-height: 1.3;
}

a.quick-action:hover,
a.quick-action:focus {
    color: var(--p-green-dark);
    border-color: var(--p-green);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(10, 153, 73, .14);
    text-decoration: none;
}

/* Хоосон төлөв */
.dash-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: 1.5rem 1rem;
    text-align: center;
    color: var(--p-muted);
    font-size: 13px;
}

.dash-empty i.bx,
.dash-empty .bx {
    font-size: 30px;
    color: #a9bfb3;
    line-height: 1;
}

/* Авсаархан хүснэгт */
.table-dash {
    font-size: 13px;
    margin-bottom: 0;
}

.table-dash > :not(caption) > * > * {
    padding: .5rem .75rem;
    vertical-align: middle;
}

.table-dash thead th {
    padding: .45rem .75rem;
}

/* Chart.js хайрцаг */
.chart-box {
    position: relative;
    height: 220px;
    width: 100%;
}

.chart-box canvas {
    max-width: 100%;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    .page-content {
        padding: 1rem 1rem .7rem 1rem;
    }

    .dash-greeting {
        flex-direction: column;
        align-items: flex-start;
    }

    .dash-greeting__title {
        font-size: 1.15rem;
    }

    .stat-card {
        padding: .8rem .85rem;
        gap: .7rem;
    }

    .stat-card__icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .stat-card__icon i.bx,
    .stat-card__icon .bx {
        font-size: 19px;
    }

    .stat-card__value {
        font-size: 21px;
    }

    .stat-card__label {
        font-size: 11px;
        white-space: normal;
    }

    .quick-actions {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: .5rem;
    }

    .dash-list__time {
        min-width: 44px;
    }

    .dash-list__badge .status-pill {
        padding-left: .4rem;
        padding-right: .45rem;
    }

    .chart-box {
        height: 190px;
    }
}

@media (max-width: 575.98px) {
    .stat-card__value {
        font-size: 19px;
    }

    .dash-list__item {
        flex-wrap: wrap;
    }

    /* Зөвхөн цагийн баганатай мөрөнд badge-ийг нэрийн доор шилжүүлнэ;
       цаггүй жагсаалтад (шинэ үйлчлүүлэгчид, сул цаг) мөрөнд нь хэвээр үлдээнэ */
    .dash-list__time ~ .dash-list__badge {
        margin-left: 0;
        width: 100%;
        padding-left: calc(44px + .75rem);
    }
}


/* --------------------------------------------------------------------------
   Үйлчлүүлэгчийн карт — жагсаалт (LIST agent, docs/customer-card-spec.md B1):
   .customer-* (cards.blade.php), .person-finder* (_finder.blade.php +
   /assets/js/person-finder.js), .cust-form* (_form.blade.php #customer-modal)
   -------------------------------------------------------------------------- */
.mono {
    font-family: "Roboto Mono", "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 13px;
    letter-spacing: .3px;
}

.customer-stats a {
    color: inherit;
    text-decoration: none;
    display: block;
    height: 100%;
}

.customer-stats a:hover .stat-card {
    border-color: var(--p-green);
}

.customer-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem .75rem;
}

.customer-toolbar__search {
    flex: 1 1 280px;
    max-width: 480px;
}

.customer-toolbar__search .form-control {
    border-radius: 999px;
    padding-left: 2.3rem;
    background: var(--p-bg);
    border-color: var(--p-border);
}

.customer-toolbar__search .form-control:focus {
    background: #fff;
}

.customer-toolbar__search .bx-search {
    position: absolute;
    left: .85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--p-muted);
    font-size: 18px;
    pointer-events: none;
}

.customer-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

a.customer-chip,
.customer-chip {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .28rem .8rem;
    border-radius: 999px;
    border: 1px solid var(--p-border);
    background: var(--p-surface);
    color: var(--p-muted);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

a.customer-chip:hover {
    color: var(--p-green-dark);
    border-color: var(--p-green);
}

a.customer-chip.is-active,
.customer-chip.is-active {
    background: var(--p-green);
    border-color: var(--p-green);
    color: #fff;
}

.customer-chip__count {
    font-size: 11px;
    opacity: .8;
}

.customer-toolbar__sort {
    margin-left: auto;
}

.customer-toolbar__sort .form-select {
    font-size: 13px;
    border-radius: 999px;
    padding-top: .3rem;
    padding-bottom: .3rem;
    border-color: var(--p-border);
}

.table-customers .avatar-initials {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    font-size: 12px;
    box-shadow: none;
}

.table-customers .avatar-initials.is-inactive {
    background: #c5d0ca;
}

.table-customers .avatar-initials.is-inactive.has-photo img {
    filter: grayscale(1);
    opacity: .7;
}

/* Ажилтны формын зураг (hospital/user/index modal) */
.staff-photo {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
}

.staff-photo__avatar {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
    font-size: 22px;
}

.staff-photo__body {
    flex: 1;
    min-width: 0;
}

.table-customers .customer-name {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-width: 0;
}

.table-customers .customer-name a {
    font-weight: 500;
    color: var(--p-ink);
    text-decoration: none;
}

.table-customers .customer-name a:hover {
    color: var(--p-green-dark);
    text-decoration: underline;
}

.table-customers .customer-name small {
    display: block;
    color: var(--p-muted);
    font-size: 12px;
}

.table-customers tbody tr:hover {
    --bs-table-bg-state: var(--p-green-tint);
}

.table-customers th.sortable a {
    color: inherit;
    text-decoration: none;
}

.table-customers .pill-stack {
    display: flex;
    flex-wrap: nowrap;
    gap: .25rem;
}

.customer-actions .btn {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--p-muted);
    border: 1px solid transparent;
}

.customer-actions .btn:hover,
.customer-actions .btn[aria-expanded="true"] {
    background: var(--p-green-tint);
    color: var(--p-green-dark);
    border-color: var(--p-border);
}

.customer-actions .dropdown-menu {
    font-size: 13px;
    border-color: var(--p-border);
    box-shadow: var(--p-shadow);
    border-radius: 10px;
}

.customer-actions .dropdown-item i.bx {
    font-size: 16px;
    vertical-align: -2px;
    margin-right: .35rem;
    color: var(--p-muted);
}

.customer-actions .dropdown-item:active {
    background: var(--p-green);
}

.customer-pagination .pagination {
    margin: 0;
    flex-wrap: wrap;
}

.customer-pagination .page-link {
    border-color: var(--p-border);
    color: var(--p-green-dark);
    font-size: 13px;
}

.customer-pagination .page-item.active .page-link {
    background: var(--p-green);
    border-color: var(--p-green);
    color: #fff;
}

/* bootstrap-5 pagination view-ийн англи «Showing 1 to 10 of N results» — манай «1–10 / нийт N» давхардана */
.customer-pagination p.small.text-muted {
    display: none;
}

/* 1 хуудсанд харуулах мөрийн тоо (components/per-page.blade.php) */
.per-page {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 13px;
    color: var(--p-muted, #6c757d);
}

.per-page__select {
    width: auto;
    min-width: 64px;
    font-size: 13px;
    border-radius: 999px;
    padding-top: .2rem;
    padding-bottom: .2rem;
    border-color: var(--p-border);
    color: var(--p-green-dark);
}

.customer-flash {
    border-radius: var(--p-radius);
}

/* Finder (хайлтын dropdown) — input-ийг .person-finder дотор байрлуулна */
.person-finder {
    position: relative;
}

.person-finder__input-wrap {
    position: relative;
}

.person-finder__input-wrap .bx-search {
    position: absolute;
    left: .75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--p-muted);
    font-size: 18px;
    pointer-events: none;
}

.person-finder__input-wrap .form-control {
    padding-left: 2.2rem;
}

.person-finder__list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1060;
    max-height: 320px;
    overflow-y: auto;
    padding: .25rem .75rem;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    border-radius: var(--p-radius);
    box-shadow: 0 10px 30px rgba(16, 48, 30, .14);
}

.person-finder__list[hidden] {
    display: none;
}

.person-finder__item {
    cursor: pointer;
    margin: 0 -.75rem;
    padding-left: .75rem;
    padding-right: .75rem;
}

.person-finder__item:hover,
.person-finder__item.is-active {
    background: var(--p-green-tint);
}

.person-finder__item .avatar-initials {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    font-size: 12px;
    box-shadow: none;
}

.person-finder__item--create {
    color: var(--p-green-dark);
    font-weight: 500;
}

.person-finder__item--create i.bx {
    font-size: 18px;
}

.person-finder__item--empty,
.person-finder__item--loading {
    cursor: default;
    color: var(--p-muted);
    font-size: 13px;
    justify-content: center;
}

.person-finder__item--empty:hover,
.person-finder__item--loading:hover {
    background: transparent;
}

.person-finder__chip {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-top: .5rem;
    padding: .5rem .75rem;
    border: 1px solid var(--p-green-soft);
    background: var(--p-green-tint);
    border-radius: 10px;
}

.person-finder__chip[hidden] {
    display: none;
}

.person-finder__chip .avatar-initials {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    font-size: 12px;
    box-shadow: none;
}

.person-finder__chip-main {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
}

.person-finder__chip-name {
    font-weight: 500;
    color: var(--p-ink);
}

.person-finder__chip-sub {
    color: var(--p-muted);
    font-size: 12px;
}

.person-finder__chip-clear {
    border: 0;
    background: transparent;
    color: var(--p-muted);
    font-size: 18px;
    line-height: 1;
    padding: .2rem;
}

.person-finder__chip-clear:hover {
    color: var(--p-rose);
}

/* Бүртгэлийн форм (#customer-modal) */
.cust-form .form-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--p-muted);
    margin-bottom: .2rem;
}

.cust-form .form-control,
.cust-form .form-select {
    font-size: 14px;
}

.cust-form__section {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--p-green-dark);
    font-weight: 600;
    margin-bottom: .5rem;
}

.cust-form__preview {
    font-size: 13px;
    color: var(--p-muted);
    min-height: 1.2em;
}

.cust-form__preview b {
    color: var(--p-ink);
    font-weight: 500;
}

.cust-form__warn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .6rem;
    margin-top: .35rem;
    padding: .45rem .7rem;
    border-radius: 8px;
    font-size: 12.5px;
    background: rgba(217, 142, 4, .12);
    border: 1px solid rgba(217, 142, 4, .35);
    color: #7a5002;
}

.cust-form__warn[hidden] {
    display: none;
}

.cust-form__warn .btn {
    padding: .1rem .55rem;
    font-size: 12px;
}

.cust-form__merge {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .8rem;
    border-radius: 10px;
    font-size: 13px;
    background: rgba(30, 111, 181, .09);
    border: 1px solid rgba(30, 111, 181, .3);
    color: #164f80;
}

.cust-form__merge[hidden] {
    display: none;
}

.cust-form__merge i.bx {
    font-size: 18px;
    color: var(--p-blue);
}

.cust-form__extra-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .55rem .8rem;
    border-radius: 10px;
    border: 1px dashed var(--p-border);
    background: var(--p-bg);
    color: var(--p-ink);
    font-size: 13px;
    font-weight: 500;
}

.cust-form__extra-toggle i.bx {
    transition: transform .2s ease;
}

.cust-form__extra-toggle[aria-expanded="true"] i.bx-chevron-down {
    transform: rotate(180deg);
}

.cust-form__alert {
    font-size: 13px;
    border-radius: 10px;
}

.cust-form__success {
    text-align: center;
    padding: 1.25rem 1rem;
}

.cust-form__success-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--p-green-soft);
    color: var(--p-green);
    font-size: 30px;
    margin-bottom: .5rem;
}

.cust-form__success h5 {
    font-weight: 600;
    color: var(--p-ink);
}

.cust-form__pw {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin: .75rem auto;
    padding: .55rem .9rem;
    border-radius: 10px;
    background: var(--p-bg);
    border: 1px solid var(--p-border);
}

.cust-form__pw code {
    font-family: "Roboto Mono", "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 18px;
    letter-spacing: 1px;
    color: var(--p-ink);
}

.cust-form__success .btn + .btn {
    margin-left: .35rem;
}

@media (max-width: 767.98px) {
    .customer-toolbar__sort {
        margin-left: 0;
        width: 100%;
    }

    .customer-toolbar__sort .form-select {
        width: 100%;
    }

    .table-customers {
        font-size: 12.5px;
    }

    /* Утсан дээр хүснэгт хэвтээ гүйлгэхэд ⋯ үйлдлийн багана баруун талдаа наалдаж үлдэнэ */
    .table-customers th:last-child,
    .table-customers td:last-child {
        position: sticky;
        right: 0;
        z-index: 1;
        box-shadow: inset 1px 0 0 var(--p-border);
    }

    .cust-form__success .btn + .btn {
        margin-left: 0;
        margin-top: .35rem;
    }
}

/* --------------------------------------------------------------------------
   Үйлчлүүлэгч нэгтгэх — /hospital/customer/merge (MERGE agent, 2026-10-04)
   hospital/customer/merge.blade.php: хоёр баганат харьцуулалт, талбар бүрт radio,
   сонгох хуудасны хайлтын dropdown. Dashboard token/класстай ижил хэв маяг.
   -------------------------------------------------------------------------- */
.merge-side {
    position: relative;
    height: 100%;
    padding: 1rem 1.1rem;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    border-radius: var(--p-radius);
    box-shadow: var(--p-shadow);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.merge-side--kept {
    border-color: var(--p-green);
    box-shadow: 0 0 0 3px var(--p-green-tint), var(--p-shadow);
}

.merge-side__head {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: .5rem;
    min-width: 0;
}

.merge-side__head .avatar-initials {
    flex: 0 0 auto;
}

.merge-side__tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--p-muted);
}

.merge-side__name {
    font-size: 16px;
    font-weight: 600;
    color: var(--p-ink);
    margin: 0;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.merge-side__meta {
    font-size: 12.5px;
    color: var(--p-muted);
    overflow-wrap: anywhere;
}

.merge-side__pills {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: .5rem 0 .25rem;
}

.merge-counts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: .3rem .75rem;
    margin-top: .5rem;
    font-size: 12.5px;
    color: var(--p-muted);
}

.merge-counts b {
    color: var(--p-ink);
    font-weight: 600;
}

.merge-side__keep {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .7rem 0 0;
    padding: .55rem .75rem;
    border-radius: 8px;
    background: var(--p-bg);
    font-weight: 500;
    font-size: 13.5px;
    cursor: pointer;
    color: var(--p-ink);
}

.merge-side--kept .merge-side__keep {
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.merge-side__keep-hint {
    color: var(--p-muted);
    font-weight: 400;
}

.merge-side--kept .merge-side__keep-hint {
    color: var(--p-green-dark);
}

/* Талбарын хүснэгт */
.merge-table th.merge-table__field {
    width: 22%;
    font-weight: 500;
    color: var(--p-muted);
    white-space: normal;
}

.merge-table thead th.merge-col {
    color: var(--p-ink);
}

.merge-table tr.merge-diff th.merge-table__field {
    color: var(--p-ink);
    font-weight: 600;
}

.merge-table tr.merge-same td {
    color: var(--p-muted);
}

.merge-table td.merge-col--kept,
.merge-table th.merge-col--kept {
    background: rgba(10, 153, 73, .035);
}

.merge-opt {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin: 0;
    padding: .3rem .45rem;
    border-radius: 8px;
    cursor: pointer;
    min-width: 0;
    line-height: 1.4;
}

.merge-opt input {
    margin-top: .2em;
    flex: 0 0 auto;
}

.merge-opt > span {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.merge-opt:has(input:checked) {
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.merge-opt__side {
    display: none;
    color: var(--p-muted);
}

.merge-empty {
    color: #a9bfb3;
    font-style: italic;
}

/* Сонгох хуудасны хайлт */
.merge-pick {
    position: relative;
}

.merge-suggest {
    position: absolute;
    z-index: 30;
    left: 0;
    right: 0;
    top: 100%;
    margin-top: .25rem;
    padding: .25rem 0;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    border-radius: var(--p-radius);
    box-shadow: 0 6px 18px rgba(10, 153, 73, .14);
    max-height: 280px;
    overflow: auto;
    display: none;
}

.merge-suggest .dash-list__item {
    padding: .45rem .75rem;
    cursor: pointer;
}

.merge-suggest .dash-list__item:hover,
.merge-suggest .dash-list__item.is-active {
    background: var(--p-green-soft);
}

@media (max-width: 575.98px) {
    .merge-table thead {
        display: none;
    }

    .merge-table tbody tr {
        display: grid;
        grid-template-columns: 1fr 1fr;
        border-bottom: 1px solid var(--p-border);
        padding: .35rem 0 .45rem;
    }

    .merge-table tbody tr > * {
        border: 0 !important;
        padding: .15rem .3rem !important;
        background: transparent !important;
    }

    .merge-table th.merge-table__field {
        grid-column: 1 / -1;
        width: auto;
        font-size: 12px;
        padding-top: .35rem !important;
    }

    .merge-opt {
        padding: .25rem .35rem;
        font-size: 13px;
    }

    .merge-opt__side {
        display: inline;
    }

    .merge-counts {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* --------------------------------------------------------------------------
   Үйлчлүүлэгчийн картын хуудас (/hospital/customer/{id}) — CARD (B2) agent
   .cc-* класс + status-pill-ийн семантик өнгө (rose/amber/blue) нэмэлт
   -------------------------------------------------------------------------- */
.status-pill--rose {
    background: rgba(194, 65, 122, .11);
    color: var(--p-rose);
}

.status-pill--amber {
    background: rgba(217, 142, 4, .14);
    color: #9a6403;
}

.status-pill--blue {
    background: rgba(30, 111, 181, .11);
    color: var(--p-blue);
}

.status-pill i.bx {
    font-size: 13px;
    line-height: 1;
}

.cc-header {
    display: flex;
    flex-direction: row; /* .card нь column тул заавал row болгоно */
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    padding: 1.1rem 1.25rem;
    align-items: flex-start;
}

.cc-header__main {
    display: flex;
    gap: 1rem;
    flex: 1 1 380px;
    min-width: 0;
}

.cc-header__actions {
    flex: 0 1 auto;
    max-width: 100%;
}

.cc-avatar {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
    font-size: 22px;
}

.cc-header__info {
    min-width: 0;
    flex: 1;
}

.cc-header__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .75rem;
}

.cc-name {
    font-size: 1.35rem;
    font-weight: 500;
    color: var(--p-ink);
    letter-spacing: -.01em;
}

.cc-cardno {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .15rem .6rem;
    border-radius: 999px;
    background: var(--p-ink);
    color: #fff;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12.5px;
    letter-spacing: .04em;
}

.cc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .15rem .9rem;
    margin-top: .3rem;
    font-size: 13px;
    color: var(--p-muted);
}

.cc-meta__item {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: inherit;
}

a.cc-meta__item:hover {
    color: var(--p-green-dark);
}

.cc-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .55rem;
}

.cc-password {
    margin-top: .6rem;
    padding: .45rem .7rem;
    border-radius: 8px;
    background: var(--p-green-soft);
    color: var(--p-green-dark);
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.cc-password code {
    font-size: 14px;
    color: var(--p-ink);
    background: #fff;
    padding: .1rem .4rem;
    border-radius: 4px;
}

/* Толгойн хурдан үйлдлүүд — жижиг, 3 багана */
.cc-actions {
    grid-template-columns: repeat(3, minmax(104px, 128px));
    gap: .5rem;
}

.cc-actions .quick-action {
    padding: .6rem .4rem;
    gap: .35rem;
    cursor: pointer;
    font: inherit;
    font-size: 12.5px;
    font-weight: 500;
}

.cc-actions .quick-action > i.bx {
    width: 38px;
    height: 38px;
    font-size: 21px;
}

.cc-actions .quick-action:hover,
.cc-actions .quick-action:focus-visible {
    color: var(--p-green-dark);
    border-color: var(--p-green);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(10, 153, 73, .14);
    outline: none;
}

.cc-actions .quick-action__label small {
    display: block;
    font-weight: 400;
    font-size: 11px;
}

/* Табууд */
.cc-card {
    overflow: hidden;
}

.cc-tabs {
    padding: .35rem .75rem 0;
    border-bottom: 1px solid var(--p-border);
    background: #fafcfb;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}

.cc-tabs .nav-link {
    white-space: nowrap;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: var(--p-muted);
    font-size: 13.5px;
    font-weight: 500;
    padding: .65rem .9rem;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.cc-tabs .nav-link:hover {
    color: var(--p-ink);
    border-bottom-color: var(--p-border);
}

.cc-tabs .nav-link.active {
    color: var(--p-green-dark);
    background: transparent;
    border-bottom-color: var(--p-green);
}

.cc-tabs__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 .4rem;
    border-radius: 999px;
    background: #eef1ef;
    color: var(--p-muted);
    font-size: 11px;
}

.cc-tabs .nav-link.active .cc-tabs__count {
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.cc-tab-content {
    padding: 1.1rem 1.25rem 1.25rem;
}

.cc-section-title {
    font-size: 12.5px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--p-muted);
    margin: 0 0 .75rem;
}

.cc-section-title + .cc-section-title,
.row + .cc-section-title {
    margin-top: .5rem;
}

/* Ерөнхий таб — тодорхойлолтын жагсаалт */
.cc-dl {
    display: grid;
    grid-template-columns: minmax(130px, 38%) 1fr;
    gap: 0;
    margin: 0;
    font-size: 13.5px;
}

.cc-dl dt {
    font-weight: 400;
    color: var(--p-muted);
    padding: .4rem 0;
    border-bottom: 1px solid var(--p-border);
}

.cc-dl dd {
    margin: 0;
    padding: .4rem 0 .4rem .5rem;
    border-bottom: 1px solid var(--p-border);
    color: var(--p-ink);
    word-break: break-word;
}

.cc-dl dt:last-of-type,
.cc-dl dd:last-of-type {
    border-bottom: 0;
}

/* Үзлэгийн түүх — timeline */
.cc-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.cc-timeline::before {
    content: "";
    position: absolute;
    left: 104px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: var(--p-border);
}

.cc-timeline__item {
    display: flex;
    gap: 1.25rem;
    padding: .25rem 0 1.1rem;
    position: relative;
}

.cc-timeline__item::before {
    content: "";
    position: absolute;
    left: 99px;
    top: 10px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--p-muted);
    box-shadow: 0 0 0 3px #fff;
}

.cc-timeline__item--started::before {
    background: var(--p-blue);
}

.cc-timeline__item--unpaid::before {
    background: var(--p-rose);
}

.cc-timeline__item--paid::before {
    background: var(--p-green);
}

.cc-timeline__date {
    flex: 0 0 86px;
    text-align: right;
    padding-top: .15rem;
}

.cc-timeline__day {
    font-size: 13px;
    font-weight: 500;
    color: var(--p-ink);
}

.cc-timeline__time {
    font-size: 12px;
    color: var(--p-muted);
}

.cc-timeline__body {
    flex: 1;
    min-width: 0;
    background: #fafcfb;
    border: 1px solid var(--p-border);
    border-radius: 10px;
    padding: .7rem .9rem;
}

.cc-timeline__head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .35rem .75rem;
    margin-bottom: .35rem;
}

.cc-timeline__title {
    font-weight: 500;
    color: var(--p-ink);
    font-size: 14px;
}

.cc-timeline__title:hover {
    color: var(--p-green-dark);
}

.cc-timeline__line {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    font-size: 13px;
    color: var(--p-ink);
    margin: .15rem 0;
}

.cc-timeline__line i.bx {
    color: var(--p-muted);
    font-size: 15px;
    margin-top: 2px;
    flex: 0 0 auto;
}

.cc-timeline__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    margin-top: .55rem;
}

.cc-chip {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-size: 12px;
    color: var(--p-muted);
    background: #fff;
    border: 1px solid var(--p-border);
    border-radius: 999px;
    padding: .1rem .55rem;
}

.cc-chip i.bx {
    font-size: 13px;
}

/* Хүснэгтийн мөрүүд */
.cc-row--future > * {
    background: rgba(10, 153, 73, .035) !important;
}

.cc-row--overdue > * {
    background: rgba(194, 65, 122, .05) !important;
}

/* Хажуугийн жижиг формууд */
.cc-inline-form {
    background: #fafcfb;
    border: 1px solid var(--p-border);
    border-radius: 10px;
    padding: .85rem .9rem;
}

.cc-inline-form .form-label {
    font-size: 12px;
    margin-bottom: .2rem;
    color: var(--p-muted);
}

.cc-note {
    background: rgba(194, 65, 122, .06);
    border: 1px solid rgba(194, 65, 122, .18);
    border-radius: 10px;
    padding: .8rem .9rem;
}

.cc-pre {
    font-size: 11px;
    background: #fafcfb;
    border: 1px solid var(--p-border);
    border-radius: 6px;
    padding: .4rem .5rem;
    margin: .3rem 0 0;
    white-space: pre-wrap;
    max-height: 160px;
    overflow: auto;
}

.fw-500 {
    font-weight: 500;
}

@media (max-width: 991.98px) {
    .cc-header__actions {
        flex-basis: 100%;
    }

    .cc-actions {
        grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
    }
}

@media (max-width: 575.98px) {
    .cc-header {
        padding: .9rem 1rem;
    }

    .cc-avatar {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        font-size: 17px;
    }

    .cc-name {
        font-size: 1.15rem;
    }

    .cc-tab-content {
        padding: .9rem .9rem 1rem;
    }

    .cc-timeline::before {
        left: 7px;
    }

    .cc-timeline__item {
        flex-direction: column;
        gap: .3rem;
        padding-left: 1.4rem;
    }

    .cc-timeline__item::before {
        left: 2px;
    }

    .cc-timeline__date {
        flex-basis: auto;
        text-align: left;
        display: flex;
        gap: .5rem;
        align-items: baseline;
    }

    .cc-dl {
        grid-template-columns: 1fr;
    }

    .cc-dl dt {
        border-bottom: 0;
        padding-bottom: 0;
        font-size: 12px;
    }

    .cc-dl dd {
        padding-left: 0;
        padding-top: .1rem;
    }
}

/* merge: картын толгойн урт тайлбар мобайлд мөр солино (dash-card__link nowrap-ийг тайлна) */
.merge-head {
    flex-wrap: wrap;
}

.merge-head .dash-card__link {
    white-space: normal;
    font-size: 12.5px;
}

@media (max-width: 575.98px) {
    .merge-head .dash-card__title {
        flex: 1 0 100%;
    }
}

/* --------------------------------------------------------------------------
   Үзлэгийн цаг — /timetable (TIMETABLE agent, docs/timetable-spec.md)
   .tt-doctors (эмчийн pill tab), .tt-toolbar (огноо/харагдац), .tt-week/.tt-day
   (7 хоногийн тойм, ≤768px accordion), .tt-table/.tt-row (өдрийн хүснэгт),
   .tt-panel (slot panel — modal биш), .tt-plan__preview, .tt-cust
   -------------------------------------------------------------------------- */
.avatar-initials--sm {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    font-size: 11px;
    box-shadow: 0 0 0 2px var(--p-green-soft);
}

/* Эмчийн pill tab-ууд */
.tt-doctors {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

a.tt-doctors__pill,
.tt-doctors__pill {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .3rem .85rem .3rem .35rem;
    border-radius: 999px;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    color: var(--p-ink);
    font-size: 13px;
    font-weight: 500;
    box-shadow: var(--p-shadow);
    transition: border-color .15s, background .15s;
}

a.tt-doctors__pill:hover {
    border-color: var(--p-green);
    color: var(--p-green-dark);
}

.tt-doctors__pill.is-active {
    background: var(--p-green);
    border-color: var(--p-green);
    color: #fff;
}

.tt-doctors__pill.is-active .avatar-initials {
    background: #fff;
    color: var(--p-green-dark);
    box-shadow: none;
}

.tt-doctors__pill.is-inactive {
    background: #6b7a72;
    border-color: #6b7a72;
    padding-left: .85rem;
}

/* Огноо / харагдац toolbar */
.tt-toolbar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .6rem 1rem;
    padding: .6rem .9rem;
}

.tt-toolbar__nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
}

.tt-toolbar__arrow {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border-radius: 8px;
}

.tt-toolbar__label {
    font-size: 15px;
    font-weight: 600;
    color: var(--p-ink);
    min-width: 150px;
    text-align: center;
    padding: 0 .25rem;
}

.tt-toolbar__label.is-current {
    color: var(--p-green-dark);
}

.tt-toolbar__date {
    width: auto;
    max-width: 160px;
}

.tt-toolbar__views .btn {
    white-space: nowrap;
}

.tt-customer-banner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .25rem;
}

/* Тооны чипүүд (цаг авсан / сул / дууссан) */
.tt-day__counts {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: 12px;
    color: var(--p-muted);
    white-space: nowrap;
}

.tt-count {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-weight: 500;
}

.tt-count i.bx {
    font-size: 8px;
}

.tt-count--booked i.bx { color: #d98e04; }
.tt-count--open i.bx { color: var(--p-green); }
.tt-count--done i.bx { color: #6b8f7a; }

/* 7 хоногийн тойм — 4 багана (Да–Пү / Ба–Ня), ≥1700px дэлгэцэд 7 багана нэг мөрөнд */
.tt-week {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    align-items: start;
}

@media (min-width: 1700px) {
    .tt-week {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

details.tt-day {
    margin: 0;
    min-width: 0;
}

details.tt-day > summary {
    list-style: none;
    cursor: default;
}

details.tt-day > summary::-webkit-details-marker {
    display: none;
}

.tt-day__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .25rem .6rem;
    padding: .7rem .8rem .5rem .8rem;
    border-bottom: 1px solid var(--p-border);
}

.tt-slot__link .dash-list__badge {
    min-width: 0;
}

.tt-day__list .status-pill {
    max-width: 100%;
}

a.tt-day__date,
.tt-day__date {
    display: flex;
    align-items: baseline;
    gap: .35rem;
    color: var(--p-ink);
    font-weight: 600;
    min-width: 0;
    text-decoration: none;
}

a.tt-day__date:hover {
    color: var(--p-green-dark);
    text-decoration: underline;
}

.tt-day__dow {
    font-size: 12px;
    color: var(--p-muted);
    font-weight: 500;
}

.tt-day__num {
    font-size: 15px;
}

.tt-day__today {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--p-green-dark);
    background: var(--p-green-soft);
    border-radius: 999px;
    padding: .05rem .4rem;
}

.tt-day--today {
    border-color: #b6e0c6;
    box-shadow: 0 0 0 3px var(--p-green-tint), var(--p-shadow);
}

.tt-day--weekend .tt-day__head {
    background: #f7faf8;
}

.tt-day__caret {
    display: none;
    font-size: 20px;
    color: var(--p-muted);
    transition: transform .15s;
}

.tt-day__body {
    padding: .25rem .8rem .6rem .8rem;
}

.tt-day__empty {
    padding: 1rem .5rem;
    font-size: 12px;
}

.tt-day__list .dash-list__item {
    padding: 0;
}

.tt-day__list .dash-list__time {
    min-width: 42px;
}

a.tt-slot__link,
.tt-slot__link {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    padding: .45rem 0;
    color: inherit;
    text-decoration: none;
    min-width: 0;
}

a.tt-slot__link:hover {
    color: var(--p-ink);
    background: var(--p-green-tint);
    margin: 0 -.4rem;
    padding-left: .4rem;
    padding-right: .4rem;
    border-radius: 6px;
}

.tt-slot__link .dash-list__main {
    display: block;
}

.tt-slot__link .dash-list__name,
.tt-slot__link .dash-list__sub {
    display: block;
}

.tt-slot--past .dash-list__time {
    color: var(--p-muted);
}

.tt-slot--past.tt-slot--1 {
    opacity: .6;
}

/* Долоо хоногийн багана дотор pill-ийг богиносгоно */
.tt-day__list .status-pill {
    font-size: 11px;
    padding: .1rem .5rem .1rem .45rem;
}

/* Өдрийн хүснэгт */
.tt-table tbody tr.tt-row {
    cursor: pointer;
}

.tt-table tbody tr.tt-row:focus-visible {
    outline: 2px solid var(--p-green);
    outline-offset: -2px;
}

.tt-table tbody tr.is-selected > * {
    background: var(--p-green-soft);
    box-shadow: inset 3px 0 0 var(--p-green);
}

.tt-row--past.tt-row--1 {
    color: var(--p-muted);
}

.tt-row__time {
    white-space: nowrap;
}

.tt-time {
    font-family: "Roboto Mono", "SFMono-Regular", Menlo, Consolas, monospace;
    font-weight: 600;
    color: var(--p-green-dark);
}

.tt-row--past .tt-time {
    color: var(--p-muted);
}

.tt-time__end {
    font-size: 11px;
    color: var(--p-muted);
    margin-left: .1rem;
}

.tt-row__name {
    font-weight: 500;
    color: var(--p-ink);
}

.tt-row__actions {
    white-space: nowrap;
}

.tt-row__actions .btn {
    vertical-align: middle;
}

.tt-row__chevron {
    font-size: 18px;
    color: #a9bfb3;
    vertical-align: middle;
    margin-left: .25rem;
}

tr.is-selected .tt-row__chevron {
    color: var(--p-green);
}

/* Slot panel */
.tt-panel {
    position: sticky;
    top: 84px;
}

.tt-panel__head {
    border-bottom: 1px solid var(--p-border);
    padding-bottom: .7rem;
}

.tt-panel__time {
    font-family: "Roboto Mono", "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 20px;
    font-weight: 600;
    color: var(--p-green-dark);
    line-height: 1.2;
}

.tt-panel .dash-card__body {
    padding-top: .9rem;
}

.tt-panel.is-busy .dash-card__body {
    opacity: .6;
    pointer-events: none;
}

.tt-panel__none {
    padding: 2rem 1rem;
}

.tt-panel__hr {
    margin: 1rem 0 .75rem 0;
    border-color: var(--p-border);
    opacity: 1;
}

.tt-panel__reason {
    margin-top: .6rem;
    padding: .45rem .6rem;
    border-radius: 8px;
    background: #f7faf8;
    border: 1px solid var(--p-border);
    font-size: 13px;
    color: var(--p-ink);
}

.tt-panel__closed {
    padding: .6rem .75rem;
    border-radius: 8px;
    background: #f1f4f2;
    color: #5c6d64;
    font-size: 13px;
}

.tt-panel__msg {
    padding: .5rem .7rem;
    border-radius: 8px;
    font-size: 13px;
    background: #f1f4f2;
    color: #5c6d64;
}

.tt-panel__msg--success {
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.tt-panel__msg--error {
    background: rgba(194, 65, 122, .1);
    color: var(--p-rose);
}

.tt-panel .person-finder__list {
    max-height: 260px;
    overflow: auto;
}

/* Үйлчлүүлэгчийн мини карт (panel) */
.tt-cust {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.tt-cust__main {
    min-width: 0;
}

a.tt-cust__name,
.tt-cust__name {
    font-weight: 600;
    font-size: 15px;
    color: var(--p-ink);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.tt-cust__name:hover {
    color: var(--p-green-dark);
}

/* Цаг төлөвлөх modal — ажиллах цаг, гарагийн өдөр бүр нэг мөр */
.tt-plan__hours {
    border: 1px solid var(--p-border);
    border-radius: 8px;
    overflow: hidden;
}

.tt-plan__hours-head,
.tt-plan__hours-row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: .5rem;
    align-items: center;
    padding: .3rem .6rem;
}

.tt-plan__hours-head {
    background: var(--p-bg);
    color: var(--p-muted);
    font-size: 12px;
    font-weight: 500;
    border-bottom: 1px solid var(--p-border);
}

.tt-plan__hours-row + .tt-plan__hours-row {
    border-top: 1px solid var(--p-border);
}

.tt-plan__hours-row .form-check {
    margin: 0;
    min-height: 0;
}

.tt-plan__hours-row--off .form-check-label {
    color: var(--p-muted);
}

/* Цаг төлөвлөх modal — урьдчилсан тоо */
.tt-plan__preview {
    padding: .55rem .75rem;
    border-radius: 8px;
    background: var(--p-green-soft);
    color: var(--p-green-dark);
    font-size: 13px;
}

/* Responsive */
@media (max-width: 991.98px) {
    .tt-week {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tt-panel {
        position: static;
    }
}

@media (max-width: 768px) {
    .tt-week {
        grid-template-columns: 1fr;
        gap: .5rem;
    }

    details.tt-day > summary {
        cursor: pointer;
    }

    .tt-day__caret {
        display: inline-block;
    }

    details.tt-day[open] .tt-day__caret {
        transform: rotate(180deg);
    }

    details.tt-day:not([open]) .tt-day__head {
        border-bottom: 0;
    }
}

@media (max-width: 575.98px) {
    .tt-toolbar {
        padding: .6rem .7rem;
    }

    .tt-toolbar__label {
        min-width: 0;
        flex: 1 1 auto;
        font-size: 14px;
    }

    .tt-toolbar__date {
        flex: 1 1 100%;
        max-width: none;
    }

    .tt-toolbar__views {
        width: 100%;
    }

    .tt-toolbar__views .btn {
        flex: 1 1 50%;
    }

    .tt-day__counts {
        gap: .45rem;
    }

    .tt-table {
        font-size: 12.5px;
    }

    .tt-table > :not(caption) > * > * {
        padding: .45rem .5rem;
    }

    /* Мобайлд үйлдлийн багана нуугдана — мөр дарахад panel-д бүх үйлдэл бий */
    .tt-table .tt-row__actions,
    .tt-table thead th:last-child {
        display: none;
    }

    .tt-panel__time {
        font-size: 18px;
    }

    /* 7 хоногийн мобайл жагсаалт: самбарын «badge нэрийн доор» дүрэм (.dash-list__time ~ .dash-list__badge
       width:100%) энд нэрийг шахаж алга болгодог тул нэг мөрөнд нь буцаана */
    .tt-slot__link .dash-list__badge {
        width: auto;
        margin-left: auto;
        padding-left: 0;
    }

    .tt-slot__link .dash-list__time {
        min-width: 42px;
    }
}

/* --------------------------------------------------------------------------
   Үзлэгийн хуудас + жагсаалт (/hospital/inspection, /hospital/inspection/{id}) — INSPECTION agent
   .insp-* класс; толгой нь картын .cc-header/.cc-actions-ийг дахин ашиглана
   -------------------------------------------------------------------------- */
.insp-avatar {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    font-size: 13px;
}

.insp-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .5rem .75rem;
}

.insp-toolbar__search {
    flex: 1 1 220px;
    min-width: 180px;
}

.insp-toolbar__field {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    flex: 0 1 150px;
    min-width: 120px;
    margin: 0;
}

.insp-toolbar__label {
    font-size: 11.5px;
    color: var(--p-muted);
    letter-spacing: .02em;
}

.insp-toolbar__btn {
    height: 31px;
    display: inline-flex;
    align-items: center;
}

.table-inspections td {
    vertical-align: middle;
}

.insp-date {
    font-weight: 500;
    color: var(--p-ink);
}

.insp-date:hover {
    color: var(--p-green-dark);
}

.insp-col-icd {
    max-width: 260px;
}

.insp-icd-name {
    display: inline-block;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.insp-col-services {
    max-width: 220px;
    font-size: 13px;
    color: var(--p-muted);
}

/* Толгой */
.insp-customer-link {
    color: inherit;
}

.insp-customer-link:hover {
    color: var(--p-green-dark);
}

.insp-facts {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1.1rem;
    margin-top: .45rem;
    font-size: 13.5px;
    color: var(--p-ink);
}

.insp-fact {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

.insp-fact i.bx {
    color: var(--p-green);
    font-size: 16px;
}

.insp-saved {
    margin-top: .6rem;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .65rem;
    border-radius: 999px;
    font-size: 12.5px;
    background: var(--p-bg);
    color: var(--p-muted);
}

.insp-saved[data-state="saved"] {
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.insp-saved[data-state="dirty"],
.insp-saved[data-state="saving"] {
    background: rgba(217, 142, 4, .14);
    color: #9a6403;
}

.insp-saved[data-state="error"] {
    background: rgba(194, 65, 122, .11);
    color: var(--p-rose);
}

.insp-actions {
    grid-template-columns: repeat(3, minmax(104px, 128px));
}

.insp-actions .quick-action--primary {
    background: var(--p-green);
    border-color: var(--p-green);
    color: #fff;
}

.insp-actions .quick-action--primary > i.bx {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.insp-actions .quick-action--primary:hover,
.insp-actions .quick-action--primary:focus-visible {
    background: var(--p-green-dark);
    color: #fff;
}

.insp-actions .quick-action.is-muted {
    opacity: .6;
}

.insp-actions .quick-action:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.insp-dropdown {
    display: flex;
}

.insp-dropdown .quick-action {
    flex: 1;
}

/* Бичих card-ууд */
.insp-card .dash-card__title i.bx {
    color: var(--p-green);
    margin-right: .25rem;
    vertical-align: -2px;
}

.insp-card.is-invalid {
    border-color: var(--p-rose);
    box-shadow: 0 0 0 3px rgba(194, 65, 122, .1);
}

.insp-total {
    font-size: 14px;
    color: var(--p-muted);
}

.insp-total strong {
    color: var(--p-ink);
    font-size: 16px;
}

.insp-dx-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.insp-dx {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .65rem;
    border: 1px solid var(--p-border);
    border-radius: 10px;
    background: #fff;
    font-size: 13.5px;
}

.insp-dx.is-primary {
    border-color: var(--p-green);
    background: var(--p-green-soft);
}

.insp-dx__radio {
    margin: 0;
    display: inline-flex;
    cursor: pointer;
}

.insp-dx__code {
    font-weight: 600;
    color: var(--p-ink);
    min-width: 54px;
}

.insp-dx__name {
    flex: 1;
    min-width: 0;
}

.insp-dx__badge {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--p-muted);
}

.insp-dx.is-primary .insp-dx__badge {
    color: var(--p-green-dark);
    font-weight: 600;
}

.insp-dx__remove {
    border: 0;
    background: transparent;
    color: var(--p-muted);
    padding: 0 .1rem;
    line-height: 1;
    font-size: 18px;
    cursor: pointer;
}

.insp-dx__remove:hover {
    color: var(--p-rose);
}

.insp-services {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: .5rem;
}

.insp-service__label {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    padding: .55rem .75rem;
    border: 1px solid var(--p-border);
    border-radius: 10px;
    cursor: pointer;
    margin: 0;
    font-size: 13.5px;
    transition: border-color .15s, background .15s;
}

.insp-service__label .form-check-input {
    margin: 0;
    flex: 0 0 auto;
}

.insp-service.is-on .insp-service__label {
    border-color: var(--p-green);
    background: var(--p-green-soft);
}

.insp-service__name {
    flex: 1;
    min-width: 0;
}

.insp-service__price {
    font-weight: 500;
    color: var(--p-ink);
    white-space: nowrap;
}

/* Хажуугийн карт */
.insp-pay-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1.25rem;
    font-size: 13.5px;
}

.insp-pay-summary > div {
    display: flex;
    flex-direction: column;
}

.insp-pay-summary strong {
    font-size: 16px;
}

.dash-empty--sm {
    padding: 1rem .5rem;
}

.dash-empty--sm i.bx {
    font-size: 26px;
}

/* select2 / summernote — брэнд */
.insp-card .select2-container--default .select2-selection--multiple {
    border-color: var(--p-border);
    border-radius: 8px;
    min-height: 40px;
}

.insp-card .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--p-green);
    box-shadow: 0 0 0 3px rgba(10, 153, 73, .12);
}

.insp-card .note-editor.note-frame {
    border-color: var(--p-border);
    border-radius: 8px;
}

/* ICD select2 — default кодуудын дээрх зөвлөмж мөр (disabled option) */
.select2-results__option[aria-disabled="true"] .insp-icd-hint,
.select2-results__option--disabled .insp-icd-hint {
    display: block;
    font-size: .8rem;
    color: var(--p-muted, #6c757d);
    border-bottom: 1px solid var(--p-border);
    padding-bottom: 4px;
}

.select2-results__option[aria-disabled="true"]:has(.insp-icd-hint) {
    background: var(--p-bg, #f3f8f5);
    cursor: default;
}

.insp-icd-hint .bx {
    color: var(--p-green);
    vertical-align: -2px;
}

@media (max-width: 991.98px) {
    .insp-actions {
        grid-template-columns: repeat(3, minmax(96px, 1fr));
    }
}

@media (max-width: 575.98px) {
    .insp-toolbar__field {
        flex: 1 1 45%;
    }

    .insp-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .insp-services {
        grid-template-columns: 1fr;
    }

    .insp-col-icd,
    .insp-col-services {
        max-width: 160px;
    }
}

/* --------------------------------------------------------------------------
   Төлбөр — /payment, /payment/{inspection}, /payment/report (PAYMENT agent)
   .pay-* классууд; dashboard-ийн .dash-card/.stat-card/.status-pill + LIST-ийн
   .customer-chips/.customer-name/.mono дээр тулгуурлана.
   -------------------------------------------------------------------------- */
.pay-stats a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.pay-stats a:hover .stat-card {
    border-color: var(--p-green);
}

.pay-toolbar-wrap {
    padding-bottom: .75rem;
}

.pay-toolbar {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.pay-toolbar__fields {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .5rem .75rem;
}

.pay-field {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin: 0;
    min-width: 0;
}

.pay-field > span {
    font-size: 11px;
    color: var(--p-muted);
    font-weight: 500;
}

.pay-field .form-control,
.pay-field .form-select {
    min-width: 140px;
    border-color: var(--p-border);
    border-radius: 10px;
}

.pay-field--search {
    flex: 1 1 200px;
}

.pay-field--search .form-control {
    width: 100%;
}

.pay-field--actions {
    flex-direction: row;
    gap: .4rem;
    align-items: flex-end;
}

.table-payments .avatar-initials,
.pay-head__avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--p-green-tint);
    color: var(--p-green-dark);
    font-size: 13px;
    font-weight: 600;
    flex: 0 0 34px;
}

.table-payments .customer-name {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-width: 0;
}

.table-payments .customer-name a {
    color: var(--p-ink);
    font-weight: 500;
    text-decoration: none;
}

.table-payments .customer-name a:hover {
    color: var(--p-green-dark);
}

.table-payments .customer-name small {
    display: block;
    font-size: 11.5px;
    color: var(--p-muted);
}

.table-payments .pill-stack,
.table-pay-history .pill-stack {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
}

.pay-services {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--p-muted);
}

.pay-row--due td:first-child {
    box-shadow: inset 3px 0 0 var(--p-amber);
}

.pay-row--refunded td {
    opacity: .7;
}

/* Хэлбэрийн pill-ууд (бэлэн/карт/QPay) */
.status-pill.pay-method--cash {
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.status-pill.pay-method--card {
    background: rgba(30, 111, 181, .11);
    color: var(--p-blue);
}

.status-pill.pay-method--qpay {
    background: rgba(194, 65, 122, .11);
    color: var(--p-rose);
}

.status-pill .bx {
    font-size: 13px;
}

/* Төлбөрийн хуудасны толгой */
.pay-head {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1.25rem;
    padding: 1rem 1.1rem;
}

.pay-head__main {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    flex: 1 1 280px;
}

.pay-head__avatar {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    font-size: 16px;
}

.pay-head__name {
    font-size: 16px;
    font-weight: 600;
    color: var(--p-ink);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .25rem .4rem;
}

.pay-head__name a {
    color: inherit;
    text-decoration: none;
}

.pay-head__name a:hover {
    color: var(--p-green-dark);
}

.pay-head__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem .8rem;
    font-size: 12.5px;
    color: var(--p-muted);
}

.pay-head__meta .bx {
    font-size: 14px;
    vertical-align: -2px;
    margin-right: .15rem;
}

.pay-head__facts {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.5rem;
    margin: 0;
}

.pay-head__facts dt {
    font-size: 11px;
    color: var(--p-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.pay-head__facts dd {
    margin: 0;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--p-ink);
}

/* Задаргаа */
.table-items .form-control-sm {
    border-color: var(--p-border);
    border-radius: 8px;
}

.table-items tfoot td {
    border-top: 2px solid var(--p-border);
    font-size: 14px;
}

.pay-item--discount td,
.pay-item--discount .form-control {
    color: var(--p-rose);
}

.pay-items__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-top: .75rem;
}

.pay-items__add {
    display: flex;
    gap: .4rem;
    flex: 1 1 260px;
    max-width: 420px;
}

.pay-items__add .form-select {
    border-color: var(--p-border);
    border-radius: 8px;
}

.pay-note {
    max-width: 220px;
    font-size: 12px;
    color: var(--p-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Дүнгийн хураангуй */
.pay-summary__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: .4rem 0;
    border-bottom: 1px dashed var(--p-border);
    font-size: 13.5px;
    color: var(--p-muted);
}

.pay-summary__row b {
    font-size: 16px;
    color: var(--p-ink);
    font-weight: 600;
}

.pay-summary__row--due {
    border-bottom: 0;
    padding-top: .6rem;
}

.pay-summary__row--due b {
    font-size: 26px;
    color: var(--p-green-dark);
}

.pay-summary__ok,
.pay-summary__warn {
    margin-top: .6rem;
    padding: .55rem .75rem;
    border-radius: 10px;
    font-size: 13px;
    display: flex;
    gap: .4rem;
    align-items: flex-start;
}

.pay-summary__ok {
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.pay-summary__warn {
    background: rgba(217, 142, 4, .12);
    color: #7a5002;
}

.pay-summary__ok .bx,
.pay-summary__warn .bx {
    font-size: 18px;
    flex: 0 0 auto;
}

/* Төлбөр авах табууд */
.pay-tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .35rem;
    margin-bottom: .9rem;
}

.pay-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .15rem;
    padding: .5rem .25rem;
    border: 1px solid var(--p-border);
    border-radius: 10px;
    background: var(--p-surface);
    color: var(--p-muted);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.pay-tab .bx {
    font-size: 20px;
}

.pay-tab:hover {
    border-color: var(--p-green);
    color: var(--p-green-dark);
}

.pay-tab.is-active {
    border-color: var(--p-green);
    background: var(--p-green-soft);
    color: var(--p-green-dark);
}

.pay-pane {
    display: none;
}

.pay-pane.is-active {
    display: block;
}

.pay-pane .form-control {
    border-color: var(--p-border);
    border-radius: 10px;
}

.pay-pane .form-control-lg {
    font-size: 22px;
    font-weight: 600;
    text-align: right;
}

.pay-qpay-amount {
    font-size: 26px;
    font-weight: 600;
    color: var(--p-ink);
    text-align: center;
    padding: .5rem;
    border: 1px dashed var(--p-border);
    border-radius: 10px;
}

/* QPay modal */
.qpay-amount {
    text-align: center;
    font-size: 28px;
    font-weight: 600;
    color: var(--p-ink);
    margin-bottom: .5rem;
}

.qpay-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    padding: .75rem;
    border: 1px solid var(--p-border);
    border-radius: var(--p-radius);
    background: #fff;
}

.qpay-qr__img {
    width: 240px;
    height: 240px;
    max-width: 100%;
    image-rendering: pixelated;
}

.qpay-qr__text {
    width: 100%;
    text-align: center;
}

.qpay-qr__text code {
    display: block;
    word-break: break-all;
    white-space: normal;
    font-size: 12px;
    padding: .5rem;
    background: var(--p-bg);
    border-radius: 8px;
    color: var(--p-ink);
}

.qpay-qr__loading {
    text-align: center;
}

.qpay-status {
    margin-top: .75rem;
    text-align: center;
    font-size: 13px;
    min-height: 1.4em;
    color: var(--p-muted);
}

.qpay-status--ok {
    color: var(--p-green-dark);
    font-weight: 500;
}

.qpay-status--err {
    color: var(--p-rose);
    font-weight: 500;
}

.qpay-banks {
    margin-top: .75rem;
}

.qpay-banks__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: .4rem;
}

a.qpay-bank {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .5rem;
    border: 1px solid var(--p-border);
    border-radius: 8px;
    font-size: 12px;
    color: var(--p-ink);
    text-decoration: none;
    min-width: 0;
}

a.qpay-bank:hover {
    border-color: var(--p-green);
}

.qpay-bank img {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    object-fit: contain;
    flex: 0 0 20px;
}

.qpay-bank span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Тайлан */
.pay-bar-col {
    width: 120px;
}

.pay-bar {
    height: 8px;
    border-radius: 999px;
    background: var(--p-green-tint);
    overflow: hidden;
}

.pay-bar span {
    display: block;
    height: 100%;
    background: var(--p-green);
    border-radius: 999px;
}

.pay-bar--thin {
    height: 6px;
}

@media (max-width: 991.98px) {
    .pay-head__facts {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .pay-field .form-control,
    .pay-field .form-select {
        min-width: 120px;
    }

    .pay-field {
        flex: 1 1 45%;
    }

    .pay-field--search,
    .pay-field--actions {
        flex-basis: 100%;
    }

    .pay-tabs {
        grid-template-columns: repeat(2, 1fr);
    }

    .pay-bar-col {
        display: none;
    }

    .pay-services {
        max-width: 160px;
    }
}

/* --------------------------------------------------------------------------
   Ажилтан / Үйлчилгээ / Маягт / Login (MENUS-A agent, 2026-10-04)
   /hospital/user/employees (.table-staff, chips as <button>), /hospital/service/all
   (.svc-*), hospital/forms/_form.blade.php (.insp-form* — #insp-form-modal дотор
   AJAX-аар ачаалагддаг partial), auth/login.blade.php (.login-*).
   Dashboard token/класс (.dash-card, .stat-card, .status-pill, .customer-*) дээр тулгуурлана.
   -------------------------------------------------------------------------- */
.min-w-0 {
    min-width: 0;
}

/* Шүүлтүүрийн chip-ийг <button>-оор хэрэглэх үед (client-side filter) */
button.customer-chip {
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}

button.customer-chip:hover {
    color: var(--p-green-dark);
    border-color: var(--p-green);
}

button.customer-chip.is-active {
    background: var(--p-green);
    border-color: var(--p-green);
    color: #fff;
}

/* Ажилтан */
.table-staff .mono {
    color: var(--p-ink);
}

.table-staff .status-pill i.bx {
    font-size: 13px;
}

/* Урт албан тушаал нэг мөрөнд таслагдана; лиценз багана мөр таслахгүй */
.table-staff .customer-name small {
    max-width: 190px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table-staff td.mono {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* «Шинэчилсэн» багана зөвхөн өргөн дэлгэцэд (8 баганат хүснэгт халихгүй) */
.table-staff .col-updated {
    display: none;
}

@media (min-width: 1600px) {
    .table-staff .col-updated {
        display: table-cell;
    }
}

.table-staff .staff-license {
    white-space: nowrap;
}

.table-staff .staff-license .status-pill {
    display: inline-flex;
    margin-top: 3px;
    font-size: 11px;
}

.staff-form__hint {
    font-size: 12px;
    color: var(--p-muted);
}

/* Үйлчилгээ */
.svc-col-num {
    width: 44px;
}

.svc-desc {
    color: var(--p-muted);
    max-width: 460px;
    min-width: 200px;
    white-space: normal;
    line-height: 1.4;
}

.svc-desc > span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.svc-price {
    font-weight: 600;
    color: var(--p-ink);
    font-variant-numeric: tabular-nums;
}

.svc-row--free td:first-child {
    box-shadow: inset 3px 0 0 var(--p-amber);
}

.customer-actions .btn.svc-remove:hover {
    color: var(--p-rose);
    background: rgba(194, 65, 122, .08);
}

/* Үзлэгийн маягт (partial) */
#insp-form-modal .modal-body {
    background: var(--p-bg);
    padding-bottom: 0;
}

.insp-form__head {
    flex-direction: row;
    align-items: flex-start;
    gap: .7rem;
    padding: .65rem .9rem;
    margin-bottom: .6rem;
}

.insp-form__head-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--p-green-tint);
    color: var(--p-green);
}

.insp-form__head-icon i.bx {
    font-size: 19px;
}

.insp-form__head-main {
    min-width: 0;
    flex: 1 1 auto;
}

.insp-form__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--p-ink);
    margin: 0 0 .1rem;
    line-height: 1.3;
}

.insp-form__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .2rem .4rem;
    font-size: 12.5px;
    color: var(--p-muted);
}

.insp-form__dot {
    color: #a9bfb3;
}

a.insp-form__back {
    display: inline-flex;
    align-items: center;
    gap: .15rem;
    color: var(--p-green-dark);
    font-weight: 500;
    text-decoration: none;
}

a.insp-form__back:hover {
    text-decoration: underline;
}

a.insp-form__back i.bx {
    font-size: 16px;
}

.insp-form__warn {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-top: .5rem;
    padding: .4rem .65rem;
    border-radius: 8px;
    font-size: 12.5px;
    background: rgba(217, 142, 4, .12);
    border: 1px solid rgba(217, 142, 4, .35);
    color: #7a5002;
}

.insp-form__warn i.bx {
    font-size: 16px;
    color: var(--p-amber);
}

/* Хэсгүүд: 2 баганат grid — --half (≤4 талбар) нэг багана, бусад нь бүтэн; dense тул жижиг хэсгүүд цоорхойг дүүргэнэ */
.insp-form__sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: .6rem;
    margin-bottom: .6rem;
}

.insp-form__section {
    grid-column: span 2;
    margin-bottom: 0;
}

.insp-form__section--half {
    grid-column: span 1;
}

.insp-form__section .dash-card__head {
    border-bottom: 1px solid var(--p-border);
    padding: .55rem .85rem .4rem;
    margin-bottom: .55rem;
}

.insp-form__section .dash-card__body {
    padding: 0 .85rem .7rem;
}

.insp-form__section .dash-card__title {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: 13.5px;
}

.insp-form__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--p-green-soft);
    color: var(--p-green-dark);
    font-size: 11px;
    font-weight: 600;
    flex: 0 0 20px;
}

/* Талбарын grid: 12 багана — input ба chip-сонголт 3 (desktop) / 4 / 6, textarea·grid 12 */
.insp-form__fields {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: .45rem .6rem;
}

.insp-form__f {
    min-width: 0;
}

.insp-form__f--input,
.insp-form__f--choice {
    grid-column: span 3;
}

.insp-form__f--choice:has(input:checked) .form-label {
    color: var(--p-green-dark);
}

.insp-form__f--wide {
    grid-column: span 12;
}

.insp-form__legend {
    white-space: normal;
    font-size: 12px;
    text-align: right;
}

.insp-form__legend b {
    color: var(--p-ink);
    font-weight: 600;
}

.insp-form .form-label {
    font-size: 11.5px;
    font-weight: 500;
    color: var(--p-muted);
    margin-bottom: .15rem;
    line-height: 1.25;
}

.insp-form .form-control,
.insp-form .form-select {
    font-size: 13.5px;
    padding: .3rem .6rem;
    border-color: var(--p-border);
    border-radius: 8px;
}

.insp-form__nav-col {
    width: 56px;
}

.insp-form__nav tbody td,
.insp-form__grid tbody td {
    padding-top: .25rem;
    padding-bottom: .25rem;
    font-size: 13px;
}

.insp-form__nav thead th {
    padding-top: .3rem;
    padding-bottom: .3rem;
}

.insp-form__nav .form-check-input {
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
}

.insp-form__nav tbody tr:has(input:checked) td:first-child {
    color: var(--p-green-dark);
    font-weight: 500;
}

.insp-form__grid .form-control-sm {
    min-width: 72px;
}

.insp-form__grid-label {
    font-weight: 500;
    color: var(--p-ink);
    white-space: nowrap;
}

.insp-form__grid thead th {
    white-space: normal;
    font-size: 11px;
    line-height: 1.3;
    vertical-align: bottom;
}

/* Тийм/Үгүй, N/A/NV — chip хэлбэрийн radio (input нуугдсан ч focus-той) */
.insp-form__opts {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}

.insp-form__opt {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: 0;
    padding: .2rem .65rem;
    border-radius: 999px;
    border: 1px solid var(--p-border);
    background: var(--p-bg);
    color: var(--p-ink);
    font-size: 12.5px;
    line-height: 1.4;
    white-space: nowrap;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.insp-form__opt input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.insp-form__opt:hover {
    border-color: var(--p-green);
    color: var(--p-green-dark);
}

.insp-form__opt:has(input:checked) {
    background: var(--p-green);
    border-color: var(--p-green);
    color: #fff;
}

.insp-form__opt:has(input:focus-visible) {
    box-shadow: 0 0 0 .2rem rgba(10, 153, 73, .25);
}

/* Доод үйлдлийн мөр — modal-body (scroll) дотор доороо наалдана */
.insp-form__bar {
    position: sticky;
    bottom: 0;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem .75rem;
    margin: 0 -1rem;
    padding: .7rem 1rem;
    background: var(--p-surface);
    border-top: 1px solid var(--p-border);
    box-shadow: 0 -6px 16px rgba(16, 48, 30, .05);
}

.insp-form__bar-hint {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: 12.5px;
    color: var(--p-muted);
    min-width: 0;
}

.insp-form__bar-hint i.bx {
    font-size: 16px;
    color: var(--p-green);
}

.insp-form__bar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-left: auto;
}

/* Нэвтрэх */
.login-page {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem 1rem;
    background:
        radial-gradient(60% 50% at 10% 0%, rgba(10, 153, 73, .14) 0%, transparent 70%),
        radial-gradient(50% 45% at 100% 100%, rgba(10, 153, 73, .10) 0%, transparent 70%),
        var(--p-bg);
}

.login-card {
    width: 100%;
    max-width: 420px;
    padding: 2rem 2rem 1.5rem;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16, 48, 30, .04), 0 12px 36px rgba(10, 153, 73, .10);
}

.login-brand {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: 1.4rem;
}

.login-brand img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    flex: 0 0 56px;
}

.login-brand__name {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: .3px;
    line-height: 1.15;
    color: var(--p-green);
}

.login-brand__sub {
    font-size: 11px;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--p-muted);
}

.login-title {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--p-ink);
    margin: 0 0 .25rem;
}

.login-sub {
    font-size: 13px;
    color: var(--p-muted);
    margin: 0 0 1.1rem;
}

.login-error {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin-bottom: 1rem;
    padding: .6rem .8rem;
    border-radius: 10px;
    font-size: 13px;
    background: rgba(194, 65, 122, .08);
    border: 1px solid rgba(194, 65, 122, .25);
    color: #8a2c56;
}

.login-error i.bx {
    font-size: 18px;
    color: var(--p-rose);
    flex: 0 0 auto;
    margin-top: 1px;
}

.login-form .form-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--p-muted);
    margin-bottom: .25rem;
}

.login-form .form-control {
    font-size: 14px;
    padding: .6rem .85rem;
    border-radius: 10px;
    border-color: var(--p-border);
    background: #fff;
}

.login-form .form-control.is-invalid {
    border-color: var(--p-rose);
    background-image: none;
}

.login-password .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.login-password .input-group-text {
    border-color: var(--p-border);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    color: var(--p-muted);
    cursor: pointer;
}

.login-password .input-group-text:hover {
    color: var(--p-green-dark);
}

.login-password.is-invalid .input-group-text {
    border-color: var(--p-rose);
}

.login-submit {
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    padding: .65rem 1rem;
}

.login-help {
    margin-top: 1.1rem;
    text-align: center;
    font-size: 12.5px;
    color: var(--p-muted);
}

.login-foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .25rem 1rem;
    font-size: 12px;
    color: var(--p-muted);
}

.login-foot a {
    color: var(--p-green-dark);
}

/* Маягтын grid — tablet: input 4/мөр, хэсгүүд нэг багана; утас: input 2/мөр, сонголт бүтэн мөр */
@media (max-width: 991.98px) {
    .insp-form__sections {
        grid-template-columns: minmax(0, 1fr);
    }

    .insp-form__section,
    .insp-form__section--half {
        grid-column: span 1;
    }

    .insp-form__f--input,
    .insp-form__f--choice {
        grid-column: span 4;
    }
}

@media (max-width: 767.98px) {
    .insp-form__f--input,
    .insp-form__f--choice {
        grid-column: span 6;
    }
}

@media (max-width: 575.98px) {
    .insp-form__legend {
        display: none;
    }

    .insp-form__bar-hint {
        display: none;
    }

    .insp-form__bar-actions {
        width: 100%;
    }

    .insp-form__bar-actions .btn {
        flex: 1 1 auto;
    }

    .svc-desc {
        max-width: 180px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .table-staff th:last-child,
    .table-staff td:last-child {
        position: sticky;
        right: 0;
        z-index: 1;
        background: var(--p-surface);
        box-shadow: inset 1px 0 0 var(--p-border);
    }

    .table-staff thead th:last-child {
        background: #eef7f1;
    }

    .svc-desc {
        min-width: 0;
    }

    .login-page {
        padding: 1.25rem .75rem;
    }

    .login-card {
        padding: 1.5rem 1.25rem 1.25rem;
    }
}

/* --------------------------------------------------------------------------
   Landing админ — «Нүүр хуудасны тохиргоо» (/hospital/landing/*,
   resources/views/landing/*.blade.php + partials/{reorder,image-preview}).
   Жагсаалтууд: зурагтай мөрүүд .ld-grid картууд (слайдер 16:9, эмч 2:3,
   онцлог 1:1, reels 9:16), текст мөрүүд .table-dash + .ld-table. Drag-n-drop
   бариул .ld-item__handle / td.ld-handle, дараалал .pos-cell (reorder partial
   шинэчилдэг), чирж байгаа элемент .is-dragging. Тохиргооны форм .ld-form +
   .ld-upload + sticky .ld-savebar. Modal-ууд .ld-modal, видео .ld-video-modal.
   -------------------------------------------------------------------------- */
.dash-card__title i.bx {
    font-size: 17px;
    color: var(--p-green);
    vertical-align: -3px;
    margin-right: .35rem;
}

.ld-flash {
    border-radius: var(--p-radius);
}

.ld-hint {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: 12px;
    color: var(--p-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.ld-hint i.bx {
    font-size: 15px;
    color: var(--p-green);
    flex: 0 0 auto;
}

.ld-card-sub {
    font-size: 12px;
    color: var(--p-muted);
    margin-top: .1rem;
}

/* Картын grid */
.ld-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: .9rem;
}

.ld-grid--wide {
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}

.ld-grid--portrait {
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}

.ld-grid--icons {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.ld-grid--reels {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

.ld-item {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--p-surface);
    border: 1px solid var(--p-border);
    border-radius: var(--p-radius);
    box-shadow: var(--p-shadow);
    cursor: grab;
    transition: border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.ld-item:hover {
    border-color: var(--p-green);
    box-shadow: 0 6px 18px rgba(10, 153, 73, .12);
}

.ld-item.is-dragging,
#sortable-tbody tr.is-dragging {
    opacity: .4;
}

.ld-item--inactive .ld-item__media img,
.ld-item--inactive .ld-item__media video {
    opacity: .5;
    filter: grayscale(.6);
}

.ld-item__media {
    position: relative;
    overflow: hidden;
    border-radius: calc(var(--p-radius) - 1px) calc(var(--p-radius) - 1px) 0 0;
    background: var(--p-green-soft);
    aspect-ratio: 16 / 9;
    flex: 0 0 auto;
}

.ld-item__media img,
.ld-item__media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ld-item__media img.preview-img {
    cursor: zoom-in;
}

.ld-item__media--portrait {
    aspect-ratio: 2 / 3;
}

.ld-item__media--reel {
    aspect-ratio: 9 / 16;
    background: #0f1a14;
    cursor: pointer;
}

.ld-item__media--icon {
    aspect-ratio: 1 / 1;
    background: var(--p-green-tint);
}

.ld-item__media--icon img {
    object-fit: contain;
    padding: 22%;
}

.ld-item__media--empty {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ld-item__media--empty > i.bx {
    font-size: 40px;
    color: #a9bfb3;
}

.ld-item__video {
    pointer-events: none;
}

.ld-item__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 54px;
    color: #fff;
    text-shadow: 0 0 14px rgba(0, 0, 0, .6);
    pointer-events: none;
    transition: transform .15s ease;
}

.ld-item__media--reel:hover .ld-item__play {
    transform: translate(-50%, -50%) scale(1.08);
}

.ld-item__handle,
.ld-item__pos {
    position: absolute;
    top: .5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .1rem;
    height: 26px;
    min-width: 26px;
    padding: 0 .4rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(225, 236, 229, .9);
    box-shadow: 0 1px 3px rgba(16, 48, 30, .12);
    font-size: 12px;
    font-weight: 500;
    color: var(--p-ink);
    z-index: 2;
}

.ld-item__handle {
    left: .5rem;
    cursor: grab;
    color: var(--p-muted);
}

.ld-item__handle:hover {
    color: var(--p-green-dark);
    border-color: var(--p-green);
}

.ld-item__handle i.bx {
    font-size: 17px;
}

.ld-item__pos {
    right: .5rem;
    font-family: "Roboto Mono", "SFMono-Regular", Menlo, Consolas, monospace;
    color: var(--p-green-dark);
}

.ld-item__body {
    padding: .65rem .8rem .2rem .8rem;
    flex: 1 1 auto;
    min-width: 0;
}

.ld-item__kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--p-green);
    font-weight: 500;
    margin-bottom: .15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ld-item__title {
    font-size: 14px;
    font-weight: 500;
    color: var(--p-ink);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ld-item__title--2 {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 2.6em;
}

.ld-item__sub {
    font-size: 12px;
    color: var(--p-muted);
    margin-top: .15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ld-item__sub i.bx {
    font-size: 14px;
    vertical-align: -2px;
    margin-right: .2rem;
    color: var(--p-green);
}

.ld-item__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .45rem .55rem .55rem .8rem;
    min-width: 0;
}

.ld-item__foot .status-pill {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Үйлдлийн товчнууд (карт ба хүснэгт хоёуланд) */
.ld-actions {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    flex: 0 0 auto;
}

.ld-btn-icon,
.btn.ld-btn-icon {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: var(--p-border);
    color: var(--p-muted);
}

.btn.ld-btn-icon i.bx {
    font-size: 16px;
}

.btn.ld-btn-icon.btn-outline-secondary:hover {
    background: var(--p-green-tint);
    border-color: var(--p-green);
    color: var(--p-green-dark);
}

.btn.ld-btn-icon.btn-outline-danger {
    color: var(--p-rose);
    border-color: rgba(194, 65, 122, .35);
}

.btn.ld-btn-icon.btn-outline-danger:hover {
    background: var(--p-rose);
    border-color: var(--p-rose);
    color: #fff;
}

.ld-actions .customer-actions .btn {
    width: 30px;
    height: 30px;
}

/* Текст мөрүүдийн хүснэгт */
.ld-table tbody tr {
    cursor: grab;
}

.ld-table tbody tr:hover {
    --bs-table-bg-state: var(--p-green-tint);
}

.ld-table .ld-col-handle {
    width: 36px;
}

.ld-table .ld-col-pos {
    width: 48px;
}

.ld-table td.ld-handle {
    color: #a9bfb3;
    cursor: grab;
    text-align: center;
}

.ld-table td.ld-handle i.bx {
    font-size: 18px;
    vertical-align: middle;
}

.ld-table tbody tr:hover td.ld-handle {
    color: var(--p-green);
}

.ld-table .fw-500 {
    font-weight: 500;
    color: var(--p-ink);
}

.ld-social {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-width: 0;
}

.ld-social small.mono {
    font-size: 11px;
    display: block;
}

.ld-icon-box {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--p-green-tint);
    color: var(--p-green);
    font-size: 17px;
}

.ld-url {
    max-width: 360px;
}

.ld-url a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--p-green-dark);
}

.ld-icon-preview {
    min-width: 44px;
    justify-content: center;
    background: var(--p-green-tint);
    color: var(--p-green);
    border-color: var(--p-border);
    font-size: 17px;
}

/* Тохиргооны форм (content.blade.php) */
.ld-form .form-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--p-ink);
    margin-bottom: .3rem;
}

.ld-form .form-text {
    font-size: 12px;
    color: var(--p-muted);
}

.ld-form .form-control {
    border-color: var(--p-border);
}

.ld-form textarea.mono {
    font-size: 13px;
}

.ld-form .dash-card__head {
    align-items: flex-start;
}

.ld-form .dash-card__body {
    padding-top: .5rem;
}

.ld-upload {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    padding: .75rem;
    border: 1px dashed var(--p-border);
    border-radius: var(--p-radius);
    background: var(--p-bg);
    height: 100%;
}

.ld-upload__preview {
    flex: 0 0 auto;
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--p-border);
    background: #fff;
    cursor: zoom-in;
}

.ld-upload__preview--wide {
    width: 128px;
    height: 96px;
}

.ld-upload__field {
    flex: 1 1 auto;
    min-width: 0;
}

.ld-upload__field .form-control {
    background: #fff;
}

.ld-savebar {
    position: sticky;
    bottom: .75rem;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .6rem .9rem;
    margin-top: 1rem;
    padding: .65rem .9rem;
    background: rgba(255, 255, 255, .96);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    border: 1px solid var(--p-border);
    border-radius: var(--p-radius);
    box-shadow: 0 -2px 10px rgba(16, 48, 30, .06), var(--p-shadow);
}

.ld-savebar__text {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: 13px;
    color: var(--p-muted);
}

.ld-savebar__text i.bx {
    font-size: 17px;
    color: var(--p-green);
}

.ld-savebar__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-left: auto;
}

/* Modal-ууд */
.ld-modal .modal-content {
    border-radius: 16px;
}

.ld-modal .modal-header {
    padding: .9rem 1.1rem;
}

.ld-modal .modal-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--p-ink);
}

.ld-modal .modal-body {
    padding: 1rem 1.1rem .25rem 1.1rem;
}

.ld-modal .modal-footer {
    padding: .75rem 1.1rem;
    gap: .5rem;
}

.ld-modal .form-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--p-ink);
    margin-bottom: .3rem;
}

.ld-modal .form-text {
    font-size: 12px;
    color: var(--p-muted);
}

.ld-modal .form-control,
.ld-modal .form-select {
    border-color: var(--p-border);
}

.ld-switch {
    padding-top: .35rem;
}

.ld-switch .form-check-label {
    font-size: 13px;
    color: var(--p-muted);
}

.ld-modal__preview {
    display: block;
    margin-top: .6rem;
    border-radius: 10px;
    border: 1px solid var(--p-border);
    background: var(--p-bg);
    object-fit: cover;
}

.ld-modal__preview--wide {
    width: 100%;
    max-height: 150px;
}

.ld-modal__preview--portrait {
    width: 90px;
    height: 135px;
}

.ld-modal__preview--icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
    padding: 8px;
    background: var(--p-green-tint);
}

.ld-modal__preview--reel {
    height: 220px;
    aspect-ratio: 9 / 16;
    background: #000;
}

.ld-modal__preview--poster {
    height: 130px;
    aspect-ratio: 9 / 16;
}

.ld-video-modal .modal-dialog {
    max-width: 420px;
}

.ld-video-modal .modal-content {
    border-radius: 16px;
    overflow: hidden;
}

.ld-video-player {
    width: 100%;
    aspect-ratio: 9 / 16;
    object-fit: contain;
    background: #000;
    display: block;
}

/* Зураг томруулах modal (image-preview partial) */
img.preview-img {
    cursor: zoom-in;
}

.ld-zoom-target {
    cursor: zoom-out;
}

@media (max-width: 767.98px) {
    .ld-grid {
        gap: .7rem;
    }

    .ld-grid--wide {
        grid-template-columns: 1fr;
    }

    .ld-grid--portrait,
    .ld-grid--icons,
    .ld-grid--reels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ld-url {
        max-width: 200px;
    }

    .ld-upload {
        height: auto;
    }

    .ld-savebar {
        bottom: .5rem;
    }

    .ld-savebar__text {
        display: none;
    }

    .ld-savebar__actions {
        width: 100%;
        margin-left: 0;
    }

    .ld-savebar__actions .btn-primary {
        margin-left: auto;
    }
}

@media (max-width: 575.98px) {
    .ld-hint {
        display: none;
    }

    .ld-grid--reels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ld-item__foot {
        padding-left: .6rem;
    }

    .ld-upload {
        flex-direction: column;
        align-items: stretch;
    }

    .ld-upload__preview,
    .ld-upload__preview--wide {
        width: 100%;
        height: 140px;
    }
}

/* Landing админ — нэмэлт: хүснэгтийн текст мобайлд мөр солино, <code> брэнд өнгөтэй */
.ld-table td,
.ld-table th {
    white-space: normal;
    overflow-wrap: anywhere;
}

.ld-table td.ld-handle,
.ld-table td.pos-cell,
.ld-table td:last-child {
    white-space: nowrap;
    overflow-wrap: normal;
}

.ld-social .fw-500,
.ld-social small.mono {
    overflow-wrap: normal;
}

.dash-greeting__sub code,
.ld-card-sub code,
.ld-form code,
.ld-modal code {
    color: var(--p-green-dark);
    background: var(--p-green-tint);
    padding: 0 .3em;
    border-radius: 4px;
    font-size: .92em;
}
