@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
html{
    scroll-behavior:smooth;
}
body{
    font-family:'Poppins',sans-serif;
    background:var(--body);
    color:var(--text);
    overflow-x:hidden;
}
::-webkit-scrollbar{
    width:8px;
}
::-webkit-scrollbar-thumb{
    background:var(--primary);
    border-radius:20px;
}
::-webkit-scrollbar-track{
    background:#eef2f7;
}
a{
    text-decoration:none;
}
ul{
    list-style:none;
}
.wrapper{
    display:flex;
    min-height:100vh;
}
/* =========================================================
   HOSPITAL SIDEBAR - REFERENCE UI
========================================================= */

:root{
    --sidebar-width:270px;

    --sidebar-bg-start:#062f75;
    --sidebar-bg-end:#03142f;

    --sidebar-text:#ffffff;
    --sidebar-muted:#b9cdf0;

    --sidebar-active:#1264f5;

    --icon-blue:#1677ff;
    --icon-purple:#7b28e8;
    --icon-cyan:#00a9c9;
    --icon-orange:#ff9d00;
    --icon-green:#18b95b;
    --icon-teal:#12aeb0;
    --icon-indigo:#6537e8;

    --sidebar-border:rgba(255,255,255,.10);
}


/* =========================================================
   SIDEBAR
========================================================= */

.sidebar{
    width:var(--sidebar-width);
    background:
        linear-gradient(
            180deg,
            var(--sidebar-bg-start) 0%,
            #06255f 42%,
            var(--sidebar-bg-end) 100%
        );

    color:var(--sidebar-text);

    position:fixed;
    left:0;
    top:0;

    height:100vh;

    transition:all .35s ease;

    z-index:999;

    box-shadow:
        5px 0 25px rgba(0,0,0,.12);

    overflow:hidden;
}


/* =========================================================
   LOGO AREA
========================================================= */

.logo-area{
    height:88px;
    min-height:88px;

    display:flex;
    align-items:center;

    padding:14px 18px;

    border-bottom:1px solid var(--sidebar-border);

    background:rgba(0,0,0,.05);
}


/* Logo Icon */

.logo-icon{
    width:52px;
    height:52px;

    min-width:52px;

    border-radius:10px;

    background:
        linear-gradient(
            145deg,
            #19d6c5,
            #00a8e8
        );

    color:#ffffff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:31px;
    font-weight:700;

    margin-right:13px;

    box-shadow:
        0 7px 18px rgba(0,0,0,.18);

    position:relative;
}


/* White inner effect */

.logo-icon::after{
    content:"";

    position:absolute;

    width:30px;
    height:30px;

    border-radius:8px;

    background:rgba(255,255,255,.12);
}


/* Keep plus above pseudo element */

.logo-icon i{
    position:relative;
    z-index:2;
}


/* Logo Text */

.logo-text{
    min-width:0;
}

.logo-text h4{
    margin:0;

    color:#ffffff;

    font-size:19px;
    line-height:1.2;

    font-weight:700;

    white-space:nowrap;
}

.logo-text small{
    display:block;

    margin-top:3px;

    color:#c7d8f5;

    font-size:11px;

    font-weight:400;

    white-space:nowrap;
}


/* =========================================================
   SIDEBAR SCROLL
========================================================= */

.sidebar-scroll{
    height:calc(100vh - 88px);

    overflow-y:auto;
    overflow-x:hidden;

    /* Enough space for the fixed Need Help card */
    padding-bottom:190px;

    box-sizing:border-box;

    scrollbar-width:thin;

    scrollbar-color:
        rgba(255,255,255,.25)
        transparent;
}

.sidebar-scroll::-webkit-scrollbar{
    width:5px;
}

.sidebar-scroll::-webkit-scrollbar-track{
    background:transparent;
}

.sidebar-scroll::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.25);
    border-radius:20px;
}

.sidebar-scroll::-webkit-scrollbar-thumb:hover{
    background:rgba(255,255,255,.45);
}


/* =========================================================
   MENU
========================================================= */

.sidebar-menu{
    padding:16px 9px 20px;

    margin:0;
}

.sidebar-menu > li{
    margin:5px 0;
}


/* =========================================================
   MAIN MENU LINK
========================================================= */

.sidebar-menu > li > a{
    width:100%;

    min-height:62px;

    display:flex;
    align-items:center;

    padding:8px 13px;

    color:#ffffff;

    border-radius:12px;

    text-decoration:none;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;

    position:relative;

    overflow:hidden;
}


/* Hover */

.sidebar-menu > li > a:hover{
    background:rgba(255,255,255,.09);

    transform:translateX(2px);

    color:#ffffff;
}


/* =========================================================
   ACTIVE MENU
========================================================= */

.sidebar-menu > li > a.active{
    background:
        linear-gradient(
            90deg,
            #1467f5,
            #0875ff
        );

    color:#ffffff;

    box-shadow:
        0 7px 18px rgba(0,87,210,.30);
}


/* =========================================================
   MENU ICON BOX
========================================================= */

.menu-icon{
    width:43px;
    height:43px;

    min-width:43px;

    border-radius:10px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#ffffff;

    font-size:20px;

    margin-right:12px;

    box-shadow:
        inset 0 1px 1px rgba(255,255,255,.20),
        0 5px 12px rgba(0,0,0,.15);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


/* Icon Hover */

.sidebar-menu > li > a:hover .menu-icon{
    transform:scale(1.05);
}


/* =========================================================
   ICON COLORS
========================================================= */

.icon-blue{
    background:
        linear-gradient(
            145deg,
            #2490ff,
            #125be9
        );
}

.icon-purple{
    background:
        linear-gradient(
            145deg,
            #a12cff,
            #6820d9
        );
}

.icon-cyan{
    background:
        linear-gradient(
            145deg,
            #1ccde4,
            #0089c5
        );
}

.icon-orange{
    background:
        linear-gradient(
            145deg,
            #ffb20f,
            #ef7600
        );
}

.icon-green{
    background:
        linear-gradient(
            145deg,
            #35d56b,
            #079947
        );
}

.icon-teal{
    background:
        linear-gradient(
            145deg,
            #1bc6c7,
            #078b9e
        );
}

.icon-indigo{
    background:
        linear-gradient(
            145deg,
            #8355ff,
            #5225c9
        );
}


/* =========================================================
   MENU CONTENT
========================================================= */

.menu-content{
    display:flex;

    flex-direction:column;

    justify-content:center;

    min-width:0;

    line-height:1.15;
}

.menu-title{
    display:block;

    color:#ffffff;

    font-size:14px;

    font-weight:600;

    white-space:nowrap;
}

.menu-content small{
    display:block;

    color:#b8cbed;

    font-size:10px;

    font-weight:400;

    margin-top:4px;

    white-space:nowrap;
}


/* =========================================================
   DROPDOWN MAIN LINK
========================================================= */

.sidebar-menu .dropdown-toggle{
    display:flex;

    justify-content:space-between;

    align-items:center;
}

.sidebar-menu .dropdown-toggle::after{
    margin-left:auto;

    color:#ffffff;

    font-size:11px;

    border-top-width:5px;

    transition:transform .25s ease;
}


/* Dropdown open */

.sidebar-menu .dropdown-toggle[aria-expanded="true"]::after{
    transform:rotate(180deg);
}


/* Left side of dropdown */

.menu-left{
    display:flex;

    align-items:center;

    min-width:0;
}


/* =========================================================
   SUBMENU
========================================================= */

.submenu{
    padding:5px 0 7px 55px;

    margin:0;
}

.submenu li{
    margin:3px 0;
}

.submenu li a{
    display:block;

    color:#c9d9f3;

    font-size:12px;

    font-weight:400;

    padding:8px 12px;

    border-radius:8px;

    transition:
        background .25s ease,
        color .25s ease,
        padding-left .25s ease;
}

.submenu li a:hover{
    background:rgba(255,255,255,.10);

    color:#ffffff;

    padding-left:17px;
}


/* =========================================================
   REMOVE OLD MENU ICON WIDTH RULE
========================================================= */

.sidebar-menu a i{
    width:auto;

    font-size:inherit;
}


/* =========================================================
   COLLAPSED SIDEBAR
========================================================= */

.sidebar.collapsed{
    width:80px;
}

.sidebar.collapsed .logo-area{
    justify-content:center;

    padding:14px 10px;
}

.sidebar.collapsed .logo-text{
    display:none;
}

.sidebar.collapsed .sidebar-menu{
    padding-left:8px;
    padding-right:8px;
}

.sidebar.collapsed .sidebar-menu > li{
    margin:6px 0;
}

.sidebar.collapsed .sidebar-menu > li > a{
    justify-content:center;

    padding:9px;

    min-height:55px;
}

.sidebar.collapsed .menu-icon{
    margin-right:0;

    width:42px;
    height:42px;
}

.sidebar.collapsed .menu-content{
    display:none;
}

.sidebar.collapsed .menu-left{
    justify-content:center;
}

.sidebar.collapsed .dropdown-toggle::after{
    display:none;
}

.sidebar.collapsed .submenu{
    display:none;
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

.main-wrapper{
    width:100%;

    margin-left:270px;

    transition:
        margin-left .35s ease;
}

.content-area{
    padding:30px;
    min-height:calc(100vh - 130px);
}
.page-header{
    margin-bottom:30px;
}
.page-header h3{
    font-weight:700;
    color:#212529;
}
.breadcrumb{
    background:none;
    margin:0;
}
.breadcrumb a{
    color:var(--primary);
}
.footer{
    background:#ffffff;
    border-top:1px solid #e9ecef;
    padding:18px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#6c757d;
    font-size:14px;
}
.card{
    border:none;
    border-radius:18px;
    box-shadow:0 8px 25px rgba(0,0,0,.06);
    transition:.35s;
    overflow:hidden;
    background:#fff;
}
.card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 35px rgba(13,110,253,.15);
}
.card-header{
    background:#fff;
    border-bottom:1px solid #edf2f7;
    padding:18px 25px;
    font-weight:600;
}
.card-body{
    padding:25px;
}
.dashboard-card{
    background:#fff;
    border-radius:18px;
    padding:28px;
    box-shadow:0 8px 25px rgba(0,0,0,.06);
    position:relative;
    overflow:hidden;
    transition:.35s;
}
.dashboard-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(13,110,253,.15);
}
.dashboard-card::before{
    content:"";
    position:absolute;
    top:-45px;
    right:-45px;
    width:140px;
    height:140px;
    border-radius:50%;
    background:rgba(13,110,253,.08);
}
.dashboard-icon{
    width:70px;
    height:70px;
    border-radius:18px;
    background:rgba(13,110,253,.12);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0d6efd;
    font-size:28px;
    margin-bottom:18px;
}
.dashboard-title{
    font-size:15px;
    color:#6c757d;
    margin-bottom:8px;
}
.dashboard-value{
    font-size:34px;
    font-weight:700;
    color:#212529;
}
.dashboard-growth{
    color:#198754;
    font-size:14px;
    margin-top:8px;
}
.table{
    margin-bottom:0;
    vertical-align:middle;
}
.table thead{
    background:#f8fbff;
}
.table thead th{
    border:none;
    color:#495057;
    font-size:14px;
    font-weight:600;
    padding:16px;
}
.table tbody td{
    padding:16px;
    border-color:#eef2f7;
}
.table tbody tr{
    transition:.25s;
}
.table tbody tr:hover{
    background:#f8fbff;
}
.dataTables_wrapper .dataTables_filter input{
    border-radius:10px;
    border:1px solid #dbe4ef;
    padding:8px 12px;
}
.dataTables_wrapper .dataTables_length select{
    border-radius:10px;
}
.btn{
    border-radius:12px;
    padding:10px 22px;
    font-weight:500;
    transition:.3s;
}
.btn-primary{
    background:#0d6efd;
    border:none;
}
.btn-primary:hover{
    background:#0b5ed7;
    transform:translateY(-2px);
}
.btn-success{
    background:#198754;
    border:none;
}
.btn-danger{
    border:none;
}
.btn-warning{
    border:none;
}
.form-control{
    border-radius:12px;
    border:1px solid #dbe4ef;
    padding:12px 15px;
    min-height:50px;
    box-shadow:none;
}
.form-control:focus{
    border-color:#0d6efd;
    box-shadow:0 0 0 .2rem rgba(13,110,253,.15);
}
.form-select{
    border-radius:12px;
    min-height:50px;
}
.form-label{
    font-weight:600;
    color:#495057;
    margin-bottom:8px;
}
.input-group-text{
    border-radius:12px 0 0 12px;
    background:#f8fbff;
    border:1px solid #dbe4ef;
}
.badge{
    padding:8px 14px;
    border-radius:30px;
    font-weight:500;
}
.badge-success{
    background:#d1fae5;
    color:#198754;
}
.badge-danger{
    background:#ffe2e5;
    color:#dc3545;
}
.badge-warning{
    background:#fff4d6;
    color:#b7791f;
}
.badge-primary{
    background:#d9ebff;
    color:#0d6efd;
}
.alert{
    border:none;
    border-radius:14px;
    padding:15px 20px;
}
.page-link{
    border:none;
    margin:0 4px;
    border-radius:10px;
    color:#0d6efd;
}
.page-item.active .page-link{
    background:#0d6efd;
}
.dropdown-menu{
    border:none;
    border-radius:14px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    padding:10px;
}
.dropdown-item{
    border-radius:10px;
    padding:10px 15px;
    transition:.3s;
}
.dropdown-item:hover{
    background:#eef6ff;
}
.modal-content{
    border:none;
    border-radius:18px;
}
.modal-header{
    border-bottom:1px solid #eef2f7;
}
.modal-footer{
    border-top:1px solid #eef2f7;
}





/* =========================================================
   REFERENCE DASHBOARD HEADER
========================================================= */

.top-header{
    height:88px;

    background:#ffffff;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 24px;

    border-bottom:1px solid #edf1f7;

    box-shadow:
        0 2px 15px rgba(15,23,42,.04);

    position:sticky;
    top:0;

    z-index:998;
}


/* LEFT */

.header-left{
    display:flex;
    align-items:center;
    gap:25px;
}


/* HAMBURGER */

.toggle-btn{
    width:45px;
    height:45px;

    border:none;

    border-radius:10px;

    background:#ffffff;

    color:#0758d5;

    font-size:23px;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    transition:.25s;
}

.toggle-btn:hover{
    background:#eef5ff;
}


/* WELCOME */

.welcome-area{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.welcome-text{
    color:#172554;

    font-size:12px;

    font-weight:500;

    line-height:1.2;
}

.hospital-header-name{
    color:#172554;

    font-size:23px;

    font-weight:750;

    line-height:1.2;

    margin-top:3px;

    white-space:nowrap;
}

.welcome-hand{
    font-size:22px;

    margin-left:4px;
}


/* RIGHT */

.header-right{
    display:flex;
    align-items:center;

    gap:18px;
}


/* DATE CARD */

.header-date-card{
    min-width:220px;

    height:58px;

    border:1px solid #edf1f7;

    border-radius:12px;

    background:#ffffff;

    display:flex;
    align-items:center;

    padding:8px 15px;

    gap:11px;

    box-shadow:
        0 4px 15px rgba(15,23,42,.04);
}

.header-date-icon{
    width:36px;
    height:36px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#0d6efd;

    font-size:20px;
}

.header-date-text{
    display:flex;
    flex-direction:column;

    line-height:1.3;
}

.header-date-text strong{
    color:#172554;

    font-size:12px;

    font-weight:700;
}

.header-date-text span{
    color:#64748b;

    font-size:11px;

    margin-top:2px;
}


/* NOTIFICATION */

.notification-icon{
    width:48px;
    height:48px;

    border-radius:50%;

    background:#ffffff;

    border:1px solid #edf1f7;

    display:flex;
    align-items:center;
    justify-content:center;

    position:relative;

    color:#172554;

    font-size:20px;

    box-shadow:
        0 4px 15px rgba(15,23,42,.04);
}

.notification-icon:hover{
    background:#f4f8ff;

    color:#0d6efd;
}

.notify-count{
    position:absolute;

    top:-3px;
    right:-2px;

    width:20px;
    height:20px;

    border-radius:50%;

    background:#ef233c;

    color:#ffffff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:10px;

    font-weight:700;

    border:2px solid #ffffff;
}


/* PROFILE */

.profile-btn{
    border:none;

    background:none;

    display:flex;
    align-items:center;

    gap:10px;

    padding:3px 0 3px 4px;

    font-weight:600;

    color:#172554;
}

.profile-btn::after{
    margin-left:2px;
}

.profile-img{
    width:47px;
    height:47px;

    border-radius:50%;

    object-fit:cover;

    border:2px solid #e8eef8;
}

.profile-info{
    flex-direction:column;

    align-items:flex-start;

    line-height:1.2;
}

.profile-name{
    color:#172554;

    font-size:12px;

    font-weight:700;

    max-width:150px;

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;
}

.profile-role{
    color:#64748b;

    font-size:10px;

    font-weight:500;

    margin-top:3px;
}


/* =========================================================
   HEADER RESPONSIVE
========================================================= */

@media(max-width:1200px){

    .header-date-card{
        min-width:190px;
    }

    .hospital-header-name{
        font-size:20px;
    }

}


@media(max-width:992px){

    .top-header{
        height:75px;

        padding:0 18px;
    }

    .welcome-area{
        display:none;
    }

    .header-right{
        gap:10px;
    }

}


@media(max-width:576px){

    .top-header{
        height:70px;

        padding:0 12px;
    }

    .header-date-card{
        display:none;
    }

    .notification-icon{
        width:42px;
        height:42px;
    }

    .profile-img{
        width:40px;
        height:40px;
    }

}




/* =========================================================
   SIDEBAR - NEED HELP CARD
========================================================= */

.sidebar-help-card {
    position: absolute;

    left: 10px;
    right: 10px;
    bottom: 10px;

    height: 163px;

    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            #6335ed 0%,
            #4920d2 55%,
            #3615b5 100%
        );

    border: 1px solid rgba(255,255,255,.35);

    box-shadow:
        0 8px 22px rgba(0,0,0,.22);

    text-align: center;

    color: #ffffff;

    overflow: hidden;

    z-index: 20;

    padding-top: 12px;
}


/* =========================================================
   HELP TITLE
========================================================= */

.sidebar-help-card .help-title {
    font-size: 12px;

    line-height: 1.2;

    font-weight: 700;

    color: #ffffff;

    margin-bottom: 5px;
}


/* =========================================================
   HELP TEXT
========================================================= */

.sidebar-help-card .help-text {
    font-size: 9px;

    line-height: 1.55;

    font-weight: 400;

    color: rgba(255,255,255,.92);

    margin-bottom: 8px;
}


/* =========================================================
   CONTACT BUTTON
========================================================= */

.help-support-btn {
    width: calc(100% - 24px);

    height: 27px;

    margin: 0 auto;

    border-radius: 5px;

    background: #ffffff;

    color: #312e81;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    font-size: 9px;

    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 3px 8px rgba(0,0,0,.16);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.help-support-btn i {
    font-size: 10px;
}

.help-support-btn:hover {
    color: #312e81;

    background: #f8faff;

    transform: translateY(-1px);

    box-shadow:
        0 5px 12px rgba(0,0,0,.20);
}


/* =========================================================
   HOSPITAL ILLUSTRATION AREA
========================================================= */

.help-hospital {
    position: absolute;

    left: 0;
    right: 0;
    bottom: -1px;

    height: 61px;
}


/* =========================================================
   HOSPITAL BUILDING
========================================================= */

.hospital-building {
    position: absolute;

    left: 50%;

    bottom: 0;

    transform: translateX(-50%);

    width: 65px;

    height: 54px;

    background: linear-gradient(
        180deg,
        #f8fbff 0%,
        #dcecff 100%
    );

    border-radius: 3px 3px 0 0;

    border: 1px solid rgba(255,255,255,.75);

    box-shadow:
        0 -2px 8px rgba(255,255,255,.18);
}


/* =========================================================
   HOSPITAL CROSS
========================================================= */

.hospital-cross {
    position: absolute;

    left: 50%;

    top: -7px;

    transform: translateX(-50%);

    width: 27px;

    height: 27px;

    border-radius: 3px;

    background: #ffffff;

    border: 1px solid #d5e5f8;

    box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

.hospital-cross span {
    position: absolute;

    width: 17px;
    height: 6px;

    background: #00a8d6;

    border-radius: 2px;

    top: 10px;
    left: 5px;
}

.hospital-cross b {
    position: absolute;

    width: 6px;
    height: 17px;

    background: #00a8d6;

    border-radius: 2px;

    top: 5px;
    left: 10px;
}


/* =========================================================
   HOSPITAL WINDOWS
========================================================= */

.hospital-windows {
    position: absolute;

    top: 13px;

    left: 7px;
    right: 7px;

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 4px;
}

.hospital-windows span {
    height: 8px;

    border-radius: 1px;

    background: #a8d6f7;

    border: 1px solid #7ebbe8;
}


/* =========================================================
   HOSPITAL DOOR
========================================================= */

.hospital-door {
    position: absolute;

    width: 11px;

    height: 18px;

    bottom: 0;

    left: 50%;

    transform: translateX(-50%);

    background: #70b8e9;

    border-radius: 3px 3px 0 0;

    border: 1px solid #5aa4da;
}


/* =========================================================
   TREES
========================================================= */

.help-tree {
    position: absolute;

    bottom: 0;

    width: 25px;

    height: 45px;
}

.tree-left {
    left: 12px;
}

.tree-right {
    right: 12px;
}

.help-tree::after {
    content: "";

    position: absolute;

    width: 4px;
    height: 18px;

    background: #8b6a45;

    bottom: 0;
    left: 10px;

    border-radius: 3px;
}

.help-tree i {
    position: absolute;

    display: block;

    width: 15px;
    height: 15px;

    border-radius: 50%;

    background: #50c82e;

    box-shadow:
        5px 4px 0 #39b522,
        -4px 6px 0 #65d83b;
}

.help-tree i:nth-child(1) {
    left: 5px;
    top: 5px;
}

.help-tree i:nth-child(2) {
    left: 0;
    top: 15px;
}

.help-tree i:nth-child(3) {
    left: 9px;
    top: 18px;
}


/* =========================================================
   COLLAPSED SIDEBAR
========================================================= */

.sidebar.collapsed .sidebar-help-card {
    display: none;
}