body {
    font-family: 'Roboto', 'Open Sans', sans-serif;
    background-color: #f0f2f5;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    color: #333;
}

   h1, h2, h3, h4, h5, h6 {
        font-family: 'Roboto', 'Open Sans', sans-serif;
    }

.form-container {
    background-color: white;
    padding: 2rem 3rem;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    width: 360px;
    text-align: center;
}

h2 {
    margin-bottom: 1.5rem;
    color: #1c1e21;
}

.form-group {
    margin-bottom: 1rem;
    text-align: left;
}

label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
}

input[type="text"],
input[type="email"],
input[type="password"] {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #dddfe2;
    border-radius: 6px;
    box-sizing: border-box;
}

button {
    width: 100%;
    padding: 0.75rem;
    background-color: #1877f2;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1.1rem;
    font-weight: 600;
    margin-top: 1rem;
}

button:hover {
    background-color: #166fe5;
}

.link {
    margin-top: 1.5rem;
    font-size: 0.9rem;
}

a {
    color: #1877f2;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.message {
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 6px;
    text-align: center;
}
.message.success { background-color: #e9f6ec; color: #2d6a4f; }
.message.error { background-color: #fde0e0; color: #a4133c; }

    @media print {
        /* Hide elements not needed in print (e.g., sidebar, buttons) */
        #sidebar, #menu-button, #exportExcelBtn, #exportPdfBtn {
            display: none !important;
        }

        /* Ensure main content takes full width */
        .flex-1 {
            width: 100%;
            margin-left: 0 !important;
        }
        .main-header { /* Add this class to your header to target it */
            display: none !important; /* Hide the header too if not needed in print */
        }
        
        /* Remove background and shadow for cleaner print */
        body, .bg-gray-100 {
            background-color: #fff !important;
            -webkit-print-color-adjust: exact; /* Ensure background colors/images are printed */
        }
        .bg-white, .shadow-md, .shadow-sm, .rounded-lg {
            box-shadow: none !important;
            border-radius: 0 !important;
            background-color: #fff !important;
        }

        /* Adjust padding/margins for print */
        .p-4, .md\:p-6, .px-4, .py-2, .px-2, .py-7, .px-3 {
            padding: 0.5rem !important; /* Adjust as needed */
        }
        .mb-6, .mb-4 {
            margin-bottom: 1rem !important; /* Adjust as needed */
        }

        /* Table specific adjustments */
        table {
            width: 100% !important; /* Ensure table takes full width of print area */
            table-layout: fixed; /* Helps in distributing columns evenly */
            border-collapse: collapse;
        }
        th, td {
            border: 1px solid #ddd; /* Add borders for better table readability in print */
            word-wrap: break-word; /* Allow long words to break */
            white-space: normal; /* Ensure text wraps */
        }
        th {
            background-color: #f2f2f2 !important; /* Light header background */
            -webkit-print-color-adjust: exact;
        }
        .overflow-x-auto {
            overflow: visible !important; /* Ensure content is not cut off by overflow */
        }
        .text-sm {
            font-size: 10pt !important; /* Reduce font size for tables if needed */
        }
        .text-xs { /* If you use smaller text anywhere */
            font-size: 8pt !important;
        }

        /* Adjust font sizes for headings etc. */
        h1, h5 {
            font-size: 14pt !important; /* Adjust header sizes */
            margin-bottom: 0.5rem !important;
        }
        h6 {
            font-size: 12pt !important;
        }
        p {
            font-size: 10pt !important;
        }
    }