:root {
    --ip-control-height: 2.375rem;
    --ip-control-font-size: .75rem;
    --ip-control-weight: 650;
}

.ip-back,
a.ip-back {
    display: inline-flex;
    width: max-content;
    color: var(--ip-link, #0076df);
    font-size: .75rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
    flex: 0 0 auto;
    width: 1rem !important;
    height: 1rem !important;
    min-width: 1rem !important;
    min-height: 1rem !important;
    max-width: 1rem !important;
    max-height: 1rem !important;
    padding: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0;
    border: .0625rem solid var(--ip-text, #000) !important;
    border-radius: 0 !important;
    background: var(--ip-surface, #fff) !important;
    box-shadow: none;
    vertical-align: middle;
}

input[type="checkbox"]:checked {
    background: var(--ip-text, #000) !important;
    box-shadow: inset 0 0 0 .1875rem var(--ip-surface, #fff) !important;
}

input[type="checkbox"]:focus-visible {
    outline: .125rem solid var(--ip-link, #0076df);
    outline-offset: .125rem;
}

button:not(.ip-admin-button):not(.ip-logout-button):not(.ip-mobile-menu-summary),
.ip-button,
.ip-action-button,
.ip-action-link,
.admin-button {
    border-radius: 0 !important;
    font-size: var(--ip-control-font-size) !important;
    font-weight: var(--ip-control-weight) !important;
    line-height: 1.1 !important;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    border-radius: 0 !important;
    font-family: var(--ip-font, -apple-system, BlinkMacSystemFont, "Google Sans Flex", "Inter", "Segoe UI", sans-serif) !important;
}

.directory-flags label,
.listing-form label,
.permission,
.career-form-check,
.senior-options label {
    align-items: center !important;
}

@media (min-width: 160rem) {
    html {
        font-size: clamp(1rem, .625vw, 3rem) !important;
    }

    :root {
        --ip-content-width: 92vw;
        --ip-max-width: 92vw;
        --ip-space-x: 4.5vw;
        --ip-safe-x: 4.5vw;
    }

    .ip-login-card {
        width: min(100%, 24.375rem) !important;
        padding: 1.5rem 1.375rem 1.375rem !important;
    }

    .ip-admin-panel,
    .ip-mobile-menu-panel {
        width: 17.5rem !important;
    }

    .ip-main {
        padding-top: 2rem !important;
        padding-bottom: 2.25rem !important;
    }

    .module-table th,
    .module-table td,
    .admin-table th,
    .admin-table td,
    .ip-table th,
    .ip-table td {
        padding: .75rem .875rem !important;
    }
}

@media (max-width: 64rem) {
    :root {
        --ip-space-x: clamp(1rem, 4vw, 2rem);
        --ip-safe-x: clamp(1rem, 4vw, 2rem);
    }

    .listing-form,
    .ip-section-actions,
    .ip-actions-inline {
        flex-wrap: wrap;
        white-space: normal;
    }
}

@media (max-width: 48rem) {
    .ip-main,
    .ip-login-card {
        min-width: 0;
        max-width: 100%;
    }

    .ip-login-card {
        width: 100% !important;
        max-width: 24.375rem !important;
        min-width: 0 !important;
    }

    .reference-create,
    .directory-create,
    .senior-form,
    .me2-decision,
    .permissions {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .directory-platforms,
    .senior-field.wide,
    .senior-options {
        grid-column: auto !important;
    }

    .module-head,
    .ip-section-header,
    .ip-main-header {
        gap: .75rem;
    }
}

@media (max-width: 20rem) and (min-width: 5.0625rem) {
    html {
        font-size: clamp(.625rem, 5vw, 1rem) !important;
    }

    :root {
        --ip-space-x: 6vw;
        --ip-safe-x: 6vw;
    }
}
