@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600&display=swap');

body {
    font-family: 'Sarabun', sans-serif;
    background-color: #f8f9fa;
    overflow-x: hidden;
}

/* Sidebar Styling */
#wrapper {
    display: flex;
    width: 100%;
}

#sidebar-wrapper {
    min-height: 100vh;
    margin-left: -17rem;
    transition: margin .25s ease-out;
    background-color: #1e293b; /* Dark Blue Gray */
    width: 17rem;
    box-shadow: 2px 0 5px rgba(0,0,0,0.1);
}

#sidebar-wrapper .sidebar-heading {
    padding: 1.5rem 1.25rem;
    font-size: 1.3rem;
    color: #fff;
    font-weight: 600;
    background: rgba(0,0,0,0.2);
    text-align: center;
}

#sidebar-wrapper .list-group {
    width: 17rem;
}

#sidebar-wrapper .list-group-item {
    background-color: transparent;
    color: #cbd5e1;
    border: none;
    padding: 1rem 1.5rem;
    transition: all 0.2s;
}

#sidebar-wrapper .list-group-item:hover {
    background-color: #334155;
    color: #fff;
    padding-left: 1.8rem;
}

#sidebar-wrapper .list-group-item.active {
    background-color: #0f172a;
    color: #38bdf8; /* Light Blue */
    font-weight: 600;
    border-left: 4px solid #38bdf8;
}

#page-content-wrapper {
    min-width: 100vw;
    width: 100%;
}

body.sb-sidenav-toggled #sidebar-wrapper {
    margin-left: 0;
}

@media (min-width: 768px) {
  #sidebar-wrapper { margin-left: 0; }
  #page-content-wrapper { min-width: 0; width: 100%; }
  body.sb-sidenav-toggled #sidebar-wrapper { margin-left: -17rem; }
}

/* Custom Cards */
.card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    margin-bottom: 1.5rem;
    overflow: hidden;
}
.card-header {
    font-weight: 600;
    padding: 1rem 1.25rem;
}

/* Status Badges */
.badge-status-pending { background-color: #f59e0b; color: #fff; }
.badge-status-approved { background-color: #10b981; color: #fff; }
.badge-status-rejected { background-color: #ef4444; color: #fff; }
.badge-status-confirmed { background-color: #3b82f6; color: #fff; }

/* Image Preview */
.img-preview {
    width: 150px;
    height: 180px;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    border-radius: 8px;
}