/* =====================================================
ASSETCARE360 ENTERPRISE DASHBOARD v3.0
Klinik Sibroh Malisi
===================================================== */

/* =========================
ROOT
========================= */

:root{

--primary:#0d6efd;
--primary2:#198cff;

--success:#10b981;
--warning:#f59e0b;
--danger:#ef4444;
--purple:#8b5cf6;

--sidebar:#13293d;
--sidebar2:#0b1622;

--bg:#eef2f7;
--card:#ffffff;

}

/* =========================
GLOBAL
========================= */

body{

background:#eef2f7;

font-family:
"Segoe UI",
Tahoma,
sans-serif;

font-size:14px;

color:#1f2937;

overflow-x:hidden;

}

a{
text-decoration:none;
}

/* =========================
SIDEBAR
========================= */

.sidebar{

position:fixed;

top:0;
left:0;
bottom:0;

width:230px;

background:
linear-gradient(
180deg,
#13293d,
#0b1622
);

color:white;

overflow-y:auto;

z-index:9999;

box-shadow:
0 0 25px rgba(0,0,0,.25);

}

/* LOGO */

.sidebar-logo{

height:55px;

display:flex;

align-items:center;

gap:10px;

padding:0 15px;

background:
linear-gradient(
90deg,
#0058c8,
#0d6efd
);

}

.logo-icon{

font-size:22px;

}

.logo-text{

display:block;

}

.logo-text .title{

font-size:22px;

font-weight:700;

line-height:1;

}

.logo-text small{

font-size:11px;

opacity:.85;

}

/* USER */

.user-panel{

display:flex;

align-items:center;

gap:12px;

padding:18px;

border-bottom:
1px solid rgba(255,255,255,.08);

}

.user-avatar{

width:60px;
height:60px;

border-radius:50%;

object-fit:cover;

border:3px solid rgba(255,255,255,.15);

}

.user-name{

font-size:15px;

font-weight:700;

}

.user-role{

font-size:12px;

opacity:.8;

}

.user-status{

font-size:12px;

margin-top:5px;

}

.dot{

display:inline-block;

width:10px;
height:10px;

border-radius:50%;

background:#22c55e;

margin-right:5px;

}

/* SEARCH */

.sidebar-search{

padding:15px;

}

.sidebar-search input{

width:100%;

padding:10px 12px;

border:none;

border-radius:8px;

background:
rgba(255,255,255,.08);

color:white;

outline:none;

}

.sidebar-search input::placeholder{

color:#cbd5e1;

}

/* MENU */

.menu-title{

padding:15px 20px;

font-size:11px;

font-weight:600;

opacity:.55;

}

.menu a{

display:flex;

align-items:center;

gap:12px;

padding:13px 20px;

color:white;

border-left:4px solid transparent;

transition:.2s;

}

.menu a i{

width:18px;

}

.menu a:hover{

background:
rgba(255,255,255,.08);

border-left:4px solid #0d6efd;

}

.menu a.active{

background:
linear-gradient(
90deg,
#0d6efd,
#198cff
);

border-left:4px solid white;

}

.arrow{

margin-left:auto;

opacity:.5;

}

/* SYSTEM */

.system-info{

padding:20px;

margin-top:15px;

border-top:
1px solid rgba(255,255,255,.08);

}

.system-title{

font-size:11px;

opacity:.55;

margin-bottom:10px;

}

.sys-card{

background:
rgba(255,255,255,.05);

padding:12px;

border-radius:8px;

}

.sys-item{

display:flex;

justify-content:space-between;

font-size:12px;

margin-bottom:6px;

}

/* =========================
CONTENT
========================= */

.content,
.main-content{

margin-left:230px;

padding:20px;

}

/* =========================
TOPBAR
========================= */

.topbar{

background:white;

border-radius:15px;

padding:10px 20px;

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

box-shadow:
0 5px 20px rgba(0,0,0,.05);

}

.topbar-left{

display:flex;

align-items:center;

gap:15px;

}

.topbar-title{

font-size:20px;

font-weight:700;

}

.btn-menu{

width:42px;
height:42px;

border:none;

border-radius:10px;

background:#0d6efd;

color:white;

}

.search-box{

width:260px;

padding:10px 15px;

border-radius:10px;

border:1px solid #dbe2ea;

}

/* =========================
KPI CARD
========================= */

.kpi-card{

position:relative;

overflow:hidden;

min-height:160px;

padding:20px;

display:flex;

flex-direction:column;

justify-content:flex-start;

}

.kpi-blue{
background:linear-gradient(135deg,#0d6efd,#3b82f6);
}

.kpi-green{
background:linear-gradient(135deg,#16a34a,#22c55e);
}

.kpi-cyan{
background:linear-gradient(135deg,#06b6d4,#22d3ee);
}

.kpi-orange{
background:linear-gradient(135deg,#f59e0b,#fbbf24);
}

.kpi-red{
background:linear-gradient(135deg,#ef4444,#f87171);
}

.kpi-purple{
background:linear-gradient(135deg,#8b5cf6,#a78bfa);
}

.kpi-dark{
background:linear-gradient(135deg,#475569,#64748b);
}

.kpi-title{

font-size:12px;

font-weight:600;

text-transform:uppercase;

}

.kpi-value{

font-size:42px;

font-weight:700;

line-height:1;

margin-top:8px;

margin-bottom:2px;

}

.kpi-sub{

font-size:13px;

opacity:.9;

margin-top:0;

line-height:1;

}

.kpi-icon{

position:absolute;

top:20px;
right:20px;

font-size:70px;

opacity:.15;

}

.kpi-footer{

position:absolute;

left:0;
right:0;
bottom:0;

height:38px;

display:flex;

align-items:center;

padding:0 15px;

background:rgba(0,0,0,.12);

font-size:13px;

}

/* =========================
CARD
========================= */

.card-modern{

background:white;

width:100%;

border:none;

border-radius:15px;

box-shadow:
0 3px 15px rgba(0,0,0,.06);

margin-bottom:20px;

}

.card-modern .card-header{

padding:15px 20px;

font-weight:700;

background:white;

border-bottom:
1px solid #e5e7eb;

}

.card-modern .card-body{

padding:20px;

}

/* =========================
CHART
========================= */

.chart-container{

height:350px;

position:relative;

}

/* =========================
TABLE
========================= */

.table{

margin-bottom:0;

}

.table th{

font-size:13px;

font-weight:600;

background:#f8fafc;

}

.table td{

vertical-align:middle;

}

/* =========================
BADGE
========================= */

.badge{

font-size:11px;

padding:6px 10px;

}

/* =========================
HEALTH SCORE
========================= */

.health-score{

text-align:center;

padding:30px;

}

.health-score .value{

font-size:70px;

font-weight:700;

color:#10b981;

}

/* =========================
TIMELINE
========================= */

.activity-item{

display:flex;

gap:12px;

margin-bottom:15px;

}

.activity-icon{

width:36px;
height:36px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

color:white;

}

.bg-blue{background:#0d6efd;}
.bg-green{background:#10b981;}
.bg-orange{background:#f59e0b;}
.bg-purple{background:#8b5cf6;}

.activity-title{

font-weight:600;

}

.activity-time{

font-size:12px;

color:#64748b;

}

/* =========================
SCROLLBAR
========================= */

::-webkit-scrollbar{
width:8px;
}

::-webkit-scrollbar-thumb{
background:#94a3b8;
border-radius:20px;
}

/* =========================
MOBILE
========================= */

@media(max-width:992px){

.sidebar{
left:-230px;
}

.content,
.main-content{
margin-left:0;
}

.topbar{
flex-direction:column;
gap:15px;
}

.search-box{
width:100%;
}

}

@media(max-width:768px){

.kpi-card{
height:auto;
}

}

.sidebar.show{
left:0 !important;
}

@media(max-width:992px){

.sidebar{

transition:.3s;

}

}


.content,
.main-content,
.container-fluid{

margin-left:230px !important;

padding:20px !important;

}

@media(max-width:992px){

.content,
.main-content,
.container-fluid{

margin-left:0 !important;

}

}

.kpi-card{

position:relative;

overflow:hidden;

height:150px;

padding:18px;

border-radius:10px;

color:white;

}

.kpi-title{

font-size:12px;

font-weight:600;

text-transform:uppercase;

}

.kpi-value{

font-size:42px;

font-weight:700;

margin-top:10px;

}

.kpi-sub{

font-size:13px;

margin-top:10px;

opacity:.9;

}

.kpi-icon{

position:absolute;

right:20px;
top:15px;

font-size:70px;

opacity:.15;

}

.kpi-footer{

position:absolute;

left:0;
right:0;
bottom:0;

padding:10px 15px;

background:rgba(0,0,0,.12);

font-size:13px;

}


.container-fluid{

margin-left:230px !important;

padding:20px !important;

max-width:
calc(100% - 230px) !important;

}

@media(max-width:992px){

.container-fluid{

margin-left:0 !important;

max-width:100% !important;

}

}

.sidebar{
width:230px;
}

.content,
.main-content,
.container-fluid{

margin-left:230px;

}


/* ===================================
   FIX TOPBAR
=================================== */

.topbar{

margin-left:230px !important;

width:calc(100% - 230px) !important;

position:relative;

z-index:100;

}

@media(max-width:992px){

.topbar{

margin-left:0 !important;

width:100% !important;

}

}


.kpi-money{

font-size:18px !important;

line-height:1.3;

word-break:break-word;

margin-top:15px;

}

.chart-container{

position:relative;

height:350px;

width:100%;

}

.chart-container canvas{

width:100% !important;

height:100% !important;

}

.chart-container{

position:relative;

height:350px;

width:100%;

}

.chart-container canvas{

width:100% !important;

height:100% !important;

}

.content-area{

margin-left:230px;

padding:20px;

width:calc(100% - 230px);

}

@media(max-width:992px){

.content-area{

margin-left:0;

width:100%;

padding:15px;

}

}


.btn-group .btn{

width:34px;

height:34px;

display:flex;

align-items:center;

justify-content:center;

}