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

body {
    min-height: 100vh;
    min-height: 100dvh;
    overscroll-behavior-y: contain;
}

.lyear-aside-toggler {
    min-width: 44px;
    min-height: 44px;
    padding: 12px;
}

.lyear-layout-content,
.lyear-layout-content #iframe-content,
.container-fluid,
.card,
.card-body {
    min-width: 0;
}

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

@media (max-width: 767px) {
    .login-center {
        box-sizing: border-box;
        width: calc(100% - 24px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 24px);
        margin: 12px !important;
        padding: 24px 20px !important;
    }

    .login-center form,
    .login-center form > .form-group {
        width: 100%;
        min-width: 0;
    }

    .login-center .form-control,
    .login-center .btn {
        box-sizing: border-box;
        width: 100%;
        min-height: 46px;
        font-size: 16px;
    }

    .login-center .form-group.row {
        margin-right: -15px;
        margin-left: -15px;
    }

    .login-center .form-group.row > [class*="col-"] {
        min-width: 0;
    }

    .login-center #captcha {
        max-width: 100%;
        height: auto;
    }

    .login-center .login-header img {
        max-width: 100% !important;
        height: auto;
    }

    .lyear-layout-header {
        top: env(safe-area-inset-top);
    }

    .lyear-layout-header .navbar,
    .topbar {
        min-height: 56px;
    }

    .topbar {
        padding-right: max(12px, env(safe-area-inset-right));
        padding-left: max(8px, env(safe-area-inset-left));
    }

    .topbar .topbar-left {
        min-width: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .lyear-layout-sidebar {
        top: env(safe-area-inset-top);
        bottom: env(safe-area-inset-bottom);
        width: min(280px, 85vw);
    }

    .lyear-layout-sidebar-close .lyear-layout-sidebar {
        width: min(280px, 85vw);
    }

    .lyear-layout-sidebar-scroll {
        height: calc(100% - 56px);
    }

    .lyear-layout-content {
        box-sizing: border-box;
        height: 100vh;
        height: 100dvh;
        padding-top: calc(56px + env(safe-area-inset-top));
        padding-right: env(safe-area-inset-right);
        padding-bottom: env(safe-area-inset-bottom);
        padding-left: env(safe-area-inset-left);
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .lyear-layout-content #iframe-content {
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    #iframe-content iframe {
        max-width: 100%;
    }

    .container-fluid {
        padding-right: 12px;
        padding-left: 12px;
    }

    .card-body {
        padding: 16px;
    }

    .form-control,
    .btn,
    .select2-container .select2-selection {
        min-height: 44px;
    }

    .form-control {
        height: auto;
    }

    .bank-details-form .form-group {
        display: flex;
        flex-direction: column;
        margin-right: 0;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .bank-details-form .control-label {
        width: 100%;
        padding: 0 0 8px;
        text-align: left;
    }

    .bank-details-form .form-group > [class*="col-"] {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    .bank-details-form .form-control,
    .bank-details-form .select2-container .select2-selection {
        box-sizing: border-box;
        min-height: 52px;
        border-radius: 10px;
        font-size: 16px;
    }

    .bank-details-form input.form-control {
        padding: 13px 14px;
    }

    .bank-details-form .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 50px;
    }

    .bank-details-form .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 50px;
    }

    .bank-details-form .lyear-radio {
        min-height: 44px;
        margin: 0 12px 8px 0;
        font-size: 15px;
    }

    .bank-details-form .lyear-radio span {
        min-height: 24px;
    }

    .bank-details-form .form-group:last-child {
        gap: 10px;
        margin-top: 26px;
    }

    .bank-details-form .form-group:last-child .btn {
        width: 100%;
        min-height: 50px;
        margin: 0;
        border-radius: 10px;
        font-size: 16px;
    }

    .nav-tabs {
        display: flex;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .nav-tabs > li {
        float: none;
        flex: 0 0 auto;
    }

    .dropdown-menu {
        max-width: calc(100vw - 24px);
    }
}
