html, body {
    min-height: 100vh;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

body {
    display: flex;
    flex-direction: column;
}

/* Main content area: grow to fill available space */
.main {
    flex: 1;
    min-height: calc(100vh - 250px); /* Adjust for larger footer */
}

/* Footer styling */
footer {
    margin-top: auto;
}

footer a:hover {
    color: #0dcaf0 !important;
    text-decoration: underline !important;
}

/* Bootstrap focus override – keep your red border */
.form-control:focus {
    border-color: #FF0000;
    box-shadow: none;
}

/* Optional: global font */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
                 Arial, "Noto Sans", sans-serif;
}

/* Align action buttons nicely in the backoffice table */
.actions-cell {
    white-space: nowrap;
}

.actions-cell form {
    display: inline-block;
    margin: 0;
}

.actions-cell .btn {
    min-width: 8rem;      /* make all buttons same width */
    text-align: center;     /* center the label inside the button */
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
}

/* Progress bar on survey page */
#progress-wrapper {
    margin-bottom: 1.5rem;
}

#progress-label {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
    text-align: center;
}

.cg-progress-bar {
    width: 100%;
    max-width: 320px;      /* fixed visual scale for the bar */
    height: 8px;
    border-radius: 999px;
    background-color: #e9ecef;
    overflow: hidden;
    margin: 0 auto;        /* center horizontally inside the column */
}

.cg-progress-bar-fill {
    height: 100%;
    width: 0;
    background-color: #0d6efd; /* primary-style accent */
    transition: width 0.3s ease;
}