body { 
    background: #f4f6f9; 
    font-family: Arial, sans-serif; 
    margin: 0;
    padding: 0;
}

/* Sidebar layout with independent internal vertical scrolling */
.sidebar {
    width: 250px !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #172033;
    color: #fff;
    z-index: 1050 !important;
    scrollbar-width: thin;
    scrollbar-color: #2d3950 #172033;
}

/* Custom dark webkit scrollbar */
.sidebar::-webkit-scrollbar {
    width: 6px !important;
}
.sidebar::-webkit-scrollbar-thumb {
    background: #2d3950 !important;
    border-radius: 4px !important;
}
.sidebar::-webkit-scrollbar-track {
    background: #172033 !important;
}

.brand { 
    font-size: 20px; 
    font-weight: 700; 
    padding: 22px 18px; 
    border-bottom: 1px solid #2d3950; 
}

/* Default state for menu links with smooth transition */
.sidebar a {
    display: block;
    color: #dce3ef;
    text-decoration: none;
    padding: 10px 18px;
    border-left: 4px solid transparent;
    transition: all 0.25s ease-in-out;
}

/* Hover effect on cursor movement */
.sidebar a:hover {
    background: #202b42;
    color: #00d2ff;
    border-left-color: #00d2ff;
    padding-left: 24px;
}

.menu-title { 
    font-size: 11px; 
    color: #8fa0ba; 
    padding: 18px 18px 6px; 
    font-weight: 700; 
}

/* Main Content Area offset for fixed sidebar */
.main { 
    margin-left: 250px !important; 
    width: calc(100% - 250px) !important; 
    min-height: 100vh;
}

.topbar { 
    height: 62px; 
    background: #fff; 
    border-bottom: 1px solid #ddd; 
    padding: 18px 24px; 
    display: flex; 
    justify-content: space-between; 
}

.card-kpi { border: 0; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
.table thead th { white-space: nowrap; }
.status { padding: 4px 8px; border-radius: 12px; background: #eef2f7; font-size: 12px; }
.form-label { font-weight: 600; }


@media print {
        body * { visibility: hidden; }
        .printable-area, .printable-area * { visibility: visible; }
        .printable-area { position: absolute; left: 0; top: 0; width: 100%; margin: 0; padding: 5px; }
        .d-print-none { display: none !important; }
        .quote-card { border: none !important; box-shadow: none !important; padding: 0 !important; }
        
        .print-header-table { width: 100%; border-collapse: collapse; }
        .print-header-table td { vertical-align: top; padding: 0; }
        
        /* Compact margins so it fits cleanly at 70% scale without overflow */
        .print-footer {
            display: block !important;
            width: 100%;
            text-align: center;
            font-size: 9px;
            color: #444;
            border-top: 1px solid #ccc;
            padding-top: 5px;
            margin-top: 15px; /* Reduced from 40px */
        }
        
        /* Tighten element spacing for print */
        .mt-4 { margin-top: 1rem !important; }
        .mb-3 { margin-bottom: 0.5rem !important; }
    }