@media (max-width: 800px), (pointer: coarse) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    textarea, select, [contenteditable="true"],
    .select2-container .select2-selection__rendered,
    .select2-container .select2-search__field {
        font-size: 16px !important;
    }
    button, a, input, textarea, select, label { touch-action: manipulation; }
}
@media (max-width: 800px) {
    .shell, .main, .login-wrap, .login-form-wrap { min-height: 100dvh; }
    .topbar {
        height: calc(65px + env(safe-area-inset-top));
        padding-top: env(safe-area-inset-top);
        padding-left: max(16px, env(safe-area-inset-left));
        padding-right: max(16px, env(safe-area-inset-right));
    }
    .content {
        padding-left: max(16px, env(safe-area-inset-left));
        padding-right: max(16px, env(safe-area-inset-right));
        padding-bottom: max(21px, env(safe-area-inset-bottom));
    }
    .sidebar {
        padding-top: max(25px, env(safe-area-inset-top));
        padding-bottom: max(18px, env(safe-area-inset-bottom));
    }
    .login-form-wrap {
        padding-top: max(32px, env(safe-area-inset-top));
        padding-bottom: max(32px, env(safe-area-inset-bottom));
    }
    .overlay {
        padding-top: max(16px, env(safe-area-inset-top));
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }
}
