.account-nav,
.admin-nav,
.message {
    margin: 1rem 0;
    padding: .75rem;
    background: #f4f6f4;
    border: 1px solid #ccd5cc;
}

.account-nav a,
.admin-nav a {
    margin-left: .65rem;
}

.inline-form {
    display: inline;
    margin-left: .65rem;
}

.inline-form button {
    font: inherit;
}

.message.error {
    border-color: #a33;
    background: #fff0f0;
}

.message.success {
    border-color: #39733c;
    background: #f0fff0;
}

.secure-form label {
    display: block;
    margin-top: .75rem;
}

.secure-form input[type="email"],
.secure-form input[type="password"],
.secure-form input[type="text"] {
    box-sizing: border-box;
    max-width: 32rem;
    width: 100%;
}

.user-table {
    border-collapse: collapse;
    width: 100%;
}

.user-table th,
.user-table td {
    border: 1px solid #ccd5cc;
    padding: .4rem;
    text-align: left;
}

.catalog-entry {
    border-collapse: collapse;
    margin: 1rem 0;
    width: 100%;
}

.catalog-entry th,
.catalog-entry td {
    border: 1px solid #ccd5cc;
    padding: .35rem;
    text-align: left;
    vertical-align: top;
}

.pagination a,
.pagination strong {
    margin-right: .45rem;
}

.pdf-progress {
    align-items: center;
    display: flex;
    gap: .6rem;
    margin: 1rem 0;
}

.pdf-progress-track {
    border: 1px solid #ccc;
    display: inline-block;
    height: 20px;
    line-height: 0;
}

/* EAMT responsive compatibility layer for the retained legacy layout. */
@media (max-width: 820px) {
    html,
    body {
        max-width: 100%;
        min-width: 0;
    }

    body {
        background: #931834;
        font-size: 1em;
    }

    #header,
    #header-shadow,
    #footer,
    #wrapper {
        box-sizing: border-box;
        max-width: 100%;
        width: 100%;
    }

    #header-cont {
        box-sizing: border-box;
        height: auto;
        min-height: 8rem;
        padding: .75rem;
        width: 100%;
    }

    #header-cont img {
        height: auto;
        max-width: 68%;
    }

    #wrapper {
        margin: 0;
    }

    #topMenu {
        box-sizing: border-box;
        height: auto;
        margin: 0;
        padding: .7rem 1rem;
        position: static;
        width: 100%;
    }

    #main1 {
        background: #f9f3e6;
        border: 0;
        box-sizing: border-box;
        padding-bottom: 2rem;
    }

    #middle {
        margin: 0;
        min-height: 0;
        padding-top: .75rem;
    }

    .column-in {
        box-sizing: border-box;
        padding: .5rem 1rem;
        width: 100%;
    }

    #footer {
        height: auto;
        margin-top: 0;
        min-height: 7rem;
    }

    #footer-cont {
        box-sizing: border-box;
        padding: 2rem 1rem;
        text-align: center;
        width: 100%;
    }

    img,
    input,
    select,
    textarea {
        max-width: 100%;
    }

    .catalog-entry,
    .user-table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }

    .account-nav,
    .admin-nav,
    .message {
        overflow-wrap: anywhere;
    }
}
