/* ===================================
   Wrapper
=================================== */

.wrapper{
    display:flex;
    min-height:100vh;
    background:var(--bg);
}

/* ===================================
   Sidebar
=================================== */

.sidebar{
    width:260px;
    background:var(--sidebar-bg);
    color:var(--text-white);
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0;
    left:0;
    height:100vh;
    overflow-y:auto;
    box-shadow:4px 0 20px rgba(0,0,0,.12);
    z-index:1000;
}

/* ===================================
   Main Content
=================================== */

.main-content{
    flex:1;
    margin-left:260px;
    padding:30px;
    background:var(--bg);
    min-height:100vh;
}

/* ===================================
   Content Container
=================================== */

.content{
    max-width:1400px;
    margin:auto;
}

/* ===================================
   Topbar
=================================== */

.topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:35px;
    background:var(--surface);
    padding:22px 28px;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow);
    border:1px solid var(--border);
}

/* ===================================
   Welcome Box
=================================== */

.welcome-box{
    display:flex;
    flex-direction:column;
}

.welcome-box h1{
    font-size:32px;
    font-weight:700;
    color:var(--text);
    margin-bottom:8px;
}

.welcome-box p{
    font-size:15px;
    color:var(--text-light);
    line-height:1.6;
}

/* ===================================
   Topbar Right
=================================== */

.topbar-right{
    display:flex;
    align-items:center;
    gap:15px;
}

/* ===================================
   Notification Button
=================================== */

.notif-btn{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:var(--text);
    background:var(--surface);
    padding:12px 18px;
    border-radius:var(--radius-md);
    border:1px solid var(--border);
    box-shadow:var(--shadow);
    transition:var(--transition);
}

.notif-btn:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-hover);
}

.notif-btn span{
    background:var(--danger);
    color:#fff;
    padding:3px 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:bold;
}

/* ===================================
   Responsive
=================================== */

@media(max-width:992px){

    .sidebar{
        width:220px;
    }

    .main-content{
        margin-left:220px;
        padding:20px;
    }

}

@media(max-width:768px){

    .wrapper{
        flex-direction:column;
    }

    .sidebar{
        position:relative;
        width:100%;
        height:auto;
    }

    .main-content{
        margin-left:0;
        padding:20px;
    }

    .topbar{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .topbar-right{
        width:100%;
        justify-content:flex-end;
    }

}
