@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');

/* Global Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Poppins", sans-serif;
    color: #333;
    background-color: #f7f7f7;
}

/* Wrapper for Flexbox Centering */
.wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

/* Common Container Styles */
.job-container,
.client-container,
.container,
.main-container,
.container-log {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    width: 90%;
    max-width: 1200px;
}

.container-log {
    width: 600px;
}

.error {
    color: red;
    font-size: 0.9em;
}

/* Header Styles */
.header {
    display: flex;
    align-items: center;
    gap: 20px;
}

.header img {
    width: 50px;
    height: 50px;
}

.header h1 {
    font-size: 24px;
}

hr {
    margin: 20px 0;
}

/* Button Styles */
.nav-button,
.button {
    display: inline-block;
    margin: 10px 0;
    padding: 15px 20px;
    background: #218838;
    color: white;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
    font-family: "Poppins", sans-serif;
    font-size: 17px;
}

.button {
    background: #007BFF;
}

.button:hover {
    background: #0056b3;
}

.nav-button:hover {
    background: #21b942;
}

input:focus {
    border-color: #21b942;
    outline: none;
}

/* Table Container for Overflow Handling */
.table-container {
    overflow-x: auto;
}

/* Table Styles */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    font-size: 13px;
}

thead {
    background: #218838;
    color: white;
}

th,
td {
    padding: 8px;
    text-align: center;
    border: 1px solid #ddd;
}

tr:nth-child(even) {
    background: #f9f9f9;
}

/* Edit and Delete Button Styles */
td.action-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.action-buttons a,
.action-buttons form {
    display: inline-block;
}

.search-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 20px;
}

.search-form input[type="text"] {
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.search-form button {
    padding: 5px 10px;
    border: none;
    background-color: #007BFF;
    color: white;
    border-radius: 4px;
    cursor: pointer;
}

.search-form button:hover {
    background-color: #0056b3;
}

/* Edit and Delete Button Styles */
.btn-edit {
    background: #1ea7b0;
    color: white;
    padding: 3px 20px;
    border-radius: 5px;
    text-decoration: none;
    display: inline;
    margin-right: 5px;
}

.btn-edit:hover {
    background: #0f7b82;
}

.btn-delete {
    background: #dc3545;
    color: white;
    padding: 5px 15px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
}

.btn-delete:hover {
    background: #c82333;
}


.top-btn {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.table-label {
    font-size: 20px;
}

.logout:hover {
    background: #aaa8a8;
}

/* Footer Styles */
footer {
    text-align: center;
    margin-top: 20px;
}


/* Styles for Main Page Centering */
.main-container {
    width: 450px;
}

.button-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    text-align: center;
}

.button-container form button {
    padding: 10px 13px;
    background: #007BFF;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    width: 50%;
    margin-bottom: 10px;

}

.button-container form button:hover {
    background: #0056b3;
}

.material-icons {
    vertical-align: middle;
    font-size: 5rem;
    padding-right: 1rem;
    color: #ddd;
}

/* add Job Styles */
form {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.form-group {
    display: flex;
    flex-direction: column;
    flex: 1 1 calc(50% - 10px);
    gap: 5px;
}

.form-group label {
    font-weight: bold;
}

form input,
form select,
form button {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    /* font-size: 17px; */
}

form .button {
    background: #007BFF;
    color: white;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
    flex: 1 1 100%;
}

form button:hover {
    background: #0056b3;
}

.logout-btn {
    text-align: right;
}

/* Mobile view Styles */
@media (max-width: 600px) {
    .header h1 {
        font-size: 20px;
    }

    .nav-button,
    .button {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }

    th,
    td {
        font-size: 14px;
        padding: 8px;
    }

    td.action-buttons {
        flex-direction: column;
    }

    .form-group {
        flex: 1 1 100%;
    }

    .form-group label,
    form input,
    form select,
    form button {
        font-size: 14px;
    }


    .form-group label {
        text-align: left;
        margin-right: 0;
    }

    .form-group input,
    .form-group select {
        width: 100%;
    }
}