body {
    background-color: #f8f9fa; /* Light gray background */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* Modern font stack */
    color: #4D4D4D; /* SMU Secondary Grey for body text */
}

.card {
    border-radius: 0.5rem; /* Softer corners */
    border: none; /* Clean look */
}

.card-title {
    color: #002D72; /* SMU Primary Blue for headings */
}

.btn-primary {
    background-color: #002D72; /* SMU Primary Blue for buttons */
    border-color: #002D72;
}

.btn-primary:hover {
    background-color: #001A4A; /* Darker blue on hover */
}

.alert-success {
    background-color: #E6E6E6; /* Light grey secondary for success (subtle) */
    color: #4D4D4D;
}

.alert-danger {
    background-color: #CC0033; /* SMU Red for errors (sparingly) */
    color: #fff;
}

.alert-warning {
    background-color: #FFCC00; /* SMU Accent Yellow for warnings (subtle) */
    color: #4D4D4D;
}

.text-success {
    color: #59C3C3 !important; /* Teal accent if needed, but not SMU-specific */
}

.text-danger {
    color: #CC0033 !important; /* Red for error text (sparingly) */
}

dl.row dt {
    font-weight: bold;
    color: #002D72; /* Blue for labels */
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

/* Accessibility enhancements */
a:focus, button:focus {
    outline: 2px solid #002D72; /* Blue focus ring */
}

[aria-live="polite"] {
    min-height: 1em; /* Ensure screen readers announce changes */
}

/* Subtle accent elements: Add a thin blue border to card for SMU branding */
.card {
    border: 1px solid #002D72; /* Subtle blue border */
}

/* Use red for "Start Over" button hover only (subtle) */
.btn-primary:hover {
    background-color: #CC0033; /* Red on hover for energy, but subtle */
}