/* --- GLOBAL --- */
.slm-app-container { display: flex; background: #fff; border: 1px solid #dcdcde; border-radius: 8px; margin: 20px 0; overflow: hidden; min-height: 600px; font-family: sans-serif; }

/* SIDEBAR: Slimmed down to 180px */
.slm-sidebar-nav { width: 180px !important; background: #2c3338 !important; flex-shrink: 0 !important; }

/* PANEL: Expanded breathing room */
.slm-main-panel { 
    flex-grow: 1; 
    padding: 25px; 
    background: #fff; 
    min-width: 0; 
    overflow-x: auto; 
}

/* --- SLIM GOLD MENU --- */
.slm-menu a { 
    padding: 14px 18px !important; 
    color: #D4AF37 !important; 
    text-decoration: none !important; 
    font-weight: bold !important; 
    display: block !important; 
    border-bottom: 1px solid #3c434a !important; 
    font-size: 13px; /* Slightly smaller font for slim sidebar */
    transition: all 0.2s ease;
}
.slm-menu a:hover, .slm-menu a.active { background: #3c434a !important; color: #FFD700 !important; border-left: 4px solid #D4AF37; }

/* --- DESKTOP GRID --- */
.slm-row { display: flex !important; flex-direction: row !important; gap: 20px !important; margin-bottom: 5px !important; width: 100%; }
.slm-col { flex: 1 !important; min-width: 0; }

/* --- TABLE OPTIMIZATION --- */
.slm-main-panel table { width: 100% !important; border-collapse: collapse; margin-top: 10px; table-layout: auto; }
.slm-main-panel th, .slm-main-panel td { text-align: left; padding: 10px; border-bottom: 1px solid #eee; font-size: 13px; }

/* --- BUTTONS & INPUTS --- */
.slm-button { background: #D4AF37 !important; color: #fff !important; border: none !important; padding: 12px 24px !important; cursor: pointer !important; border-radius: 4px !important; font-weight: bold !important; display: inline-block !important; text-decoration: none !important; text-align: center !important; transition: background 0.3s ease; margin-top: 10px; font-size: 14px; }
.slm-button:hover { background: #B8860B !important; }

.slm-input, select.slm-input, textarea.slm-input { 
    width: 100%; padding: 10px; border: 1px solid #8c8f94; border-radius: 4px; box-sizing: border-box; margin-bottom: 15px; font-size: 14px; display: block; background: #fff;
}
.slm-input:focus { border-color: #D4AF37; outline: none; box-shadow: 0 0 0 1px #D4AF37; }

/* --- STATUS BADGES --- */
.slm-status { padding: 3px 8px; border-radius: 4px; font-size: 10px; font-weight: bold; text-transform: uppercase; display: inline-block; }
.status-pending { background: #fff8e5; color: #856404; }
.status-approved { background: #e7f4e4; color: #1e4620; }
.status-denied { background: #fbeaea; color: #721c24; }

/* --- MOBILE RESPONSIVE --- */
@media (max-width: 768px) {
    .slm-app-container { flex-direction: column !important; }
    .slm-sidebar-nav { width: 100% !important; }
    .slm-row { flex-direction: column !important; gap: 0 !important; }
    .slm-main-panel { padding: 15px; }
}