/* Base Styles */
body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f7f7f7; /* Light background */
    color: black;
    text-align: center;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    color: #055e61; /* Updated to dark teal from brand bible */
}

h1 {
    font-size: 2em;
    margin-bottom: 10px;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.2em;
}

/* Buttons */
button, .action-button {
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    padding: 10px 20px;
    border: none;
    border-radius: 0; /* Remove rounded corners */
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    margin: 5px; /* Ensure even spacing */
}

button.standard {
    background-color: #239adf; /* Bright blue from brand bible */
    color: white;
}

button.standard:hover {
    background-color: #055e61; /* Dark teal for hover */
}

button.confirm {
    background-color: #aec927; /* Positive green from brand bible */
    color: white;
}

button.confirm:hover {
    background-color: #86a123; /* Darker green for hover */
}

button.cancel {
    background-color: #ea4724; /* Negative red from brand bible */
    color: white;
}

button.cancel:hover {
    background-color: #c13618; /* Darker red for hover */
}

button.unconfirmed {
    background-color: #9a9a9b; /* Neutral gray from brand bible */
    color: white;
}

button.unconfirmed:hover {
    background-color: #707070; /* Darker gray for hover */
}

/* Forms */
input[type="text"], input[type="password"], textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid rgba(0, 0, 0, 0.5); /* 50% grey outline */
    border-radius: 0; /* Remove rounded corners */
    margin-bottom: 10px;
    box-sizing: border-box;
}

textarea {
    resize: vertical; /* Allow vertical resizing */
    height: 100px; /* Default height */
}

/* Sections */
.section {
    padding: 20px;
    margin: 20px auto;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background-color: white;
    text-align: left;
}

/* Lists for Important Info */
.list-item {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.list-item:last-child {
    border-bottom: none;
}

.list-item .label {
    font-weight: bold;
    color: #333;
}

.list-item .value {
    color: #555;
}

/* Utility Classes */
.text-left {
    text-align: left;
}

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

.text-center {
    text-align: center;
}

.margin-top {
    margin-top: 20px;
}

.margin-bottom {
    margin-bottom: 20px;
}

.padding {
    padding: 20px;
}

/* Footer */
footer {
    padding: 10px 0;
    font-size: 0.8em;
    background-color: #055e61; /* Dark teal for footer background */
    color: white;
}

footer a {
    color: #00a79d; /* Teal for footer links */
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

/* Calendar-specific Adjustments */
.calendar-heading {
    font-size: 1.2em;
    text-align: center;
    color: #055e61; /* Dark teal for calendar heading */
    margin-bottom: 10px;
}

.calendar-day {
    display: flex;
    flex-direction: column;
    padding: 10px;
    border: 1px solid #ddd;
    background-color: #fff;
}

.calendar-day.working {
    background-color: rgba(76, 175, 80, 0.2); /* Light green for working days */
}

.calendar-day.holiday {
    background-color: rgba(255, 99, 71, 0.2); /* Light red for holidays */
}

.calendar-day.no-data {
    background-color: #f0f0f0;
}

/* Base button styles for dashboard */
.dashboard-button {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    padding: 15px 25px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
    text-decoration: none; /* Removes underline */
    color: white; /* Default text color */
    margin: 10px; /* Space between buttons */
    transition: background-color 0.3s ease-in-out;
    width: 200px; /* Fixed width for all buttons */
    box-sizing: border-box; /* Includes padding and border in width */
}

/* Button colors */
.dashboard-button.blue {
    background-color: #239adf; /* Bright blue from brand bible */
}

.dashboard-button.blue:hover {
    background-color: #055e61; /* Dark teal for hover */
}

.dashboard-button.red {
    background-color: #ea4724; /* Red from brand bible */
}

.dashboard-button.red:hover {
    background-color: #c13618; /* Darker red for hover */
}

.dashboard-button.green {
    background-color: #aec927; /* Green from brand bible */
}

.dashboard-button.green:hover {
    background-color: #86a123; /* Darker green for hover */
}

.dashboard-button.yellow {
    background-color: #efbb08; /* Yellow from brand bible */
}

.dashboard-button.yellow:hover {
    background-color: #e6a800; /* Darker yellow for hover */
}

/* Font: Add Julius Sans One for secondary text */
body, p {
    font-family: 'Julius Sans One', sans-serif;
}

/* Primary Container for Landing Buttons */
.choice-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 600px;
    margin: 50px auto;
    padding: 20px;
    text-align: center;
}

@media (min-width: 600px) {
    .choice-container {
        flex-direction: row;
        justify-content: center;
    }
}

/* Updated Landing Buttons */
.action-button {
    flex: 1;
    background-color: #00a79d; /* Teal */
    color: white;
    padding: 30px 20px;
    border: none;
    border-radius: 8px;
    font-size: 1.1em;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.action-button:hover {
    background-color: #055e61; /* Dark teal */
}

.action-button h2 {
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 10px;
    font-size: 1.8em;
}

.action-button p {
    font-size: 0.95em;
    color: #f0f0f0;
    margin: 0;
}
