html {
    -webkit-text-size-adjust: 100%;
}

body {
    overflow-x: hidden;
}

img,
video,
iframe {
    max-width: 100%;
}

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

input,
select,
textarea {
    font-size: 16px;
}

a button,
button {
    min-height: 40px;
    white-space: normal;
}

center {
    display: block;
    width: 100%;
}

.container,
.card,
.login-container,
.form-card,
.page {
    width: min(100%, 1100px);
}

.container,
.card,
.login-container,
.form-card {
    overflow-wrap: anywhere;
}

.table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

table {
    max-width: 100%;
}

td,
th {
    overflow-wrap: anywhere;
}

.button-container,
.actions,
.actions-row {
    width: 100%;
}

@media (max-width: 640px) {
    body {
        padding-left: max(12px, env(safe-area-inset-left));
        padding-right: max(12px, env(safe-area-inset-right));
    }

    .topbar {
        margin-left: calc(-1 * max(12px, env(safe-area-inset-left)));
        margin-right: calc(-1 * max(12px, env(safe-area-inset-right)));
    }

    .container,
    .card,
    .login-container,
    .form-card {
        border-radius: 8px;
        padding: 14px;
    }

    .button-container,
    .actions,
    .actions-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .button-container a,
    .actions a,
    .actions-row a {
        width: 100%;
    }

    .button-container button,
    .actions button,
    .actions-row button,
    .btn,
    .btn-submit {
        width: 100%;
    }

    p[align="left"] {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    p[align="left"] a,
    p[align="left"] button {
        width: 100%;
    }

    table {
        min-width: 560px;
    }

    th,
    td {
        padding: 10px;
        font-size: 13px;
    }
}

@media (max-width: 420px) {
    h1 {
        font-size: 24px;
    }

    h2 {
        font-size: 20px;
    }

    h3 {
        font-size: 18px;
    }

    table {
        min-width: 520px;
    }
}

