@font-face {
    font-family: 'Poppins';
    src: url(font/Poppins/Poppins-Regular.ttf);
}
@font-face {
    font-family: 'Inter';
    src: url(font/Inter/static/Inter_18pt-Regular.ttf);
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {
    background: #ffffff;
}

/* CONTAINER */
.container {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

/* LEFT SIDE */
.left {
    flex: 1;
    background: url('../img/background.png') no-repeat center;
    background-size: cover;
    background-position: left center;
    border: 2px solid #ddd;
    border-radius: 15px;
    padding: 15px;
    min-height: 0;
    position: relative;  
    overflow: hidden;
}
.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.left-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); 
    text-align: center;
}
.logo-daun {
    width: 150px;
    margin-bottom: 10px;
}
.left-content h2 {
    font-size: 48px;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
}
.left-content h1 {
    font-size: 48px;
    color: #16A34A;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
}
.left-content p {
    color: #787A91;
    font-family: 'Inter', sans-serif;
}

/* RIGHT SIDE */
.right {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #ddd;
    border-radius: 15px;
    padding: 10px;
    position: relative;
   
}
.form-box {
    width:100%;
    max-width:380px;
    margin:auto;
    text-align:center;
     padding: 0 10px;
}
.form-box h1 {
    font-size: 32px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    margin-top: -70px;
}
.form-box p {
    font-size: 20px;
    font-family: 'Poppins', sans-serif;
    color: #000;
    margin-bottom: 70px;
}

/* INPUT */
.input-group {
    margin-bottom: 10px;
    position: relative;
}
.input-group input {
    width: 100%;
    padding: 15px 15px 15px 45px;
    border-radius: 30px;
    border: 2px solid #16A34A;
    outline: none;
}
.icon-right {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    cursor: pointer;
}
.icon-left {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
}
.input-group input::placeholder {
    color: #16A34A;        
    font-size: 12px;  
    font-family: 'Inter', sans-serif;
}

/* BUTTON */
.login-btn {
    width: 100%;
    padding: 15px;
    border-radius: 30px;
    border: none;
    background: #16A34A;
    color: #000;
    font-size: 16px;
    cursor: pointer;
    margin-bottom: 20px;
    font-family: 'Inter', sans-serif;
    margin-top: 20px;
}
.login-btn:hover {
    background: #16A34A;
}

/* DIVIDER */
.divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 30px 0 15px;
    color: #000;
    font-size: 12px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
}
.divider::before,
.divider::after {
    content: "";
    flex: 1;
    border-bottom: 2px solid #000;
}
.divider span {
    padding: 0 10px;
}

/* GOOGLE BUTTON */
.google-wrapper{
    width:100%;
    margin-top:20px;
    display:flex;
    justify-content:center;
}
.g_id_signin{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow: hidden;
}
.g_id_signin > div{
    width:100% !important;
}
.g_id_signin iframe{
    width:100% !important;
    min-width:100% !important;
    height:52px !important;
    border-radius:30px !important;
}
.google-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 12px 20px;
    border: 2px solid #ddd;
    border-radius: 50px;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    text-decoration: none;
    margin-top: 10px;
    cursor: pointer;
    position: relative;
}
.google-btn img {
    position: absolute;
    left: 10px;
}
.google-btn:hover { background: #f5f5f5; }
.alert-error {
    background: #fef2f2;
    color: #DC2626;
    border: 1px solid #DC2626;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 12px;
    font-family: 'Inter', sans-serif;
    text-align: center;
}

/* ================= DASHBOARD ================= */

.dashboard-container{
    display:flex;
    gap:15px;
    padding:15px;
    min-height:100vh;
}

/* SIDEBAR */
.sidebar{
    width:260px;
    background:#fff;
    border:2px solid #ddd;
    border-radius:15px;
    padding:10px;
    display:flex;
    flex-direction:column;
}
.sidebar .profile.active-profile {
    background: #16A34A;
    cursor: pointer;
}
.sidebar .profile.active-profile h4,
.sidebar .profile.active-profile p {
    color: #fff;
}
.sidebar .profile.active-profile img {
    filter: brightness(0) invert(1);
}
.sidebar .logo{
    display:flex;
    flex-direction:column;
    margin-top: 20px;
}
.logo-top{
    display:flex;
    align-items:center;
    gap:10px;
}
.sidebar .logo img{
    width:57px;
}
.logo-top h2{
    font-family: 'Poppins', sans-serif;
    font-size:20px;
    font-weight: bold;
}
.logo-top span{
    color:#16A34A;
}
.logo-desc{
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    margin-top:10px;
    font-size:12px;
    color:#787A91;
}

.sidebar .profile{
    display:flex;
    align-items:center;
    margin-top: 50px;
    margin-top: 30px;
    background:#E2E8F0;
    padding:25px;
    border-radius:10px;
}
.sidebar .profile h4{
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
}
.sidebar .profile p{
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #AAA9A9;
}
.sidebar .profile img{
    width:36px;
    margin-right:10px;
}
.menu{
    margin-top: 2px;
}
.menu button{
    width:100%;
    padding:12px 15px;
    margin:10px 0;
    border-radius:10px;
    border:1px solid #16A34A;
    background:#fff;
    cursor:pointer;
    display:flex;             
    align-items:center;
    gap:10px;                  
    font-family:'Poppins', sans-serif;
    font-size:12px;
    font-weight:600;
}
.menu button img{
    width:20px;
}
.menu button span{
    flex:1;
    text-align:left;
}
.menu .active{
    background:#16A34A;
    color:#fff;
    border:none;
}
.menu button.active img {
    filter: brightness(0) invert(1); 
}
.menu .exit{
    border:1px solid #EF4444;
    color:#EF4444;
}
.status{
    background:#16A34A;
    color:#fff;
    padding:15px;
    border-radius:12px;
}
.status-info{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:5px;
}
.status-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.status-top p{
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
}
.online-text{
    font-weight:600;
    font-size: 10px;
    font-family: 'Poppins', sans-serif;
}
.status-info{
    display:flex;
    align-items:center;
    gap:5px; /* kecilkan jarak */
    margin-top:5px;
    justify-content:flex-start; /* pastikan tidak berjauhan */
}
.status-info small{
    color: #fff;
    font-size: 12px;
    font-family: 'Poppins', sans-serif; 
}
.wifi-icon{
    width:20px;
}

/* MAIN */
.main{
    flex:1;
    background:#fff;
    border:2px solid #ddd;
    border-radius:15px;
    padding:15px;
    align-self: flex-start;
}

/* HEADER */
.header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top: 15px;
}
.header h2{
    font-size:20px;
    font-family: 'Poppins', sans-serif;
    font-weight: 900;
}
.header p{
    font-size:12px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color:#787A91;
}
.top-info span{
    display:flex;
    align-items:center;
    gap:10px; 
    font-size:12px;
    font-family: 'Poppins', sans-serif;
}
.top-info img{
    width:16px;
}
.top-info{
    display:flex;
    align-items:center;
    gap:15px;
}
.top-info .online{
    background:#DCFCE7;
    color:#16A34A;
    padding:5px 10px;
    border-radius:15px;
    border: 2px solid #ddd;
}
.online{
    display:flex;
    align-items:center;
    gap:6px;
    background:#d1fae5;
    color:#16A34A;
    padding:5px 10px;
    border-radius:20px;
    font-size:12px;
}
.notif{
    width:35px;
    height:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}
.notif img{
    width:16px;
}
.notif:hover{
    background:#e2e8f0;
}

/* CARDS */
.cards{
    display:grid;
    grid-template-columns: repeat(5, 1fr);
    gap:8px;
    margin-top:20px;
    align-items: stretch;
}
.card{
    border-radius: 15px;
    border: 2px solid #ddd;
    padding: 8px;
    background: #E2E8F0;
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 80px; 
    box-sizing: border-box;  
}
.card img{
    width:32px;
}
.card-text{
    display: flex;
    flex-direction: column;
    text-align: left;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
}
.card-text p{
    font-size: 10px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: #000;
    margin: 0;
}
.card-text h3{
     font-size: 13px;
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    margin: 4px 0 0 0;
}
.status.normal{
    color:#16A34A;
    background: transparent;        
    font-size:12px;
    font-weight:600;
     white-space: nowrap;
}
.card-text .status{
    background:none !important;
    padding:0 !important;
    border-radius:0 !important;
}
.chart-tabs{
    display:flex;
    gap:15px;
    background:#E2E8F0;
    padding:5px;
    border-radius:15px;
    width: 100%;
    margin-top:10px;
}
.tab{
    flex: 1;
    display:flex;
    align-items:center;
    gap:8px;
    justify-content: center;
    padding:6px 12px;
    border-radius:20px;
    cursor:pointer;
    font-size:12px;
    font-family:'Poppins', sans-serif;
    color:#333;
}
.tab img{
    width:16px;
}
.tab.active{
    color:#16A34A;
    font-weight:600;
}

/* CONTENT */
.content{
    display:flex;
    gap:20px;
    padding: 0 3px;
    text-align:left;
    margin-top:10px; 
}

/* GRAPH */
.graph{
    flex:3;
    background:#fff;
    border-radius:15px;
    border: 2px solid #ddd;
    padding:10px;
}
.graph-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom: 10px;
}
.graph h3{
    font-size:16px;
    font-family:'Poppins', sans-serif;
    font-weight:700;
    margin-bottom:15px;
}
#myChart{
    width:100% !important;
    height:220px !important;
}
#myChart{
    width:100% !important;
    height:220px !important;
    margin-top:10px;
}
.stats{
    display:flex;
    margin-top:20px;
    border:1px solid #ddd;   
    border-radius:15px;
    overflow:hidden;
}
.stats div{
    flex:1;
    text-align:center;
    padding:10px;
}
.stats p{
    font-size:11px;
    color:#000;
    font-family:'Inter', sans-serif;
    margin-top: 3px;
}
.stats h4{
    font-size:16px;
    font-weight:700;
    font-family:'Inter', sans-serif;
    margin-top: 3px;
}
.stats div:not(:last-child){
    border-right:1px solid #ddd;
}
.stats .time{
    font-size:11px;
    color:#000; 
    font-family:'Inter', sans-serif;
    margin-top:3px;
    display:block;
}
.chart-placeholder{
    height:220px;
    background:#e5e7eb;
    border-radius:10px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#999;
    margin-top:10px;
}
.stats div{
    text-align:center;
}
.time-filter button{
    border:none;
    padding:3px 8px;
    border-radius:15px;
    background:#E2E8F0;
    font-size:12px;
    font-family: 'Poppins', sans-serif;
    cursor:pointer;
}
.time-filter .active{
    background:#16A34A;
    color:#fff;
}
.time-filter{
    display:flex;
    gap:8px;
}

/* RIGHT PANEL */
.right-panel{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.status-box,
.history{
    background:#e2e8f0; 
    padding:10px;
    border-radius:15px;
}
.status-box h3{
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 900;
}
.status-box p{
    display:flex;
    justify-content:space-between;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    margin:8px 0;
    border-bottom:2px solid #ddd;
    padding-bottom:10px; 
}
.status-box span{
    color:#16A34A;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight:600;
}

 /* CONTAINER */
.history{
    background:#e2e8f0;
    padding:10px;
    border-radius:15px;
}
.history h3{
    font-size:16px;
    font-weight:900;
    font-family:'Poppins', sans-serif;
    margin-bottom:10px;
}
.history-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 0;
    border-bottom:1px solid #ccc;
}
.history-item img{
    width:25px;
    height:25px;
    padding:6px;
    margin-right:5px;
}
.history-item p{
    font-size:11px;
    font-family: 'Inter', sans-serif;
    flex:1; 
}

.history-text{
    text-align:right;
}
.history-text p{
    font-size:14px;
    font-weight:700;
    margin:0;
}
.history-monitoring {
    background: #e2e8f0;
    padding: 10px;
    border-radius: 15px;
    flex: 1;
    overflow-y: auto;
}

.history-monitoring h3 {
    font-size:16px;
    font-weight:900;
    font-family:'Poppins', sans-serif;
    margin-bottom:10px;
    padding-top: 10px;
}

.history-monitoring .history-item {
   display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 0;
    border-bottom:1px solid #ccc;
}

.history-monitoring .history-item img {
     width:45px;
    height:45px;
    padding:6px;
    margin-right:5px;
    align-self: flex-start; /* ← icon ikut flex-start */
    margin-top: 36px;
}

.history-monitoring .history-item p {
    font-size: 13px;         
    font-family: 'Inter', sans-serif;
    font-weight: 500;          
    flex: 1;
    margin: 0;  
    padding-top: 35px;
}

.history-monitoring .history-text {
    text-align: right;
}

.history-monitoring .history-text p {
     font-size:14px;
    font-weight:700;
    margin:0;
    line-height: 1.3;
}

.update{
    font-size:11px;
    font-family: 'Inter', sans-serif;
    display:block;
}
.s-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}
.s-toggle input { opacity: 0; width: 0; height: 0; }
.s-toggle-bar {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #ccc;
    border-radius: 24px;
    transition: 0.3s;
}
.s-toggle-bar::before {
    content: "";
    position: absolute;
    width: 18px; height: 18px;
    left: 3px; bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: 0.3s;
}
.s-toggle input:checked + .s-toggle-bar { background: #16A34A; }
.s-toggle input:checked + .s-toggle-bar::before { transform: translateX(20px); }

/* ================= PROFILE ================= */
 .main {
    align-self: stretch !important;
}
.main.profile-main {
    overflow-y: auto;
    height: 100vh;
}
 
.profile-header-card {
    background: #f0f4f8;
    border-radius: 15px;
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.profile-header-card img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
}
.profile-header-card h2 {
    font-size: 24px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    color: #000;
    margin-bottom: 4px;
}
.profile-header-card p {
    font-size: 20px;
    font-family: 'Inter', sans-serif;
    color: #AAA9A9;
    margin: 0;
    margin-bottom: 0;
}
 
.biodata-title {
    font-size: 16px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    color: #000;
    margin-bottom: 12px;
}
 
.biodata-item {
    background: #f0f4f8;
    border-radius: 12px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}
.biodata-item img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}
.biodata-item .bio-label {
    font-size: 16px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    color: #000;
    margin-bottom: 2px;
}
.biodata-item .bio-value {
    font-size: 12px;
    font-family: 'Poppins', sans-serif;
    color: #000;
    margin: 0;
}
 
.profile-content {
    padding: 10px 5px;
}


/* ================= MONITORING CHART ================= */

.main.monitoring-main {
    overflow-y: auto;
    align-self: stretch;
}
.monitoring-content {
    display: flex;
    gap: 20px;
    margin-top: 15px;
    align-items: stretch;
}

/* GRAPH */
.monitoring-graph {
    flex: 3;
    background: #fff;
    border-radius: 15px;
    border: 2px solid #ddd;
    padding: 20px;
}

#monitoringChart {
    width: 100% !important;
    height: 250px !important;
    margin-top: 10px;
}

/* MONITORING RIGHT PANEL */
#mon-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-self: stretch;
}
#mon-panel .status-box {
    background: #e2e8f0;
    padding: 15px;
    border-radius: 15px;
    flex: 1;
}
#mon-panel .status-box h3 {
    font-size: 16px;
    font-weight: 900;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 10px;
}
#mon-panel .status-box p {
    display: flex;
    justify-content: space-between;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    margin: 8px 0;
    border-bottom: 1px solid #ccc;
    padding-bottom: 8px;
}
#mon-panel .status-box span {
    color: #16A34A;
    font-weight: 600;
}
#mon-panel .history {
    background: #e2e8f0;
    padding: 15px;
    border-radius: 15px;
    flex: 2;
}
#mon-panel .history h3 {
    font-size: 16px;
    font-weight: 900;
    font-family: 'Poppins', sans-serif;
    margin-bottom: 10px;
}
#mon-panel .history-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #ccc;
}
#mon-panel .history-item img {
    width: 25px;
    height: 25px;
    margin-right: 8px;
}
#mon-panel .history-item p {
    font-size: 11px;
    font-family: 'Inter', sans-serif;
    flex: 1;
}
#mon-panel .history-text {
    text-align: right;
}
#mon-panel .history-text p {
    font-size: 14px;
    font-weight: 700;
    margin: 0;
}
#mon-panel .history-text .update {
    font-size: 11px;
    font-family: 'Inter', sans-serif;
    display: block;
    color: #555;
}
