/* =========================================================
   ORANGE THEME - GLOBAL
========================================================= */

:root{
    --main-orange: #eb7719;
    --orange-dark: #d96200;
    --orange-soft: #fff7ed;
    --orange-soft-2: #fff3e8;
    --orange-border: #ffd8bf;
    --orange-border-2: #ffcfaa;

    --sidebar-bg: #383737;
    --sidebar-w: 250px;
    --sidebar-c: 55px;
    --sidebar-font: 'Be Vietnam Pro','Segoe UI','Roboto','Helvetica Neue',Arial,sans-serif;

    --text-main: #333333;
    --text-muted: #6c757d;
    --border-soft: #eeeeee;
    --border-soft-2: #f0f0f0;
    --bg-page: #f8f9fa;
    --shadow-soft: 0 2px 6px rgba(0,0,0,.05);
}

/* =========================================================
   BASE
========================================================= */

body{
    margin:0;
    background: var(--bg-page);
    color: var(--text-main);
    font-family:'Segoe UI','Roboto','Helvetica Neue',Arial,sans-serif;
    font-size:.875rem;
    transition:.3s;
}

label,
.form-label{
    font-size:.85rem !important;
    font-weight:600;
    margin-bottom:.3rem;
    color:#555;
}

.table th,
.table td{
    font-size:.875rem !important;
    vertical-align:middle !important;
}

.table th{
    font-weight:600;
}

.table-hover tbody tr:hover{
    background:#fff8f2;
}

.form-control,
.form-select{
    font-size:.875rem !important;
    height:38px;
}

.form-control:focus,
.form-select:focus{
    border-color: var(--main-orange) !important;
    box-shadow: 0 0 0 .1rem rgba(235,119,25,.15) !important;
}

textarea.form-control{
    resize:none !important;
    min-height:70px;
}

.dropdown-menu,
.dropdown-item{
    font-size:.875rem !important;
}

.pagination .page-link{
    font-size:.85rem !important;
    padding:.4rem .75rem !important;
    display:flex;
    align-items:center;
    justify-content:center;
    height:34px;
}

.shadow-sm{
    box-shadow: var(--shadow-soft) !important;
}

.bg-white{
    border:1px solid var(--border-soft);
}

/* =========================================================
   TEXT / HELPERS
========================================================= */

.text-orange{
    color: var(--main-orange) !important;
    text-decoration:none !important;
    transition:.3s;
    font-weight:bold;
}

.text-orange:hover{
    color: var(--orange-dark) !important;
}

.bg-orange{
    background: var(--main-orange);
    color:#fff;
}

.cursor-pointer{
    cursor:pointer;
}

.fw-500{
    font-weight:500;
}

/* =========================================================
   BUTTONS
========================================================= */

.btn{
    font-size:.875rem !important;
    font-weight:500;
    padding-top:.4rem;
    padding-bottom:.4rem;
}

.btn-primary{
    background: var(--main-orange) !important;
    border-color: var(--main-orange) !important;
}

.btn-orange{
    background-color: var(--main-orange) !important;
    border-color: var(--main-orange) !important;
    color:#ffffff !important;
    border-radius:8px !important;
}

.btn-orange:hover,
.btn-orange:active,
.btn-orange:focus{
    background-color:#e66400 !important;
    border-color:#e66400 !important;
    color:#ffffff !important;
    box-shadow:0 0 0 .25rem rgba(235,119,25,.5) !important;
}

.btn-orange-outline,
.btn-outline-orange{
    color: var(--main-orange) !important;
    border:1px solid var(--main-orange) !important;
    background:#fff !important;
}

.btn-orange-outline:hover,
.btn-outline-orange:hover,
.btn-outline-orange:active,
.btn-outline-orange:focus,
.btn-outline-orange.active,
.btn-outline-orange.dropdown-toggle.show{
    background: var(--main-orange) !important;
    color:#fff !important;
    border-color: var(--main-orange) !important;
    box-shadow:0 0 0 .25rem rgba(235,119,25,.25) !important;
}

/* =========================================================
   FORM CHECK / RADIO
========================================================= */

.form-check-input:checked{
    background-color: var(--main-orange) !important;
    border-color: var(--main-orange) !important;
}

.form-check-input:focus{
    border-color: var(--main-orange) !important;
    box-shadow: 0 0 0 .25rem rgba(235,119,25,.25) !important;
}

.form-check-input[type="radio"]:checked{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}

/* =========================================================
   MODAL
========================================================= */

.modal-header{
    border-bottom:1px solid var(--border-soft-2);
}

.modal-title{
    font-weight:600;
}

/* =========================================================
   BADGE / LIST GROUP
========================================================= */

.badge-orange{
    background: var(--main-orange);
}

.list-group-item.active{
    background-color: var(--main-orange) !important;
    border-color: var(--main-orange) !important;
    color:#fff !important;
}

.list-group-item:hover{
    background:#fff3ea;
    color: var(--main-orange);
}

/* =========================================================
   AVATAR
========================================================= */

.avatar-sm{
    width:35px;
    height:35px;
    border-radius:50%;
}

/* =========================================================
   EXAM / PLAN / TOOTH
========================================================= */

.exam-card{
    border:1px solid var(--border-soft);
    border-radius:10px;
    margin-bottom:15px;
}

.exam-header{
    background:#fff;
    padding:12px 15px;
    border-bottom:1px solid var(--border-soft);
}

.exam-body{
    padding:15px;
    background:#fff;
}

.plan-tr td{
    vertical-align:middle;
}

.plan-btn-edit,
.plan-btn-delete,
.plan-btn-save,
.plan-btn-cancel{
    min-width:32px;
}

.plan-editing{
    background:#fff6ed;
    box-shadow: inset 0 0 0 2px var(--main-orange);
}

.tooth-chart{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.tooth-row{
    display:flex;
    gap:6px;
}

.tooth-box{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dddddd;
    border-radius:6px;
    cursor:pointer;
    background:#fff;
    font-size:13px;
    font-weight:600;
}

.tooth-box:hover{
    border-color: var(--main-orange);
}

.tooth-box.selected{
    background: var(--main-orange);
    color:#fff;
    border-color: var(--main-orange);
}

/* =========================================================
   SIDEBAR SEARCH DROPDOWN
========================================================= */

#sidebar_patient_dropdown{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#ffffff;
    border-radius:10px;
    border:1px solid var(--border-soft);
    z-index:2000;
    max-height:280px;
    overflow-y:auto;
    overflow-x:hidden;
    padding:4px 0;
}

#sidebar_patient_dropdown .dropdown-item{
    color:#333 !important;
    font-weight:500;
    opacity:1 !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:break-word;
    line-height:1.35;
    padding:10px 12px;
    display:block;
}

#sidebar_patient_dropdown .dropdown-item:hover{
    background: var(--orange-soft);
    color:#333 !important;
}

.sidebar-patient-line1{
    display:block;
    font-weight:700;
    color:#333;
}

.sidebar-patient-line2{
    display:block;
    margin-top:3px;
    font-size:12px;
    color: var(--text-muted);
    font-weight:400;
}

.sidebar-patient-search{
    transition:.2s;
}

html.sidebar-is-collapsed .sidebar-patient-search{
    display:none;
}

/* =========================================================
   SIDEBAR
========================================================= */

.sidebar{
    width: var(--sidebar-w);
    height:100vh;
    position:fixed;
    background: linear-gradient(180deg, #383737 0%, #302f2f 100%);
    transition:.3s;
    z-index:1000;
    font-family: var(--sidebar-font);
    letter-spacing:.01em;
}

.sidebar .logo{
    color:#fff;
    padding:16px 15px;
    font-weight:700;
    font-size:.95rem;
    border-bottom:1px solid rgba(255,255,255,.08);
    white-space:nowrap;
    display:flex;
    justify-content:space-between;
    align-items:center;
    letter-spacing:.04em;
}

.sidebar .logo-text{
    font-family: var(--sidebar-font);
    font-weight:700;
    letter-spacing:.08em;
}

#toggle-btn{
    background:none;
    border:none;
    color: var(--main-orange);
    font-size:22px;
    cursor:pointer;
    padding:0;
}

.sidebar a{
    color:rgba(255,255,255,.94);
    text-decoration:none;
    padding:12px 15px;
    display:flex;
    align-items:center;
    white-space:nowrap;
    transition:.24s ease;
    border-radius:12px;
    margin:4px 8px;
    font-family: var(--sidebar-font);
    font-size:14px;
    font-weight:600;
    line-height:1.35;
}

.sidebar a i{
    color: var(--main-orange);
    min-width:30px;
    font-size:16px;
}

.sidebar a span,
.sidebar .menu-item ul li a,
.sidebar .menu-item > a > div{
    font-family: var(--sidebar-font);
}

.sidebar a:hover,
.sidebar a.active{
    background:rgba(255,255,255,.12);
    color:#ffb06a;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

/* =========================================================
   MAIN / TOPBAR
========================================================= */

.main{
    margin-left: var(--sidebar-w);
    padding:15px 25px;
}

.topbar{
    background:transparent;
    padding:5px 0;
    margin-bottom:5px;
}

.topbar-user-toggle{
    cursor:pointer;
}

.topbar-user-avatar{
    width:40px;
    height:40px;
    border-color:#fd7e14 !important;
    display:flex;
    align-items:center;
    justify-content:center;
}

.topbar-user-menu{
    border-radius:12px;
    min-width:240px;
    overflow:hidden;
    right:0;
    left:auto;
}

+.clinic-chat-drawer{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:0;transition:.2s ease;}
.clinic-chat-drawer.is-open{pointer-events:auto;opacity:1;}
.clinic-chat-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.22);}
.clinic-chat-panel{position:absolute;top:0;right:0;width:380px;max-width:100%;height:100%;background:#fff;box-shadow:-8px 0 24px rgba(0,0,0,.12);display:flex;flex-direction:column;transform:translateX(100%);transition:.2s ease;}
.clinic-chat-drawer.is-open .clinic-chat-panel{transform:translateX(0);}
.clinic-chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #f1dfcf;}
.clinic-chat-title{font-size:16px;font-weight:700;color:#f97316;}
.clinic-chat-subtitle{font-size:12px;color:#8a6f5a;}
.clinic-chat-close{border:none;background:transparent;font-size:24px;line-height:1;color:#666;}
.clinic-chat-body{flex:1;overflow:auto;padding:14px;background:#fffaf5;display:flex;flex-direction:column;gap:10px;}
.clinic-chat-empty{color:#9a8b7d;text-align:center;padding:24px 12px;font-size:13px;}
.clinic-chat-item{max-width:88%;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #f2dfcf;box-shadow:0 4px 12px rgba(0,0,0,.03);}
.clinic-chat-item.is-web{align-self:flex-end;background:#fff3e8;border-color:#ffd5b0;}
.clinic-chat-author{font-size:12px;font-weight:700;color:#f97316;margin-bottom:4px;}
.clinic-chat-text{font-size:13px;color:#2b2b2b;white-space:pre-wrap;word-break:break-word;}
.clinic-chat-meta{font-size:11px;color:#9b8a79;margin-top:6px;}
.clinic-chat-attachment{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:7px 10px;border-radius:10px;background:#fff7f0;color:#d66a00;text-decoration:none;font-size:12px;font-weight:600;}
.clinic-chat-form{padding:12px 14px;border-top:1px solid #f1dfcf;background:#fff;display:flex;flex-direction:column;gap:10px;}
.clinic-chat-file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.clinic-chat-file-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #ffd3af;border-radius:999px;background:#fff8f2;color:#f97316;cursor:pointer;font-size:12px;font-weight:600;}
.clinic-chat-file-name{font-size:12px;color:#8b735f;}
.clinic-chat-actions{display:flex;justify-content:flex-end;}
@media (max-width: 575.98px){.clinic-chat-panel{width:100%;}}

.procedure-settings .group-item-row:hover{
    background-color:#fff3e0 !important;
}

.procedure-settings .action-icons{
    display:flex;
    align-items:center;
    gap:5px;
    visibility:hidden;
    opacity:0;
    transition:opacity .2s ease-in-out;
}

.procedure-settings .group-item-row:hover .action-icons{
    visibility:visible;
    opacity:1;
}

.procedure-settings .action-icons .btn{
    margin:0 !important;
    padding:4px 8px;
}

.procedure-settings .group-item-row.active-orange{
    background-color:#fff3e0 !important;
    color:var(--main-orange) !important;
    border-left:3px solid var(--main-orange) !important;
    font-weight:700;
}

.procedure-settings .table-hover > tbody > tr:hover > *{
    --bs-table-accent-bg:#fff3e0 !important;
    color:#d35400 !important;
}

.procedure-settings .table{
    table-layout:auto !important;
    width:100% !important;
}

.procedure-settings .table td:nth-child(2),
.procedure-settings .table td:nth-child(4){
    max-width:200px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.procedure-settings .table td:nth-child(3),
.procedure-settings .table td:nth-child(5),
.procedure-settings .table th:nth-child(3),
.procedure-settings .table th:nth-child(5){
    width:1% !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
}

.procedure-settings .page-item.active .page-link{
    background-color:#eb7719 !important;
    border-color:#eb7719 !important;
    color:#fff !important;
}

.procedure-settings .page-link{
    color:#eb7719 !important;
}

.procedure-settings .page-link:hover{
    background-color:#fff3e0 !important;
    color:#d35400 !important;
    border-color:#dee2e6 !important;
}

.procedure-settings .page-link:focus{
    box-shadow:0 0 0 .25rem rgba(235,119,25,.25) !important;
}

.procedure-settings .action-col{
    white-space:nowrap;
}

.procedure-settings .btn-icon{
    width:34px;
    height:34px;
    padding:0;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid #dee2e6;
    transition:all .15s ease-in-out;
}

.procedure-settings .btn-edit{
    color:#ff6600;
}

.procedure-settings .btn-edit:hover{
    background:#e7f1ff;
    border-color:#2222227e;
}

.procedure-settings .btn-delete{
    color:#dc3545;
}

.procedure-settings .btn-delete:hover{
    background:#fdecea;
    border-color:#dc3545;
}

.procedure-settings #statusFilter{
    border:1.5px solid #dee2e6;
    color:#555;
    transition:all .2s;
    cursor:pointer;
}

.procedure-settings #statusFilter:hover{
    border-color:var(--main-orange);
    background-color:#fff3e0;
}

.procedure-settings #statusFilter:focus{
    border-color:var(--main-orange) !important;
    box-shadow:0 0 0 .25rem rgba(235,119,25,.25) !important;
    outline:none;
}

.procedure-settings .procedure-per-page-control{
    min-width:58px;
    min-height:34px;
    padding:4px 28px 4px 10px;
    font-size:12px;
}

.procedure-settings .card-footer .psd-menu{
    min-width:58px;
}

@media (max-width: 768px){
    .procedure-settings .card-footer > .d-flex{
        justify-content:center !important;
        gap:10px !important;
    }

    .procedure-settings .card-footer form{
        order:2;
        width:100%;
        justify-content:center;
    }

    .procedure-settings .card-footer .pagination{
        margin-bottom:0;
        justify-content:center;
        flex-wrap:wrap;
    }
}

.psd{
    position:relative;
    width:100%;
}

.psd-control{
    width:100%;
    min-height:38px;
    border:1px solid #ced4da;
    border-radius:10px;
    background:#fff;
    padding:6px 34px 6px 10px;
    display:flex;
    align-items:center;
    text-align:left;
    position:relative;
    transition:.15s;
    font-size:13px;
    color:#24324a;
}

.psd-control:hover,
.psd-control.is-open{
    border-color:#f28c28;
    box-shadow:0 0 0 .12rem rgba(242,140,40,.12);
}

.psd-placeholder{
    color:#6b7280;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.psd-tag{
    display:inline-flex;
    align-items:center;
    max-width:100%;
    background:#fff3ea;
    color:#f28c28;
    border:1px solid #ffd3b5;
    border-radius:999px;
    padding:4px 10px;
    font-size:12px;
    font-weight:600;
}

.psd-tag-text{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.psd-arrow{
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    color:#666;
    pointer-events:none;
    font-size:12px;
}

.psd-menu{
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    background:#fff;
    border:1px solid #eee;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    z-index:2600;
    padding:6px;
    max-height:240px;
    overflow-y:auto;
}

.psd-item{
    width:100%;
    border:none;
    background:transparent;
    text-align:left;
    padding:9px 10px;
    border-radius:8px;
    font-size:13px;
    color:#333;
    transition:.15s;
}

.psd-item:hover,
.psd-item.is-selected{
    background:#fff3ea;
    color:#f28c28;
}

.psd-control-multi{
    gap:6px;
}

.psd-tag-count{
    display:inline-flex;
    align-items:center;
    background:#fff7ef;
    color:#f28c28;
    border:1px solid #ffd3b5;
    border-radius:999px;
    padding:3px 8px;
    font-size:12px;
    font-weight:600;
}

.psd-item-multi{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:4px;
}

.psd-item-multi:last-child{
    margin-bottom:0;
}

.psd-item-remove{
    width:20px;
    height:20px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid #ffd3b5;
    color:#f28c28;
    font-size:12px;
    flex:0 0 20px;
}

.psd-item.is-selected + .psd-item.is-selected,
.psd-menu .psd-item.is-selected{
    box-shadow:none;
}

/* =========================================================
   COLLAPSED SIDEBAR
========================================================= */

html.sidebar-is-collapsed .sidebar{
    width: var(--sidebar-c);
}

html.sidebar-is-collapsed .main{
    margin-left: var(--sidebar-c);
}

html.sidebar-is-collapsed .sidebar span{
    display:none;
}

html.sidebar-is-collapsed .sidebar .logo > div:first-child{
    display:none !important;
}

html.sidebar-is-collapsed .sidebar .logo{
    justify-content:center !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

html.sidebar-is-collapsed #toggle-btn{
    margin-right:0 !important;
}

html.sidebar-is-collapsed .sidebar{
    overflow:visible !important;
}

html.sidebar-is-collapsed .menu-item{
    position:relative;
}

html.sidebar-is-collapsed .rotate-icon{
    display:none !important;
}

/* =========================================================
   SUBMENU
========================================================= */

.rotate-icon{
    transition:transform .25s ease-in-out;
}

[aria-expanded="true"] .rotate-icon{
    transform:rotate(90deg);
    color: var(--main-orange);
}

#settingsSubmenu ul,
#reportSubmenu ul{
    font-family: var(--sidebar-font);
}

#settingsSubmenu a,
#reportSubmenu a{
    font-size:13.5px;
    font-weight:500;
    color:rgba(255,255,255,.82);
}

#settingsSubmenu ul,
#reportSubmenu ul{
    background:rgba(255,255,255,.02);
    margin-left:20px !important;
}

#settingsSubmenu a,
#reportSubmenu a{
    transition:all .2s;
}

#settingsSubmenu a:hover,
#reportSubmenu a:hover{
    color: var(--main-orange) !important;
    opacity:1 !important;
    padding-left:25px !important;
}

.active-sub{
    background:rgba(235,119,25,.1);
    color:#fff !important;
}

/* =========================================================
   FLYOUT SUBMENU - COLLAPSED
========================================================= */

html.sidebar-is-collapsed #settingsSubmenu,
html.sidebar-is-collapsed #reportSubmenu{
    display:none !important;
}

html.sidebar-is-collapsed .menu-item:hover #settingsSubmenu,
html.sidebar-is-collapsed .menu-item:hover #reportSubmenu{
    display:block !important;
    position:absolute;
    left:calc(100% - 2px);
    top:0;
    width:220px;
    background:#383737;
    border-radius:0 8px 8px 0;
    box-shadow:4px 4px 10px rgba(0,0,0,.3);
    z-index:9999;
    height:auto !important;
    padding-bottom:10px;
}

html.sidebar-is-collapsed .menu-item:hover #settingsSubmenu::before,
html.sidebar-is-collapsed .menu-item:hover #reportSubmenu::before{
    content:"";
    position:absolute;
    left:-18px;
    top:0;
    width:18px;
    height:100%;
    background:transparent;
}

html.sidebar-is-collapsed .menu-item:hover #settingsSubmenu ul,
html.sidebar-is-collapsed .menu-item:hover #reportSubmenu ul{
    background:transparent !important;
    margin-left:0 !important;
    border-left:none !important;
    padding-left:0 !important;
}

html.sidebar-is-collapsed .menu-item:hover #settingsSubmenu li,
html.sidebar-is-collapsed .menu-item:hover #reportSubmenu li{
    width:100%;
}

html.sidebar-is-collapsed .menu-item:hover #settingsSubmenu a,
html.sidebar-is-collapsed .menu-item:hover #reportSubmenu a{
    padding-left:20px !important;
    color:#bdc3c7 !important;
    opacity:1 !important;
}

html.sidebar-is-collapsed .menu-item:hover #settingsSubmenu a:hover,
html.sidebar-is-collapsed .menu-item:hover #reportSubmenu a:hover{
    background: var(--main-orange) !important;
    color:#ffffff !important;
    padding-left:25px !important;
}

/* =========================================================
   SWEETALERT
========================================================= */

.swal2-confirm{
    background: var(--main-orange) !important;
    border-color: var(--main-orange) !important;
    box-shadow:none !important;
}

.swal2-confirm:hover{
    background:#e56700 !important;
    border-color:#e56700 !important;
}

.swal2-confirm:focus{
    box-shadow:0 0 0 .2rem rgba(235,119,25,.2) !important;
}

/* =========================================================
   SPECIAL READONLY FIELD
========================================================= */

#customer_phone:read-only{
    cursor:not-allowed;
    background-color:#e9ecef;
    opacity:1;
}

/* =========================================================
   GLOBAL ORANGE NAV TABS
   ĐẶT GẦN CUỐI FILE ĐỂ ƯU TIÊN CAO
========================================================= */

.nav.nav-tabs{
    border-bottom:1px solid #e9d7c7 !important;
    gap:4px;
}

.nav.nav-tabs .nav-item{
    margin-bottom:-1px;
}

.nav.nav-tabs .nav-link{
    color:#3f3f46 !important;
    font-weight:600 !important;
    border:1px solid transparent !important;
    border-top-left-radius:10px !important;
    border-top-right-radius:10px !important;
    border-bottom:1px solid transparent !important;
    background:transparent !important;
    padding:10px 18px !important;
    transition:all .18s ease;
    box-shadow:none !important;
    text-decoration:none !important;
}

.nav.nav-tabs .nav-link:hover,
.nav.nav-tabs .nav-link:focus{
    color: var(--main-orange) !important;
    background: var(--orange-soft) !important;
    border-color:#ffe0c2 #ffe0c2 #e9d7c7 !important;
}

.nav.nav-tabs .nav-link.active,
.nav.nav-tabs .nav-item.show .nav-link{
    color: var(--main-orange) !important;
    background:#fff !important;
    border-color:#ffd4ad #ffd4ad #fff !important;
    font-weight:700 !important;
    position:relative;
}

.nav.nav-tabs .nav-link.active::after,
.nav.nav-tabs .nav-item.show .nav-link::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:-1px;
    height:3px;
    border-radius:999px;
    background: var(--main-orange);
}

.tab-content{
    background:#fff;
}

.nav.nav-tabs .btn,
.nav.nav-tabs button.btn{
    margin-top:2px;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:768px){
    .main{
        /* Đã sửa dòng padding dưới đây: chừa 60px phía trên để không bị nút Toggle đè lên tiêu đề */
        padding: 60px 10px 10px 10px !important;
        margin-left:0 !important;
        width:100%;
        transition:.3s;
    }

    .sidebar{
        width: var(--sidebar-c) !important;
        left:-80px;
    }

    .sidebar .logo > div:first-child,
    .sidebar span,
    .sidebar-patient-search,
    .rotate-icon{
        display:none !important;
    }

    #toggle-btn{
        position:fixed;
        top:10px;
        left:10px;
        background: var(--sidebar-bg);
        padding:6px 10px;
        border-radius:6px;
        z-index:1001;
        box-shadow:0 2px 5px rgba(0,0,0,.2);
        margin:0 !important;
    }

    html.sidebar-is-collapsed .sidebar{
        left:0;
    }

    html.sidebar-is-collapsed #toggle-btn{
        position:static;
        background:transparent;
        box-shadow:none;
        margin:15px auto !important;
        display:block;
    }

    html.sidebar-is-collapsed .sidebar .logo{
        padding:0 !important;
    }

    html.sidebar-is-collapsed .main{
        margin-left: var(--sidebar-c) !important;
        width: calc(100% - var(--sidebar-c)) !important;
    }

    html.sidebar-is-collapsed .sidebar a{
        padding:12px 0 !important;
        margin:5px 8px !important;
        justify-content:center !important;
        text-align:center;
    }

    html.sidebar-is-collapsed .sidebar a i{
        margin:0 !important;
        min-width:unset !important;
        width:100% !important;
        text-align:center !important;
        display:flex;
        justify-content:center;
        align-items:center;
    }

    html.sidebar-is-collapsed .sidebar a > div{
        display:flex;
        justify-content:center;
        align-items:center;
        width:100%;
        margin:0 !important;
    }
    
    .pagination{
        flex-wrap: wrap;
        gap: 8px;
    }

    .pagination .page-link{
        min-width: 40px;
        height: 36px;
        padding: 0 12px !important;
        font-size: 13px !important;
    }
}